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 63 : pattern1 (rtx x1)
57 : {
58 63 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 63 : rtx x2, x3;
60 63 : int res ATTRIBUTE_UNUSED;
61 63 : x2 = XEXP (x1, 1);
62 63 : x3 = XEXP (x2, 1);
63 63 : operands[3] = x3;
64 63 : if (!const_int_operand (operands[3], E_QImode))
65 : return -1;
66 63 : return pattern0 (x1); /* [-1, 1] */
67 : }
68 :
69 : int
70 237 : pattern10 (rtx x1)
71 : {
72 237 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
73 237 : int res ATTRIBUTE_UNUSED;
74 237 : if (!memory_operand (operands[0], E_V8QImode)
75 237 : || GET_MODE (x1) != E_V8QImode)
76 : return -1;
77 20 : switch (GET_MODE (operands[1]))
78 : {
79 12 : case E_V8HImode:
80 12 : if (!register_operand (operands[1], E_V8HImode))
81 : return -1;
82 : return 0;
83 :
84 4 : case E_V8SImode:
85 4 : if (!register_operand (operands[1], E_V8SImode))
86 : return -1;
87 : return 1;
88 :
89 4 : case E_V8DImode:
90 4 : if (!register_operand (operands[1], E_V8DImode))
91 : return -1;
92 : return 2;
93 :
94 : default:
95 : return -1;
96 : }
97 : }
98 :
99 : int
100 49170 : pattern21 (rtx x1, machine_mode i1)
101 : {
102 49170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
103 49170 : rtx x2;
104 49170 : int res ATTRIBUTE_UNUSED;
105 49170 : if (GET_MODE (x1) != i1)
106 : return -1;
107 49170 : x2 = XEXP (x1, 0);
108 49170 : if (GET_MODE (x2) != i1
109 49170 : || !nonimmediate_operand (operands[1], i1)
110 87684 : || !x86_64_general_operand (operands[2], i1))
111 10674 : return -1;
112 : return 0;
113 : }
114 :
115 : int
116 70894 : pattern25 (rtx x1)
117 : {
118 70894 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
119 70894 : rtx x2, x3, x4, x5, x6, x7;
120 70894 : int res ATTRIBUTE_UNUSED;
121 70894 : x2 = XEXP (x1, 0);
122 70894 : operands[0] = x2;
123 70894 : x3 = XEXP (x1, 1);
124 70894 : x4 = XEXP (x3, 0);
125 70894 : switch (GET_CODE (x4))
126 : {
127 686 : case VEC_SELECT:
128 686 : x5 = XEXP (x4, 1);
129 686 : if (GET_CODE (x5) != PARALLEL
130 686 : || XVECLEN (x5, 0) != 1)
131 : return -1;
132 157 : x6 = XVECEXP (x5, 0, 0);
133 157 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
134 : return -1;
135 105 : x7 = XEXP (x4, 0);
136 105 : operands[1] = x7;
137 105 : switch (GET_MODE (operands[0]))
138 : {
139 97 : case E_SImode:
140 97 : return pattern23 (x3,
141 97 : E_SImode); /* [-1, 2] */
142 :
143 8 : case E_DImode:
144 8 : res = pattern23 (x3,
145 : E_DImode);
146 8 : if (res >= 0)
147 2 : return res + 3; /* [3, 5] */
148 : return -1;
149 :
150 : default:
151 : return -1;
152 : }
153 :
154 14597 : case SUBREG:
155 14597 : case MEM:
156 14597 : operands[1] = x4;
157 14597 : if (!memory_operand (operands[1], E_HFmode))
158 : return -1;
159 0 : res = pattern24 (x3);
160 0 : if (res >= 0)
161 0 : return res + 6; /* [6, 7] */
162 : return -1;
163 :
164 : default:
165 : return -1;
166 : }
167 : }
168 :
169 : int
170 79000 : pattern37 (rtx x1)
171 : {
172 79000 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
173 79000 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
174 79000 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
175 79000 : int res ATTRIBUTE_UNUSED;
176 79000 : x2 = XVECEXP (x1, 0, 1);
177 79000 : if (GET_CODE (x2) != CLOBBER)
178 : return -1;
179 73932 : x3 = XEXP (x2, 0);
180 73932 : if (GET_CODE (x3) != REG
181 73932 : || REGNO (x3) != 8
182 147864 : || GET_MODE (x3) != E_XFmode)
183 : return -1;
184 73932 : x4 = XVECEXP (x1, 0, 2);
185 73932 : if (GET_CODE (x4) != CLOBBER)
186 : return -1;
187 73932 : x5 = XEXP (x4, 0);
188 73932 : if (GET_CODE (x5) != REG
189 73932 : || REGNO (x5) != 9
190 147864 : || GET_MODE (x5) != E_XFmode)
191 : return -1;
192 73932 : x6 = XVECEXP (x1, 0, 3);
193 73932 : if (GET_CODE (x6) != CLOBBER)
194 : return -1;
195 73932 : x7 = XEXP (x6, 0);
196 73932 : if (GET_CODE (x7) != REG
197 73932 : || REGNO (x7) != 10
198 147864 : || GET_MODE (x7) != E_XFmode)
199 : return -1;
200 73932 : x8 = XVECEXP (x1, 0, 4);
201 73932 : if (GET_CODE (x8) != CLOBBER)
202 : return -1;
203 73932 : x9 = XEXP (x8, 0);
204 73932 : if (GET_CODE (x9) != REG
205 73932 : || REGNO (x9) != 11
206 147864 : || GET_MODE (x9) != E_XFmode)
207 : return -1;
208 73932 : x10 = XVECEXP (x1, 0, 5);
209 73932 : if (GET_CODE (x10) != CLOBBER)
210 : return -1;
211 73932 : x11 = XEXP (x10, 0);
212 73932 : if (GET_CODE (x11) != REG
213 73932 : || REGNO (x11) != 12
214 147864 : || GET_MODE (x11) != E_XFmode)
215 : return -1;
216 73932 : x12 = XVECEXP (x1, 0, 6);
217 73932 : if (GET_CODE (x12) != CLOBBER)
218 : return -1;
219 73932 : x13 = XEXP (x12, 0);
220 73932 : if (GET_CODE (x13) != REG
221 73932 : || REGNO (x13) != 13
222 147864 : || GET_MODE (x13) != E_XFmode)
223 : return -1;
224 73932 : x14 = XVECEXP (x1, 0, 7);
225 73932 : if (GET_CODE (x14) != CLOBBER)
226 : return -1;
227 73932 : x15 = XEXP (x14, 0);
228 73932 : if (GET_CODE (x15) != REG
229 73932 : || REGNO (x15) != 14
230 147864 : || GET_MODE (x15) != E_XFmode)
231 : return -1;
232 73932 : x16 = XVECEXP (x1, 0, 8);
233 73932 : if (GET_CODE (x16) != CLOBBER)
234 : return -1;
235 73932 : x17 = XEXP (x16, 0);
236 73932 : if (GET_CODE (x17) != REG
237 73932 : || REGNO (x17) != 15
238 147864 : || GET_MODE (x17) != E_XFmode)
239 0 : return -1;
240 : return 0;
241 : }
242 :
243 : int
244 16690328 : pattern46 (rtx x1, machine_mode i1)
245 : {
246 16690328 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
247 16690328 : rtx x2, x3;
248 16690328 : int res ATTRIBUTE_UNUSED;
249 16690328 : x2 = XEXP (x1, 0);
250 16690328 : if (GET_CODE (x2) != REG
251 16690328 : || REGNO (x2) != 17
252 33380655 : || GET_MODE (x2) != i1)
253 : return -1;
254 12407548 : x3 = XEXP (x1, 1);
255 12407548 : if (GET_MODE (x3) != i1)
256 0 : return -1;
257 : return 0;
258 : }
259 :
260 : int
261 183161 : pattern52 (rtx x1, int *pnum_clobbers)
262 : {
263 183161 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
264 183161 : rtx x2, x3, x4, x5, x6, x7;
265 183161 : int res ATTRIBUTE_UNUSED;
266 183161 : if (pnum_clobbers == NULL)
267 : return -1;
268 182996 : x2 = XEXP (x1, 1);
269 182996 : x3 = XEXP (x2, 1);
270 182996 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
271 : return -1;
272 30856 : x4 = XEXP (x1, 0);
273 30856 : if (GET_CODE (x4) != REG
274 30856 : || REGNO (x4) != 17)
275 : return -1;
276 30856 : x5 = XEXP (x2, 0);
277 30856 : x6 = XEXP (x5, 0);
278 30856 : operands[1] = x6;
279 30856 : x7 = XEXP (x5, 1);
280 30856 : operands[2] = x7;
281 30856 : switch (GET_MODE (x5))
282 : {
283 526 : case E_QImode:
284 526 : if (!nonimmediate_operand (operands[1], E_QImode)
285 526 : || !const_1_to_31_operand (operands[2], E_QImode))
286 83 : return -1;
287 : return 0;
288 :
289 798 : case E_HImode:
290 798 : if (!nonimmediate_operand (operands[1], E_HImode)
291 798 : || !const_1_to_31_operand (operands[2], E_QImode))
292 39 : return -1;
293 : return 1;
294 :
295 3877 : case E_SImode:
296 3877 : if (!nonimmediate_operand (operands[1], E_SImode)
297 3877 : || !const_1_to_31_operand (operands[2], E_QImode))
298 1545 : return -1;
299 : return 2;
300 :
301 24977 : case E_DImode:
302 24977 : if (!nonimmediate_operand (operands[1], E_DImode)
303 24977 : || !const_1_to_63_operand (operands[2], E_QImode))
304 3170 : return -1;
305 : return 3;
306 :
307 : default:
308 : return -1;
309 : }
310 : }
311 :
312 : int
313 44825 : pattern64 (rtx x1, machine_mode i1)
314 : {
315 44825 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
316 44825 : int res ATTRIBUTE_UNUSED;
317 44825 : if (!register_operand (operands[0], i1)
318 44016 : || GET_MODE (x1) != i1
319 44016 : || !register_operand (operands[1], i1)
320 82645 : || !nonimmediate_operand (operands[2], i1))
321 7913 : return -1;
322 : return 0;
323 : }
324 :
325 : int
326 13886 : pattern67 (rtx x1, machine_mode i1)
327 : {
328 13886 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
329 13886 : int res ATTRIBUTE_UNUSED;
330 13886 : if (!register_operand (operands[0], i1)
331 13426 : || GET_MODE (x1) != i1
332 13426 : || !register_operand (operands[1], E_V4HImode)
333 23047 : || !register_mmxmem_operand (operands[2], E_V4HImode))
334 7649 : return -1;
335 : return 0;
336 : }
337 :
338 : int
339 1872 : pattern71 (rtx x1)
340 : {
341 1872 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
342 1872 : rtx x2, x3, x4, x5;
343 1872 : int res ATTRIBUTE_UNUSED;
344 1872 : x2 = XEXP (x1, 0);
345 1872 : operands[0] = x2;
346 1872 : x3 = XEXP (x1, 1);
347 1872 : x4 = XVECEXP (x3, 0, 0);
348 1872 : operands[1] = x4;
349 1872 : x5 = XVECEXP (x3, 0, 1);
350 1872 : operands[2] = x5;
351 1872 : return pattern70 (x3); /* [-1, 8] */
352 : }
353 :
354 : int
355 1468 : pattern77 (rtx x1, machine_mode i1)
356 : {
357 1468 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
358 1468 : int res ATTRIBUTE_UNUSED;
359 1468 : if (!register_operand (operands[0], i1)
360 1468 : || GET_MODE (x1) != i1
361 1468 : || !nonimmediate_operand (operands[1], i1)
362 2509 : || !general_operand (operands[2], i1))
363 427 : return -1;
364 : return 0;
365 : }
366 :
367 : int
368 1499414 : pattern82 (rtx x1, int *pnum_clobbers)
369 : {
370 1499414 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
371 1499414 : rtx x2, x3, x4;
372 1499414 : int res ATTRIBUTE_UNUSED;
373 1499414 : x2 = XEXP (x1, 1);
374 1499414 : x3 = XEXP (x2, 1);
375 1499414 : operands[2] = x3;
376 1499414 : x4 = XEXP (x1, 0);
377 1499414 : switch (GET_CODE (x4))
378 : {
379 847 : case STRICT_LOW_PART:
380 847 : return pattern78 (x1, pnum_clobbers); /* [-1, 1] */
381 :
382 1498567 : case REG:
383 1498567 : case SUBREG:
384 1498567 : case MEM:
385 1498567 : operands[0] = x4;
386 1498567 : switch (GET_MODE (operands[0]))
387 : {
388 3725 : case E_TImode:
389 3725 : if (pattern79 (x2, pnum_clobbers) != 0)
390 : return -1;
391 : return 2;
392 :
393 37719 : case E_HImode:
394 37719 : if (pattern80 (x2,
395 : E_HImode) != 0)
396 : return -1;
397 : return 3;
398 :
399 344 : case E_V2SFmode:
400 344 : if (pattern5 (x2,
401 : E_V2SFmode) != 0)
402 : return -1;
403 : return 4;
404 :
405 1 : case E_V2BFmode:
406 1 : if (pattern5 (x2,
407 : E_V2BFmode) != 0)
408 : return -1;
409 : return 5;
410 :
411 1 : case E_V4BFmode:
412 1 : if (pattern5 (x2,
413 : E_V4BFmode) != 0)
414 : return -1;
415 : return 6;
416 :
417 33 : case E_V2HFmode:
418 33 : if (pattern5 (x2,
419 : E_V2HFmode) != 0)
420 : return -1;
421 : return 7;
422 :
423 34 : case E_V4HFmode:
424 34 : if (pattern5 (x2,
425 : E_V4HFmode) != 0)
426 : return -1;
427 : return 8;
428 :
429 3200 : case E_V8QImode:
430 3200 : if (pattern6 (x2,
431 : E_V8QImode) != 0)
432 : return -1;
433 : return 9;
434 :
435 1461 : case E_V4HImode:
436 1461 : if (pattern6 (x2,
437 : E_V4HImode) != 0)
438 : return -1;
439 : return 10;
440 :
441 9618 : case E_V2SImode:
442 9618 : if (pattern6 (x2,
443 : E_V2SImode) != 0)
444 : return -1;
445 : return 11;
446 :
447 504 : case E_V4QImode:
448 504 : if (pattern81 (x2, pnum_clobbers,
449 : E_V4QImode) != 0)
450 : return -1;
451 : return 12;
452 :
453 190 : case E_V2QImode:
454 190 : if (pattern81 (x2, pnum_clobbers,
455 : E_V2QImode) != 0)
456 : return -1;
457 : return 13;
458 :
459 197 : case E_V2HImode:
460 197 : if (pattern81 (x2, pnum_clobbers,
461 : E_V2HImode) != 0)
462 : return -1;
463 : return 14;
464 :
465 0 : case E_BFmode:
466 0 : if (pattern5 (x2,
467 : E_BFmode) != 0)
468 : return -1;
469 : return 15;
470 :
471 12 : case E_HFmode:
472 12 : if (pattern5 (x2,
473 : E_HFmode) != 0)
474 : return -1;
475 : return 16;
476 :
477 5368 : case E_SFmode:
478 5368 : if (pattern5 (x2,
479 : E_SFmode) != 0)
480 : return -1;
481 : return 17;
482 :
483 5052 : case E_DFmode:
484 5052 : if (pattern5 (x2,
485 : E_DFmode) != 0)
486 : return -1;
487 : return 18;
488 :
489 1931 : case E_TFmode:
490 1931 : if (pattern26 (x2,
491 : E_TFmode) != 0)
492 : return -1;
493 : return 19;
494 :
495 : default:
496 : return -1;
497 : }
498 :
499 : default:
500 : return -1;
501 : }
502 : }
503 :
504 : int
505 15018 : pattern115 (rtx x1, int *pnum_clobbers)
506 : {
507 15018 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
508 15018 : rtx x2, x3, x4;
509 15018 : int res ATTRIBUTE_UNUSED;
510 15018 : x2 = XEXP (x1, 0);
511 15018 : x3 = XEXP (x2, 0);
512 15018 : operands[1] = x3;
513 15018 : x4 = XEXP (x2, 1);
514 15018 : operands[2] = x4;
515 15018 : return pattern114 (x1, pnum_clobbers); /* [-1, 4] */
516 : }
517 :
518 : int
519 818200 : pattern119 (rtx x1)
520 : {
521 818200 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
522 818200 : rtx x2, x3, x4, x5, x6;
523 818200 : int res ATTRIBUTE_UNUSED;
524 818200 : x2 = XEXP (x1, 0);
525 818200 : if (GET_MODE (x2) != E_SImode)
526 : return -1;
527 139762 : x3 = XEXP (x2, 1);
528 139762 : if (GET_CODE (x3) != CONST_INT
529 137438 : || XWINT (x3, 0) != -65536L)
530 : return -1;
531 402 : x4 = XEXP (x1, 1);
532 402 : if (GET_CODE (x4) != LSHIFTRT
533 0 : || GET_MODE (x4) != E_SImode)
534 : return -1;
535 0 : x5 = XEXP (x4, 0);
536 0 : if (GET_CODE (x5) != BSWAP
537 0 : || GET_MODE (x5) != E_SImode)
538 : return -1;
539 0 : x6 = XEXP (x4, 1);
540 0 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
541 0 : return -1;
542 : return 0;
543 : }
544 :
545 : int
546 298 : pattern126 (rtx x1, int *pnum_clobbers)
547 : {
548 298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
549 298 : rtx x2, x3, x4;
550 298 : int res ATTRIBUTE_UNUSED;
551 298 : if (pnum_clobbers == NULL)
552 : return -1;
553 298 : x2 = XEXP (x1, 0);
554 298 : operands[0] = x2;
555 298 : x3 = XEXP (x1, 1);
556 298 : x4 = XVECEXP (x3, 0, 0);
557 298 : operands[1] = x4;
558 298 : if (!register_operand (operands[1], E_XFmode))
559 : return -1;
560 94 : switch (GET_MODE (operands[0]))
561 : {
562 40 : case E_SImode:
563 40 : if (!nonimmediate_operand (operands[0], E_SImode)
564 40 : || GET_MODE (x3) != E_SImode)
565 : return -1;
566 : return 0;
567 :
568 54 : case E_DImode:
569 54 : if (!nonimmediate_operand (operands[0], E_DImode)
570 54 : || GET_MODE (x3) != E_DImode)
571 : return -1;
572 : return 1;
573 :
574 : default:
575 : return -1;
576 : }
577 : }
578 :
579 : int
580 8736 : pattern139 (rtx x1)
581 : {
582 8736 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
583 8736 : rtx x2, x3, x4, x5, x6;
584 8736 : int res ATTRIBUTE_UNUSED;
585 8736 : x2 = XEXP (x1, 0);
586 8736 : x3 = XEXP (x2, 0);
587 8736 : operands[1] = x3;
588 8736 : x4 = XEXP (x2, 1);
589 8736 : operands[2] = x4;
590 8736 : x5 = XEXP (x1, 2);
591 8736 : switch (GET_CODE (x5))
592 : {
593 8045 : case REG:
594 8045 : case SUBREG:
595 8045 : operands[4] = x5;
596 8045 : x6 = XEXP (x1, 1);
597 8045 : operands[3] = x6;
598 8045 : switch (GET_MODE (operands[0]))
599 : {
600 0 : case E_V32HFmode:
601 0 : return pattern133 (x1,
602 : E_V32HFmode,
603 0 : E_SImode); /* [-1, 0] */
604 :
605 120 : case E_V16HFmode:
606 120 : if (pattern133 (x1,
607 : E_V16HFmode,
608 : E_HImode) != 0)
609 : return -1;
610 : return 1;
611 :
612 0 : case E_V8HFmode:
613 0 : if (pattern133 (x1,
614 : E_V8HFmode,
615 : E_QImode) != 0)
616 : return -1;
617 : return 2;
618 :
619 0 : case E_V16SFmode:
620 0 : if (pattern133 (x1,
621 : E_V16SFmode,
622 : E_HImode) != 0)
623 : return -1;
624 : return 3;
625 :
626 80 : case E_V8SFmode:
627 80 : if (pattern133 (x1,
628 : E_V8SFmode,
629 : E_QImode) != 0)
630 : return -1;
631 : return 4;
632 :
633 0 : case E_V4SFmode:
634 0 : if (pattern133 (x1,
635 : E_V4SFmode,
636 : E_QImode) != 0)
637 : return -1;
638 : return 5;
639 :
640 0 : case E_V8DFmode:
641 0 : if (pattern133 (x1,
642 : E_V8DFmode,
643 : E_QImode) != 0)
644 : return -1;
645 : return 6;
646 :
647 132 : case E_V4DFmode:
648 132 : if (pattern133 (x1,
649 : E_V4DFmode,
650 : E_QImode) != 0)
651 : return -1;
652 : return 7;
653 :
654 0 : case E_V2DFmode:
655 0 : if (pattern133 (x1,
656 : E_V2DFmode,
657 : E_QImode) != 0)
658 : return -1;
659 : return 8;
660 :
661 486 : case E_V16SImode:
662 486 : if (pattern134 (x1,
663 : E_V16SImode,
664 : E_HImode) != 0)
665 : return -1;
666 : return 9;
667 :
668 564 : case E_V8SImode:
669 564 : if (pattern134 (x1,
670 : E_V8SImode,
671 : E_QImode) != 0)
672 : return -1;
673 : return 10;
674 :
675 350 : case E_V4SImode:
676 350 : if (pattern135 (x1,
677 : E_QImode,
678 : E_V4SImode) != 0)
679 : return -1;
680 : return 11;
681 :
682 951 : case E_V8DImode:
683 951 : if (pattern134 (x1,
684 : E_V8DImode,
685 : E_QImode) != 0)
686 : return -1;
687 : return 12;
688 :
689 680 : case E_V4DImode:
690 680 : if (pattern134 (x1,
691 : E_V4DImode,
692 : E_QImode) != 0)
693 : return -1;
694 : return 13;
695 :
696 452 : case E_V2DImode:
697 452 : if (pattern134 (x1,
698 : E_V2DImode,
699 : E_QImode) != 0)
700 : return -1;
701 : return 14;
702 :
703 460 : case E_V64QImode:
704 460 : if (pattern134 (x1,
705 : E_V64QImode,
706 : E_DImode) != 0)
707 : return -1;
708 : return 15;
709 :
710 412 : case E_V16QImode:
711 412 : if (pattern135 (x1,
712 : E_HImode,
713 : E_V16QImode) != 0)
714 : return -1;
715 : return 16;
716 :
717 542 : case E_V32QImode:
718 542 : if (pattern134 (x1,
719 : E_V32QImode,
720 : E_SImode) != 0)
721 : return -1;
722 : return 17;
723 :
724 462 : case E_V32HImode:
725 462 : if (pattern134 (x1,
726 : E_V32HImode,
727 : E_SImode) != 0)
728 : return -1;
729 : return 18;
730 :
731 658 : case E_V16HImode:
732 658 : if (pattern134 (x1,
733 : E_V16HImode,
734 : E_HImode) != 0)
735 : return -1;
736 : return 19;
737 :
738 412 : case E_V8HImode:
739 412 : if (pattern134 (x1,
740 : E_V8HImode,
741 : E_QImode) != 0)
742 : return -1;
743 : return 20;
744 :
745 426 : case E_V32BFmode:
746 426 : if (pattern136 (x1,
747 : E_V32BFmode,
748 : E_SImode) != 0)
749 : return -1;
750 : return 21;
751 :
752 432 : case E_V16BFmode:
753 432 : if (pattern136 (x1,
754 : E_V16BFmode,
755 : E_HImode) != 0)
756 : return -1;
757 : return 22;
758 :
759 426 : case E_V8BFmode:
760 426 : if (pattern136 (x1,
761 : E_V8BFmode,
762 : E_QImode) != 0)
763 : return -1;
764 : return 23;
765 :
766 : default:
767 : return -1;
768 : }
769 :
770 407 : case CONST_INT:
771 407 : res = pattern138 (x1);
772 407 : if (res >= 0)
773 0 : return res + 24; /* [24, 26] */
774 : return -1;
775 :
776 : default:
777 : return -1;
778 : }
779 : }
780 :
781 : int
782 21568 : pattern178 (rtx x1, machine_mode i1)
783 : {
784 21568 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
785 21568 : int res ATTRIBUTE_UNUSED;
786 21568 : if (!register_operand (operands[0], i1)
787 21118 : || GET_MODE (x1) != i1
788 21118 : || !register_operand (operands[1], i1)
789 20526 : || !register_operand (operands[2], i1)
790 38482 : || !nonimmediate_operand (operands[3], i1))
791 5978 : return -1;
792 : return 0;
793 : }
794 :
795 : int
796 2317 : pattern183 (rtx x1)
797 : {
798 2317 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
799 2317 : rtx x2, x3, x4, x5, x6;
800 2317 : int res ATTRIBUTE_UNUSED;
801 2317 : x2 = XEXP (x1, 0);
802 2317 : operands[0] = x2;
803 2317 : x3 = XEXP (x1, 1);
804 2317 : x4 = XVECEXP (x3, 0, 0);
805 2317 : operands[1] = x4;
806 2317 : x5 = XVECEXP (x3, 0, 1);
807 2317 : operands[2] = x5;
808 2317 : x6 = XVECEXP (x3, 0, 2);
809 2317 : operands[3] = x6;
810 2317 : switch (GET_MODE (operands[0]))
811 : {
812 357 : case E_V16SImode:
813 357 : return pattern178 (x3,
814 357 : E_V16SImode); /* [-1, 0] */
815 :
816 983 : case E_V8SImode:
817 983 : if (pattern178 (x3,
818 : E_V8SImode) != 0)
819 : return -1;
820 : return 1;
821 :
822 977 : case E_V4SImode:
823 977 : if (pattern178 (x3,
824 : E_V4SImode) != 0)
825 : return -1;
826 : return 2;
827 :
828 : default:
829 : return -1;
830 : }
831 : }
832 :
833 : int
834 2572091 : pattern189 (rtx x1, machine_mode i1)
835 : {
836 2572091 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
837 2572091 : int res ATTRIBUTE_UNUSED;
838 2572091 : if (!register_operand (operands[0], i1)
839 2467884 : || GET_MODE (x1) != i1
840 2467884 : || !bcst_vector_operand (operands[1], i1)
841 4851470 : || !bcst_vector_operand (operands[2], i1))
842 410732 : return -1;
843 : return 0;
844 : }
845 :
846 : int
847 20012 : pattern193 (rtx x1)
848 : {
849 20012 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
850 20012 : rtx x2, x3, x4, x5, x6;
851 20012 : int res ATTRIBUTE_UNUSED;
852 20012 : x2 = XEXP (x1, 0);
853 20012 : switch (XVECLEN (x2, 0))
854 : {
855 11711 : case 2:
856 11711 : x3 = XVECEXP (x2, 0, 0);
857 11711 : operands[1] = x3;
858 11711 : x4 = XVECEXP (x2, 0, 1);
859 11711 : operands[2] = x4;
860 11711 : x5 = XEXP (x1, 1);
861 11711 : operands[3] = x5;
862 11711 : switch (XINT (x2, 1))
863 : {
864 7 : case 222:
865 7 : switch (GET_MODE (operands[0]))
866 : {
867 7 : case E_V32HFmode:
868 7 : return pattern191 (x1,
869 7 : E_V32HFmode); /* [-1, 0] */
870 :
871 0 : case E_V16HFmode:
872 0 : if (pattern191 (x1,
873 : E_V16HFmode) != 0)
874 : return -1;
875 : return 1;
876 :
877 0 : case E_V8HFmode:
878 0 : if (pattern191 (x1,
879 : E_V8HFmode) != 0)
880 : return -1;
881 : return 2;
882 :
883 : default:
884 : return -1;
885 : }
886 :
887 7 : case 223:
888 7 : switch (GET_MODE (operands[0]))
889 : {
890 7 : case E_V32HFmode:
891 7 : if (pattern191 (x1,
892 : E_V32HFmode) != 0)
893 : return -1;
894 : return 3;
895 :
896 0 : case E_V16HFmode:
897 0 : if (pattern191 (x1,
898 : E_V16HFmode) != 0)
899 : return -1;
900 : return 4;
901 :
902 0 : case E_V8HFmode:
903 0 : if (pattern191 (x1,
904 : E_V8HFmode) != 0)
905 : return -1;
906 : return 5;
907 :
908 : default:
909 : return -1;
910 : }
911 :
912 : default:
913 : return -1;
914 : }
915 :
916 1461 : case 3:
917 1461 : x3 = XVECEXP (x2, 0, 0);
918 1461 : operands[1] = x3;
919 1461 : x4 = XVECEXP (x2, 0, 1);
920 1461 : operands[2] = x4;
921 1461 : x6 = XVECEXP (x2, 0, 2);
922 1461 : operands[3] = x6;
923 1461 : x5 = XEXP (x1, 1);
924 1461 : operands[4] = x5;
925 1461 : switch (XINT (x2, 1))
926 : {
927 8 : case 218:
928 8 : switch (GET_MODE (operands[0]))
929 : {
930 8 : case E_V32HFmode:
931 8 : if (pattern192 (x1,
932 : E_V32HFmode) != 0)
933 : return -1;
934 : return 6;
935 :
936 0 : case E_V16HFmode:
937 0 : if (pattern192 (x1,
938 : E_V16HFmode) != 0)
939 : return -1;
940 : return 7;
941 :
942 0 : case E_V8HFmode:
943 0 : if (pattern192 (x1,
944 : E_V8HFmode) != 0)
945 : return -1;
946 : return 8;
947 :
948 : default:
949 : return -1;
950 : }
951 :
952 8 : case 220:
953 8 : switch (GET_MODE (operands[0]))
954 : {
955 8 : case E_V32HFmode:
956 8 : if (pattern192 (x1,
957 : E_V32HFmode) != 0)
958 : return -1;
959 : return 9;
960 :
961 0 : case E_V16HFmode:
962 0 : if (pattern192 (x1,
963 : E_V16HFmode) != 0)
964 : return -1;
965 : return 10;
966 :
967 0 : case E_V8HFmode:
968 0 : if (pattern192 (x1,
969 : E_V8HFmode) != 0)
970 : return -1;
971 : return 11;
972 :
973 : default:
974 : return -1;
975 : }
976 :
977 : default:
978 : return -1;
979 : }
980 :
981 : default:
982 : return -1;
983 : }
984 : }
985 :
986 : int
987 994189 : pattern212 (rtx x1, machine_mode i1)
988 : {
989 994189 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
990 994189 : int res ATTRIBUTE_UNUSED;
991 994189 : if (!register_operand (operands[0], i1)
992 988836 : || GET_MODE (x1) != i1
993 988836 : || !register_operand (operands[1], i1)
994 1850432 : || !general_operand (operands[2], i1))
995 138284 : return -1;
996 : return 0;
997 : }
998 :
999 : int
1000 531195 : pattern215 (rtx x1)
1001 : {
1002 531195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1003 531195 : rtx x2, x3, x4, x5, x6, x7, x8;
1004 531195 : int res ATTRIBUTE_UNUSED;
1005 531195 : x2 = XVECEXP (x1, 0, 0);
1006 531195 : x3 = XEXP (x2, 0);
1007 531195 : operands[0] = x3;
1008 531195 : x4 = XEXP (x2, 1);
1009 531195 : x5 = XEXP (x4, 0);
1010 531195 : operands[1] = x5;
1011 531195 : x6 = XEXP (x4, 1);
1012 531195 : operands[2] = x6;
1013 531195 : x7 = XVECEXP (x1, 0, 1);
1014 531195 : switch (GET_CODE (x7))
1015 : {
1016 488665 : case CLOBBER:
1017 488665 : x8 = XEXP (x7, 0);
1018 488665 : if (GET_CODE (x8) != REG
1019 488665 : || REGNO (x8) != 17
1020 977330 : || GET_MODE (x8) != E_CCmode)
1021 : return -1;
1022 488665 : switch (GET_MODE (operands[0]))
1023 : {
1024 346972 : case E_DImode:
1025 346972 : return pattern212 (x4,
1026 346972 : E_DImode); /* [-1, 0] */
1027 :
1028 801 : case E_TImode:
1029 801 : if (pattern212 (x4,
1030 : E_TImode) != 0)
1031 : return -1;
1032 : return 1;
1033 :
1034 1056 : case E_QImode:
1035 1056 : if (pattern212 (x4,
1036 : E_QImode) != 0)
1037 : return -1;
1038 : return 2;
1039 :
1040 1474 : case E_HImode:
1041 1474 : if (pattern212 (x4,
1042 : E_HImode) != 0)
1043 : return -1;
1044 : return 3;
1045 :
1046 138362 : case E_SImode:
1047 138362 : if (pattern212 (x4,
1048 : E_SImode) != 0)
1049 : return -1;
1050 : return 4;
1051 :
1052 : default:
1053 : return -1;
1054 : }
1055 :
1056 0 : case UNSPEC:
1057 0 : if (pattern214 (x1) != 0)
1058 : return -1;
1059 : return 5;
1060 :
1061 : default:
1062 : return -1;
1063 : }
1064 : }
1065 :
1066 : int
1067 307713 : pattern227 (rtx x1)
1068 : {
1069 307713 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1070 307713 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1071 307713 : int res ATTRIBUTE_UNUSED;
1072 307713 : x2 = XVECEXP (x1, 0, 1);
1073 307713 : if (GET_CODE (x2) != USE)
1074 : return -1;
1075 295473 : x3 = XVECEXP (x1, 0, 2);
1076 295473 : if (GET_CODE (x3) != CLOBBER)
1077 : return -1;
1078 285476 : x4 = XEXP (x3, 0);
1079 285476 : if (GET_CODE (x4) != REG
1080 285476 : || REGNO (x4) != 17
1081 570952 : || GET_MODE (x4) != E_CCmode)
1082 : return -1;
1083 285476 : x5 = XVECEXP (x1, 0, 0);
1084 285476 : x6 = XEXP (x5, 0);
1085 285476 : operands[0] = x6;
1086 285476 : x7 = XEXP (x5, 1);
1087 285476 : x8 = XEXP (x7, 0);
1088 285476 : operands[1] = x8;
1089 285476 : x9 = XEXP (x2, 0);
1090 285476 : operands[2] = x9;
1091 285476 : switch (GET_MODE (operands[0]))
1092 : {
1093 2133 : case E_HFmode:
1094 2133 : return pattern226 (x7,
1095 : E_V8HFmode,
1096 2133 : E_HFmode); /* [-1, 0] */
1097 :
1098 129478 : case E_SFmode:
1099 129478 : if (pattern226 (x7,
1100 : E_V4SFmode,
1101 : E_SFmode) != 0)
1102 : return -1;
1103 : return 1;
1104 :
1105 153865 : case E_DFmode:
1106 153865 : if (pattern226 (x7,
1107 : E_V2DFmode,
1108 : E_DFmode) != 0)
1109 : return -1;
1110 : return 2;
1111 :
1112 : default:
1113 : return -1;
1114 : }
1115 : }
1116 :
1117 : int
1118 349268 : pattern240 (rtx x1)
1119 : {
1120 349268 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1121 349268 : rtx x2, x3;
1122 349268 : int res ATTRIBUTE_UNUSED;
1123 349268 : x2 = XEXP (x1, 0);
1124 349268 : operands[1] = x2;
1125 349268 : x3 = XEXP (x1, 1);
1126 349268 : operands[2] = x3;
1127 349268 : switch (GET_MODE (operands[0]))
1128 : {
1129 4087 : case E_V4HImode:
1130 4087 : return pattern202 (x1,
1131 4087 : E_V4HImode); /* [-1, 0] */
1132 :
1133 2096 : case E_V2SImode:
1134 2096 : if (pattern202 (x1,
1135 : E_V2SImode) != 0)
1136 : return -1;
1137 : return 1;
1138 :
1139 161 : case E_V2HImode:
1140 161 : if (pattern202 (x1,
1141 : E_V2HImode) != 0)
1142 : return -1;
1143 : return 2;
1144 :
1145 : default:
1146 : return -1;
1147 : }
1148 : }
1149 :
1150 : int
1151 319005 : pattern250 (rtx x1)
1152 : {
1153 319005 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1154 319005 : rtx x2, x3, x4, x5, x6, x7, x8;
1155 319005 : int res ATTRIBUTE_UNUSED;
1156 319005 : x2 = XVECEXP (x1, 0, 1);
1157 319005 : if (GET_CODE (x2) != CLOBBER)
1158 : return -1;
1159 317877 : x3 = XEXP (x2, 0);
1160 317877 : if (GET_CODE (x3) != REG
1161 317877 : || REGNO (x3) != 17
1162 635754 : || GET_MODE (x3) != E_CCmode)
1163 : return -1;
1164 317877 : x4 = XVECEXP (x1, 0, 0);
1165 317877 : x5 = XEXP (x4, 0);
1166 317877 : operands[0] = x5;
1167 317877 : x6 = XEXP (x4, 1);
1168 317877 : x7 = XEXP (x6, 0);
1169 317877 : operands[1] = x7;
1170 317877 : x8 = XEXP (x6, 1);
1171 317877 : operands[2] = x8;
1172 317877 : if (!nonmemory_operand (operands[2], E_QImode))
1173 : return -1;
1174 317877 : return pattern249 (x6); /* [-1, 1] */
1175 : }
1176 :
1177 : int
1178 608023 : pattern259 (rtx x1, machine_mode i1, machine_mode i2)
1179 : {
1180 608023 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1181 608023 : rtx x2;
1182 608023 : int res ATTRIBUTE_UNUSED;
1183 608023 : switch (GET_CODE (x1))
1184 : {
1185 241821 : case ZERO_EXTEND:
1186 241821 : if (GET_MODE (x1) != i2)
1187 : return -1;
1188 241821 : x2 = XEXP (x1, 0);
1189 241821 : operands[3] = x2;
1190 241821 : if (!nonimmediate_operand (operands[3], i1))
1191 : return -1;
1192 : return 0;
1193 :
1194 47699 : case CONST_INT:
1195 47699 : case CONST_WIDE_INT:
1196 47699 : operands[3] = x1;
1197 47699 : if (!const_scalar_int_operand (operands[3], i2))
1198 : return -1;
1199 : return 1;
1200 :
1201 : default:
1202 : return -1;
1203 : }
1204 : }
1205 :
1206 : int
1207 1629 : pattern271 (rtx x1)
1208 : {
1209 1629 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1210 1629 : rtx x2, x3, x4, x5;
1211 1629 : int res ATTRIBUTE_UNUSED;
1212 1629 : x2 = XEXP (x1, 0);
1213 1629 : x3 = XEXP (x2, 0);
1214 1629 : operands[1] = x3;
1215 1629 : x4 = XEXP (x1, 1);
1216 1629 : x5 = XEXP (x4, 0);
1217 1629 : operands[2] = x5;
1218 1629 : switch (GET_MODE (operands[0]))
1219 : {
1220 429 : case E_V8QImode:
1221 429 : return pattern270 (x1,
1222 : E_V4HImode,
1223 : E_V4QImode,
1224 429 : E_V8QImode); /* [-1, 0] */
1225 :
1226 658 : case E_V4HImode:
1227 658 : if (pattern270 (x1,
1228 : E_V2SImode,
1229 : E_V2HImode,
1230 : E_V4HImode) != 0)
1231 : return -1;
1232 : return 1;
1233 :
1234 : default:
1235 : return -1;
1236 : }
1237 : }
1238 :
1239 : int
1240 5602 : pattern283 (rtx x1, int *pnum_clobbers)
1241 : {
1242 5602 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1243 5602 : rtx x2, x3;
1244 5602 : int res ATTRIBUTE_UNUSED;
1245 5602 : x2 = XEXP (x1, 0);
1246 5602 : x3 = XEXP (x2, 1);
1247 5602 : operands[2] = x3;
1248 5602 : if (!nonmemory_operand (operands[2], E_QImode))
1249 : return -1;
1250 5539 : return pattern282 (x1, pnum_clobbers); /* [-1, 4] */
1251 : }
1252 :
1253 : int
1254 1104 : pattern286 (rtx x1)
1255 : {
1256 1104 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1257 1104 : rtx x2, x3, x4, x5;
1258 1104 : int res ATTRIBUTE_UNUSED;
1259 1104 : x2 = XEXP (x1, 0);
1260 1104 : x3 = XEXP (x2, 1);
1261 1104 : switch (GET_CODE (x3))
1262 : {
1263 : case REG:
1264 : case SUBREG:
1265 : return 0;
1266 :
1267 0 : case AND:
1268 0 : if (GET_MODE (x3) != E_QImode)
1269 : return -1;
1270 0 : x4 = XEXP (x3, 0);
1271 0 : operands[1] = x4;
1272 0 : if (!register_operand (operands[1], E_QImode))
1273 : return -1;
1274 0 : x5 = XEXP (x3, 1);
1275 0 : operands[2] = x5;
1276 0 : if (!const_int_operand (operands[2], E_QImode))
1277 : return -1;
1278 0 : res = pattern285 (x1);
1279 0 : if (res >= 0)
1280 0 : return res + 1; /* [1, 2] */
1281 : return -1;
1282 :
1283 : default:
1284 : return -1;
1285 : }
1286 : }
1287 :
1288 : int
1289 17 : pattern297 (rtx x1)
1290 : {
1291 17 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1292 17 : rtx x2;
1293 17 : int res ATTRIBUTE_UNUSED;
1294 17 : if (!memory_operand (operands[0], E_DImode)
1295 17 : || GET_MODE (x1) != E_DImode)
1296 : return -1;
1297 9 : x2 = XEXP (x1, 0);
1298 9 : switch (GET_MODE (x2))
1299 : {
1300 6 : case E_V8QImode:
1301 6 : return pattern106 (); /* [-1, 2] */
1302 :
1303 3 : case E_V4HImode:
1304 3 : switch (GET_MODE (operands[1]))
1305 : {
1306 0 : case E_V4SImode:
1307 0 : if (!register_operand (operands[1], E_V4SImode))
1308 : return -1;
1309 : return 3;
1310 :
1311 3 : case E_V4DImode:
1312 3 : if (!register_operand (operands[1], E_V4DImode))
1313 : return -1;
1314 : return 4;
1315 :
1316 : default:
1317 : return -1;
1318 : }
1319 :
1320 0 : case E_V2SImode:
1321 0 : if (!register_operand (operands[1], E_V2DImode))
1322 : return -1;
1323 : return 5;
1324 :
1325 : default:
1326 : return -1;
1327 : }
1328 : }
1329 :
1330 : int
1331 18964 : pattern310 (rtx x1, int i1, machine_mode i2, machine_mode i3)
1332 : {
1333 18964 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1334 18964 : rtx x2, x3, x4, x5;
1335 18964 : int res ATTRIBUTE_UNUSED;
1336 18964 : if (GET_MODE (x1) != i3)
1337 : return -1;
1338 270 : x2 = XEXP (x1, 0);
1339 270 : if (GET_CODE (x2) != VEC_SELECT
1340 235 : || GET_MODE (x2) != i2)
1341 : return -1;
1342 235 : x3 = XEXP (x2, 1);
1343 235 : if (GET_CODE (x3) != PARALLEL
1344 235 : || XVECLEN (x3, 0) != 2)
1345 : return -1;
1346 235 : x4 = XVECEXP (x3, 0, 0);
1347 235 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1348 : return -1;
1349 235 : x5 = XVECEXP (x3, 0, 1);
1350 235 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
1351 8 : return -1;
1352 : return 0;
1353 : }
1354 :
1355 : int
1356 1510 : pattern317 (rtx x1, rtx_code i1)
1357 : {
1358 1510 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1359 1510 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1360 1510 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1361 1510 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1362 1510 : rtx x26, x27, x28;
1363 1510 : int res ATTRIBUTE_UNUSED;
1364 1510 : x2 = XEXP (x1, 0);
1365 1510 : x3 = XEXP (x2, 0);
1366 1510 : x4 = XEXP (x3, 0);
1367 1510 : if (GET_CODE (x4) != VEC_SELECT)
1368 : return -1;
1369 1510 : x5 = XEXP (x4, 1);
1370 1510 : if (GET_CODE (x5) != PARALLEL)
1371 : return -1;
1372 1510 : x6 = XEXP (x2, 1);
1373 1510 : if (GET_CODE (x6) != i1)
1374 : return -1;
1375 1422 : x7 = XEXP (x6, 0);
1376 1422 : if (GET_CODE (x7) != VEC_SELECT)
1377 : return -1;
1378 1422 : x8 = XEXP (x7, 1);
1379 1422 : if (GET_CODE (x8) != PARALLEL)
1380 : return -1;
1381 1422 : x9 = XEXP (x4, 0);
1382 1422 : operands[1] = x9;
1383 1422 : x10 = XEXP (x7, 0);
1384 1422 : operands[2] = x10;
1385 1422 : x11 = XEXP (x1, 1);
1386 1422 : operands[3] = x11;
1387 1422 : x12 = XEXP (x1, 2);
1388 1422 : operands[4] = x12;
1389 1422 : if (!register_operand (operands[4], E_QImode))
1390 : return -1;
1391 1318 : switch (XVECLEN (x5, 0))
1392 : {
1393 492 : case 8:
1394 492 : x13 = XVECEXP (x5, 0, 0);
1395 492 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1396 : return -1;
1397 492 : x14 = XVECEXP (x5, 0, 1);
1398 492 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1399 : return -1;
1400 492 : x15 = XVECEXP (x5, 0, 2);
1401 492 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1402 : return -1;
1403 492 : x16 = XVECEXP (x5, 0, 3);
1404 492 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1405 : return -1;
1406 492 : x17 = XVECEXP (x5, 0, 4);
1407 492 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1408 : return -1;
1409 492 : x18 = XVECEXP (x5, 0, 5);
1410 492 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1411 : return -1;
1412 492 : x19 = XVECEXP (x5, 0, 6);
1413 492 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
1414 : return -1;
1415 492 : x20 = XVECEXP (x5, 0, 7);
1416 492 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1417 492 : || XVECLEN (x8, 0) != 8)
1418 : return -1;
1419 492 : x21 = XVECEXP (x8, 0, 0);
1420 492 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1421 : return -1;
1422 492 : x22 = XVECEXP (x8, 0, 1);
1423 492 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1424 : return -1;
1425 492 : x23 = XVECEXP (x8, 0, 2);
1426 492 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1427 : return -1;
1428 492 : x24 = XVECEXP (x8, 0, 3);
1429 492 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1430 : return -1;
1431 492 : x25 = XVECEXP (x8, 0, 4);
1432 492 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1433 : return -1;
1434 492 : x26 = XVECEXP (x8, 0, 5);
1435 492 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1436 : return -1;
1437 492 : x27 = XVECEXP (x8, 0, 6);
1438 492 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
1439 : return -1;
1440 492 : x28 = XVECEXP (x8, 0, 7);
1441 492 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1442 492 : || pattern316 (x1,
1443 : E_V8DImode,
1444 : E_V16SImode,
1445 : E_V8SImode) != 0)
1446 68 : return -1;
1447 : return 0;
1448 :
1449 450 : case 4:
1450 450 : x13 = XVECEXP (x5, 0, 0);
1451 450 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1452 : return -1;
1453 450 : x14 = XVECEXP (x5, 0, 1);
1454 450 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1455 : return -1;
1456 450 : x15 = XVECEXP (x5, 0, 2);
1457 450 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1458 : return -1;
1459 450 : x16 = XVECEXP (x5, 0, 3);
1460 450 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1461 450 : || XVECLEN (x8, 0) != 4)
1462 : return -1;
1463 450 : x21 = XVECEXP (x8, 0, 0);
1464 450 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1465 : return -1;
1466 450 : x22 = XVECEXP (x8, 0, 1);
1467 450 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1468 : return -1;
1469 450 : x23 = XVECEXP (x8, 0, 2);
1470 450 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1471 : return -1;
1472 450 : x24 = XVECEXP (x8, 0, 3);
1473 450 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1474 450 : || pattern316 (x1,
1475 : E_V4DImode,
1476 : E_V8SImode,
1477 : E_V4SImode) != 0)
1478 68 : return -1;
1479 : return 1;
1480 :
1481 376 : case 2:
1482 376 : x13 = XVECEXP (x5, 0, 0);
1483 376 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1484 : return -1;
1485 376 : x14 = XVECEXP (x5, 0, 1);
1486 376 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
1487 376 : || XVECLEN (x8, 0) != 2)
1488 : return -1;
1489 376 : x21 = XVECEXP (x8, 0, 0);
1490 376 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1491 : return -1;
1492 376 : x22 = XVECEXP (x8, 0, 1);
1493 376 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 2]
1494 376 : || !register_operand (operands[0], E_V2DImode)
1495 364 : || GET_MODE (x1) != E_V2DImode
1496 364 : || GET_MODE (x2) != E_V2DImode
1497 364 : || GET_MODE (x3) != E_V2DImode
1498 364 : || GET_MODE (x4) != E_V2SImode
1499 364 : || !vector_operand (operands[1], E_V4SImode)
1500 364 : || GET_MODE (x6) != E_V2DImode
1501 364 : || GET_MODE (x7) != E_V2SImode
1502 364 : || !vector_operand (operands[2], E_V4SImode)
1503 740 : || !nonimm_or_0_operand (operands[3], E_V2DImode))
1504 14 : return -1;
1505 : return 2;
1506 :
1507 : default:
1508 : return -1;
1509 : }
1510 : }
1511 :
1512 : int
1513 5624 : pattern353 (rtx x1)
1514 : {
1515 5624 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1516 5624 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1517 5624 : int res ATTRIBUTE_UNUSED;
1518 5624 : x2 = XVECEXP (x1, 0, 1);
1519 5624 : if (GET_CODE (x2) != CLOBBER)
1520 : return -1;
1521 5298 : x3 = XEXP (x2, 0);
1522 5298 : if (GET_CODE (x3) != REG
1523 5298 : || REGNO (x3) != 17
1524 10596 : || GET_MODE (x3) != E_CCmode)
1525 : return -1;
1526 5298 : x4 = XVECEXP (x1, 0, 0);
1527 5298 : x5 = XEXP (x4, 0);
1528 5298 : operands[0] = x5;
1529 5298 : x6 = XEXP (x4, 1);
1530 5298 : x7 = XEXP (x6, 0);
1531 5298 : x8 = XEXP (x7, 0);
1532 5298 : operands[1] = x8;
1533 5298 : x9 = XEXP (x7, 1);
1534 5298 : operands[2] = x9;
1535 5298 : return pattern352 (x6); /* [-1, 5] */
1536 : }
1537 :
1538 : int
1539 10064 : pattern360 (rtx x1)
1540 : {
1541 10064 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1542 10064 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1543 10064 : rtx x10;
1544 10064 : int res ATTRIBUTE_UNUSED;
1545 10064 : x2 = XVECEXP (x1, 0, 0);
1546 10064 : x3 = XEXP (x2, 1);
1547 10064 : x4 = XEXP (x3, 0);
1548 10064 : operands[2] = x4;
1549 10064 : x5 = XEXP (x4, 0);
1550 10064 : if (GET_CODE (x5) != REG
1551 10064 : || REGNO (x5) != 17)
1552 : return -1;
1553 3572 : x6 = XEXP (x4, 1);
1554 3572 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1555 : return -1;
1556 3572 : x7 = XVECEXP (x1, 0, 1);
1557 3572 : if (GET_CODE (x7) != CLOBBER)
1558 : return -1;
1559 3480 : x8 = XEXP (x7, 0);
1560 3480 : if (GET_CODE (x8) != REG
1561 3480 : || REGNO (x8) != 17
1562 6960 : || GET_MODE (x8) != E_CCmode)
1563 : return -1;
1564 3480 : x9 = XEXP (x2, 0);
1565 3480 : operands[0] = x9;
1566 3480 : x10 = XEXP (x3, 1);
1567 3480 : operands[1] = x10;
1568 3480 : switch (GET_MODE (operands[0]))
1569 : {
1570 : case E_QImode:
1571 : return 0;
1572 :
1573 : case E_HImode:
1574 : return 1;
1575 :
1576 : case E_SImode:
1577 : return 2;
1578 :
1579 : case E_DImode:
1580 : return 3;
1581 :
1582 : default:
1583 : return -1;
1584 : }
1585 : }
1586 :
1587 : int
1588 255659 : pattern368 (rtx x1, rtx_code i1)
1589 : {
1590 255659 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1591 255659 : rtx x2, x3, x4, x5, x6, x7;
1592 255659 : int res ATTRIBUTE_UNUSED;
1593 255659 : x2 = XVECEXP (x1, 0, 0);
1594 255659 : x3 = XEXP (x2, 1);
1595 255659 : x4 = XEXP (x3, 1);
1596 255659 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1597 : return -1;
1598 243854 : x5 = XEXP (x3, 0);
1599 243854 : x6 = XEXP (x5, 0);
1600 243854 : switch (GET_CODE (x6))
1601 : {
1602 145848 : case REG:
1603 145848 : case SUBREG:
1604 145848 : case MEM:
1605 145848 : x7 = XEXP (x5, 1);
1606 145848 : operands[2] = x7;
1607 145848 : return 0;
1608 :
1609 2704 : case UNSPEC_VOLATILE:
1610 2704 : res = pattern367 (x1,
1611 : i1);
1612 2704 : if (res >= 0)
1613 2480 : return res + 1; /* [1, 4] */
1614 : return -1;
1615 :
1616 : default:
1617 : return -1;
1618 : }
1619 : }
1620 :
1621 : int
1622 14441 : pattern374 (rtx x1, int i1)
1623 : {
1624 14441 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1625 14441 : rtx x2, x3, x4, x5, x6, x7, x8;
1626 14441 : int res ATTRIBUTE_UNUSED;
1627 14441 : x2 = XVECEXP (x1, 0, 0);
1628 14441 : x3 = XEXP (x2, 1);
1629 14441 : x4 = XEXP (x3, 0);
1630 14441 : x5 = XEXP (x4, 0);
1631 14441 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
1632 : return -1;
1633 657 : x6 = XVECEXP (x1, 0, 1);
1634 657 : if (GET_CODE (x6) != CLOBBER)
1635 : return -1;
1636 497 : x7 = XEXP (x6, 0);
1637 497 : if (GET_CODE (x7) != REG
1638 497 : || REGNO (x7) != 17
1639 994 : || GET_MODE (x7) != E_CCmode)
1640 : return -1;
1641 497 : x8 = XEXP (x2, 0);
1642 497 : operands[0] = x8;
1643 497 : return pattern373 (x3); /* [-1, 2] */
1644 : }
1645 :
1646 : int
1647 141871 : pattern381 (rtx x1, machine_mode i1, machine_mode i2)
1648 : {
1649 141871 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1650 141871 : rtx x2;
1651 141871 : int res ATTRIBUTE_UNUSED;
1652 141871 : if (!register_operand (operands[0], i2)
1653 141871 : || GET_MODE (x1) != i2)
1654 : return -1;
1655 141871 : x2 = XEXP (x1, 0);
1656 141871 : if (GET_MODE (x2) != i2
1657 141871 : || !nonimmediate_operand (operands[1], i1))
1658 26137 : return -1;
1659 : return 0;
1660 : }
1661 :
1662 : int
1663 0 : pattern387 (machine_mode i1, machine_mode i2)
1664 : {
1665 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1666 0 : int res ATTRIBUTE_UNUSED;
1667 0 : if (!nonimmediate_operand (operands[3], i2)
1668 0 : || !nonimmediate_operand (operands[4], i1)
1669 0 : || !scratch_operand (operands[1], i1)
1670 0 : || !scratch_operand (operands[2], i1))
1671 0 : return -1;
1672 : return 0;
1673 : }
1674 :
1675 : int
1676 87019 : pattern393 (rtx x1, machine_mode i1)
1677 : {
1678 87019 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1679 87019 : rtx x2, x3, x4, x5;
1680 87019 : int res ATTRIBUTE_UNUSED;
1681 87019 : if (!register_operand (operands[0], i1))
1682 : return -1;
1683 87019 : x2 = XVECEXP (x1, 0, 0);
1684 87019 : x3 = XEXP (x2, 1);
1685 87019 : if (GET_MODE (x3) != i1
1686 87019 : || !register_operand (operands[2], i1)
1687 87019 : || !nonimmediate_operand (operands[3], i1)
1688 174038 : || !register_operand (operands[1], i1))
1689 0 : return -1;
1690 87019 : x4 = XVECEXP (x1, 0, 1);
1691 87019 : x5 = XEXP (x4, 1);
1692 87019 : if (GET_MODE (x5) != i1
1693 87019 : || !register_operand (operands[4], i1))
1694 0 : return -1;
1695 : return 0;
1696 : }
1697 :
1698 : int
1699 0 : pattern402 (rtx x1, machine_mode i1, machine_mode i2)
1700 : {
1701 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1702 0 : rtx x2, x3, x4;
1703 0 : int res ATTRIBUTE_UNUSED;
1704 0 : if (!nonimmediate_operand (operands[0], i2)
1705 0 : || GET_MODE (x1) != i2)
1706 : return -1;
1707 0 : x2 = XEXP (x1, 0);
1708 0 : if (GET_MODE (x2) != i2
1709 0 : || !nonimmediate_operand (operands[1], i1))
1710 0 : return -1;
1711 0 : x3 = XEXP (x1, 1);
1712 0 : if (GET_MODE (x3) != i2)
1713 : return -1;
1714 0 : x4 = XEXP (x3, 0);
1715 0 : if (GET_MODE (x4) != i2
1716 0 : || !nonimmediate_operand (operands[2], i1))
1717 0 : return -1;
1718 : return 0;
1719 : }
1720 :
1721 : int
1722 119999 : pattern410 (rtx x1)
1723 : {
1724 119999 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1725 119999 : rtx x2, x3, x4, x5, x6;
1726 119999 : int res ATTRIBUTE_UNUSED;
1727 119999 : x2 = XVECEXP (x1, 0, 1);
1728 119999 : if (GET_CODE (x2) != CLOBBER)
1729 : return -1;
1730 119999 : x3 = XEXP (x2, 0);
1731 119999 : if (GET_CODE (x3) != REG
1732 119999 : || REGNO (x3) != 17
1733 202119 : || GET_MODE (x3) != E_CCmode)
1734 : return -1;
1735 82114 : x4 = XVECEXP (x1, 0, 0);
1736 82114 : x5 = XEXP (x4, 0);
1737 82114 : operands[0] = x5;
1738 82114 : x6 = XEXP (x4, 1);
1739 82114 : return pattern216 (x6); /* [-1, 4] */
1740 : }
1741 :
1742 : int
1743 895 : pattern414 (rtx x1)
1744 : {
1745 895 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1746 895 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1747 895 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1748 895 : rtx x18, x19, x20, x21, x22;
1749 895 : int res ATTRIBUTE_UNUSED;
1750 895 : if (!register_operand (operands[3], E_QImode))
1751 : return -1;
1752 623 : x2 = XEXP (x1, 0);
1753 623 : x3 = XEXP (x2, 0);
1754 623 : x4 = XEXP (x3, 0);
1755 623 : x5 = XEXP (x4, 0);
1756 623 : switch (GET_CODE (x5))
1757 : {
1758 99 : case VEC_CONCAT:
1759 99 : if (GET_MODE (x5) != E_V2DImode)
1760 : return -1;
1761 99 : x6 = XEXP (x5, 1);
1762 99 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1763 : return -1;
1764 63 : x7 = XEXP (x5, 0);
1765 63 : operands[1] = x7;
1766 63 : if (!memory_operand (operands[1], E_DImode))
1767 : return -1;
1768 54 : x8 = XEXP (x3, 1);
1769 54 : switch (XVECLEN (x8, 0))
1770 : {
1771 27 : case 8:
1772 27 : x9 = XVECEXP (x8, 0, 0);
1773 27 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1774 : return -1;
1775 27 : x10 = XVECEXP (x8, 0, 1);
1776 27 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1777 : return -1;
1778 27 : x11 = XVECEXP (x8, 0, 2);
1779 27 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1780 : return -1;
1781 27 : x12 = XVECEXP (x8, 0, 3);
1782 27 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1783 : return -1;
1784 27 : x13 = XVECEXP (x8, 0, 4);
1785 27 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1786 : return -1;
1787 27 : x14 = XVECEXP (x8, 0, 5);
1788 27 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
1789 : return -1;
1790 27 : x15 = XVECEXP (x8, 0, 6);
1791 27 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1792 : return -1;
1793 27 : x16 = XVECEXP (x8, 0, 7);
1794 27 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
1795 27 : || GET_MODE (x3) != E_V8QImode
1796 27 : || GET_MODE (x4) != E_V16QImode)
1797 : return -1;
1798 27 : switch (GET_MODE (operands[0]))
1799 : {
1800 9 : case E_V8HImode:
1801 9 : return pattern143 (x1,
1802 9 : E_V8HImode); /* [-1, 0] */
1803 :
1804 9 : case E_V8SImode:
1805 9 : if (pattern143 (x1,
1806 : E_V8SImode) != 0)
1807 : return -1;
1808 : return 1;
1809 :
1810 9 : case E_V8DImode:
1811 9 : if (pattern143 (x1,
1812 : E_V8DImode) != 0)
1813 : return -1;
1814 : return 2;
1815 :
1816 : default:
1817 : return -1;
1818 : }
1819 :
1820 18 : case 4:
1821 18 : res = pattern412 (x1,
1822 : E_V8HImode,
1823 : E_V4HImode);
1824 18 : if (res >= 0)
1825 12 : return res + 3; /* [3, 4] */
1826 : return -1;
1827 :
1828 9 : case 2:
1829 9 : if (pattern413 (x1,
1830 : E_V4SImode,
1831 : E_V2SImode) != 0)
1832 : return -1;
1833 : return 5;
1834 :
1835 : default:
1836 : return -1;
1837 : }
1838 :
1839 30 : case VEC_MERGE:
1840 30 : if (GET_MODE (x5) != E_V4SImode)
1841 : return -1;
1842 30 : x7 = XEXP (x5, 0);
1843 30 : if (GET_CODE (x7) != VEC_DUPLICATE
1844 30 : || GET_MODE (x7) != E_V4SImode)
1845 : return -1;
1846 30 : x6 = XEXP (x5, 1);
1847 30 : if (GET_CODE (x6) != CONST_VECTOR
1848 30 : || XVECLEN (x6, 0) != 4
1849 30 : || GET_MODE (x6) != E_V4SImode)
1850 : return -1;
1851 30 : x17 = XVECEXP (x6, 0, 0);
1852 30 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1853 : return -1;
1854 30 : x18 = XVECEXP (x6, 0, 1);
1855 30 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1856 : return -1;
1857 30 : x19 = XVECEXP (x6, 0, 2);
1858 30 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1859 : return -1;
1860 30 : x20 = XVECEXP (x6, 0, 3);
1861 30 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1862 : return -1;
1863 30 : x21 = XEXP (x5, 2);
1864 30 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1865 : return -1;
1866 30 : x22 = XEXP (x7, 0);
1867 30 : operands[1] = x22;
1868 30 : if (!memory_operand (operands[1], E_SImode))
1869 : return -1;
1870 27 : x8 = XEXP (x3, 1);
1871 27 : switch (XVECLEN (x8, 0))
1872 : {
1873 18 : case 4:
1874 18 : res = pattern412 (x1,
1875 : E_V16QImode,
1876 : E_V4QImode);
1877 18 : if (res >= 0)
1878 12 : return res + 6; /* [6, 7] */
1879 : return -1;
1880 :
1881 9 : case 2:
1882 9 : if (pattern413 (x1,
1883 : E_V8HImode,
1884 : E_V2HImode) != 0)
1885 : return -1;
1886 : return 8;
1887 :
1888 : default:
1889 : return -1;
1890 : }
1891 :
1892 : default:
1893 : return -1;
1894 : }
1895 : }
1896 :
1897 : int
1898 2168 : pattern469 (rtx x1)
1899 : {
1900 2168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1901 2168 : rtx x2, x3, x4, x5, x6;
1902 2168 : int res ATTRIBUTE_UNUSED;
1903 2168 : x2 = XEXP (x1, 0);
1904 2168 : x3 = XVECEXP (x2, 0, 0);
1905 2168 : operands[1] = x3;
1906 2168 : x4 = XVECEXP (x2, 0, 1);
1907 2168 : operands[2] = x4;
1908 2168 : x5 = XEXP (x1, 1);
1909 2168 : operands[3] = x5;
1910 2168 : x6 = XEXP (x1, 2);
1911 2168 : operands[4] = x6;
1912 2168 : switch (GET_MODE (operands[0]))
1913 : {
1914 1058 : case E_V32QImode:
1915 1058 : return pattern468 (x1,
1916 : E_SImode,
1917 : E_V32QImode,
1918 : E_V32HFmode,
1919 1058 : E_V64QImode); /* [-1, 0] */
1920 :
1921 1026 : case E_V16QImode:
1922 1026 : if (pattern468 (x1,
1923 : E_HImode,
1924 : E_V16QImode,
1925 : E_V16HFmode,
1926 : E_V32QImode) != 0)
1927 : return -1;
1928 : return 1;
1929 :
1930 : default:
1931 : return -1;
1932 : }
1933 : }
1934 :
1935 : int
1936 736 : pattern477 (rtx x1, machine_mode i1)
1937 : {
1938 736 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1939 736 : rtx x2;
1940 736 : int res ATTRIBUTE_UNUSED;
1941 736 : if (!register_operand (operands[0], i1)
1942 736 : || GET_MODE (x1) != i1)
1943 : return -1;
1944 674 : x2 = XEXP (x1, 0);
1945 674 : if (GET_MODE (x2) != i1
1946 674 : || !register_operand (operands[1], i1)
1947 649 : || !register_operand (operands[2], i1)
1948 623 : || !nonimmediate_operand (operands[3], i1)
1949 1297 : || !const0_operand (operands[4], i1))
1950 51 : return -1;
1951 : return 0;
1952 : }
1953 :
1954 : int
1955 4958 : pattern484 (rtx x1, machine_mode i1, machine_mode i2)
1956 : {
1957 4958 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1958 4958 : rtx x2;
1959 4958 : int res ATTRIBUTE_UNUSED;
1960 4958 : if (!register_operand (operands[0], i1)
1961 4958 : || GET_MODE (x1) != i1)
1962 : return -1;
1963 4695 : x2 = XEXP (x1, 0);
1964 4695 : if (GET_MODE (x2) != i1
1965 4695 : || !register_operand (operands[1], i1)
1966 9299 : || pattern483 (
1967 : i1,
1968 : i2) != 0)
1969 354 : return -1;
1970 : return 0;
1971 : }
1972 :
1973 : int
1974 640 : pattern491 (rtx x1, machine_mode i1)
1975 : {
1976 640 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1977 640 : rtx x2;
1978 640 : int res ATTRIBUTE_UNUSED;
1979 640 : if (!register_operand (operands[0], i1)
1980 640 : || GET_MODE (x1) != i1)
1981 : return -1;
1982 596 : x2 = XVECEXP (x1, 0, 0);
1983 596 : if (GET_MODE (x2) != i1
1984 596 : || !register_operand (operands[1], i1)
1985 1156 : || !register_operand (operands[2], i1))
1986 62 : return -1;
1987 : return 0;
1988 : }
1989 :
1990 : int
1991 485 : pattern492 (rtx x1)
1992 : {
1993 485 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1994 485 : rtx x2, x3, x4, x5;
1995 485 : int res ATTRIBUTE_UNUSED;
1996 485 : x2 = XVECEXP (x1, 0, 0);
1997 485 : x3 = XEXP (x2, 0);
1998 485 : operands[1] = x3;
1999 485 : x4 = XEXP (x2, 1);
2000 485 : operands[2] = x4;
2001 485 : x5 = XVECEXP (x1, 0, 1);
2002 485 : operands[3] = x5;
2003 485 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
2004 : return -1;
2005 485 : switch (GET_MODE (operands[0]))
2006 : {
2007 165 : case E_V32HFmode:
2008 165 : return pattern491 (x1,
2009 165 : E_V32HFmode); /* [-1, 0] */
2010 :
2011 0 : case E_V16HFmode:
2012 0 : if (pattern491 (x1,
2013 : E_V16HFmode) != 0)
2014 : return -1;
2015 : return 1;
2016 :
2017 0 : case E_V8HFmode:
2018 0 : if (pattern491 (x1,
2019 : E_V8HFmode) != 0)
2020 : return -1;
2021 : return 2;
2022 :
2023 170 : case E_V16SFmode:
2024 170 : if (pattern491 (x1,
2025 : E_V16SFmode) != 0)
2026 : return -1;
2027 : return 3;
2028 :
2029 0 : case E_V8SFmode:
2030 0 : if (pattern491 (x1,
2031 : E_V8SFmode) != 0)
2032 : return -1;
2033 : return 4;
2034 :
2035 0 : case E_V4SFmode:
2036 0 : if (pattern491 (x1,
2037 : E_V4SFmode) != 0)
2038 : return -1;
2039 : return 5;
2040 :
2041 150 : case E_V8DFmode:
2042 150 : if (pattern491 (x1,
2043 : E_V8DFmode) != 0)
2044 : return -1;
2045 : return 6;
2046 :
2047 0 : case E_V4DFmode:
2048 0 : if (pattern491 (x1,
2049 : E_V4DFmode) != 0)
2050 : return -1;
2051 : return 7;
2052 :
2053 0 : case E_V2DFmode:
2054 0 : if (pattern491 (x1,
2055 : E_V2DFmode) != 0)
2056 : return -1;
2057 : return 8;
2058 :
2059 : default:
2060 : return -1;
2061 : }
2062 : }
2063 :
2064 : int
2065 1794 : pattern503 (rtx x1)
2066 : {
2067 1794 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2068 1794 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2069 1794 : rtx x10, x11, x12, x13;
2070 1794 : int res ATTRIBUTE_UNUSED;
2071 1794 : x2 = XEXP (x1, 0);
2072 1794 : x3 = XEXP (x2, 0);
2073 1794 : x4 = XEXP (x3, 0);
2074 1794 : operands[1] = x4;
2075 1794 : x5 = XEXP (x1, 1);
2076 1794 : operands[4] = x5;
2077 1794 : x6 = XEXP (x2, 1);
2078 1794 : switch (GET_CODE (x6))
2079 : {
2080 1290 : case VEC_SELECT:
2081 1290 : x7 = XEXP (x6, 1);
2082 1290 : if (GET_CODE (x7) != PARALLEL)
2083 : return -1;
2084 1290 : x8 = XEXP (x6, 0);
2085 1290 : operands[2] = x8;
2086 1290 : x9 = XEXP (x2, 2);
2087 1290 : operands[3] = x9;
2088 1290 : switch (XVECLEN (x7, 0))
2089 : {
2090 626 : case 4:
2091 626 : x10 = XVECEXP (x7, 0, 0);
2092 626 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2093 : return -1;
2094 626 : x11 = XVECEXP (x7, 0, 1);
2095 626 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2096 : return -1;
2097 626 : x12 = XVECEXP (x7, 0, 2);
2098 626 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2099 : return -1;
2100 626 : x13 = XVECEXP (x7, 0, 3);
2101 626 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
2102 626 : || !register_operand (operands[0], E_V8HFmode)
2103 612 : || GET_MODE (x1) != E_V8HFmode
2104 612 : || GET_MODE (x2) != E_V4HFmode
2105 612 : || GET_MODE (x3) != E_V4HFmode
2106 612 : || GET_MODE (x6) != E_V4HFmode
2107 1238 : || !nonimm_or_0_operand (operands[2], E_V8HFmode))
2108 16 : return -1;
2109 610 : return pattern498 (); /* [-1, 1] */
2110 :
2111 664 : case 2:
2112 664 : res = pattern500 (x1,
2113 : E_V2DImode);
2114 664 : if (res >= 0)
2115 646 : return res + 2; /* [2, 3] */
2116 : return -1;
2117 :
2118 : default:
2119 : return -1;
2120 : }
2121 :
2122 504 : case CONST_INT:
2123 504 : case CONST_DOUBLE:
2124 504 : case CONST_VECTOR:
2125 504 : operands[3] = x6;
2126 504 : x9 = XEXP (x2, 2);
2127 504 : operands[2] = x9;
2128 504 : switch (GET_MODE (operands[0]))
2129 : {
2130 378 : case E_V8HFmode:
2131 378 : if (!register_operand (operands[0], E_V8HFmode)
2132 378 : || GET_MODE (x1) != E_V8HFmode)
2133 : return -1;
2134 360 : switch (GET_MODE (x2))
2135 : {
2136 240 : case E_V4HFmode:
2137 240 : if (GET_MODE (x3) != E_V4HFmode
2138 240 : || !const0_operand (operands[3], E_V4HFmode))
2139 0 : return -1;
2140 240 : res = pattern498 ();
2141 240 : if (res >= 0)
2142 240 : return res + 4; /* [4, 5] */
2143 : return -1;
2144 :
2145 120 : case E_V2HFmode:
2146 120 : if (pattern501 (x3,
2147 : E_V2DImode) != 0)
2148 : return -1;
2149 : return 6;
2150 :
2151 : default:
2152 : return -1;
2153 : }
2154 :
2155 126 : case E_V4SFmode:
2156 126 : if (pattern502 (x1,
2157 : E_V2DImode) != 0)
2158 : return -1;
2159 : return 7;
2160 :
2161 : default:
2162 : return -1;
2163 : }
2164 :
2165 : default:
2166 : return -1;
2167 : }
2168 : }
2169 :
2170 : int
2171 26482 : pattern529 (rtx x1)
2172 : {
2173 26482 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2174 26482 : rtx x2, x3, x4, x5;
2175 26482 : int res ATTRIBUTE_UNUSED;
2176 26482 : x2 = XEXP (x1, 0);
2177 26482 : x3 = XEXP (x2, 0);
2178 26482 : operands[2] = x3;
2179 26482 : x4 = XEXP (x2, 1);
2180 26482 : operands[3] = x4;
2181 26482 : x5 = XEXP (x1, 1);
2182 26482 : operands[4] = x5;
2183 26482 : switch (GET_MODE (operands[0]))
2184 : {
2185 86 : case E_V8SFmode:
2186 86 : return pattern528 (x1,
2187 86 : E_V8SFmode); /* [-1, 0] */
2188 :
2189 210 : case E_V4SFmode:
2190 210 : if (pattern528 (x1,
2191 : E_V4SFmode) != 0)
2192 : return -1;
2193 : return 1;
2194 :
2195 30 : case E_V4DFmode:
2196 30 : if (pattern528 (x1,
2197 : E_V4DFmode) != 0)
2198 : return -1;
2199 : return 2;
2200 :
2201 353 : case E_V2DFmode:
2202 353 : if (pattern528 (x1,
2203 : E_V2DFmode) != 0)
2204 : return -1;
2205 : return 3;
2206 :
2207 : default:
2208 : return -1;
2209 : }
2210 : }
2211 :
2212 : int
2213 10065 : pattern536 (rtx x1, machine_mode i1)
2214 : {
2215 10065 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2216 10065 : rtx x2, x3;
2217 10065 : int res ATTRIBUTE_UNUSED;
2218 10065 : if (!register_operand (operands[0], i1)
2219 10065 : || GET_MODE (x1) != i1)
2220 : return -1;
2221 10065 : x2 = XEXP (x1, 0);
2222 10065 : if (GET_MODE (x2) != i1)
2223 : return -1;
2224 10065 : x3 = XEXP (x2, 0);
2225 10065 : if (GET_MODE (x3) != i1
2226 10065 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2227 9729 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2228 9729 : || !regmem_or_bitnot_regmem_operand (operands[3], i1)
2229 19794 : || !regmem_or_bitnot_regmem_operand (operands[4], i1))
2230 336 : return -1;
2231 : return 0;
2232 : }
2233 :
2234 : int
2235 149898 : pattern542 (rtx x1)
2236 : {
2237 149898 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2238 149898 : rtx x2, x3, x4, x5, x6, x7;
2239 149898 : int res ATTRIBUTE_UNUSED;
2240 149898 : x2 = XEXP (x1, 0);
2241 149898 : x3 = XEXP (x2, 0);
2242 149898 : x4 = XEXP (x3, 0);
2243 149898 : operands[1] = x4;
2244 149898 : x5 = XEXP (x3, 1);
2245 149898 : operands[2] = x5;
2246 149898 : x6 = XEXP (x2, 1);
2247 149898 : operands[3] = x6;
2248 149898 : x7 = XEXP (x1, 1);
2249 149898 : operands[4] = x7;
2250 149898 : switch (GET_MODE (operands[0]))
2251 : {
2252 0 : case E_V32HFmode:
2253 0 : return pattern536 (x1,
2254 0 : E_V32HFmode); /* [-1, 0] */
2255 :
2256 0 : case E_V16HFmode:
2257 0 : if (pattern536 (x1,
2258 : E_V16HFmode) != 0)
2259 : return -1;
2260 : return 1;
2261 :
2262 0 : case E_V8HFmode:
2263 0 : if (pattern536 (x1,
2264 : E_V8HFmode) != 0)
2265 : return -1;
2266 : return 2;
2267 :
2268 0 : case E_V32BFmode:
2269 0 : if (pattern536 (x1,
2270 : E_V32BFmode) != 0)
2271 : return -1;
2272 : return 3;
2273 :
2274 0 : case E_V16BFmode:
2275 0 : if (pattern536 (x1,
2276 : E_V16BFmode) != 0)
2277 : return -1;
2278 : return 4;
2279 :
2280 0 : case E_V8BFmode:
2281 0 : if (pattern536 (x1,
2282 : E_V8BFmode) != 0)
2283 : return -1;
2284 : return 5;
2285 :
2286 0 : case E_V16SFmode:
2287 0 : if (pattern536 (x1,
2288 : E_V16SFmode) != 0)
2289 : return -1;
2290 : return 6;
2291 :
2292 0 : case E_V8SFmode:
2293 0 : if (pattern536 (x1,
2294 : E_V8SFmode) != 0)
2295 : return -1;
2296 : return 7;
2297 :
2298 18 : case E_V4SFmode:
2299 18 : if (pattern536 (x1,
2300 : E_V4SFmode) != 0)
2301 : return -1;
2302 : return 8;
2303 :
2304 0 : case E_V8DFmode:
2305 0 : if (pattern536 (x1,
2306 : E_V8DFmode) != 0)
2307 : return -1;
2308 : return 9;
2309 :
2310 0 : case E_V4DFmode:
2311 0 : if (pattern536 (x1,
2312 : E_V4DFmode) != 0)
2313 : return -1;
2314 : return 10;
2315 :
2316 18 : case E_V2DFmode:
2317 18 : if (pattern536 (x1,
2318 : E_V2DFmode) != 0)
2319 : return -1;
2320 : return 11;
2321 :
2322 : default:
2323 : return -1;
2324 : }
2325 : }
2326 :
2327 : int
2328 85 : pattern550 (rtx x1, int i1)
2329 : {
2330 85 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2331 85 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2332 85 : int res ATTRIBUTE_UNUSED;
2333 85 : x2 = XVECEXP (x1, 0, 0);
2334 85 : x3 = XEXP (x2, 1);
2335 85 : if (GET_MODE (x3) != E_XFmode)
2336 : return -1;
2337 85 : x4 = XVECEXP (x1, 0, 1);
2338 85 : if (GET_CODE (x4) != SET)
2339 : return -1;
2340 85 : x5 = XEXP (x4, 1);
2341 85 : if (GET_CODE (x5) != UNSPEC
2342 85 : || XVECLEN (x5, 0) != 1
2343 85 : || XINT (x5, 1) != i1
2344 85 : || GET_MODE (x5) != E_XFmode)
2345 : return -1;
2346 85 : x6 = XEXP (x2, 0);
2347 85 : operands[0] = x6;
2348 85 : if (!register_operand (operands[0], E_XFmode))
2349 : return -1;
2350 85 : x7 = XVECEXP (x3, 0, 0);
2351 85 : operands[2] = x7;
2352 85 : if (!register_operand (operands[2], E_XFmode))
2353 : return -1;
2354 49 : x8 = XEXP (x4, 0);
2355 49 : operands[1] = x8;
2356 49 : if (!register_operand (operands[1], E_XFmode))
2357 : return -1;
2358 49 : x9 = XVECEXP (x5, 0, 0);
2359 49 : if (!rtx_equal_p (x9, operands[2]))
2360 : return -1;
2361 : return 0;
2362 : }
2363 :
2364 : int
2365 6852 : pattern559 (rtx x1)
2366 : {
2367 6852 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2368 6852 : rtx x2, x3, x4;
2369 6852 : int res ATTRIBUTE_UNUSED;
2370 6852 : x2 = XEXP (x1, 0);
2371 6852 : x3 = XEXP (x2, 0);
2372 6852 : operands[0] = x3;
2373 6852 : switch (GET_MODE (operands[0]))
2374 : {
2375 6213 : case E_QImode:
2376 6213 : x4 = XEXP (x1, 1);
2377 6213 : return pattern558 (x4,
2378 6213 : E_QImode); /* [-1, 0] */
2379 :
2380 639 : case E_HImode:
2381 639 : x4 = XEXP (x1, 1);
2382 639 : if (pattern558 (x4,
2383 : E_HImode) != 0)
2384 : return -1;
2385 : return 1;
2386 :
2387 : default:
2388 : return -1;
2389 : }
2390 : }
2391 :
2392 : int
2393 308423 : pattern564 (rtx x1, machine_mode i1, machine_mode i2)
2394 : {
2395 308423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2396 308423 : int res ATTRIBUTE_UNUSED;
2397 308423 : if (!register_operand (operands[0], i2)
2398 308362 : || GET_MODE (x1) != i2
2399 616785 : || pattern563 (x1,
2400 : i1,
2401 : i2) != 0)
2402 15387 : return -1;
2403 : return 0;
2404 : }
2405 :
2406 : int
2407 26914337 : pattern568 (rtx x1)
2408 : {
2409 26914337 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2410 26914337 : int res ATTRIBUTE_UNUSED;
2411 26914337 : if (!nonimmediate_operand (operands[0], E_SImode)
2412 26886942 : || GET_MODE (x1) != E_SImode
2413 26886942 : || !nonimmediate_operand (operands[1], E_SImode)
2414 53438711 : || !x86_64_general_operand (operands[2], E_SImode))
2415 425232 : return -1;
2416 : return 0;
2417 : }
2418 :
2419 : int
2420 811069 : pattern573 (rtx x1)
2421 : {
2422 811069 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2423 811069 : rtx x2, x3, x4, x5;
2424 811069 : int res ATTRIBUTE_UNUSED;
2425 811069 : x2 = XVECEXP (x1, 0, 1);
2426 811069 : x3 = XEXP (x2, 0);
2427 811069 : if (GET_CODE (x3) != REG
2428 811069 : || REGNO (x3) != 17
2429 1622138 : || GET_MODE (x3) != E_CCmode)
2430 : return -1;
2431 811069 : x4 = XVECEXP (x1, 0, 0);
2432 811069 : x5 = XEXP (x4, 1);
2433 811069 : if (GET_MODE (x5) != E_QImode)
2434 179619 : return -1;
2435 : return 0;
2436 : }
2437 :
2438 : int
2439 343 : pattern577 (rtx x1)
2440 : {
2441 343 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2442 343 : int res ATTRIBUTE_UNUSED;
2443 343 : if (GET_MODE (x1) != E_BLKmode
2444 343 : || !memory_operand (operands[0], E_BLKmode)
2445 343 : || !register_operand (operands[1], E_SImode)
2446 666 : || !register_operand (operands[2], E_SImode))
2447 141 : return -1;
2448 : return 0;
2449 : }
2450 :
2451 : int
2452 100 : pattern582 (rtx x1)
2453 : {
2454 100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2455 100 : rtx x2, x3, x4, x5;
2456 100 : int res ATTRIBUTE_UNUSED;
2457 100 : x2 = XEXP (x1, 1);
2458 100 : x3 = XEXP (x2, 0);
2459 100 : x4 = XEXP (x3, 0);
2460 100 : operands[2] = x4;
2461 100 : if (!int248_register_operand (operands[2], E_VOIDmode))
2462 : return -1;
2463 100 : x5 = XEXP (x3, 1);
2464 100 : operands[3] = x5;
2465 100 : if (!const_int_operand (operands[3], E_VOIDmode))
2466 : return -1;
2467 100 : return pattern581 (x1); /* [-1, 3] */
2468 : }
2469 :
2470 : int
2471 836 : pattern589 (rtx x1)
2472 : {
2473 836 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2474 836 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2475 836 : int res ATTRIBUTE_UNUSED;
2476 836 : x2 = XVECEXP (x1, 0, 0);
2477 836 : x3 = XEXP (x2, 1);
2478 836 : x4 = XEXP (x3, 0);
2479 836 : x5 = XEXP (x4, 0);
2480 836 : x6 = XEXP (x5, 0);
2481 836 : x7 = XEXP (x6, 0);
2482 836 : operands[1] = x7;
2483 836 : if (!int248_register_operand (operands[1], E_VOIDmode))
2484 : return -1;
2485 836 : x8 = XEXP (x4, 1);
2486 836 : operands[2] = x8;
2487 836 : if (!general_operand (operands[2], E_QImode))
2488 : return -1;
2489 836 : x9 = XVECEXP (x1, 0, 1);
2490 836 : return pattern588 (x9); /* [-1, 2] */
2491 : }
2492 :
2493 : int
2494 49 : pattern593 (rtx x1)
2495 : {
2496 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2497 49 : rtx x2, x3;
2498 49 : int res ATTRIBUTE_UNUSED;
2499 49 : x2 = XVECEXP (x1, 0, 1);
2500 49 : if (GET_CODE (x2) != CLOBBER)
2501 : return -1;
2502 49 : x3 = XEXP (x2, 0);
2503 49 : if (GET_CODE (x3) != REG
2504 49 : || REGNO (x3) != 17
2505 98 : || GET_MODE (x3) != E_CCmode)
2506 : return -1;
2507 49 : return pattern228 (x1); /* [-1, 1] */
2508 : }
2509 :
2510 : int
2511 15409 : pattern598 (rtx x1)
2512 : {
2513 15409 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2514 15409 : int res ATTRIBUTE_UNUSED;
2515 15409 : if (!register_operand (operands[0], E_HImode)
2516 15409 : || GET_MODE (x1) != E_HImode)
2517 : return -1;
2518 15357 : switch (GET_MODE (operands[1]))
2519 : {
2520 1470 : case E_V16QImode:
2521 1470 : if (!general_operand (operands[1], E_V16QImode)
2522 1470 : || !general_operand (operands[2], E_V16QImode))
2523 29 : return -1;
2524 : return 0;
2525 :
2526 2741 : case E_V16HImode:
2527 2741 : if (!general_operand (operands[1], E_V16HImode)
2528 2741 : || !general_operand (operands[2], E_V16HImode))
2529 25 : return -1;
2530 : return 1;
2531 :
2532 10273 : case E_V16SImode:
2533 10273 : if (!general_operand (operands[1], E_V16SImode)
2534 10273 : || !general_operand (operands[2], E_V16SImode))
2535 110 : return -1;
2536 : return 2;
2537 :
2538 : default:
2539 : return -1;
2540 : }
2541 : }
2542 :
2543 : int
2544 14888308 : pattern606 (rtx x1, machine_mode i1)
2545 : {
2546 14888308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2547 14888308 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2548 14888308 : rtx x10, x11, x12, x13, x14, x15;
2549 14888308 : int res ATTRIBUTE_UNUSED;
2550 14888308 : x2 = XEXP (x1, 0);
2551 14888308 : operands[5] = x2;
2552 14888308 : if (!memory_operand (operands[5], i1))
2553 : return -1;
2554 3671192 : x3 = XEXP (x1, 1);
2555 3671192 : operands[0] = x3;
2556 3671192 : if (!general_reg_operand (operands[0], i1))
2557 : return -1;
2558 2402458 : x4 = PATTERN (peep2_next_insn (1));
2559 2402458 : if (GET_CODE (x4) != SET)
2560 : return -1;
2561 2211976 : x5 = XEXP (x4, 1);
2562 2211976 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2563 : return -1;
2564 99950 : x6 = XEXP (x4, 0);
2565 99950 : operands[1] = x6;
2566 99950 : if (!memory_operand (operands[1], i1))
2567 : return -1;
2568 43928 : x7 = PATTERN (peep2_next_insn (2));
2569 43928 : if (GET_CODE (x7) != SET)
2570 : return -1;
2571 41984 : x8 = XEXP (x7, 1);
2572 41984 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2573 : return -1;
2574 18468 : x9 = XEXP (x7, 0);
2575 18468 : operands[2] = x9;
2576 18468 : if (!memory_operand (operands[2], i1))
2577 : return -1;
2578 15382 : x10 = PATTERN (peep2_next_insn (3));
2579 15382 : if (GET_CODE (x10) != SET)
2580 : return -1;
2581 14527 : x11 = XEXP (x10, 1);
2582 14527 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2583 : return -1;
2584 7324 : x12 = XEXP (x10, 0);
2585 7324 : operands[3] = x12;
2586 7324 : if (!memory_operand (operands[3], i1))
2587 : return -1;
2588 6848 : x13 = PATTERN (peep2_next_insn (4));
2589 6848 : if (GET_CODE (x13) != SET)
2590 : return -1;
2591 6634 : x14 = XEXP (x13, 1);
2592 6634 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2593 : return -1;
2594 2224 : x15 = XEXP (x13, 0);
2595 2224 : operands[4] = x15;
2596 2224 : if (!memory_operand (operands[4], i1))
2597 : return -1;
2598 : return 0;
2599 : }
2600 :
2601 : int
2602 12114 : pattern620 (rtx x1)
2603 : {
2604 12114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2605 12114 : rtx x2, x3, x4, x5;
2606 12114 : int res ATTRIBUTE_UNUSED;
2607 12114 : x2 = XEXP (x1, 0);
2608 12114 : x3 = XEXP (x2, 1);
2609 12114 : x4 = XVECEXP (x3, 0, 0);
2610 12114 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2611 : return -1;
2612 12112 : x5 = XVECEXP (x3, 0, 1);
2613 12112 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2614 : return -1;
2615 11963 : switch (GET_MODE (operands[0]))
2616 : {
2617 3659 : case E_V2SImode:
2618 3659 : if (!register_operand (operands[0], E_V2SImode)
2619 3659 : || GET_MODE (x1) != E_V2SImode)
2620 : return -1;
2621 3583 : switch (GET_MODE (x2))
2622 : {
2623 3190 : case E_V2HImode:
2624 3190 : if (!register_operand (operands[1], E_V4HImode))
2625 : return -1;
2626 : return 0;
2627 :
2628 393 : case E_V2QImode:
2629 393 : if (!register_operand (operands[1], E_V4QImode))
2630 : return -1;
2631 : return 1;
2632 :
2633 : default:
2634 : return -1;
2635 : }
2636 :
2637 162 : case E_V2HImode:
2638 162 : if (pattern618 (x1,
2639 : E_V4QImode,
2640 : E_V2QImode,
2641 : E_V2HImode) != 0)
2642 : return -1;
2643 : return 2;
2644 :
2645 : default:
2646 : return -1;
2647 : }
2648 : }
2649 :
2650 : int
2651 7121 : pattern638 (rtx x1, machine_mode i1, machine_mode i2)
2652 : {
2653 7121 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2654 7121 : rtx x2;
2655 7121 : int res ATTRIBUTE_UNUSED;
2656 7121 : if (!register_operand (operands[0], i1)
2657 7121 : || GET_MODE (x1) != i1)
2658 : return -1;
2659 6794 : x2 = XEXP (x1, 0);
2660 6794 : if (GET_MODE (x2) != i1
2661 6794 : || !nonimmediate_operand (operands[1], i1)
2662 6770 : || !nonimm_or_0_operand (operands[2], i1)
2663 13459 : || !register_operand (operands[3], i2))
2664 217 : return -1;
2665 : return 0;
2666 : }
2667 :
2668 : int
2669 6092 : pattern645 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2670 : {
2671 6092 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2672 6092 : rtx x2, x3, x4;
2673 6092 : int res ATTRIBUTE_UNUSED;
2674 6092 : x2 = XEXP (x1, 0);
2675 6092 : x3 = XVECEXP (x2, 0, 0);
2676 6092 : operands[1] = x3;
2677 6092 : x4 = XEXP (x1, 2);
2678 6092 : operands[3] = x4;
2679 6092 : switch (GET_MODE (operands[0]))
2680 : {
2681 2052 : case E_V32HImode:
2682 2052 : return pattern644 (x1,
2683 : E_V32HImode,
2684 : E_SImode,
2685 2052 : i1); /* [-1, 0] */
2686 :
2687 2040 : case E_V16HImode:
2688 2040 : if (pattern644 (x1,
2689 : E_V16HImode,
2690 : E_HImode,
2691 : i2) != 0)
2692 : return -1;
2693 : return 1;
2694 :
2695 2000 : case E_V8HImode:
2696 2000 : if (pattern644 (x1,
2697 : E_V8HImode,
2698 : E_QImode,
2699 : i3) != 0)
2700 : return -1;
2701 : return 2;
2702 :
2703 : default:
2704 : return -1;
2705 : }
2706 : }
2707 :
2708 : int
2709 2361 : pattern651 (rtx x1)
2710 : {
2711 2361 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2712 2361 : rtx x2, x3, x4, x5;
2713 2361 : int res ATTRIBUTE_UNUSED;
2714 2361 : x2 = XVECEXP (x1, 0, 0);
2715 2361 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2716 : return -1;
2717 2361 : x3 = XVECEXP (x1, 0, 1);
2718 2361 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2719 : return -1;
2720 2361 : x4 = XVECEXP (x1, 0, 2);
2721 2361 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2722 : return -1;
2723 2361 : x5 = XVECEXP (x1, 0, 3);
2724 2361 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2725 0 : return -1;
2726 : return 0;
2727 : }
2728 :
2729 : int
2730 396 : pattern655 (rtx x1)
2731 : {
2732 396 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2733 396 : int res ATTRIBUTE_UNUSED;
2734 396 : if (!register_operand (operands[0], E_V4DImode)
2735 396 : || GET_MODE (x1) != E_V4DImode)
2736 : return -1;
2737 358 : switch (GET_MODE (operands[1]))
2738 : {
2739 118 : case E_V8HFmode:
2740 118 : if (!register_operand (operands[1], E_V8HFmode))
2741 : return -1;
2742 : return 0;
2743 :
2744 120 : case E_V4DFmode:
2745 120 : if (!vector_operand (operands[1], E_V4DFmode))
2746 : return -1;
2747 : return 1;
2748 :
2749 120 : case E_V4SFmode:
2750 120 : if (!vector_operand (operands[1], E_V4SFmode))
2751 : return -1;
2752 : return 2;
2753 :
2754 : default:
2755 : return -1;
2756 : }
2757 : }
2758 :
2759 : int
2760 0 : pattern662 (rtx x1)
2761 : {
2762 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2763 0 : rtx x2, x3, x4, x5, x6, x7;
2764 0 : int res ATTRIBUTE_UNUSED;
2765 0 : x2 = XVECEXP (x1, 0, 0);
2766 0 : x3 = XEXP (x2, 0);
2767 0 : x4 = XEXP (x3, 0);
2768 0 : operands[1] = x4;
2769 0 : x5 = XEXP (x3, 1);
2770 0 : operands[2] = x5;
2771 0 : x6 = XVECEXP (x1, 0, 1);
2772 0 : if (!const48_operand (x6, E_SImode))
2773 : return -1;
2774 0 : x7 = XEXP (x2, 2);
2775 0 : switch (GET_CODE (x7))
2776 : {
2777 0 : case REG:
2778 0 : case SUBREG:
2779 0 : return pattern661 (x1); /* [-1, 2] */
2780 :
2781 0 : case CONST_INT:
2782 0 : res = pattern659 (x1);
2783 0 : if (res >= 0)
2784 0 : return res + 3; /* [3, 5] */
2785 : return -1;
2786 :
2787 : default:
2788 : return -1;
2789 : }
2790 : }
2791 :
2792 : int
2793 473 : pattern671 (rtx x1, machine_mode i1, machine_mode i2)
2794 : {
2795 473 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2796 473 : rtx x2;
2797 473 : int res ATTRIBUTE_UNUSED;
2798 473 : if (!register_operand (operands[0], i2)
2799 464 : || GET_MODE (x1) != i2
2800 464 : || !vector_operand (operands[1], i2)
2801 678 : || !register_operand (operands[2], i2))
2802 353 : return -1;
2803 120 : x2 = XVECEXP (x1, 0, 2);
2804 120 : if (GET_MODE (x2) != i2
2805 120 : || !register_operand (operands[3], i1)
2806 240 : || !vector_all_ones_operand (operands[4], i1))
2807 78 : return -1;
2808 : return 0;
2809 : }
2810 :
2811 : int
2812 44 : pattern675 (rtx x1)
2813 : {
2814 44 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2815 44 : rtx x2, x3, x4, x5, x6, x7, x8;
2816 44 : int res ATTRIBUTE_UNUSED;
2817 44 : x2 = XVECEXP (x1, 0, 2);
2818 44 : x3 = XEXP (x2, 0);
2819 44 : if (maybe_ne (SUBREG_BYTE (x3), 0))
2820 : return -1;
2821 44 : x4 = XEXP (x3, 0);
2822 44 : if (GET_CODE (x4) != NOT)
2823 : return -1;
2824 0 : x5 = XVECEXP (x1, 0, 0);
2825 0 : operands[2] = x5;
2826 0 : x6 = XVECEXP (x1, 0, 1);
2827 0 : operands[1] = x6;
2828 0 : x7 = XEXP (x4, 0);
2829 0 : operands[3] = x7;
2830 0 : if (!register_operand (operands[3], E_VOIDmode))
2831 : return -1;
2832 0 : x8 = XEXP (x2, 1);
2833 0 : operands[4] = x8;
2834 0 : switch (GET_MODE (operands[0]))
2835 : {
2836 0 : case E_V32QImode:
2837 0 : return pattern674 (x1,
2838 0 : E_V32QImode); /* [-1, 0] */
2839 :
2840 0 : case E_V16QImode:
2841 0 : if (pattern674 (x1,
2842 : E_V16QImode) != 0)
2843 : return -1;
2844 : return 1;
2845 :
2846 : default:
2847 : return -1;
2848 : }
2849 : }
2850 :
2851 : int
2852 223 : pattern684 (rtx x1, machine_mode i1)
2853 : {
2854 223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2855 223 : int res ATTRIBUTE_UNUSED;
2856 223 : if (!register_operand (operands[0], i1)
2857 223 : || GET_MODE (x1) != i1)
2858 : return -1;
2859 217 : switch (GET_MODE (operands[1]))
2860 : {
2861 111 : case E_BFmode:
2862 111 : if (!memory_operand (operands[1], E_BFmode))
2863 : return -1;
2864 : return 0;
2865 :
2866 106 : case E_HFmode:
2867 106 : if (!memory_operand (operands[1], E_HFmode))
2868 : return -1;
2869 : return 1;
2870 :
2871 : default:
2872 : return -1;
2873 : }
2874 : }
2875 :
2876 : int
2877 83 : pattern689 (rtx x1)
2878 : {
2879 83 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2880 83 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2881 83 : rtx x10, x11, x12, x13, x14, x15;
2882 83 : int res ATTRIBUTE_UNUSED;
2883 83 : x2 = XEXP (x1, 0);
2884 83 : x3 = XEXP (x2, 0);
2885 83 : x4 = XEXP (x3, 0);
2886 83 : if (GET_MODE (x4) != E_V2DImode)
2887 : return -1;
2888 67 : x5 = XEXP (x4, 1);
2889 67 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2890 : return -1;
2891 53 : x6 = XEXP (x4, 0);
2892 53 : operands[1] = x6;
2893 53 : if (!memory_operand (operands[1], E_DImode))
2894 : return -1;
2895 33 : x7 = XEXP (x2, 1);
2896 33 : switch (XVECLEN (x7, 0))
2897 : {
2898 12 : case 8:
2899 12 : x8 = XVECEXP (x7, 0, 0);
2900 12 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2901 : return -1;
2902 12 : x9 = XVECEXP (x7, 0, 1);
2903 12 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2904 : return -1;
2905 12 : x10 = XVECEXP (x7, 0, 2);
2906 12 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2907 : return -1;
2908 12 : x11 = XVECEXP (x7, 0, 3);
2909 12 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2910 : return -1;
2911 12 : x12 = XVECEXP (x7, 0, 4);
2912 12 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2913 : return -1;
2914 12 : x13 = XVECEXP (x7, 0, 5);
2915 12 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2916 : return -1;
2917 12 : x14 = XVECEXP (x7, 0, 6);
2918 12 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2919 : return -1;
2920 12 : x15 = XVECEXP (x7, 0, 7);
2921 12 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2922 12 : || GET_MODE (x2) != E_V8QImode
2923 12 : || GET_MODE (x3) != E_V16QImode)
2924 : return -1;
2925 12 : return pattern543 (x1); /* [-1, 2] */
2926 :
2927 15 : case 4:
2928 15 : res = pattern687 (x1,
2929 : E_V8HImode,
2930 : E_V4HImode);
2931 15 : if (res >= 0)
2932 11 : return res + 3; /* [3, 4] */
2933 : return -1;
2934 :
2935 6 : case 2:
2936 6 : if (pattern688 (x1,
2937 : E_V2SImode,
2938 : E_V4SImode) != 0)
2939 : return -1;
2940 : return 5;
2941 :
2942 : default:
2943 : return -1;
2944 : }
2945 : }
2946 :
2947 : int
2948 131487 : pattern709 (rtx x1, int *pnum_clobbers)
2949 : {
2950 131487 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2951 131487 : rtx x2, x3, x4, x5;
2952 131487 : int res ATTRIBUTE_UNUSED;
2953 131487 : x2 = XVECEXP (x1, 0, 1);
2954 131487 : x3 = XEXP (x2, 0);
2955 131487 : operands[2] = x3;
2956 131487 : switch (GET_MODE (operands[0]))
2957 : {
2958 31638 : case E_TFmode:
2959 31638 : x4 = XVECEXP (x1, 0, 0);
2960 31638 : x5 = XEXP (x4, 1);
2961 31638 : return pattern706 (x5,
2962 31638 : E_TFmode); /* [-1, 0] */
2963 :
2964 511 : case E_HFmode:
2965 511 : if (pnum_clobbers == NULL)
2966 : return -1;
2967 71 : x4 = XVECEXP (x1, 0, 0);
2968 71 : x5 = XEXP (x4, 1);
2969 71 : if (pattern226 (x5,
2970 : E_V8HFmode,
2971 : E_HFmode) != 0)
2972 : return -1;
2973 : return 1;
2974 :
2975 36462 : case E_SFmode:
2976 36462 : if (pnum_clobbers == NULL)
2977 : return -1;
2978 16765 : x4 = XVECEXP (x1, 0, 0);
2979 16765 : x5 = XEXP (x4, 1);
2980 16765 : if (pattern226 (x5,
2981 : E_V4SFmode,
2982 : E_SFmode) != 0)
2983 : return -1;
2984 : return 2;
2985 :
2986 42195 : case E_DFmode:
2987 42195 : if (pnum_clobbers == NULL)
2988 : return -1;
2989 18892 : x4 = XVECEXP (x1, 0, 0);
2990 18892 : x5 = XEXP (x4, 1);
2991 18892 : if (pattern226 (x5,
2992 : E_V2DFmode,
2993 : E_DFmode) != 0)
2994 : return -1;
2995 : return 3;
2996 :
2997 615 : case E_V2SFmode:
2998 615 : x4 = XVECEXP (x1, 0, 0);
2999 615 : x5 = XEXP (x4, 1);
3000 615 : if (pattern707 (x5) != 0)
3001 : return -1;
3002 : return 4;
3003 :
3004 44 : case E_V2BFmode:
3005 44 : x4 = XVECEXP (x1, 0, 0);
3006 44 : x5 = XEXP (x4, 1);
3007 44 : if (pattern708 (x5,
3008 : E_V2BFmode) != 0)
3009 : return -1;
3010 : return 5;
3011 :
3012 44 : case E_V4BFmode:
3013 44 : x4 = XVECEXP (x1, 0, 0);
3014 44 : x5 = XEXP (x4, 1);
3015 44 : if (pattern708 (x5,
3016 : E_V4BFmode) != 0)
3017 : return -1;
3018 : return 6;
3019 :
3020 44 : case E_V2HFmode:
3021 44 : x4 = XVECEXP (x1, 0, 0);
3022 44 : x5 = XEXP (x4, 1);
3023 44 : if (pattern708 (x5,
3024 : E_V2HFmode) != 0)
3025 : return -1;
3026 : return 7;
3027 :
3028 45 : case E_V4HFmode:
3029 45 : x4 = XVECEXP (x1, 0, 0);
3030 45 : x5 = XEXP (x4, 1);
3031 45 : if (pattern708 (x5,
3032 : E_V4HFmode) != 0)
3033 : return -1;
3034 : return 8;
3035 :
3036 30 : case E_V32BFmode:
3037 30 : x4 = XVECEXP (x1, 0, 0);
3038 30 : x5 = XEXP (x4, 1);
3039 30 : if (pattern706 (x5,
3040 : E_V32BFmode) != 0)
3041 : return -1;
3042 : return 9;
3043 :
3044 30 : case E_V16BFmode:
3045 30 : x4 = XVECEXP (x1, 0, 0);
3046 30 : x5 = XEXP (x4, 1);
3047 30 : if (pattern706 (x5,
3048 : E_V16BFmode) != 0)
3049 : return -1;
3050 : return 10;
3051 :
3052 30 : case E_V8BFmode:
3053 30 : x4 = XVECEXP (x1, 0, 0);
3054 30 : x5 = XEXP (x4, 1);
3055 30 : if (pattern706 (x5,
3056 : E_V8BFmode) != 0)
3057 : return -1;
3058 : return 11;
3059 :
3060 112 : case E_V32HFmode:
3061 112 : x4 = XVECEXP (x1, 0, 0);
3062 112 : x5 = XEXP (x4, 1);
3063 112 : if (pattern706 (x5,
3064 : E_V32HFmode) != 0)
3065 : return -1;
3066 : return 12;
3067 :
3068 74 : case E_V16HFmode:
3069 74 : x4 = XVECEXP (x1, 0, 0);
3070 74 : x5 = XEXP (x4, 1);
3071 74 : if (pattern706 (x5,
3072 : E_V16HFmode) != 0)
3073 : return -1;
3074 : return 13;
3075 :
3076 1507 : case E_V8HFmode:
3077 1507 : x4 = XVECEXP (x1, 0, 0);
3078 1507 : x5 = XEXP (x4, 1);
3079 1507 : if (pattern706 (x5,
3080 : E_V8HFmode) != 0)
3081 : return -1;
3082 : return 14;
3083 :
3084 541 : case E_V16SFmode:
3085 541 : x4 = XVECEXP (x1, 0, 0);
3086 541 : x5 = XEXP (x4, 1);
3087 541 : if (pattern706 (x5,
3088 : E_V16SFmode) != 0)
3089 : return -1;
3090 : return 15;
3091 :
3092 3150 : case E_V8SFmode:
3093 3150 : x4 = XVECEXP (x1, 0, 0);
3094 3150 : x5 = XEXP (x4, 1);
3095 3150 : if (pattern706 (x5,
3096 : E_V8SFmode) != 0)
3097 : return -1;
3098 : return 16;
3099 :
3100 3950 : case E_V4SFmode:
3101 3950 : x4 = XVECEXP (x1, 0, 0);
3102 3950 : x5 = XEXP (x4, 1);
3103 3950 : if (pattern706 (x5,
3104 : E_V4SFmode) != 0)
3105 : return -1;
3106 : return 17;
3107 :
3108 415 : case E_V8DFmode:
3109 415 : x4 = XVECEXP (x1, 0, 0);
3110 415 : x5 = XEXP (x4, 1);
3111 415 : if (pattern706 (x5,
3112 : E_V8DFmode) != 0)
3113 : return -1;
3114 : return 18;
3115 :
3116 6184 : case E_V4DFmode:
3117 6184 : x4 = XVECEXP (x1, 0, 0);
3118 6184 : x5 = XEXP (x4, 1);
3119 6184 : if (pattern706 (x5,
3120 : E_V4DFmode) != 0)
3121 : return -1;
3122 : return 19;
3123 :
3124 3866 : case E_V2DFmode:
3125 3866 : x4 = XVECEXP (x1, 0, 0);
3126 3866 : x5 = XEXP (x4, 1);
3127 3866 : if (pattern706 (x5,
3128 : E_V2DFmode) != 0)
3129 : return -1;
3130 : return 20;
3131 :
3132 : default:
3133 : return -1;
3134 : }
3135 : }
3136 :
3137 : int
3138 5770 : pattern759 (rtx x1)
3139 : {
3140 5770 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3141 5770 : rtx x2;
3142 5770 : int res ATTRIBUTE_UNUSED;
3143 5770 : x2 = XEXP (x1, 1);
3144 5770 : operands[1] = x2;
3145 5770 : switch (GET_MODE (operands[0]))
3146 : {
3147 448 : case E_SImode:
3148 448 : return pattern758 (x1,
3149 448 : E_SImode); /* [-1, 0] */
3150 :
3151 5085 : case E_DImode:
3152 5085 : if (pattern758 (x1,
3153 : E_DImode) != 0)
3154 : return -1;
3155 : return 1;
3156 :
3157 : default:
3158 : return -1;
3159 : }
3160 : }
3161 :
3162 : int
3163 826 : pattern768 (rtx x1)
3164 : {
3165 826 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3166 826 : rtx x2, x3, x4, x5, x6;
3167 826 : int res ATTRIBUTE_UNUSED;
3168 826 : x2 = XEXP (x1, 0);
3169 826 : x3 = XEXP (x2, 1);
3170 826 : if (maybe_ne (SUBREG_BYTE (x3), 0)
3171 826 : || GET_MODE (x3) != E_QImode)
3172 : return -1;
3173 826 : x4 = XEXP (x3, 0);
3174 826 : if (GET_CODE (x4) != AND)
3175 : return -1;
3176 167 : x5 = XEXP (x4, 0);
3177 167 : operands[1] = x5;
3178 167 : if (!int248_register_operand (operands[1], E_VOIDmode))
3179 : return -1;
3180 160 : x6 = XEXP (x4, 1);
3181 160 : operands[2] = x6;
3182 160 : if (!const_int_operand (operands[2], E_VOIDmode))
3183 : return -1;
3184 160 : return pattern285 (x1); /* [-1, 1] */
3185 : }
3186 :
3187 : int
3188 71 : pattern777 (rtx x1)
3189 : {
3190 71 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3191 71 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3192 71 : int res ATTRIBUTE_UNUSED;
3193 71 : x2 = XEXP (x1, 0);
3194 71 : x3 = XEXP (x2, 0);
3195 71 : x4 = XVECEXP (x3, 0, 0);
3196 71 : if (GET_CODE (x4) != VEC_SELECT)
3197 : return -1;
3198 51 : x5 = XEXP (x4, 1);
3199 51 : if (GET_CODE (x5) != PARALLEL
3200 51 : || XVECLEN (x5, 0) != 1)
3201 : return -1;
3202 51 : x6 = XVECEXP (x5, 0, 0);
3203 51 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3204 : return -1;
3205 51 : x7 = XEXP (x4, 0);
3206 51 : operands[1] = x7;
3207 51 : x8 = XVECEXP (x3, 0, 1);
3208 51 : operands[2] = x8;
3209 51 : x9 = XEXP (x1, 1);
3210 51 : if (!rtx_equal_p (x9, operands[1]))
3211 : return -1;
3212 51 : switch (GET_MODE (operands[0]))
3213 : {
3214 49 : case E_V8HFmode:
3215 49 : return pattern776 (x1,
3216 : E_HFmode,
3217 49 : E_V8HFmode); /* [-1, 0] */
3218 :
3219 0 : case E_V4SFmode:
3220 0 : if (pattern776 (x1,
3221 : E_SFmode,
3222 : E_V4SFmode) != 0)
3223 : return -1;
3224 : return 1;
3225 :
3226 2 : case E_V2DFmode:
3227 2 : if (pattern776 (x1,
3228 : E_DFmode,
3229 : E_V2DFmode) != 0)
3230 : return -1;
3231 : return 2;
3232 :
3233 : default:
3234 : return -1;
3235 : }
3236 : }
3237 :
3238 : int
3239 1447 : pattern789 (rtx x1, machine_mode i1, machine_mode i2)
3240 : {
3241 1447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3242 1447 : int res ATTRIBUTE_UNUSED;
3243 1447 : if (!register_operand (operands[0], i2)
3244 1423 : || GET_MODE (x1) != i2
3245 1423 : || !register_operand (operands[1], i2)
3246 2747 : || !nonimmediate_operand (operands[2], i1))
3247 158 : return -1;
3248 : return 0;
3249 : }
3250 :
3251 : int
3252 277 : pattern798 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3253 : {
3254 277 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3255 277 : rtx x2;
3256 277 : int res ATTRIBUTE_UNUSED;
3257 277 : if (!register_operand (operands[0], i3)
3258 276 : || GET_MODE (x1) != i3
3259 553 : || !nonimmediate_operand (operands[1], i2))
3260 43 : return -1;
3261 234 : x2 = XEXP (x1, 1);
3262 234 : operands[2] = x2;
3263 234 : if (!const0_operand (operands[2], i1))
3264 : return -1;
3265 : return 0;
3266 : }
3267 :
3268 : int
3269 536 : pattern806 (rtx x1, machine_mode i1, machine_mode i2)
3270 : {
3271 536 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3272 536 : rtx x2;
3273 536 : int res ATTRIBUTE_UNUSED;
3274 536 : if (!register_operand (operands[0], i1)
3275 536 : || GET_MODE (x1) != i1)
3276 : return -1;
3277 536 : x2 = XEXP (x1, 0);
3278 536 : if (GET_MODE (x2) != i2
3279 536 : || !nonimmediate_operand (operands[1], i1)
3280 512 : || !const0_operand (operands[2], i1)
3281 1012 : || !pmovzx_parallel (operands[3], E_VOIDmode))
3282 310 : return -1;
3283 : return 0;
3284 : }
3285 :
3286 : int
3287 5915 : pattern817 (rtx x1, rtx_code i1)
3288 : {
3289 5915 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3290 5915 : rtx x2, x3, x4, x5, x6, x7;
3291 5915 : int res ATTRIBUTE_UNUSED;
3292 5915 : x2 = XEXP (x1, 0);
3293 5915 : x3 = XEXP (x2, 0);
3294 5915 : x4 = XEXP (x3, 1);
3295 5915 : if (GET_CODE (x4) != i1)
3296 : return -1;
3297 5523 : x5 = XEXP (x3, 0);
3298 5523 : x6 = XEXP (x5, 0);
3299 5523 : operands[1] = x6;
3300 5523 : x7 = XEXP (x4, 0);
3301 5523 : operands[2] = x7;
3302 5523 : switch (GET_MODE (operands[0]))
3303 : {
3304 110 : case E_V32HImode:
3305 110 : return pattern816 (x1,
3306 : E_V32HImode,
3307 110 : E_V32SImode); /* [-1, 0] */
3308 :
3309 346 : case E_V16HImode:
3310 346 : if (pattern816 (x1,
3311 : E_V16HImode,
3312 : E_V16SImode) != 0)
3313 : return -1;
3314 : return 1;
3315 :
3316 4890 : case E_V8HImode:
3317 4890 : if (pattern816 (x1,
3318 : E_V8HImode,
3319 : E_V8SImode) != 0)
3320 : return -1;
3321 : return 2;
3322 :
3323 : default:
3324 : return -1;
3325 : }
3326 : }
3327 :
3328 : int
3329 946 : pattern824 (rtx x1, machine_mode i1, int i2, int i3, rtx_code i4)
3330 : {
3331 946 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3332 946 : int res ATTRIBUTE_UNUSED;
3333 946 : if (GET_CODE (x1) != i4
3334 946 : || XVECLEN (x1, 0) != i3
3335 946 : || XINT (x1, 1) != i2
3336 946 : || GET_MODE (x1) != i1)
3337 0 : return -1;
3338 : return 0;
3339 : }
3340 :
3341 : int
3342 41750 : pattern826 (rtx x1)
3343 : {
3344 41750 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3345 41750 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3346 41750 : int res ATTRIBUTE_UNUSED;
3347 41750 : x2 = XVECEXP (x1, 0, 0);
3348 41750 : x3 = XEXP (x2, 1);
3349 41750 : x4 = XEXP (x3, 0);
3350 41750 : x5 = XEXP (x4, 0);
3351 41750 : operands[2] = x5;
3352 41750 : x6 = XEXP (x5, 1);
3353 41750 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3354 : return -1;
3355 7015 : x7 = XEXP (x3, 1);
3356 7015 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3357 : return -1;
3358 36 : x8 = XVECEXP (x1, 0, 1);
3359 36 : if (GET_CODE (x8) != SET)
3360 : return -1;
3361 36 : x9 = XEXP (x8, 1);
3362 36 : if (GET_CODE (x9) != PLUS)
3363 0 : return -1;
3364 : return 0;
3365 : }
3366 :
3367 : int
3368 11162 : pattern834 (rtx x1, int *pnum_clobbers)
3369 : {
3370 11162 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3371 11162 : rtx x2, x3, x4, x5, x6, x7;
3372 11162 : int res ATTRIBUTE_UNUSED;
3373 11162 : x2 = XVECEXP (x1, 0, 1);
3374 11162 : x3 = XEXP (x2, 0);
3375 11162 : operands[2] = x3;
3376 11162 : if (!memory_operand (operands[2], E_HImode))
3377 : return -1;
3378 11162 : x4 = XVECEXP (x1, 0, 2);
3379 11162 : x5 = XEXP (x4, 0);
3380 11162 : operands[3] = x5;
3381 11162 : if (!memory_operand (operands[3], E_HImode))
3382 : return -1;
3383 11162 : switch (GET_MODE (operands[0]))
3384 : {
3385 0 : case E_DImode:
3386 0 : if (pnum_clobbers == NULL
3387 0 : || !nonimmediate_operand (operands[0], E_DImode))
3388 0 : return -1;
3389 0 : x6 = XVECEXP (x1, 0, 0);
3390 0 : x7 = XEXP (x6, 1);
3391 0 : if (GET_MODE (x7) != E_DImode)
3392 : return -1;
3393 : return 0;
3394 :
3395 6655 : case E_HImode:
3396 6655 : if (!nonimmediate_operand (operands[0], E_HImode))
3397 : return -1;
3398 6655 : x6 = XVECEXP (x1, 0, 0);
3399 6655 : x7 = XEXP (x6, 1);
3400 6655 : if (GET_MODE (x7) != E_HImode)
3401 : return -1;
3402 : return 1;
3403 :
3404 4507 : case E_SImode:
3405 4507 : if (!nonimmediate_operand (operands[0], E_SImode))
3406 : return -1;
3407 4507 : x6 = XVECEXP (x1, 0, 0);
3408 4507 : x7 = XEXP (x6, 1);
3409 4507 : if (GET_MODE (x7) != E_SImode)
3410 : return -1;
3411 : return 2;
3412 :
3413 : default:
3414 : return -1;
3415 : }
3416 : }
3417 :
3418 : int
3419 361 : pattern848 (rtx x1, int i1, int i2, int i3, int i4)
3420 : {
3421 361 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3422 361 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3423 361 : int res ATTRIBUTE_UNUSED;
3424 361 : x2 = XVECEXP (x1, 0, 0);
3425 361 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3426 : return -1;
3427 190 : x3 = XVECEXP (x1, 0, 1);
3428 190 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3429 : return -1;
3430 190 : x4 = XVECEXP (x1, 0, 2);
3431 190 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3432 : return -1;
3433 190 : x5 = XVECEXP (x1, 0, 3);
3434 190 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3435 : return -1;
3436 190 : x6 = XVECEXP (x1, 0, 4);
3437 190 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3438 : return -1;
3439 190 : x7 = XVECEXP (x1, 0, 5);
3440 190 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3441 : return -1;
3442 190 : x8 = XVECEXP (x1, 0, 6);
3443 190 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3444 : return -1;
3445 190 : x9 = XVECEXP (x1, 0, 7);
3446 190 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3447 190 : || pattern847 (x1,
3448 : i1,
3449 : i2,
3450 : i3,
3451 : i4) != 0)
3452 0 : return -1;
3453 : return 0;
3454 : }
3455 :
3456 : int
3457 28243 : pattern857 (rtx x1)
3458 : {
3459 28243 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3460 28243 : rtx x2, x3, x4, x5, x6, x7;
3461 28243 : int res ATTRIBUTE_UNUSED;
3462 28243 : x2 = XVECEXP (x1, 0, 2);
3463 28243 : if (maybe_ne (SUBREG_BYTE (x2), 0))
3464 : return -1;
3465 28243 : x3 = XEXP (x2, 0);
3466 28243 : if (GET_CODE (x3) != EQ)
3467 : return -1;
3468 3050 : x4 = XEXP (x3, 0);
3469 3050 : if (GET_CODE (x4) != EQ)
3470 : return -1;
3471 580 : x5 = XEXP (x4, 0);
3472 580 : operands[3] = x5;
3473 580 : x6 = XEXP (x4, 1);
3474 580 : operands[4] = x6;
3475 580 : x7 = XEXP (x3, 1);
3476 580 : operands[5] = x7;
3477 580 : switch (GET_MODE (operands[0]))
3478 : {
3479 165 : case E_V8QImode:
3480 165 : if (!register_operand (operands[0], E_V8QImode)
3481 165 : || GET_MODE (x1) != E_V8QImode
3482 165 : || !register_operand (operands[1], E_V8QImode)
3483 90 : || !register_operand (operands[2], E_V8QImode)
3484 216 : || GET_MODE (x2) != E_V8QImode)
3485 114 : return -1;
3486 51 : switch (GET_MODE (x3))
3487 : {
3488 51 : case E_V4HImode:
3489 51 : return pattern856 (x4,
3490 51 : E_V4HImode); /* [-1, 0] */
3491 :
3492 0 : case E_V2SImode:
3493 0 : if (pattern856 (x4,
3494 : E_V2SImode) != 0)
3495 : return -1;
3496 : return 1;
3497 :
3498 : default:
3499 : return -1;
3500 : }
3501 :
3502 315 : case E_V4QImode:
3503 315 : if (!register_operand (operands[0], E_V4QImode)
3504 315 : || GET_MODE (x1) != E_V4QImode
3505 315 : || !register_operand (operands[1], E_V4QImode)
3506 174 : || !register_operand (operands[2], E_V4QImode)
3507 93 : || GET_MODE (x2) != E_V4QImode
3508 93 : || GET_MODE (x3) != E_V2HImode
3509 408 : || pattern856 (x4,
3510 : E_V2HImode) != 0)
3511 270 : return -1;
3512 : return 2;
3513 :
3514 : default:
3515 : return -1;
3516 : }
3517 : }
3518 :
3519 : int
3520 21952 : pattern874 (rtx x1, machine_mode i1)
3521 : {
3522 21952 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3523 21952 : int res ATTRIBUTE_UNUSED;
3524 21952 : if (!register_operand (operands[0], i1)
3525 21549 : || GET_MODE (x1) != i1
3526 21549 : || !bcst_vector_operand (operands[1], i1)
3527 21422 : || !bcst_vector_operand (operands[2], i1)
3528 43257 : || !bcst_vector_operand (operands[3], i1))
3529 735 : return -1;
3530 : return 0;
3531 : }
3532 :
3533 : int
3534 544 : pattern882 (rtx x1, machine_mode i1, machine_mode i2)
3535 : {
3536 544 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3537 544 : rtx x2;
3538 544 : int res ATTRIBUTE_UNUSED;
3539 544 : if (!register_operand (operands[0], i1)
3540 544 : || GET_MODE (x1) != i1)
3541 : return -1;
3542 530 : x2 = XEXP (x1, 0);
3543 530 : if (GET_MODE (x2) != i1
3544 530 : || !register_operand (operands[1], i2)
3545 530 : || !nonimmediate_operand (operands[2], i2)
3546 1060 : || !register_operand (operands[3], i1))
3547 55 : return -1;
3548 : return 0;
3549 : }
3550 :
3551 : int
3552 0 : pattern890 (rtx x1, machine_mode i1)
3553 : {
3554 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3555 0 : int res ATTRIBUTE_UNUSED;
3556 0 : if (!register_operand (operands[0], i1)
3557 0 : || GET_MODE (x1) != i1
3558 0 : || !register_operand (operands[1], i1)
3559 0 : || !const_int_operand (operands[2], i1))
3560 0 : return -1;
3561 : return 0;
3562 : }
3563 :
3564 : int
3565 5137 : pattern893 (rtx x1, machine_mode i1, machine_mode i2)
3566 : {
3567 5137 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3568 5137 : rtx x2, x3, x4;
3569 5137 : int res ATTRIBUTE_UNUSED;
3570 5137 : if (!register_operand (operands[0], i2)
3571 5137 : || GET_MODE (x1) != i2)
3572 : return -1;
3573 4982 : x2 = XEXP (x1, 0);
3574 4982 : if (GET_MODE (x2) != i2)
3575 : return -1;
3576 4982 : x3 = XEXP (x2, 0);
3577 4982 : if (GET_MODE (x3) != i2)
3578 : return -1;
3579 4982 : x4 = XEXP (x3, 0);
3580 4982 : if (GET_MODE (x4) != i1)
3581 0 : return -1;
3582 : return 0;
3583 : }
3584 :
3585 : int
3586 721 : pattern903 (rtx x1, machine_mode i1)
3587 : {
3588 721 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3589 721 : rtx x2;
3590 721 : int res ATTRIBUTE_UNUSED;
3591 721 : if (!register_operand (operands[0], i1)
3592 721 : || GET_MODE (x1) != i1)
3593 : return -1;
3594 665 : x2 = XEXP (x1, 0);
3595 665 : if (GET_MODE (x2) != i1
3596 665 : || !nonimm_or_0_operand (operands[2], i1)
3597 1304 : || !register_operand (operands[3], E_QImode))
3598 100 : return -1;
3599 565 : switch (GET_MODE (operands[1]))
3600 : {
3601 408 : case E_V8SImode:
3602 408 : if (!nonimmediate_operand (operands[1], E_V8SImode))
3603 : return -1;
3604 : return 0;
3605 :
3606 157 : case E_V8DImode:
3607 157 : if (!nonimmediate_operand (operands[1], E_V8DImode))
3608 : return -1;
3609 : return 1;
3610 :
3611 : default:
3612 : return -1;
3613 : }
3614 : }
3615 :
3616 : int
3617 2441 : pattern913 (rtx x1)
3618 : {
3619 2441 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3620 2441 : rtx x2, x3, x4, x5, x6, x7, x8;
3621 2441 : int res ATTRIBUTE_UNUSED;
3622 2441 : x2 = XVECEXP (x1, 0, 0);
3623 2441 : x3 = XEXP (x2, 0);
3624 2441 : x4 = XVECEXP (x3, 0, 0);
3625 2441 : operands[1] = x4;
3626 2441 : x5 = XVECEXP (x3, 0, 1);
3627 2441 : operands[2] = x5;
3628 2441 : x6 = XVECEXP (x1, 0, 1);
3629 2441 : if (!const48_operand (x6, E_SImode))
3630 : return -1;
3631 2441 : x7 = XEXP (x2, 2);
3632 2441 : switch (GET_CODE (x7))
3633 : {
3634 2096 : case REG:
3635 2096 : case SUBREG:
3636 2096 : operands[4] = x7;
3637 2096 : x8 = XEXP (x2, 1);
3638 2096 : operands[3] = x8;
3639 2096 : operands[5] = x6;
3640 2096 : switch (GET_MODE (operands[0]))
3641 : {
3642 592 : case E_V32HFmode:
3643 592 : return pattern911 (x1,
3644 : E_V32HFmode,
3645 592 : E_SImode); /* [-1, 0] */
3646 :
3647 752 : case E_V16SFmode:
3648 752 : if (pattern911 (x1,
3649 : E_V16SFmode,
3650 : E_HImode) != 0)
3651 : return -1;
3652 : return 1;
3653 :
3654 752 : case E_V8DFmode:
3655 752 : if (pattern911 (x1,
3656 : E_V8DFmode,
3657 : E_QImode) != 0)
3658 : return -1;
3659 : return 2;
3660 :
3661 : default:
3662 : return -1;
3663 : }
3664 :
3665 327 : case CONST_INT:
3666 327 : if (XWINT (x7, 0) != 1L)
3667 : return -1;
3668 305 : operands[3] = x6;
3669 305 : x8 = XEXP (x2, 1);
3670 305 : if (!rtx_equal_p (x8, operands[1]))
3671 : return -1;
3672 305 : switch (GET_MODE (operands[0]))
3673 : {
3674 185 : case E_V8HFmode:
3675 185 : if (pattern912 (x1,
3676 : E_V8HFmode) != 0)
3677 : return -1;
3678 : return 3;
3679 :
3680 60 : case E_V4SFmode:
3681 60 : if (pattern912 (x1,
3682 : E_V4SFmode) != 0)
3683 : return -1;
3684 : return 4;
3685 :
3686 60 : case E_V2DFmode:
3687 60 : if (pattern912 (x1,
3688 : E_V2DFmode) != 0)
3689 : return -1;
3690 : return 5;
3691 :
3692 : default:
3693 : return -1;
3694 : }
3695 :
3696 : default:
3697 : return -1;
3698 : }
3699 : }
3700 :
3701 : int
3702 639 : pattern932 (rtx x1, machine_mode i1, machine_mode i2)
3703 : {
3704 639 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3705 639 : rtx x2;
3706 639 : int res ATTRIBUTE_UNUSED;
3707 639 : if (!register_operand (operands[0], i1)
3708 639 : || GET_MODE (x1) != i1)
3709 : return -1;
3710 609 : x2 = XEXP (x1, 0);
3711 609 : if (GET_MODE (x2) != i2
3712 609 : || !nonimmediate_operand (operands[1], i1))
3713 29 : return -1;
3714 : return 0;
3715 : }
3716 :
3717 : int
3718 4196001 : pattern935 (rtx x1)
3719 : {
3720 4196001 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3721 4196001 : rtx x2, x3, x4;
3722 4196001 : int res ATTRIBUTE_UNUSED;
3723 4196001 : x2 = XEXP (x1, 1);
3724 4196001 : x3 = XEXP (x2, 0);
3725 4196001 : operands[1] = x3;
3726 4196001 : x4 = XEXP (x2, 1);
3727 4196001 : switch (GET_CODE (x4))
3728 : {
3729 : case CONST_INT:
3730 : case CONST_WIDE_INT:
3731 : case CONST_POLY_INT:
3732 : case CONST_FIXED:
3733 : case CONST_DOUBLE:
3734 : case CONST_VECTOR:
3735 : case CONST:
3736 : case REG:
3737 : case SUBREG:
3738 : case LABEL_REF:
3739 : case SYMBOL_REF:
3740 : case HIGH:
3741 : return 0;
3742 :
3743 1224 : case AND:
3744 1224 : if (GET_MODE (x4) != E_QImode)
3745 : return -1;
3746 1224 : res = pattern339 (x1);
3747 1224 : if (res >= 0)
3748 774 : return res + 1; /* [1, 3] */
3749 : return -1;
3750 :
3751 3734 : case PLUS:
3752 3734 : if (GET_MODE (x4) != E_QImode)
3753 : return -1;
3754 3734 : res = pattern341 (x1);
3755 3734 : if (res >= 0)
3756 1193 : return res + 4; /* [4, 5] */
3757 : return -1;
3758 :
3759 2822 : case MINUS:
3760 2822 : if (GET_MODE (x4) != E_QImode)
3761 : return -1;
3762 2822 : res = pattern342 (x1);
3763 2822 : if (res >= 0)
3764 1737 : return res + 6; /* [6, 7] */
3765 : return -1;
3766 :
3767 : default:
3768 : return -1;
3769 : }
3770 : }
3771 :
3772 : int
3773 222372 : pattern953 (rtx x1, machine_mode i1, unsigned int i2)
3774 : {
3775 222372 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3776 222372 : rtx x2;
3777 222372 : int res ATTRIBUTE_UNUSED;
3778 222372 : if (GET_CODE (x1) != CLOBBER)
3779 : return -1;
3780 221162 : x2 = XEXP (x1, 0);
3781 221162 : if (GET_CODE (x2) != REG
3782 221162 : || REGNO (x2) != i2
3783 442324 : || GET_MODE (x2) != i1)
3784 0 : return -1;
3785 : return 0;
3786 : }
3787 :
3788 : int
3789 4711313 : pattern959 (rtx x1, machine_mode i1)
3790 : {
3791 4711313 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3792 4711313 : rtx x2, x3;
3793 4711313 : int res ATTRIBUTE_UNUSED;
3794 4711313 : if (!immediate_operand (operands[1], i1)
3795 4711313 : || GET_CODE (x1) != SET)
3796 : return -1;
3797 3696368 : x2 = XEXP (x1, 0);
3798 3696368 : operands[2] = x2;
3799 3696368 : if (!mask_reg_operand (operands[2], i1))
3800 : return -1;
3801 2957 : x3 = XEXP (x1, 1);
3802 2957 : if (!rtx_equal_p (x3, operands[0]))
3803 : return -1;
3804 : return 0;
3805 : }
3806 :
3807 : int
3808 9546 : pattern966 ()
3809 : {
3810 9546 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3811 9546 : int res ATTRIBUTE_UNUSED;
3812 9546 : switch (GET_MODE (operands[0]))
3813 : {
3814 202 : case E_QImode:
3815 202 : if (!register_operand (operands[0], E_QImode)
3816 202 : || !register_operand (operands[1], E_QImode))
3817 1 : return -1;
3818 : return 0;
3819 :
3820 8908 : case E_HImode:
3821 8908 : if (!register_operand (operands[0], E_HImode)
3822 8908 : || !register_operand (operands[1], E_HImode))
3823 8707 : return -1;
3824 : return 1;
3825 :
3826 202 : case E_SImode:
3827 202 : if (!register_operand (operands[0], E_SImode)
3828 202 : || !register_operand (operands[1], E_SImode))
3829 1 : return -1;
3830 : return 2;
3831 :
3832 215 : case E_DImode:
3833 215 : if (!register_operand (operands[0], E_DImode)
3834 215 : || !register_operand (operands[1], E_DImode))
3835 12 : return -1;
3836 : return 3;
3837 :
3838 : default:
3839 : return -1;
3840 : }
3841 : }
3842 :
3843 : int
3844 4 : pattern972 (rtx x1)
3845 : {
3846 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3847 4 : rtx x2, x3;
3848 4 : int res ATTRIBUTE_UNUSED;
3849 4 : x2 = XEXP (x1, 0);
3850 4 : switch (GET_MODE (x2))
3851 : {
3852 0 : case E_HImode:
3853 0 : x3 = XEXP (x1, 1);
3854 0 : if (GET_MODE (x3) != E_HImode
3855 0 : || !register_operand (operands[1], E_HImode))
3856 0 : return -1;
3857 : return 0;
3858 :
3859 4 : case E_SImode:
3860 4 : x3 = XEXP (x1, 1);
3861 4 : if (GET_MODE (x3) != E_SImode
3862 4 : || !register_operand (operands[1], E_SImode))
3863 4 : return -1;
3864 : return 1;
3865 :
3866 0 : case E_DImode:
3867 0 : x3 = XEXP (x1, 1);
3868 0 : if (GET_MODE (x3) != E_DImode
3869 0 : || !register_operand (operands[1], E_DImode))
3870 0 : return -1;
3871 : return 2;
3872 :
3873 : default:
3874 : return -1;
3875 : }
3876 : }
3877 :
3878 : int
3879 113129 : pattern977 (rtx x1)
3880 : {
3881 113129 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3882 113129 : int res ATTRIBUTE_UNUSED;
3883 113129 : if (!nonimmediate_operand (operands[0], E_SFmode)
3884 113129 : || GET_MODE (x1) != E_SFmode)
3885 : return -1;
3886 112931 : switch (GET_MODE (operands[1]))
3887 : {
3888 13510 : case E_V2SFmode:
3889 13510 : if (!nonimmediate_operand (operands[1], E_V2SFmode))
3890 : return -1;
3891 : return 0;
3892 :
3893 99005 : case E_V4SFmode:
3894 99005 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3895 : return -1;
3896 : return 1;
3897 :
3898 : default:
3899 : return -1;
3900 : }
3901 : }
3902 :
3903 : int
3904 291510 : pattern980 (rtx x1)
3905 : {
3906 291510 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3907 291510 : rtx x2, x3, x4;
3908 291510 : int res ATTRIBUTE_UNUSED;
3909 291510 : x2 = XEXP (x1, 1);
3910 291510 : x3 = XVECEXP (x2, 0, 0);
3911 291510 : switch (XWINT (x3, 0))
3912 : {
3913 140871 : case 0L:
3914 140871 : x4 = XVECEXP (x2, 0, 1);
3915 140871 : if (XWINT (x4, 0) != 2L)
3916 : return -1;
3917 140217 : switch (GET_MODE (operands[0]))
3918 : {
3919 6972 : case E_V2SFmode:
3920 6972 : return pattern272 (x1,
3921 : E_V2SFmode,
3922 6972 : E_V4SFmode); /* [-1, 0] */
3923 :
3924 14491 : case E_V2SImode:
3925 14491 : if (pattern273 (x1,
3926 : E_V2SImode,
3927 : E_V4SImode) != 0)
3928 : return -1;
3929 : return 1;
3930 :
3931 : default:
3932 : return -1;
3933 : }
3934 :
3935 146581 : case 1L:
3936 146581 : x4 = XVECEXP (x2, 0, 1);
3937 146581 : if (XWINT (x4, 0) != 3L)
3938 : return -1;
3939 103229 : switch (GET_MODE (operands[0]))
3940 : {
3941 2638 : case E_V2SFmode:
3942 2638 : if (pattern272 (x1,
3943 : E_V2SFmode,
3944 : E_V4SFmode) != 0)
3945 : return -1;
3946 : return 2;
3947 :
3948 7922 : case E_V2SImode:
3949 7922 : if (pattern273 (x1,
3950 : E_V2SImode,
3951 : E_V4SImode) != 0)
3952 : return -1;
3953 : return 3;
3954 :
3955 : default:
3956 : return -1;
3957 : }
3958 :
3959 : default:
3960 : return -1;
3961 : }
3962 : }
3963 :
3964 : int
3965 1735 : pattern991 (rtx x1)
3966 : {
3967 1735 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3968 1735 : rtx x2, x3;
3969 1735 : int res ATTRIBUTE_UNUSED;
3970 1735 : x2 = XEXP (x1, 1);
3971 1735 : operands[3] = x2;
3972 1735 : switch (GET_MODE (operands[0]))
3973 : {
3974 184 : case E_DImode:
3975 184 : if (!register_operand (operands[0], E_DImode)
3976 184 : || GET_MODE (x1) != E_DImode)
3977 : return -1;
3978 176 : x3 = XEXP (x1, 0);
3979 176 : if (GET_MODE (x3) != E_DImode
3980 176 : || !nonimm_or_0_operand (operands[1], E_V64QImode)
3981 176 : || !nonimm_or_0_operand (operands[2], E_V64QImode)
3982 352 : || !register_operand (operands[3], E_DImode))
3983 80 : return -1;
3984 : return 0;
3985 :
3986 388 : case E_SImode:
3987 388 : if (!register_operand (operands[0], E_SImode)
3988 388 : || GET_MODE (x1) != E_SImode)
3989 : return -1;
3990 368 : x3 = XEXP (x1, 0);
3991 368 : if (GET_MODE (x3) != E_SImode
3992 368 : || !register_operand (operands[3], E_SImode))
3993 230 : return -1;
3994 138 : switch (GET_MODE (operands[1]))
3995 : {
3996 67 : case E_V32QImode:
3997 67 : if (!nonimm_or_0_operand (operands[1], E_V32QImode)
3998 67 : || !nonimm_or_0_operand (operands[2], E_V32QImode))
3999 0 : return -1;
4000 : return 1;
4001 :
4002 67 : case E_V32HImode:
4003 67 : if (!nonimm_or_0_operand (operands[1], E_V32HImode)
4004 67 : || !nonimm_or_0_operand (operands[2], E_V32HImode))
4005 0 : return -1;
4006 : return 2;
4007 :
4008 : default:
4009 : return -1;
4010 : }
4011 :
4012 : default:
4013 : return -1;
4014 : }
4015 : }
4016 :
4017 : int
4018 2661 : pattern1001 (rtx x1, machine_mode i1, machine_mode i2)
4019 : {
4020 2661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4021 2661 : rtx x2;
4022 2661 : int res ATTRIBUTE_UNUSED;
4023 2661 : if (!register_operand (operands[0], i1)
4024 2661 : || GET_MODE (x1) != i1)
4025 : return -1;
4026 2494 : x2 = XEXP (x1, 0);
4027 2494 : if (GET_MODE (x2) != i1
4028 2494 : || !vector_operand (operands[1], i1)
4029 2494 : || !nonimm_or_0_operand (operands[2], i1)
4030 4955 : || !register_operand (operands[3], i2))
4031 146 : return -1;
4032 : return 0;
4033 : }
4034 :
4035 : int
4036 180 : pattern1008 (rtx x1, machine_mode i1)
4037 : {
4038 180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4039 180 : rtx x2, x3, x4, x5, x6;
4040 180 : int res ATTRIBUTE_UNUSED;
4041 180 : if (!register_operand (operands[0], i1)
4042 180 : || GET_MODE (x1) != i1)
4043 : return -1;
4044 142 : x2 = XEXP (x1, 0);
4045 142 : if (GET_MODE (x2) != i1)
4046 : return -1;
4047 142 : x3 = XEXP (x2, 0);
4048 142 : if (GET_MODE (x3) != i1)
4049 : return -1;
4050 142 : x4 = XEXP (x3, 0);
4051 142 : if (GET_MODE (x4) != i1)
4052 : return -1;
4053 142 : x5 = XEXP (x4, 0);
4054 142 : if (!nonimmediate_operand (x5, i1))
4055 : return -1;
4056 142 : x6 = XEXP (x3, 1);
4057 142 : if (!nonimmediate_operand (x6, i1))
4058 : return -1;
4059 : return 0;
4060 : }
4061 :
4062 : int
4063 839 : pattern1019 (rtx x1, machine_mode i1)
4064 : {
4065 839 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4066 839 : rtx x2, x3;
4067 839 : int res ATTRIBUTE_UNUSED;
4068 839 : if (!register_operand (operands[0], i1)
4069 839 : || GET_MODE (x1) != i1)
4070 : return -1;
4071 805 : x2 = XEXP (x1, 0);
4072 805 : if (GET_MODE (x2) != i1)
4073 : return -1;
4074 805 : x3 = XEXP (x2, 0);
4075 805 : if (GET_MODE (x3) != i1
4076 805 : || !register_operand (operands[1], i1)
4077 805 : || !vector_operand (operands[2], i1)
4078 781 : || !nonimm_or_0_operand (operands[3], i1)
4079 1574 : || !register_operand (operands[4], E_QImode))
4080 81 : return -1;
4081 : return 0;
4082 : }
4083 :
4084 : int
4085 195 : pattern1026 (rtx x1)
4086 : {
4087 195 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4088 195 : rtx x2;
4089 195 : int res ATTRIBUTE_UNUSED;
4090 195 : if (!register_operand (operands[0], E_V8SImode)
4091 195 : || GET_MODE (x1) != E_V8SImode)
4092 : return -1;
4093 195 : x2 = XVECEXP (x1, 0, 0);
4094 195 : if (GET_MODE (x2) != E_V8SImode)
4095 : return -1;
4096 195 : switch (GET_MODE (operands[1]))
4097 : {
4098 0 : case E_V8HFmode:
4099 0 : if (!register_operand (operands[1], E_V8HFmode))
4100 : return -1;
4101 : return 0;
4102 :
4103 195 : case E_V8DFmode:
4104 195 : if (!register_operand (operands[1], E_V8DFmode))
4105 : return -1;
4106 : return 1;
4107 :
4108 : default:
4109 : return -1;
4110 : }
4111 : }
4112 :
4113 : int
4114 13903 : pattern1037 (rtx x1, machine_mode i1, machine_mode i2)
4115 : {
4116 13903 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4117 13903 : int res ATTRIBUTE_UNUSED;
4118 13903 : if (!register_operand (operands[0], i1)
4119 13846 : || GET_MODE (x1) != i1
4120 13846 : || !register_operand (operands[1], i2)
4121 13846 : || !register_operand (operands[2], i1)
4122 27670 : || !nonimmediate_operand (operands[3], i1))
4123 220 : return -1;
4124 : return 0;
4125 : }
4126 :
4127 : int
4128 111 : pattern1043 (rtx x1)
4129 : {
4130 111 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4131 111 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4132 111 : rtx x10;
4133 111 : int res ATTRIBUTE_UNUSED;
4134 111 : x2 = XEXP (x1, 0);
4135 111 : x3 = XEXP (x2, 1);
4136 111 : if (XVECLEN (x3, 0) != 2)
4137 : return -1;
4138 16 : x4 = XVECEXP (x3, 0, 0);
4139 16 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4140 : return -1;
4141 16 : x5 = XVECEXP (x3, 0, 1);
4142 16 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
4143 16 : || !register_operand (operands[0], E_V2DImode)
4144 15 : || GET_MODE (x1) != E_V2DImode
4145 31 : || GET_MODE (x2) != E_V2QImode)
4146 5 : return -1;
4147 11 : x6 = XEXP (x2, 0);
4148 11 : if (GET_MODE (x6) != E_V16QImode)
4149 : return -1;
4150 11 : x7 = XEXP (x6, 0);
4151 11 : x8 = XEXP (x7, 0);
4152 11 : x9 = XEXP (x8, 0);
4153 11 : operands[1] = x9;
4154 11 : x10 = XEXP (x7, 1);
4155 11 : operands[2] = x10;
4156 11 : switch (GET_MODE (x7))
4157 : {
4158 6 : case E_V8HImode:
4159 6 : if (GET_MODE (x8) != E_V8HImode
4160 6 : || !nonimmediate_operand (operands[1], E_HImode)
4161 12 : || !const0_operand (operands[2], E_V8HImode))
4162 0 : return -1;
4163 : return 0;
4164 :
4165 5 : case E_V8HFmode:
4166 5 : if (GET_MODE (x8) != E_V8HFmode
4167 5 : || !nonimmediate_operand (operands[1], E_HFmode)
4168 10 : || !const0_operand (operands[2], E_V8HFmode))
4169 0 : return -1;
4170 : return 1;
4171 :
4172 0 : case E_V8BFmode:
4173 0 : if (GET_MODE (x8) != E_V8BFmode
4174 0 : || !nonimmediate_operand (operands[1], E_BFmode)
4175 0 : || !const0_operand (operands[2], E_V8BFmode))
4176 0 : return -1;
4177 : return 2;
4178 :
4179 : default:
4180 : return -1;
4181 : }
4182 : }
4183 :
4184 : int
4185 55132 : pattern1056 (rtx x1)
4186 : {
4187 55132 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4188 55132 : rtx x2, x3, x4, x5, x6;
4189 55132 : int res ATTRIBUTE_UNUSED;
4190 55132 : x2 = XEXP (x1, 1);
4191 55132 : x3 = XEXP (x2, 0);
4192 55132 : if (maybe_ne (SUBREG_BYTE (x3), 0)
4193 55132 : || GET_MODE (x3) != E_QImode)
4194 : return -1;
4195 1034 : x4 = XEXP (x3, 0);
4196 1034 : switch (GET_CODE (x4))
4197 : {
4198 266 : case ASHIFTRT:
4199 266 : case LSHIFTRT:
4200 266 : case SIGN_EXTRACT:
4201 266 : case ZERO_EXTRACT:
4202 266 : operands[3] = x4;
4203 266 : x5 = XEXP (x2, 1);
4204 266 : if (GET_CODE (x5) != SUBREG
4205 134 : || maybe_ne (SUBREG_BYTE (x5), 0)
4206 400 : || GET_MODE (x5) != E_QImode)
4207 : return -1;
4208 134 : x6 = XEXP (x5, 0);
4209 134 : switch (GET_CODE (x6))
4210 : {
4211 60 : case ASHIFTRT:
4212 60 : case LSHIFTRT:
4213 60 : case SIGN_EXTRACT:
4214 60 : case ZERO_EXTRACT:
4215 60 : operands[4] = x6;
4216 60 : if (GET_MODE (x2) != E_QImode)
4217 : return -1;
4218 60 : return pattern1055 (x1); /* [-1, 5] */
4219 :
4220 : default:
4221 : return -1;
4222 : }
4223 :
4224 : default:
4225 : return -1;
4226 : }
4227 : }
4228 :
4229 : int
4230 0 : pattern1064 (rtx x1, machine_mode i1)
4231 : {
4232 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4233 0 : rtx x2;
4234 0 : int res ATTRIBUTE_UNUSED;
4235 0 : if (!register_operand (operands[0], i1)
4236 0 : || GET_MODE (x1) != i1)
4237 : return -1;
4238 0 : x2 = XEXP (x1, 0);
4239 0 : if (GET_MODE (x2) != i1
4240 0 : || !register_operand (operands[1], i1)
4241 0 : || !register_operand (operands[2], i1))
4242 0 : return -1;
4243 : return 0;
4244 : }
4245 :
4246 : int
4247 289 : pattern1070 (rtx x1)
4248 : {
4249 289 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4250 289 : rtx x2, x3, x4, x5;
4251 289 : int res ATTRIBUTE_UNUSED;
4252 289 : x2 = XVECEXP (x1, 0, 0);
4253 289 : x3 = XEXP (x2, 1);
4254 289 : if (GET_MODE (x3) != E_XFmode)
4255 : return -1;
4256 289 : x4 = XVECEXP (x1, 0, 1);
4257 289 : x5 = XEXP (x4, 0);
4258 289 : if (GET_CODE (x5) != REG
4259 289 : || REGNO (x5) != 17
4260 226 : || GET_MODE (x5) != E_CCmode
4261 226 : || !register_operand (operands[0], E_XFmode)
4262 515 : || !register_operand (operands[1], E_XFmode))
4263 123 : return -1;
4264 : return 0;
4265 : }
4266 :
4267 : int
4268 2767 : pattern1076 (rtx x1)
4269 : {
4270 2767 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4271 2767 : rtx x2, x3, x4;
4272 2767 : int res ATTRIBUTE_UNUSED;
4273 2767 : if (GET_MODE (x1) != E_DImode)
4274 : return -1;
4275 2767 : x2 = XEXP (x1, 1);
4276 2767 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
4277 : return -1;
4278 2767 : x3 = XEXP (x1, 0);
4279 2767 : operands[0] = x3;
4280 2767 : if (!nonimmediate_operand (operands[0], E_DImode))
4281 : return -1;
4282 2767 : x4 = XEXP (x1, 2);
4283 2767 : operands[1] = x4;
4284 2767 : if (!const_0_to_63_operand (operands[1], E_QImode))
4285 : return -1;
4286 : return 0;
4287 : }
4288 :
4289 : int
4290 315 : pattern1081 ()
4291 : {
4292 315 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4293 315 : int res ATTRIBUTE_UNUSED;
4294 315 : switch (GET_MODE (operands[3]))
4295 : {
4296 33 : case E_HImode:
4297 33 : if (!extract_high_operator (operands[3], E_HImode)
4298 33 : || !extract_high_operator (operands[4], E_HImode))
4299 2 : return -1;
4300 : return 0;
4301 :
4302 226 : case E_SImode:
4303 226 : if (!extract_high_operator (operands[3], E_SImode)
4304 226 : || !extract_high_operator (operands[4], E_SImode))
4305 181 : return -1;
4306 : return 1;
4307 :
4308 56 : case E_DImode:
4309 56 : if (!extract_high_operator (operands[3], E_DImode)
4310 56 : || !extract_high_operator (operands[4], E_DImode))
4311 36 : return -1;
4312 : return 2;
4313 :
4314 : default:
4315 : return -1;
4316 : }
4317 : }
4318 :
4319 : int
4320 18298 : pattern1090 (rtx x1, machine_mode i1)
4321 : {
4322 18298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4323 18298 : rtx x2;
4324 18298 : int res ATTRIBUTE_UNUSED;
4325 18298 : if (!register_operand (operands[0], i1)
4326 18298 : || GET_MODE (x1) != i1)
4327 : return -1;
4328 18004 : x2 = XEXP (x1, 0);
4329 18004 : if (GET_MODE (x2) != i1
4330 18004 : || !register_no_SP_operand (operands[1], i1)
4331 17964 : || !const123_operand (operands[2], E_VOIDmode)
4332 28298 : || !nonmemory_operand (operands[3], i1))
4333 7712 : return -1;
4334 : return 0;
4335 : }
4336 :
4337 : int
4338 385 : pattern1101 (rtx x1, machine_mode i1)
4339 : {
4340 385 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4341 385 : rtx x2, x3;
4342 385 : int res ATTRIBUTE_UNUSED;
4343 385 : if (!register_operand (operands[0], i1)
4344 385 : || GET_MODE (x1) != i1)
4345 : return -1;
4346 383 : x2 = XEXP (x1, 0);
4347 383 : if (GET_MODE (x2) != i1)
4348 : return -1;
4349 383 : x3 = XEXP (x2, 0);
4350 383 : if (GET_MODE (x3) != i1
4351 383 : || !nonimmediate_operand (operands[1], i1)
4352 383 : || !nonimmediate_operand (operands[2], i1)
4353 742 : || !nonimmediate_operand (operands[3], i1))
4354 52 : return -1;
4355 : return 0;
4356 : }
4357 :
4358 : int
4359 424 : pattern1110 (rtx x1, machine_mode i1)
4360 : {
4361 424 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4362 424 : rtx x2;
4363 424 : int res ATTRIBUTE_UNUSED;
4364 424 : if (!register_operand (operands[0], i1)
4365 424 : || GET_MODE (x1) != i1)
4366 : return -1;
4367 424 : x2 = XEXP (x1, 0);
4368 424 : if (GET_MODE (x2) != i1
4369 424 : || !memory_operand (operands[1], i1)
4370 848 : || !nonimm_or_0_operand (operands[2], i1))
4371 0 : return -1;
4372 : return 0;
4373 : }
4374 :
4375 : int
4376 939 : pattern1112 (rtx x1, machine_mode i1)
4377 : {
4378 939 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4379 939 : rtx x2;
4380 939 : int res ATTRIBUTE_UNUSED;
4381 939 : if (!register_operand (operands[0], i1)
4382 939 : || GET_MODE (x1) != i1)
4383 : return -1;
4384 857 : x2 = XEXP (x1, 0);
4385 857 : if (GET_MODE (x2) != i1
4386 857 : || !nonimm_or_0_operand (operands[2], i1)
4387 1675 : || !register_operand (operands[3], E_QImode))
4388 105 : return -1;
4389 752 : switch (GET_MODE (operands[1]))
4390 : {
4391 291 : case E_V8HFmode:
4392 291 : if (!vector_operand (operands[1], E_V8HFmode))
4393 : return -1;
4394 : return 0;
4395 :
4396 302 : case E_V8SFmode:
4397 302 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4398 : return -1;
4399 : return 1;
4400 :
4401 159 : case E_V8DFmode:
4402 159 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
4403 : return -1;
4404 : return 2;
4405 :
4406 : default:
4407 : return -1;
4408 : }
4409 : }
4410 :
4411 : int
4412 1193 : pattern1118 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4413 : {
4414 1193 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4415 1193 : rtx x2;
4416 1193 : int res ATTRIBUTE_UNUSED;
4417 1193 : if (!register_operand (operands[0], i2)
4418 1193 : || GET_MODE (x1) != i2)
4419 : return -1;
4420 1122 : x2 = XEXP (x1, 0);
4421 1122 : if (GET_MODE (x2) != i2
4422 1122 : || !nonimmediate_operand (operands[1], i2)
4423 1122 : || !register_operand (operands[2], i3)
4424 1122 : || !nonimm_or_0_operand (operands[3], i2)
4425 2220 : || !register_operand (operands[4], i1))
4426 110 : return -1;
4427 : return 0;
4428 : }
4429 :
4430 : int
4431 76 : pattern1125 (rtx x1)
4432 : {
4433 76 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4434 76 : rtx x2, x3, x4, x5, x6, x7, x8;
4435 76 : int res ATTRIBUTE_UNUSED;
4436 76 : x2 = XEXP (x1, 0);
4437 76 : x3 = XEXP (x2, 0);
4438 76 : if (GET_MODE (x3) != E_V8HFmode)
4439 : return -1;
4440 76 : x4 = XEXP (x2, 2);
4441 76 : if (GET_CODE (x4) != UNSPEC
4442 76 : || XVECLEN (x4, 0) != 1
4443 76 : || XINT (x4, 1) != 224
4444 76 : || GET_MODE (x4) != E_QImode)
4445 : return -1;
4446 76 : x5 = XEXP (x1, 2);
4447 76 : if (XWINT (x5, 0) != 3L
4448 76 : || !register_operand (operands[0], E_V8HFmode)
4449 68 : || GET_MODE (x1) != E_V8HFmode
4450 68 : || GET_MODE (x2) != E_V8HFmode
4451 68 : || !vector_operand (operands[1], E_V8HFmode)
4452 68 : || !vector_operand (operands[2], E_V8HFmode)
4453 144 : || !vector_operand (operands[3], E_V8HFmode))
4454 8 : return -1;
4455 68 : x6 = XVECEXP (x4, 0, 0);
4456 68 : if (!register_operand (x6, E_QImode))
4457 : return -1;
4458 66 : x7 = XEXP (x1, 1);
4459 66 : if (!rtx_equal_p (x7, operands[2]))
4460 : return -1;
4461 66 : x8 = XEXP (x2, 1);
4462 66 : switch (GET_CODE (x8))
4463 : {
4464 22 : case CONST_INT:
4465 22 : case CONST_DOUBLE:
4466 22 : case CONST_VECTOR:
4467 22 : operands[4] = x8;
4468 22 : if (!const0_operand (operands[4], E_V8HFmode))
4469 : return -1;
4470 22 : operands[5] = x6;
4471 22 : return 0;
4472 :
4473 44 : case REG:
4474 44 : case SUBREG:
4475 44 : case MEM:
4476 44 : if (!rtx_equal_p (x8, operands[1]))
4477 : return -1;
4478 44 : operands[4] = x6;
4479 44 : return 1;
4480 :
4481 : default:
4482 : return -1;
4483 : }
4484 : }
4485 :
4486 : int
4487 436 : pattern1148 (rtx x1, machine_mode i1, machine_mode i2)
4488 : {
4489 436 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4490 436 : int res ATTRIBUTE_UNUSED;
4491 436 : if (!register_operand (operands[0], i2)
4492 401 : || GET_MODE (x1) != i2
4493 401 : || !register_operand (operands[1], i2)
4494 339 : || !register_operand (operands[2], i2)
4495 761 : || !nonimmediate_operand (operands[3], i1))
4496 111 : return -1;
4497 : return 0;
4498 : }
4499 :
4500 : int
4501 2312 : pattern1154 (rtx x1)
4502 : {
4503 2312 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4504 2312 : rtx x2, x3, x4, x5;
4505 2312 : int res ATTRIBUTE_UNUSED;
4506 2312 : x2 = XVECEXP (x1, 0, 0);
4507 2312 : switch (XWINT (x2, 0))
4508 : {
4509 1500 : case 0L:
4510 1500 : x3 = XVECEXP (x1, 0, 1);
4511 1500 : switch (XWINT (x3, 0))
4512 : {
4513 : case 1L:
4514 : return 0;
4515 :
4516 232 : case 2L:
4517 232 : return 1;
4518 :
4519 : default:
4520 : return -1;
4521 : }
4522 :
4523 224 : case 1L:
4524 224 : x3 = XVECEXP (x1, 0, 1);
4525 224 : if (XWINT (x3, 0) != 3L)
4526 : return -1;
4527 224 : x4 = XVECEXP (x1, 0, 2);
4528 224 : if (XWINT (x4, 0) != 5L)
4529 : return -1;
4530 224 : x5 = XVECEXP (x1, 0, 3);
4531 224 : if (XWINT (x5, 0) != 7L)
4532 : return -1;
4533 : return 2;
4534 :
4535 : default:
4536 : return -1;
4537 : }
4538 : }
4539 :
4540 : int
4541 0 : pattern1165 (rtx x1)
4542 : {
4543 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4544 0 : rtx x2;
4545 0 : int res ATTRIBUTE_UNUSED;
4546 0 : if (XVECLEN (x1, 0) != 1
4547 0 : || XINT (x1, 1) != 20
4548 0 : || GET_MODE (x1) != E_SImode)
4549 : return -1;
4550 0 : x2 = XVECEXP (x1, 0, 0);
4551 0 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4552 0 : return -1;
4553 : return 0;
4554 : }
4555 :
4556 : int
4557 483 : pattern1170 (rtx x1)
4558 : {
4559 483 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4560 483 : rtx x2, x3, x4, x5, x6, x7;
4561 483 : int res ATTRIBUTE_UNUSED;
4562 483 : x2 = XEXP (x1, 0);
4563 483 : x3 = XEXP (x2, 0);
4564 483 : x4 = XEXP (x3, 1);
4565 483 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4566 : return -1;
4567 475 : x5 = XEXP (x3, 0);
4568 475 : operands[3] = x5;
4569 475 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
4570 : return -1;
4571 237 : x6 = XEXP (x2, 1);
4572 237 : operands[1] = x6;
4573 237 : x7 = XEXP (x1, 1);
4574 237 : operands[2] = x7;
4575 237 : switch (GET_MODE (operands[0]))
4576 : {
4577 0 : case E_QImode:
4578 0 : return pattern1168 (x1,
4579 0 : E_QImode); /* [-1, 0] */
4580 :
4581 0 : case E_HImode:
4582 0 : if (pattern1168 (x1,
4583 : E_HImode) != 0)
4584 : return -1;
4585 : return 1;
4586 :
4587 219 : case E_SImode:
4588 219 : if (pattern1169 (x1,
4589 : E_SImode) != 0)
4590 : return -1;
4591 : return 2;
4592 :
4593 18 : case E_DImode:
4594 18 : if (pattern1169 (x1,
4595 : E_DImode) != 0)
4596 : return -1;
4597 : return 3;
4598 :
4599 : default:
4600 : return -1;
4601 : }
4602 : }
4603 :
4604 : int
4605 107 : pattern1184 (rtx x1)
4606 : {
4607 107 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4608 107 : rtx x2, x3, x4;
4609 107 : int res ATTRIBUTE_UNUSED;
4610 107 : x2 = XEXP (x1, 0);
4611 107 : if (GET_MODE (x2) != E_SImode
4612 77 : || !register_operand (operands[0], E_DImode)
4613 184 : || GET_MODE (x1) != E_DImode)
4614 30 : return -1;
4615 77 : x3 = XEXP (x2, 0);
4616 77 : operands[1] = x3;
4617 77 : if (!nonimmediate_operand (operands[1], E_SImode))
4618 : return -1;
4619 72 : x4 = XEXP (x2, 1);
4620 72 : operands[2] = x4;
4621 72 : if (!const_int_operand (operands[2], E_QImode))
4622 : return -1;
4623 : return 0;
4624 : }
4625 :
4626 : int
4627 246 : pattern1193 (rtx x1)
4628 : {
4629 246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4630 246 : rtx x2, x3, x4, x5, x6, x7, x8;
4631 246 : int res ATTRIBUTE_UNUSED;
4632 246 : x2 = XEXP (x1, 1);
4633 246 : x3 = XEXP (x2, 1);
4634 246 : switch (GET_CODE (x3))
4635 : {
4636 196 : case LABEL_REF:
4637 196 : x4 = XEXP (x2, 2);
4638 196 : if (GET_CODE (x4) != PC)
4639 : return -1;
4640 196 : x5 = XEXP (x1, 0);
4641 196 : if (GET_CODE (x5) != PC)
4642 : return -1;
4643 196 : x6 = XEXP (x2, 0);
4644 196 : operands[0] = x6;
4645 196 : x7 = XEXP (x6, 0);
4646 196 : operands[1] = x7;
4647 196 : x8 = XEXP (x3, 0);
4648 196 : operands[2] = x8;
4649 196 : switch (GET_MODE (operands[1]))
4650 : {
4651 8 : case E_QImode:
4652 8 : if (!register_operand (operands[1], E_QImode))
4653 : return -1;
4654 : return 0;
4655 :
4656 68 : case E_HImode:
4657 68 : if (!register_operand (operands[1], E_HImode))
4658 : return -1;
4659 : return 1;
4660 :
4661 95 : case E_SImode:
4662 95 : if (!register_operand (operands[1], E_SImode))
4663 : return -1;
4664 : return 2;
4665 :
4666 25 : case E_DImode:
4667 25 : if (!register_operand (operands[1], E_DImode))
4668 : return -1;
4669 : return 3;
4670 :
4671 : default:
4672 : return -1;
4673 : }
4674 :
4675 49 : case REG:
4676 49 : case SUBREG:
4677 49 : case MEM:
4678 49 : operands[2] = x3;
4679 49 : x5 = XEXP (x1, 0);
4680 49 : operands[0] = x5;
4681 49 : x6 = XEXP (x2, 0);
4682 49 : operands[1] = x6;
4683 49 : x7 = XEXP (x6, 0);
4684 49 : operands[4] = x7;
4685 49 : x4 = XEXP (x2, 2);
4686 49 : operands[3] = x4;
4687 49 : switch (GET_MODE (operands[0]))
4688 : {
4689 7 : case E_QImode:
4690 7 : if (!register_operand (operands[0], E_QImode)
4691 7 : || GET_MODE (x2) != E_QImode
4692 7 : || !register_operand (operands[2], E_QImode)
4693 14 : || !register_operand (operands[3], E_QImode))
4694 0 : return -1;
4695 7 : res = pattern1191 ();
4696 7 : if (res >= 0)
4697 7 : return res + 4; /* [4, 7] */
4698 : return -1;
4699 :
4700 7 : case E_HImode:
4701 7 : res = pattern1192 (x2,
4702 : E_HImode);
4703 7 : if (res >= 0)
4704 7 : return res + 8; /* [8, 11] */
4705 : return -1;
4706 :
4707 28 : case E_SImode:
4708 28 : res = pattern1192 (x2,
4709 : E_SImode);
4710 28 : if (res >= 0)
4711 28 : return res + 12; /* [12, 15] */
4712 : return -1;
4713 :
4714 7 : case E_DImode:
4715 7 : res = pattern1192 (x2,
4716 : E_DImode);
4717 7 : if (res >= 0)
4718 7 : return res + 16; /* [16, 19] */
4719 : return -1;
4720 :
4721 : default:
4722 : return -1;
4723 : }
4724 :
4725 : default:
4726 : return -1;
4727 : }
4728 : }
4729 :
4730 : int
4731 52 : pattern1225 (rtx x1, machine_mode i1, machine_mode i2)
4732 : {
4733 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4734 52 : rtx x2, x3;
4735 52 : int res ATTRIBUTE_UNUSED;
4736 52 : if (!register_operand (operands[0], i1)
4737 52 : || GET_MODE (x1) != i1)
4738 : return -1;
4739 52 : x2 = XEXP (x1, 0);
4740 52 : if (GET_MODE (x2) != i1)
4741 : return -1;
4742 52 : x3 = XEXP (x2, 0);
4743 52 : if (GET_MODE (x3) != i2
4744 52 : || !register_operand (operands[1], i1))
4745 10 : return -1;
4746 : return 0;
4747 : }
4748 :
4749 : int
4750 238 : pattern1231 (rtx x1, machine_mode i1)
4751 : {
4752 238 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4753 238 : rtx x2;
4754 238 : int res ATTRIBUTE_UNUSED;
4755 238 : if (!register_operand (operands[0], i1)
4756 238 : || GET_MODE (x1) != i1)
4757 : return -1;
4758 228 : x2 = XVECEXP (x1, 0, 0);
4759 228 : if (GET_MODE (x2) != i1)
4760 : return -1;
4761 228 : switch (GET_MODE (operands[1]))
4762 : {
4763 59 : case E_V8HFmode:
4764 59 : if (!register_operand (operands[1], E_V8HFmode))
4765 : return -1;
4766 : return 0;
4767 :
4768 52 : case E_V8SFmode:
4769 52 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4770 : return -1;
4771 : return 1;
4772 :
4773 117 : case E_V8DFmode:
4774 117 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
4775 : return -1;
4776 : return 2;
4777 :
4778 : default:
4779 : return -1;
4780 : }
4781 : }
4782 :
4783 : int
4784 10663 : pattern1240 (rtx x1)
4785 : {
4786 10663 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4787 10663 : rtx x2, x3, x4;
4788 10663 : int res ATTRIBUTE_UNUSED;
4789 10663 : x2 = XEXP (x1, 0);
4790 10663 : x3 = XEXP (x2, 0);
4791 10663 : operands[1] = x3;
4792 10663 : x4 = XEXP (x2, 1);
4793 10663 : operands[2] = x4;
4794 10663 : if (!const_int_operand (operands[2], E_QImode))
4795 : return -1;
4796 10650 : switch (GET_MODE (operands[0]))
4797 : {
4798 8470 : case E_SImode:
4799 8470 : return pattern1239 (x1,
4800 : E_DImode,
4801 8470 : E_SImode); /* [-1, 0] */
4802 :
4803 532 : case E_DImode:
4804 532 : if (pattern1239 (x1,
4805 : E_TImode,
4806 : E_DImode) != 0)
4807 : return -1;
4808 : return 1;
4809 :
4810 : default:
4811 : return -1;
4812 : }
4813 : }
4814 :
4815 : int
4816 20477 : pattern1246 (rtx x1, rtx_code i1)
4817 : {
4818 20477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4819 20477 : rtx x2, x3, x4, x5;
4820 20477 : int res ATTRIBUTE_UNUSED;
4821 20477 : x2 = XVECEXP (x1, 0, 1);
4822 20477 : x3 = XEXP (x2, 1);
4823 20477 : if (GET_CODE (x3) != i1)
4824 : return -1;
4825 17097 : x4 = XVECEXP (x1, 0, 0);
4826 17097 : x5 = XEXP (x4, 0);
4827 17097 : if (GET_MODE (x5) != E_CCGOCmode)
4828 : return -1;
4829 17097 : return pattern366 (x1,
4830 17097 : E_CCGOCmode); /* [-1, 3] */
4831 : }
4832 :
4833 : int
4834 10597 : pattern1249 (rtx x1)
4835 : {
4836 10597 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4837 10597 : rtx x2, x3, x4, x5, x6, x7;
4838 10597 : int res ATTRIBUTE_UNUSED;
4839 10597 : x2 = XVECEXP (x1, 0, 1);
4840 10597 : x3 = XEXP (x2, 1);
4841 10597 : x4 = XEXP (x3, 0);
4842 10597 : if (!rtx_equal_p (x4, operands[1]))
4843 : return -1;
4844 10597 : x5 = XVECEXP (x1, 0, 0);
4845 10597 : x6 = XEXP (x5, 1);
4846 10597 : x7 = XEXP (x6, 0);
4847 10597 : switch (GET_MODE (x7))
4848 : {
4849 202 : case E_QImode:
4850 202 : if (!nonimmediate_operand (operands[1], E_QImode)
4851 146 : || !nonimmediate_operand (operands[0], E_QImode)
4852 348 : || GET_MODE (x3) != E_QImode)
4853 56 : return -1;
4854 : return 0;
4855 :
4856 678 : case E_HImode:
4857 678 : if (!nonimmediate_operand (operands[1], E_HImode)
4858 678 : || !nonimmediate_operand (operands[0], E_HImode)
4859 1356 : || GET_MODE (x3) != E_HImode)
4860 0 : return -1;
4861 : return 1;
4862 :
4863 4648 : case E_SImode:
4864 4648 : if (!nonimmediate_operand (operands[1], E_SImode)
4865 4625 : || !nonimmediate_operand (operands[0], E_SImode)
4866 9273 : || GET_MODE (x3) != E_SImode)
4867 23 : return -1;
4868 : return 2;
4869 :
4870 5003 : case E_DImode:
4871 5003 : if (!nonimmediate_operand (operands[1], E_DImode)
4872 5003 : || !nonimmediate_operand (operands[0], E_DImode)
4873 10006 : || GET_MODE (x3) != E_DImode)
4874 0 : return -1;
4875 : return 3;
4876 :
4877 : default:
4878 : return -1;
4879 : }
4880 : }
4881 :
4882 : int
4883 97054 : pattern1265 (rtx x1, int i1)
4884 : {
4885 97054 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4886 97054 : rtx x2, x3, x4, x5, x6, x7, x8;
4887 97054 : int res ATTRIBUTE_UNUSED;
4888 97054 : if (GET_CODE (x1) != SET)
4889 : return -1;
4890 71963 : x2 = XEXP (x1, 1);
4891 71963 : if (GET_CODE (x2) != COMPARE
4892 30755 : || GET_MODE (x2) != E_CCZmode)
4893 : return -1;
4894 19419 : x3 = XEXP (x2, 1);
4895 19419 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4896 : return -1;
4897 8727 : x4 = XEXP (x1, 0);
4898 8727 : if (GET_CODE (x4) != REG
4899 8727 : || REGNO (x4) != 17
4900 17454 : || GET_MODE (x4) != E_CCZmode)
4901 : return -1;
4902 8727 : x5 = XEXP (x2, 0);
4903 8727 : if (!rtx_equal_p (x5, operands[0]))
4904 : return -1;
4905 3191 : x6 = PATTERN (peep2_next_insn (2));
4906 3191 : if (GET_CODE (x6) != SET)
4907 : return -1;
4908 3191 : x7 = XEXP (x6, 1);
4909 3191 : if (GET_CODE (x7) != IF_THEN_ELSE)
4910 : return -1;
4911 3186 : x8 = XEXP (x7, 0);
4912 3186 : if (!bt_comparison_operator (x8, E_VOIDmode))
4913 : return -1;
4914 : return 0;
4915 : }
4916 :
4917 : int
4918 0 : pattern1276 (rtx x1, machine_mode i1)
4919 : {
4920 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4921 0 : rtx x2, x3;
4922 0 : int res ATTRIBUTE_UNUSED;
4923 0 : if (!nonimmediate_operand (operands[0], i1)
4924 0 : || GET_MODE (x1) != i1)
4925 : return -1;
4926 0 : x2 = XEXP (x1, 0);
4927 0 : if (GET_MODE (x2) != i1
4928 0 : || !nonimmediate_operand (operands[1], i1))
4929 0 : return -1;
4930 0 : x3 = XEXP (x2, 1);
4931 0 : if (GET_MODE (x3) != i1
4932 0 : || !general_operand (operands[2], i1))
4933 0 : return -1;
4934 : return 0;
4935 : }
4936 :
4937 : int
4938 666 : pattern1284 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4939 : {
4940 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4941 666 : rtx x2;
4942 666 : int res ATTRIBUTE_UNUSED;
4943 666 : if (!register_operand (operands[0], i2)
4944 666 : || GET_MODE (x1) != i2)
4945 : return -1;
4946 640 : x2 = XEXP (x1, 0);
4947 640 : if (GET_MODE (x2) != i2
4948 640 : || !register_operand (operands[1], i3)
4949 640 : || !nonimmediate_operand (operands[2], i3)
4950 640 : || !nonimm_or_0_operand (operands[4], i2)
4951 1259 : || !register_operand (operands[5], i1))
4952 54 : return -1;
4953 : return 0;
4954 : }
4955 :
4956 : int
4957 1755 : pattern1293 (rtx x1, machine_mode i1, machine_mode i2)
4958 : {
4959 1755 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4960 1755 : int res ATTRIBUTE_UNUSED;
4961 1755 : if (!register_operand (operands[0], i2)
4962 1750 : || GET_MODE (x1) != i2
4963 1750 : || !vector_all_ones_operand (operands[1], i2)
4964 384 : || !const0_operand (operands[2], i2)
4965 384 : || !register_operand (operands[3], i1)
4966 1860 : || !nonimmediate_operand (operands[4], i1))
4967 1650 : return -1;
4968 : return 0;
4969 : }
4970 :
4971 : int
4972 1487 : pattern1299 (rtx x1, machine_mode i1, machine_mode i2)
4973 : {
4974 1487 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4975 1487 : int res ATTRIBUTE_UNUSED;
4976 1487 : if (!nonimmediate_operand (operands[2], i2)
4977 1472 : || GET_MODE (x1) != i2
4978 1472 : || !nonimmediate_operand (operands[3], i2)
4979 2941 : || !register_operand (operands[4], i1))
4980 33 : return -1;
4981 : return 0;
4982 : }
4983 :
4984 : int
4985 787 : pattern1304 (rtx x1, machine_mode i1, machine_mode i2)
4986 : {
4987 787 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4988 787 : rtx x2, x3, x4;
4989 787 : int res ATTRIBUTE_UNUSED;
4990 787 : if (!register_operand (operands[0], i2)
4991 787 : || GET_MODE (x1) != i2)
4992 : return -1;
4993 763 : x2 = XEXP (x1, 0);
4994 763 : if (GET_MODE (x2) != i2)
4995 : return -1;
4996 763 : x3 = XEXP (x2, 0);
4997 763 : if (GET_MODE (x3) != i2
4998 763 : || !nonimmediate_operand (operands[1], i2))
4999 12 : return -1;
5000 751 : x4 = XEXP (x2, 2);
5001 751 : return pattern1299 (x4,
5002 : i1,
5003 751 : i2); /* [-1, 0] */
5004 : }
5005 :
5006 : int
5007 1050 : pattern1313 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5008 : {
5009 1050 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5010 1050 : rtx x2, x3;
5011 1050 : int res ATTRIBUTE_UNUSED;
5012 1050 : x2 = XVECEXP (x1, 0, 0);
5013 1050 : x3 = XEXP (x2, 0);
5014 1050 : if (GET_MODE (x3) != i2
5015 1050 : || !register_operand (operands[0], i2)
5016 1002 : || GET_MODE (x1) != i2
5017 1002 : || GET_MODE (x2) != i2
5018 1002 : || !register_operand (operands[1], i3)
5019 1002 : || !nonimm_or_0_operand (operands[2], i2)
5020 974 : || !register_operand (operands[3], i1)
5021 1980 : || !const_4_or_8_to_11_operand (operands[4], E_SImode))
5022 120 : return -1;
5023 : return 0;
5024 : }
5025 :
5026 : int
5027 1059 : pattern1320 (rtx x1, int i1)
5028 : {
5029 1059 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5030 1059 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5031 1059 : int res ATTRIBUTE_UNUSED;
5032 1059 : if (XVECLEN (x1, 0) != i1)
5033 : return -1;
5034 1059 : x2 = XVECEXP (x1, 0, 0);
5035 1059 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5036 : return -1;
5037 1059 : x3 = XVECEXP (x1, 0, 1);
5038 1059 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
5039 : return -1;
5040 1059 : x4 = XVECEXP (x1, 0, 2);
5041 1059 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
5042 : return -1;
5043 1059 : x5 = XVECEXP (x1, 0, 3);
5044 1059 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
5045 : return -1;
5046 1059 : x6 = XVECEXP (x1, 0, 4);
5047 1059 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
5048 : return -1;
5049 1059 : x7 = XVECEXP (x1, 0, 5);
5050 1059 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
5051 : return -1;
5052 1059 : x8 = XVECEXP (x1, 0, 6);
5053 1059 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
5054 : return -1;
5055 1059 : x9 = XVECEXP (x1, 0, 7);
5056 1059 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
5057 0 : return -1;
5058 : return 0;
5059 : }
5060 :
5061 : int
5062 27833 : pattern1331 (rtx x1)
5063 : {
5064 27833 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5065 27833 : rtx x2, x3, x4, x5, x6, x7, x8;
5066 27833 : int res ATTRIBUTE_UNUSED;
5067 27833 : x2 = XVECEXP (x1, 0, 1);
5068 27833 : x3 = XEXP (x2, 1);
5069 27833 : x4 = XEXP (x3, 0);
5070 27833 : if (!rtx_equal_p (x4, operands[1]))
5071 : return -1;
5072 27827 : x5 = XEXP (x3, 1);
5073 27827 : if (!rtx_equal_p (x5, operands[2]))
5074 : return -1;
5075 27823 : x6 = XVECEXP (x1, 0, 0);
5076 27823 : x7 = XEXP (x6, 1);
5077 27823 : x8 = XEXP (x7, 0);
5078 27823 : switch (GET_MODE (x8))
5079 : {
5080 466 : case E_QImode:
5081 466 : return pattern1330 (x3,
5082 466 : E_QImode); /* [-1, 0] */
5083 :
5084 135 : case E_HImode:
5085 135 : if (pattern1330 (x3,
5086 : E_HImode) != 0)
5087 : return -1;
5088 : return 1;
5089 :
5090 4793 : case E_SImode:
5091 4793 : if (pattern1330 (x3,
5092 : E_SImode) != 0)
5093 : return -1;
5094 : return 2;
5095 :
5096 22150 : case E_DImode:
5097 22150 : if (!nonimmediate_operand (operands[1], E_DImode)
5098 18365 : || !const_1_to_63_operand (operands[2], E_QImode)
5099 17315 : || !nonimmediate_operand (operands[0], E_DImode)
5100 39465 : || GET_MODE (x3) != E_DImode)
5101 4835 : return -1;
5102 : return 3;
5103 :
5104 : default:
5105 : return -1;
5106 : }
5107 : }
5108 :
5109 : int
5110 1670 : pattern1350 ()
5111 : {
5112 1670 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5113 1670 : int res ATTRIBUTE_UNUSED;
5114 1670 : switch (GET_MODE (operands[1]))
5115 : {
5116 1531 : case E_QImode:
5117 1531 : if (!general_reg_operand (operands[1], E_QImode)
5118 1531 : || !nonimmediate_operand (operands[2], E_QImode))
5119 582 : return -1;
5120 : return 0;
5121 :
5122 139 : case E_HImode:
5123 139 : if (!general_reg_operand (operands[1], E_HImode)
5124 139 : || !nonimmediate_operand (operands[2], E_HImode))
5125 10 : return -1;
5126 : return 1;
5127 :
5128 : default:
5129 : return -1;
5130 : }
5131 : }
5132 :
5133 : int
5134 8979 : pattern1356 (rtx x1, machine_mode i1)
5135 : {
5136 8979 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5137 8979 : rtx x2, x3, x4;
5138 8979 : int res ATTRIBUTE_UNUSED;
5139 8979 : x2 = XEXP (x1, 0);
5140 8979 : operands[2] = x2;
5141 8979 : if (!general_reg_operand (operands[2], i1))
5142 : return -1;
5143 4998 : x3 = XEXP (x1, 1);
5144 4998 : operands[3] = x3;
5145 4998 : if (!general_gr_operand (operands[3], i1))
5146 : return -1;
5147 1786 : x4 = PATTERN (peep2_next_insn (3));
5148 1786 : return pattern963 (x4,
5149 1786 : i1); /* [-1, 0] */
5150 : }
5151 :
5152 : int
5153 0 : pattern1364 (rtx x1, machine_mode i1)
5154 : {
5155 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5156 0 : rtx x2, x3, x4, x5, x6, x7;
5157 0 : int res ATTRIBUTE_UNUSED;
5158 0 : if (!general_reg_operand (operands[0], i1)
5159 0 : || GET_CODE (x1) != PARALLEL
5160 0 : || XVECLEN (x1, 0) != 2)
5161 : return -1;
5162 0 : x2 = XVECEXP (x1, 0, 0);
5163 0 : if (GET_CODE (x2) != SET)
5164 : return -1;
5165 0 : x3 = XVECEXP (x1, 0, 1);
5166 0 : if (GET_CODE (x3) != CLOBBER)
5167 : return -1;
5168 0 : x4 = XEXP (x3, 0);
5169 0 : if (GET_CODE (x4) != REG
5170 0 : || REGNO (x4) != 17
5171 0 : || GET_MODE (x4) != E_CCmode)
5172 : return -1;
5173 0 : x5 = XEXP (x2, 1);
5174 0 : if (GET_MODE (x5) != i1)
5175 : return -1;
5176 0 : x6 = XEXP (x2, 0);
5177 0 : if (!rtx_equal_p (x6, operands[0]))
5178 : return -1;
5179 0 : switch (GET_CODE (x5))
5180 : {
5181 0 : case PLUS:
5182 0 : x7 = XEXP (x5, 0);
5183 0 : if (!rtx_equal_p (x7, operands[0]))
5184 : return -1;
5185 : return 0;
5186 :
5187 0 : case IOR:
5188 0 : x7 = XEXP (x5, 0);
5189 0 : if (!rtx_equal_p (x7, operands[0]))
5190 : return -1;
5191 : return 1;
5192 :
5193 0 : case XOR:
5194 0 : x7 = XEXP (x5, 0);
5195 0 : if (!rtx_equal_p (x7, operands[0]))
5196 : return -1;
5197 : return 2;
5198 :
5199 : default:
5200 : return -1;
5201 : }
5202 : }
5203 :
5204 : int
5205 1208 : pattern1377 (rtx x1, machine_mode i1, machine_mode i2)
5206 : {
5207 1208 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5208 1208 : rtx x2;
5209 1208 : int res ATTRIBUTE_UNUSED;
5210 1208 : if (!register_operand (operands[0], i1)
5211 1208 : || GET_MODE (x1) != i1)
5212 : return -1;
5213 1126 : x2 = XEXP (x1, 0);
5214 1126 : if (GET_MODE (x2) != i1
5215 1126 : || !vector_operand (operands[1], i1)
5216 1118 : || !vector_operand (operands[2], i1)
5217 1118 : || !vector_operand (operands[3], i1)
5218 1118 : || !const0_operand (operands[4], i1)
5219 2244 : || !register_operand (operands[5], i2))
5220 91 : return -1;
5221 : return 0;
5222 : }
5223 :
5224 : int
5225 279 : pattern1386 (rtx x1, machine_mode i1, machine_mode i2)
5226 : {
5227 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5228 279 : rtx x2;
5229 279 : int res ATTRIBUTE_UNUSED;
5230 279 : if (!register_operand (operands[0], i2)
5231 279 : || GET_MODE (x1) != i2)
5232 : return -1;
5233 273 : x2 = XEXP (x1, 0);
5234 273 : if (GET_MODE (x2) != i2
5235 273 : || !nonimmediate_operand (operands[1], i2)
5236 546 : || pattern1385 (
5237 : i1,
5238 : i2) != 0)
5239 0 : return -1;
5240 : return 0;
5241 : }
5242 :
5243 : int
5244 258 : pattern1395 (rtx x1, machine_mode i1)
5245 : {
5246 258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5247 258 : rtx x2, x3;
5248 258 : int res ATTRIBUTE_UNUSED;
5249 258 : if (!register_operand (operands[0], i1)
5250 258 : || GET_MODE (x1) != i1)
5251 : return -1;
5252 244 : x2 = XEXP (x1, 0);
5253 244 : if (GET_MODE (x2) != i1
5254 244 : || !nonimmediate_operand (operands[1], i1)
5255 488 : || !nonimmediate_operand (operands[2], i1))
5256 0 : return -1;
5257 244 : x3 = XEXP (x2, 2);
5258 244 : if (GET_MODE (x3) != i1
5259 244 : || !nonimmediate_operand (operands[3], i1))
5260 0 : return -1;
5261 : return 0;
5262 : }
5263 :
5264 : int
5265 5588 : pattern1405 (rtx x1, machine_mode i1, machine_mode i2)
5266 : {
5267 5588 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5268 5588 : rtx x2;
5269 5588 : int res ATTRIBUTE_UNUSED;
5270 5588 : if (!register_operand (operands[0], i1)
5271 5588 : || GET_MODE (x1) != i1)
5272 : return -1;
5273 5200 : x2 = XEXP (x1, 0);
5274 5200 : if (GET_MODE (x2) != i1
5275 5200 : || !nonimmediate_operand (operands[1], i1)
5276 4682 : || !nonimm_or_0_operand (operands[4], i1)
5277 9139 : || !register_operand (operands[5], i2))
5278 3228 : return -1;
5279 : return 0;
5280 : }
5281 :
5282 : int
5283 0 : pattern1414 (rtx x1, machine_mode i1, machine_mode i2)
5284 : {
5285 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5286 0 : rtx x2, x3, x4;
5287 0 : int res ATTRIBUTE_UNUSED;
5288 0 : if (!register_operand (operands[0], i1)
5289 0 : || GET_MODE (x1) != i1)
5290 : return -1;
5291 0 : x2 = XVECEXP (x1, 0, 0);
5292 0 : if (GET_MODE (x2) != i1)
5293 : return -1;
5294 0 : x3 = XEXP (x2, 0);
5295 0 : if (GET_MODE (x3) != i1)
5296 : return -1;
5297 0 : x4 = XEXP (x3, 0);
5298 0 : if (GET_MODE (x4) != i2
5299 0 : || !nonimmediate_operand (operands[1], i2)
5300 0 : || !register_operand (operands[2], i1))
5301 0 : return -1;
5302 : return 0;
5303 : }
5304 :
5305 : int
5306 333 : pattern1422 (rtx x1, machine_mode i1)
5307 : {
5308 333 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5309 333 : rtx x2, x3;
5310 333 : int res ATTRIBUTE_UNUSED;
5311 333 : if (!register_operand (operands[0], i1)
5312 333 : || GET_MODE (x1) != i1)
5313 : return -1;
5314 320 : x2 = XVECEXP (x1, 0, 0);
5315 320 : if (GET_MODE (x2) != i1)
5316 : return -1;
5317 320 : x3 = XEXP (x2, 0);
5318 320 : if (GET_MODE (x3) != i1
5319 320 : || !register_operand (operands[1], i1)
5320 312 : || !register_operand (operands[2], i1)
5321 627 : || !register_operand (operands[3], i1))
5322 13 : return -1;
5323 : return 0;
5324 : }
5325 :
5326 : int
5327 611 : pattern1430 (rtx x1, machine_mode i1)
5328 : {
5329 611 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5330 611 : int res ATTRIBUTE_UNUSED;
5331 611 : if (!register_operand (operands[0], i1)
5332 611 : || GET_MODE (x1) != i1
5333 611 : || !nonimmediate_operand (operands[1], i1)
5334 1222 : || !register_operand (operands[2], i1))
5335 107 : return -1;
5336 : return 0;
5337 : }
5338 :
5339 : int
5340 213 : pattern1437 (rtx x1, machine_mode i1)
5341 : {
5342 213 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5343 213 : int res ATTRIBUTE_UNUSED;
5344 213 : if (GET_MODE (x1) != i1
5345 213 : || !register_operand (operands[1], i1)
5346 213 : || !nonimmediate_operand (operands[2], i1)
5347 230 : || !scratch_operand (operands[0], i1))
5348 196 : return -1;
5349 : return 0;
5350 : }
5351 :
5352 : int
5353 59 : pattern1443 (rtx x1)
5354 : {
5355 59 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5356 59 : rtx x2, x3, x4, x5, x6, x7;
5357 59 : int res ATTRIBUTE_UNUSED;
5358 59 : x2 = XEXP (x1, 0);
5359 59 : operands[0] = x2;
5360 59 : x3 = XEXP (x1, 1);
5361 59 : x4 = XEXP (x3, 0);
5362 59 : x5 = XEXP (x4, 0);
5363 59 : x6 = XEXP (x5, 1);
5364 59 : operands[2] = x6;
5365 59 : if (!register_operand (operands[2], E_QImode))
5366 : return -1;
5367 34 : x7 = XEXP (x3, 1);
5368 34 : operands[1] = x7;
5369 34 : switch (GET_MODE (operands[0]))
5370 : {
5371 22 : case E_QImode:
5372 22 : return pattern1442 (x3,
5373 22 : E_QImode); /* [-1, 0] */
5374 :
5375 12 : case E_HImode:
5376 12 : if (pattern1442 (x3,
5377 : E_HImode) != 0)
5378 : return -1;
5379 : return 1;
5380 :
5381 : default:
5382 : return -1;
5383 : }
5384 : }
5385 :
5386 : int
5387 5339 : pattern1457 (rtx x1, machine_mode i1)
5388 : {
5389 5339 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5390 5339 : rtx x2, x3;
5391 5339 : int res ATTRIBUTE_UNUSED;
5392 5339 : if (!register_operand (operands[0], i1)
5393 5339 : || !addsub_vm_operator (operands[6], i1))
5394 1311 : return -1;
5395 4028 : x2 = XEXP (x1, 0);
5396 4028 : if (GET_MODE (x2) != i1
5397 4028 : || !vector_operand (operands[1], i1)
5398 4468 : || !vector_operand (operands[2], i1))
5399 3588 : return -1;
5400 440 : x3 = XEXP (x1, 1);
5401 440 : if (GET_MODE (x3) != i1
5402 440 : || !register_operand (operands[3], i1)
5403 872 : || !vector_operand (operands[4], i1))
5404 8 : return -1;
5405 : return 0;
5406 : }
5407 :
5408 : int
5409 563 : pattern1465 (rtx x1, machine_mode i1)
5410 : {
5411 563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5412 563 : rtx x2, x3;
5413 563 : int res ATTRIBUTE_UNUSED;
5414 563 : if (!register_operand (operands[0], i1)
5415 563 : || GET_MODE (x1) != i1
5416 1126 : || !register_operand (operands[1], i1))
5417 354 : return -1;
5418 209 : x2 = XEXP (x1, 2);
5419 209 : x3 = XEXP (x2, 0);
5420 209 : if (GET_MODE (x3) != i1
5421 209 : || !register_operand (operands[2], i1))
5422 90 : return -1;
5423 : return 0;
5424 : }
5425 :
5426 : int
5427 564 : pattern1469 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5428 : {
5429 564 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5430 564 : rtx x2;
5431 564 : int res ATTRIBUTE_UNUSED;
5432 564 : if (!register_operand (operands[0], i1)
5433 564 : || GET_MODE (x1) != i1)
5434 : return -1;
5435 493 : x2 = XEXP (x1, 0);
5436 493 : if (GET_MODE (x2) != i1
5437 493 : || !register_operand (operands[1], i1)
5438 461 : || !register_operand (operands[2], i1)
5439 461 : || !nonimmediate_operand (operands[3], i2)
5440 461 : || !const0_operand (operands[5], i1)
5441 954 : || !register_operand (operands[6], i3))
5442 68 : return -1;
5443 : return 0;
5444 : }
5445 :
5446 : int
5447 0 : pattern1481 (rtx x1, machine_mode i1, machine_mode i2)
5448 : {
5449 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5450 0 : rtx x2;
5451 0 : int res ATTRIBUTE_UNUSED;
5452 0 : if (!register_operand (operands[0], i1)
5453 0 : || GET_MODE (x1) != i1
5454 0 : || !vector_all_ones_operand (operands[1], i1))
5455 0 : return -1;
5456 0 : x2 = XEXP (x1, 2);
5457 0 : return pattern1480 (x2,
5458 : i1,
5459 0 : i2); /* [-1, 0] */
5460 : }
5461 :
5462 : int
5463 1188 : pattern1486 (rtx x1, machine_mode i1, machine_mode i2)
5464 : {
5465 1188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5466 1188 : rtx x2, x3;
5467 1188 : int res ATTRIBUTE_UNUSED;
5468 1188 : if (!register_operand (operands[0], i1)
5469 1188 : || GET_MODE (x1) != i1)
5470 : return -1;
5471 1155 : x2 = XVECEXP (x1, 0, 0);
5472 1155 : if (GET_MODE (x2) != i1)
5473 : return -1;
5474 1155 : x3 = XEXP (x2, 0);
5475 1155 : if (GET_MODE (x3) != i1
5476 1155 : || !register_operand (operands[1], i1)
5477 1147 : || !nonimm_or_0_operand (operands[2], i1)
5478 2302 : || !register_operand (operands[3], i2))
5479 23 : return -1;
5480 : return 0;
5481 : }
5482 :
5483 : int
5484 86892 : pattern1493 (rtx x1, machine_mode i1, machine_mode i2)
5485 : {
5486 86892 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5487 86892 : rtx x2;
5488 86892 : int res ATTRIBUTE_UNUSED;
5489 86892 : if (!nonimmediate_operand (operands[0], i1)
5490 86892 : || GET_MODE (x1) != i1)
5491 : return -1;
5492 86892 : x2 = XEXP (x1, 0);
5493 86892 : if (GET_MODE (x2) != i2
5494 86892 : || !nonimmediate_operand (operands[1], i1)
5495 173764 : || !nonimmediate_operand (operands[2], i1))
5496 199 : return -1;
5497 : return 0;
5498 : }
5499 :
5500 : int
5501 11924 : pattern1499 (rtx x1, machine_mode i1)
5502 : {
5503 11924 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5504 11924 : int res ATTRIBUTE_UNUSED;
5505 11924 : if (!nonimmediate_operand (operands[1], i1)
5506 11924 : || !general_operand (operands[2], i1)
5507 11888 : || !nonimmediate_operand (operands[0], i1)
5508 23812 : || GET_MODE (x1) != i1)
5509 36 : return -1;
5510 : return 0;
5511 : }
5512 :
5513 : int
5514 71210 : pattern1505 (rtx x1, machine_mode i1)
5515 : {
5516 71210 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5517 71210 : rtx x2, x3, x4, x5;
5518 71210 : int res ATTRIBUTE_UNUSED;
5519 71210 : if (!register_operand (operands[0], i1))
5520 : return -1;
5521 71206 : x2 = XVECEXP (x1, 0, 0);
5522 71206 : x3 = XEXP (x2, 1);
5523 71206 : if (GET_MODE (x3) != i1
5524 71206 : || !register_operand (operands[2], i1)
5525 70918 : || !const_int_operand (operands[3], i1)
5526 142124 : || !register_operand (operands[1], i1))
5527 288 : return -1;
5528 70918 : x4 = XVECEXP (x1, 0, 1);
5529 70918 : x5 = XEXP (x4, 1);
5530 70918 : if (GET_MODE (x5) != i1)
5531 : return -1;
5532 : return 0;
5533 : }
5534 :
5535 : int
5536 4345 : pattern1516 (rtx x1)
5537 : {
5538 4345 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5539 4345 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5540 4345 : rtx x10;
5541 4345 : int res ATTRIBUTE_UNUSED;
5542 4345 : x2 = XVECEXP (x1, 0, 0);
5543 4345 : x3 = XEXP (x2, 1);
5544 4345 : x4 = XEXP (x3, 0);
5545 4345 : x5 = XEXP (x4, 0);
5546 4345 : if (!rtx_equal_p (x5, operands[0]))
5547 : return -1;
5548 3951 : x6 = XVECEXP (x1, 0, 1);
5549 3951 : x7 = XEXP (x6, 1);
5550 3951 : if (!rtx_equal_p (x7, operands[3]))
5551 : return -1;
5552 3951 : x8 = XEXP (x6, 0);
5553 3951 : if (!rtx_equal_p (x8, operands[0]))
5554 : return -1;
5555 3951 : x9 = PATTERN (peep2_next_insn (2));
5556 3951 : x10 = XEXP (x9, 1);
5557 3951 : if (!rtx_equal_p (x10, operands[0]))
5558 : return -1;
5559 : return 0;
5560 : }
5561 :
5562 : int
5563 546 : pattern1525 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5564 : {
5565 546 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5566 546 : rtx x2;
5567 546 : int res ATTRIBUTE_UNUSED;
5568 546 : if (!register_operand (operands[0], i2)
5569 546 : || GET_MODE (x1) != i2)
5570 : return -1;
5571 503 : x2 = XEXP (x1, 0);
5572 503 : if (GET_MODE (x2) != i2
5573 503 : || !register_operand (operands[1], i2)
5574 503 : || !register_operand (operands[2], i2)
5575 503 : || !nonimmediate_operand (operands[3], i1)
5576 1006 : || !register_operand (operands[5], i3))
5577 0 : return -1;
5578 : return 0;
5579 : }
5580 :
5581 : int
5582 274 : pattern1532 (rtx x1, machine_mode i1, machine_mode i2)
5583 : {
5584 274 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5585 274 : rtx x2, x3, x4, x5, x6, x7;
5586 274 : int res ATTRIBUTE_UNUSED;
5587 274 : if (!register_operand (operands[0], i1)
5588 274 : || GET_MODE (x1) != i1)
5589 : return -1;
5590 269 : x2 = XEXP (x1, 0);
5591 269 : if (GET_MODE (x2) != i2)
5592 : return -1;
5593 269 : x3 = XEXP (x2, 0);
5594 269 : if (GET_MODE (x3) != i2)
5595 : return -1;
5596 269 : x4 = XEXP (x3, 0);
5597 269 : if (GET_MODE (x4) != i2)
5598 : return -1;
5599 269 : x5 = XEXP (x4, 0);
5600 269 : if (GET_MODE (x5) != i2)
5601 : return -1;
5602 269 : x6 = XEXP (x5, 0);
5603 269 : if (GET_MODE (x6) != i2
5604 269 : || !vector_operand (operands[1], i1))
5605 4 : return -1;
5606 265 : x7 = XEXP (x5, 1);
5607 265 : if (GET_MODE (x7) != i2
5608 265 : || !vector_operand (operands[2], i1)
5609 530 : || !const1_operand (operands[3], i1))
5610 0 : return -1;
5611 : return 0;
5612 : }
5613 :
5614 : int
5615 6456 : pattern1546 (rtx x1)
5616 : {
5617 6456 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5618 6456 : rtx x2, x3;
5619 6456 : int res ATTRIBUTE_UNUSED;
5620 6456 : if (GET_CODE (x1) != SET)
5621 : return -1;
5622 5759 : x2 = XEXP (x1, 1);
5623 5759 : if (GET_CODE (x2) != COMPARE
5624 3291 : || GET_MODE (x2) != E_CCZmode)
5625 : return -1;
5626 3237 : x3 = XEXP (x1, 0);
5627 3237 : if (GET_CODE (x3) != REG
5628 3237 : || REGNO (x3) != 17
5629 6474 : || GET_MODE (x3) != E_CCZmode)
5630 0 : return -1;
5631 : return 0;
5632 : }
5633 :
5634 : int
5635 18 : pattern1553 (rtx x1, machine_mode i1)
5636 : {
5637 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5638 18 : rtx x2, x3, x4;
5639 18 : int res ATTRIBUTE_UNUSED;
5640 18 : if (!register_operand (operands[0], i1)
5641 18 : || GET_MODE (x1) != i1)
5642 : return -1;
5643 12 : x2 = XEXP (x1, 0);
5644 12 : if (GET_MODE (x2) != i1)
5645 : return -1;
5646 12 : x3 = XEXP (x2, 0);
5647 12 : if (GET_MODE (x3) != i1
5648 12 : || !nonimmediate_operand (operands[1], i1)
5649 24 : || !nonimmediate_operand (operands[2], i1))
5650 0 : return -1;
5651 12 : x4 = XEXP (x3, 2);
5652 12 : if (GET_MODE (x4) != i1
5653 12 : || !nonimmediate_operand (operands[3], i1)
5654 24 : || !const0_operand (operands[4], i1))
5655 0 : return -1;
5656 : return 0;
5657 : }
5658 :
5659 : int
5660 302 : pattern1564 (rtx x1, machine_mode i1)
5661 : {
5662 302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5663 302 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5664 302 : rtx x10, x11, x12, x13, x14, x15;
5665 302 : int res ATTRIBUTE_UNUSED;
5666 302 : x2 = XEXP (x1, 0);
5667 302 : x3 = XEXP (x2, 0);
5668 302 : x4 = XEXP (x3, 0);
5669 302 : if (GET_MODE (x4) != i1)
5670 : return -1;
5671 302 : x5 = XEXP (x3, 1);
5672 302 : if (GET_MODE (x5) != i1)
5673 : return -1;
5674 302 : x6 = XEXP (x2, 1);
5675 302 : x7 = XEXP (x6, 0);
5676 302 : if (GET_MODE (x7) != i1)
5677 : return -1;
5678 302 : x8 = XEXP (x6, 1);
5679 302 : if (GET_MODE (x8) != i1)
5680 : return -1;
5681 302 : x9 = XEXP (x1, 1);
5682 302 : x10 = XEXP (x9, 0);
5683 302 : x11 = XEXP (x10, 0);
5684 302 : if (GET_MODE (x11) != i1)
5685 : return -1;
5686 302 : x12 = XEXP (x10, 1);
5687 302 : if (GET_MODE (x12) != i1)
5688 : return -1;
5689 302 : x13 = XEXP (x9, 1);
5690 302 : x14 = XEXP (x13, 0);
5691 302 : if (GET_MODE (x14) != i1)
5692 : return -1;
5693 302 : x15 = XEXP (x13, 1);
5694 302 : if (GET_MODE (x15) != i1)
5695 0 : return -1;
5696 : return 0;
5697 : }
5698 :
5699 : int
5700 34 : pattern1578 (rtx x1, machine_mode i1)
5701 : {
5702 34 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5703 34 : rtx x2, x3;
5704 34 : int res ATTRIBUTE_UNUSED;
5705 34 : if (!nonimmediate_operand (operands[0], i1)
5706 34 : || GET_MODE (x1) != i1)
5707 : return -1;
5708 34 : x2 = XEXP (x1, 0);
5709 34 : if (GET_MODE (x2) != i1
5710 34 : || !nonimmediate_operand (operands[1], i1))
5711 0 : return -1;
5712 34 : x3 = XEXP (x2, 1);
5713 34 : if (GET_MODE (x3) != i1
5714 34 : || !x86_64_general_operand (operands[2], i1))
5715 0 : return -1;
5716 : return 0;
5717 : }
5718 :
5719 : int
5720 0 : pattern1586 (rtx x1, machine_mode i1)
5721 : {
5722 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5723 0 : rtx x2, x3, x4, x5;
5724 0 : int res ATTRIBUTE_UNUSED;
5725 0 : x2 = XVECEXP (x1, 0, 0);
5726 0 : x3 = XEXP (x2, 0);
5727 0 : if (GET_MODE (x3) != i1
5728 0 : || !register_operand (operands[2], i1))
5729 0 : return -1;
5730 0 : switch (GET_MODE (operands[1]))
5731 : {
5732 0 : case E_SImode:
5733 0 : if (!register_operand (operands[1], E_SImode)
5734 0 : || !register_operand (operands[0], E_SImode))
5735 0 : return -1;
5736 0 : x4 = XVECEXP (x1, 0, 1);
5737 0 : x5 = XEXP (x4, 1);
5738 0 : if (GET_MODE (x5) != E_SImode)
5739 : return -1;
5740 : return 0;
5741 :
5742 0 : case E_DImode:
5743 0 : if (!register_operand (operands[1], E_DImode)
5744 0 : || !register_operand (operands[0], E_DImode))
5745 0 : return -1;
5746 0 : x4 = XVECEXP (x1, 0, 1);
5747 0 : x5 = XEXP (x4, 1);
5748 0 : if (GET_MODE (x5) != E_DImode)
5749 : return -1;
5750 : return 1;
5751 :
5752 : default:
5753 : return -1;
5754 : }
5755 : }
5756 :
5757 : int
5758 976 : pattern1600 (machine_mode i1, machine_mode i2)
5759 : {
5760 976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5761 976 : int res ATTRIBUTE_UNUSED;
5762 976 : if (!register_operand (operands[2], i2)
5763 968 : || !register_operand (operands[3], i2)
5764 968 : || !const0_operand (operands[4], i2)
5765 1944 : || !register_operand (operands[5], i1))
5766 24 : return -1;
5767 : return 0;
5768 : }
5769 :
5770 : int
5771 1223 : pattern1606 (rtx x1, machine_mode i1, machine_mode i2)
5772 : {
5773 1223 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5774 1223 : rtx x2, x3, x4;
5775 1223 : int res ATTRIBUTE_UNUSED;
5776 1223 : if (!register_operand (operands[0], i2)
5777 1223 : || GET_MODE (x1) != i2)
5778 : return -1;
5779 1200 : x2 = XVECEXP (x1, 0, 0);
5780 1200 : if (GET_MODE (x2) != i2)
5781 : return -1;
5782 1200 : x3 = XEXP (x2, 0);
5783 1200 : if (GET_MODE (x3) != i2
5784 1200 : || !register_operand (operands[2], i2))
5785 10 : return -1;
5786 1190 : x4 = XEXP (x3, 2);
5787 1190 : if (GET_MODE (x4) != i2
5788 1190 : || !register_operand (operands[4], i1))
5789 0 : return -1;
5790 : return 0;
5791 : }
5792 :
5793 : int
5794 287 : pattern1614 (machine_mode i1)
5795 : {
5796 287 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5797 287 : int res ATTRIBUTE_UNUSED;
5798 287 : if (!vsib_address_operand (operands[0], i1))
5799 : return -1;
5800 233 : switch (GET_MODE (operands[2]))
5801 : {
5802 159 : case E_V8SImode:
5803 159 : if (!register_operand (operands[2], E_V8SImode))
5804 : return -1;
5805 : return 0;
5806 :
5807 74 : case E_V8DImode:
5808 74 : if (!register_operand (operands[2], E_V8DImode))
5809 : return -1;
5810 : return 1;
5811 :
5812 : default:
5813 : return -1;
5814 : }
5815 : }
5816 :
5817 : int
5818 1076 : pattern1622 (rtx x1, machine_mode i1, machine_mode i2)
5819 : {
5820 1076 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5821 1076 : rtx x2, x3;
5822 1076 : int res ATTRIBUTE_UNUSED;
5823 1076 : if (!register_operand (operands[0], i2)
5824 1043 : || GET_MODE (x1) != i2
5825 2119 : || !vsib_mem_operator (operands[5], i1))
5826 33 : return -1;
5827 1043 : switch (GET_MODE (operands[6]))
5828 : {
5829 94 : case E_HImode:
5830 94 : x2 = XVECEXP (x1, 0, 2);
5831 94 : x3 = XEXP (x2, 0);
5832 94 : return pattern1621 (x3,
5833 : E_V16SImode,
5834 94 : E_HImode); /* [-1, 1] */
5835 :
5836 95 : case E_QImode:
5837 95 : x2 = XVECEXP (x1, 0, 2);
5838 95 : x3 = XEXP (x2, 0);
5839 95 : res = pattern1621 (x3,
5840 : E_V8DImode,
5841 : E_QImode);
5842 95 : if (res >= 0)
5843 58 : return res + 2; /* [2, 3] */
5844 : return -1;
5845 :
5846 : default:
5847 : return -1;
5848 : }
5849 : }
5850 :
5851 : int
5852 2 : pattern1634 (rtx x1)
5853 : {
5854 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5855 2 : rtx x2, x3, x4, x5, x6, x7, x8;
5856 2 : int res ATTRIBUTE_UNUSED;
5857 2 : x2 = XVECEXP (x1, 0, 1);
5858 2 : x3 = XEXP (x2, 1);
5859 2 : x4 = XEXP (x3, 1);
5860 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5861 : return -1;
5862 2 : x5 = XEXP (x3, 0);
5863 2 : if (!rtx_equal_p (x5, operands[1]))
5864 : return -1;
5865 2 : x6 = XVECEXP (x1, 0, 0);
5866 2 : x7 = XEXP (x6, 1);
5867 2 : x8 = XVECEXP (x7, 0, 0);
5868 2 : switch (GET_MODE (x8))
5869 : {
5870 0 : case E_SImode:
5871 0 : if (!nonimmediate_operand (operands[1], E_SImode)
5872 0 : || !register_operand (operands[0], E_SImode)
5873 0 : || GET_MODE (x3) != E_SImode)
5874 0 : return -1;
5875 : return 0;
5876 :
5877 2 : case E_DImode:
5878 2 : if (!nonimmediate_operand (operands[1], E_DImode)
5879 2 : || !register_operand (operands[0], E_DImode)
5880 4 : || GET_MODE (x3) != E_DImode)
5881 0 : return -1;
5882 : return 1;
5883 :
5884 : default:
5885 : return -1;
5886 : }
5887 : }
5888 :
5889 : int
5890 1416 : pattern1650 (rtx x1, machine_mode i1)
5891 : {
5892 1416 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5893 1416 : rtx x2, x3, x4;
5894 1416 : int res ATTRIBUTE_UNUSED;
5895 1416 : if (!x86_64_nonmemory_operand (operands[1], i1))
5896 : return -1;
5897 1416 : operands[3] = x1;
5898 1416 : if (!register_operand (operands[3], i1))
5899 : return -1;
5900 9 : x2 = PATTERN (peep2_next_insn (1));
5901 9 : x3 = XEXP (x2, 1);
5902 9 : if (!rtx_equal_p (x3, operands[3]))
5903 : return -1;
5904 9 : x4 = XEXP (x2, 0);
5905 9 : if (!rtx_equal_p (x4, operands[0]))
5906 : return -1;
5907 : return 0;
5908 : }
5909 :
5910 : int
5911 470 : pattern1658 (rtx x1, machine_mode i1, machine_mode i2)
5912 : {
5913 470 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5914 470 : rtx x2, x3;
5915 470 : int res ATTRIBUTE_UNUSED;
5916 470 : if (!register_operand (operands[0], i1)
5917 470 : || GET_MODE (x1) != i1)
5918 : return -1;
5919 397 : x2 = XEXP (x1, 0);
5920 397 : if (GET_MODE (x2) != i1)
5921 : return -1;
5922 397 : x3 = XEXP (x2, 0);
5923 397 : if (GET_MODE (x3) != i2
5924 397 : || !register_operand (operands[1], i1)
5925 395 : || !nonimmediate_operand (operands[2], i1)
5926 395 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
5927 395 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
5928 383 : || !const_4_to_7_operand (operands[5], E_VOIDmode)
5929 383 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
5930 780 : || !nonimm_or_0_operand (operands[7], i1))
5931 14 : return -1;
5932 : return 0;
5933 : }
5934 :
5935 : int
5936 191 : pattern1668 (rtx x1, machine_mode i1)
5937 : {
5938 191 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5939 191 : rtx x2, x3, x4;
5940 191 : int res ATTRIBUTE_UNUSED;
5941 191 : if (!register_operand (operands[0], i1)
5942 191 : || GET_MODE (x1) != i1)
5943 : return -1;
5944 171 : x2 = XVECEXP (x1, 0, 0);
5945 171 : if (GET_MODE (x2) != i1)
5946 : return -1;
5947 171 : x3 = XEXP (x2, 0);
5948 171 : if (GET_MODE (x3) != i1)
5949 : return -1;
5950 171 : x4 = XEXP (x3, 0);
5951 171 : if (GET_MODE (x4) != i1
5952 171 : || !nonimmediate_operand (operands[1], i1)
5953 171 : || !register_operand (operands[2], i1)
5954 329 : || !register_operand (operands[3], i1))
5955 15 : return -1;
5956 : return 0;
5957 : }
5958 :
5959 : int
5960 22 : pattern1680 (rtx x1, machine_mode i1)
5961 : {
5962 22 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5963 22 : rtx x2, x3, x4, x5;
5964 22 : int res ATTRIBUTE_UNUSED;
5965 22 : if (!register_operand (operands[2], i1)
5966 22 : || !register_operand (operands[3], i1)
5967 44 : || !register_operand (operands[0], i1))
5968 0 : return -1;
5969 22 : x2 = XVECEXP (x1, 0, 1);
5970 22 : x3 = XEXP (x2, 1);
5971 22 : if (GET_MODE (x3) != i1
5972 22 : || !register_operand (operands[1], i1))
5973 0 : return -1;
5974 22 : x4 = XVECEXP (x1, 0, 2);
5975 22 : x5 = XEXP (x4, 1);
5976 22 : if (GET_MODE (x5) != i1)
5977 : return -1;
5978 : return 0;
5979 : }
5980 :
5981 : int
5982 2448 : pattern1691 (rtx x1, machine_mode i1)
5983 : {
5984 2448 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5985 2448 : rtx x2, x3, x4;
5986 2448 : int res ATTRIBUTE_UNUSED;
5987 2448 : if (!register_operand (operands[0], i1)
5988 2448 : || GET_MODE (x1) != i1)
5989 : return -1;
5990 2416 : x2 = XVECEXP (x1, 0, 0);
5991 2416 : if (GET_MODE (x2) != i1)
5992 : return -1;
5993 2416 : x3 = XEXP (x2, 0);
5994 2416 : if (GET_MODE (x3) != i1)
5995 : return -1;
5996 2416 : x4 = XEXP (x3, 0);
5997 2416 : if (GET_MODE (x4) != i1
5998 2416 : || !register_operand (operands[2], i1))
5999 13 : return -1;
6000 : return 0;
6001 : }
6002 :
6003 : int
6004 1563 : pattern1700 (rtx x1)
6005 : {
6006 1563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6007 1563 : rtx x2, x3, x4, x5, x6, x7, x8;
6008 1563 : int res ATTRIBUTE_UNUSED;
6009 1563 : if (!nonimmediate_operand (operands[0], E_DImode))
6010 : return -1;
6011 1563 : x2 = XEXP (x1, 1);
6012 1563 : if (GET_MODE (x2) != E_DImode)
6013 : return -1;
6014 1563 : x3 = XEXP (x2, 0);
6015 1563 : if (GET_MODE (x3) != E_TImode)
6016 : return -1;
6017 1563 : x4 = XEXP (x3, 0);
6018 1563 : if (GET_MODE (x4) != E_TImode)
6019 : return -1;
6020 1563 : x5 = XEXP (x4, 0);
6021 1563 : operands[1] = x5;
6022 1563 : if (!register_operand (operands[1], E_DImode))
6023 : return -1;
6024 1563 : x6 = XEXP (x3, 1);
6025 1563 : operands[3] = x6;
6026 1563 : if (!const_0_to_255_operand (operands[3], E_QImode))
6027 : return -1;
6028 1563 : x7 = XEXP (x1, 0);
6029 1563 : x8 = XEXP (x7, 0);
6030 1563 : if (!rtx_equal_p (x8, operands[0]))
6031 : return -1;
6032 : return 0;
6033 : }
6034 :
6035 : int
6036 380 : pattern1711 (rtx x1, int i1, int i2, int i3, int i4, int i5)
6037 : {
6038 380 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6039 380 : rtx x2, x3, x4, x5, x6;
6040 380 : int res ATTRIBUTE_UNUSED;
6041 380 : x2 = XVECEXP (x1, 0, 12);
6042 380 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6043 : return -1;
6044 380 : x3 = XVECEXP (x1, 0, 13);
6045 380 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6046 : return -1;
6047 380 : x4 = XVECEXP (x1, 0, 14);
6048 380 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6049 : return -1;
6050 380 : x5 = XVECEXP (x1, 0, 15);
6051 380 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6052 : return -1;
6053 380 : x6 = XVECEXP (x1, 0, 16);
6054 380 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
6055 0 : return -1;
6056 : return 0;
6057 : }
6058 :
6059 : int
6060 423 : pattern1720 (machine_mode i1)
6061 : {
6062 423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6063 423 : int res ATTRIBUTE_UNUSED;
6064 423 : if (!vsib_address_operand (operands[0], i1))
6065 : return -1;
6066 401 : switch (GET_MODE (operands[2]))
6067 : {
6068 125 : case E_V16SImode:
6069 125 : if (!register_operand (operands[2], E_V16SImode)
6070 108 : || !register_operand (operands[6], E_HImode)
6071 160 : || !register_operand (operands[3], E_V16SImode))
6072 99 : return -1;
6073 : return 0;
6074 :
6075 276 : case E_V8DImode:
6076 276 : if (!register_operand (operands[2], E_V8DImode)
6077 266 : || !register_operand (operands[6], E_QImode)
6078 466 : || !register_operand (operands[3], E_V8SImode))
6079 208 : return -1;
6080 : return 1;
6081 :
6082 : default:
6083 : return -1;
6084 : }
6085 : }
6086 :
6087 : int
6088 872 : pattern1731 (rtx x1, machine_mode i1)
6089 : {
6090 872 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6091 872 : rtx x2, x3, x4;
6092 872 : int res ATTRIBUTE_UNUSED;
6093 872 : if (!vsib_mem_operator (operands[5], i1)
6094 872 : || !register_operand (operands[6], E_QImode))
6095 80 : return -1;
6096 792 : x2 = XEXP (x1, 1);
6097 792 : if (GET_MODE (x2) != i1
6098 792 : || !scratch_operand (operands[1], E_QImode))
6099 0 : return -1;
6100 792 : x3 = XEXP (x1, 0);
6101 792 : x4 = XEXP (x3, 0);
6102 792 : switch (GET_MODE (x4))
6103 : {
6104 : case E_SImode:
6105 : return 0;
6106 :
6107 792 : case E_DImode:
6108 792 : return 1;
6109 :
6110 : default:
6111 : return -1;
6112 : }
6113 : }
6114 :
6115 : int
6116 123 : pattern1742 (machine_mode i1)
6117 : {
6118 123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6119 123 : int res ATTRIBUTE_UNUSED;
6120 123 : if (!vsib_address_operand (operands[3], i1))
6121 : return -1;
6122 119 : switch (GET_MODE (operands[2]))
6123 : {
6124 34 : case E_V4SImode:
6125 34 : if (!register_operand (operands[2], E_V4SImode))
6126 : return -1;
6127 : return 0;
6128 :
6129 85 : case E_V4DImode:
6130 85 : if (!register_operand (operands[2], E_V4DImode))
6131 : return -1;
6132 : return 1;
6133 :
6134 : default:
6135 : return -1;
6136 : }
6137 : }
6138 :
6139 : int
6140 0 : pattern1751 (rtx x1, machine_mode i1)
6141 : {
6142 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6143 0 : rtx x2, x3, x4, x5;
6144 0 : int res ATTRIBUTE_UNUSED;
6145 0 : x2 = XVECEXP (x1, 0, 1);
6146 0 : if (GET_CODE (x2) != CLOBBER)
6147 : return -1;
6148 0 : x3 = XEXP (x2, 0);
6149 0 : if (GET_CODE (x3) != REG
6150 0 : || REGNO (x3) != 17
6151 0 : || GET_MODE (x3) != E_CCmode)
6152 : return -1;
6153 0 : x4 = XVECEXP (x1, 0, 0);
6154 0 : x5 = XEXP (x4, 0);
6155 0 : operands[3] = x5;
6156 0 : if (!any_QIreg_operand (operands[3], i1))
6157 : return -1;
6158 : return 0;
6159 : }
6160 :
6161 : int
6162 148 : pattern1759 (machine_mode i1)
6163 : {
6164 148 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6165 148 : int res ATTRIBUTE_UNUSED;
6166 148 : if (!vsib_address_operand (operands[0], i1))
6167 : return -1;
6168 131 : switch (GET_MODE (operands[2]))
6169 : {
6170 75 : case E_V8SImode:
6171 75 : if (!register_operand (operands[2], E_V8SImode)
6172 75 : || !register_operand (operands[3], E_V8SImode))
6173 48 : return -1;
6174 : return 0;
6175 :
6176 56 : case E_V4DImode:
6177 56 : if (!register_operand (operands[2], E_V4DImode)
6178 56 : || !register_operand (operands[3], E_V4SImode))
6179 29 : return -1;
6180 : return 1;
6181 :
6182 : default:
6183 : return -1;
6184 : }
6185 : }
6186 :
6187 : int
6188 574 : pattern1765 (machine_mode i1)
6189 : {
6190 574 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6191 574 : int res ATTRIBUTE_UNUSED;
6192 574 : if (!vsib_address_operand (operands[4], i1))
6193 : return -1;
6194 574 : switch (GET_MODE (operands[3]))
6195 : {
6196 324 : case E_V8SImode:
6197 324 : if (!register_operand (operands[3], E_V8SImode))
6198 : return -1;
6199 : return 0;
6200 :
6201 250 : case E_V8DImode:
6202 250 : if (!register_operand (operands[3], E_V8DImode))
6203 : return -1;
6204 : return 1;
6205 :
6206 : default:
6207 : return -1;
6208 : }
6209 : }
6210 :
6211 : int
6212 22 : pattern1773 (rtx x1, machine_mode i1)
6213 : {
6214 22 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6215 22 : int res ATTRIBUTE_UNUSED;
6216 22 : if (GET_MODE (x1) != i1
6217 22 : || !nonimmediate_operand (operands[1], i1)
6218 22 : || !ix86_carry_flag_operator (operands[3], i1)
6219 44 : || !x86_64_general_operand (operands[2], i1))
6220 0 : return -1;
6221 : return 0;
6222 : }
6223 :
6224 : int
6225 181340 : pattern1781 (rtx x1, machine_mode i1, machine_mode i2)
6226 : {
6227 181340 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6228 181340 : rtx x2, x3;
6229 181340 : int res ATTRIBUTE_UNUSED;
6230 181340 : if (!register_operand (operands[1], i1)
6231 181340 : || GET_MODE (x1) != i2)
6232 : return -1;
6233 180298 : x2 = XEXP (x1, 0);
6234 180298 : if (GET_MODE (x2) != i2)
6235 : return -1;
6236 180298 : x3 = XEXP (x1, 1);
6237 180298 : if (GET_MODE (x3) != i2
6238 180298 : || !x86_64_sext_operand (operands[2], i1)
6239 360261 : || !scratch_operand (operands[0], i1))
6240 419 : return -1;
6241 : return 0;
6242 : }
6243 :
6244 : int
6245 449 : pattern1788 (rtx x1, machine_mode i1)
6246 : {
6247 449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6248 449 : int res ATTRIBUTE_UNUSED;
6249 449 : if (!register_operand (operands[1], i1))
6250 : return -1;
6251 221 : switch (GET_MODE (x1))
6252 : {
6253 0 : case E_HImode:
6254 0 : if (!register_operand (operands[2], E_HImode))
6255 : return -1;
6256 : return 0;
6257 :
6258 201 : case E_SImode:
6259 201 : if (!register_operand (operands[2], E_SImode))
6260 : return -1;
6261 : return 1;
6262 :
6263 20 : case E_DImode:
6264 20 : if (!register_operand (operands[2], E_DImode))
6265 : return -1;
6266 : return 2;
6267 :
6268 : default:
6269 : return -1;
6270 : }
6271 : }
6272 :
6273 : int
6274 1016 : pattern1797 (machine_mode i1)
6275 : {
6276 1016 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6277 1016 : int res ATTRIBUTE_UNUSED;
6278 1016 : if (!vsib_address_operand (operands[2], i1))
6279 : return -1;
6280 976 : switch (GET_MODE (operands[3]))
6281 : {
6282 377 : case E_V4SImode:
6283 377 : if (!register_operand (operands[3], E_V4SImode))
6284 : return -1;
6285 : return 0;
6286 :
6287 599 : case E_V2DImode:
6288 599 : if (!register_operand (operands[3], E_V2DImode))
6289 : return -1;
6290 : return 1;
6291 :
6292 : default:
6293 : return -1;
6294 : }
6295 : }
6296 :
6297 : int
6298 3186 : pattern1805 (rtx x1)
6299 : {
6300 3186 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6301 3186 : rtx x2, x3, x4, x5, x6, x7;
6302 3186 : int res ATTRIBUTE_UNUSED;
6303 3186 : x2 = XEXP (x1, 1);
6304 3186 : x3 = XEXP (x2, 0);
6305 3186 : x4 = XEXP (x3, 0);
6306 3186 : if (GET_CODE (x4) != REG
6307 3186 : || REGNO (x4) != 17
6308 6372 : || GET_MODE (x4) != E_CCZmode)
6309 : return -1;
6310 3186 : x5 = XEXP (x3, 1);
6311 3186 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6312 : return -1;
6313 3186 : x6 = XEXP (x2, 2);
6314 3186 : if (GET_CODE (x6) != PC)
6315 : return -1;
6316 3137 : x7 = XEXP (x1, 0);
6317 3137 : if (GET_CODE (x7) != PC)
6318 0 : return -1;
6319 : return 0;
6320 : }
6321 :
6322 : int
6323 1020 : pattern1815 (machine_mode i1)
6324 : {
6325 1020 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6326 1020 : int res ATTRIBUTE_UNUSED;
6327 1020 : if (!vsib_address_operand (operands[3], i1))
6328 : return -1;
6329 988 : switch (GET_MODE (operands[4]))
6330 : {
6331 441 : case E_V4SImode:
6332 441 : if (!register_operand (operands[4], E_V4SImode))
6333 : return -1;
6334 : return 0;
6335 :
6336 547 : case E_V2DImode:
6337 547 : if (!register_operand (operands[4], E_V2DImode))
6338 : return -1;
6339 : return 1;
6340 :
6341 : default:
6342 : return -1;
6343 : }
6344 : }
6345 :
6346 : int
6347 0 : pattern1821 (rtx x1, machine_mode i1)
6348 : {
6349 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6350 0 : rtx x2, x3, x4, x5, x6, x7;
6351 0 : int res ATTRIBUTE_UNUSED;
6352 0 : x2 = XVECEXP (x1, 0, 0);
6353 0 : x3 = XEXP (x2, 1);
6354 0 : x4 = XEXP (x3, 0);
6355 0 : x5 = XEXP (x4, 0);
6356 0 : if (GET_MODE (x5) != i1
6357 0 : || !ix86_carry_flag_operator (operands[4], i1)
6358 0 : || !nonimmediate_operand (operands[1], i1))
6359 0 : return -1;
6360 0 : x6 = XVECEXP (x1, 0, 1);
6361 0 : x7 = XEXP (x6, 1);
6362 0 : return pattern1820 (x7,
6363 0 : i1); /* [-1, 0] */
6364 : }
6365 :
6366 : int
6367 17642 : pattern1829 (rtx x1, machine_mode i1, machine_mode i2)
6368 : {
6369 17642 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6370 17642 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6371 17642 : int res ATTRIBUTE_UNUSED;
6372 17642 : x2 = XVECEXP (x1, 0, 0);
6373 17642 : x3 = XEXP (x2, 1);
6374 17642 : x4 = XEXP (x3, 0);
6375 17642 : x5 = XEXP (x4, 0);
6376 17642 : if (GET_MODE (x5) != i2
6377 17642 : || !nonimmediate_operand (operands[1], i1)
6378 35132 : || !const_int_operand (operands[3], i2))
6379 152 : return -1;
6380 17490 : x6 = XEXP (x3, 1);
6381 17490 : if (GET_MODE (x6) != i2)
6382 : return -1;
6383 17490 : x7 = XEXP (x6, 0);
6384 17490 : if (GET_MODE (x7) != i1
6385 17490 : || !x86_64_immediate_operand (operands[2], i1)
6386 30048 : || !register_operand (operands[0], i1))
6387 4932 : return -1;
6388 12558 : x8 = XVECEXP (x1, 0, 1);
6389 12558 : x9 = XEXP (x8, 1);
6390 12558 : if (GET_MODE (x9) != i1)
6391 : return -1;
6392 : return 0;
6393 : }
6394 :
6395 : int
6396 313 : pattern1840 (rtx x1, machine_mode i1)
6397 : {
6398 313 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6399 313 : rtx x2, x3, x4, x5, x6, x7, x8;
6400 313 : int res ATTRIBUTE_UNUSED;
6401 313 : x2 = XEXP (x1, 0);
6402 313 : x3 = XEXP (x2, 0);
6403 313 : x4 = XEXP (x3, 0);
6404 313 : x5 = XEXP (x4, 0);
6405 313 : operands[1] = x5;
6406 313 : if (!nonimmediate_operand (operands[1], i1))
6407 : return -1;
6408 313 : x6 = XEXP (x3, 2);
6409 313 : if (GET_MODE (x6) != i1
6410 313 : || !register_operand (operands[3], i1))
6411 1 : return -1;
6412 312 : x7 = XEXP (x2, 1);
6413 312 : if (!rtx_equal_p (x7, operands[1]))
6414 : return -1;
6415 84 : x8 = XEXP (x1, 1);
6416 84 : if (!rtx_equal_p (x8, operands[1]))
6417 : return -1;
6418 : return 0;
6419 : }
6420 :
6421 : int
6422 26493 : pattern1851 (rtx x1, machine_mode i1)
6423 : {
6424 26493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6425 26493 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6426 26493 : int res ATTRIBUTE_UNUSED;
6427 26493 : operands[4] = x1;
6428 26493 : if (!register_operand (operands[4], i1))
6429 : return -1;
6430 1976 : x2 = PATTERN (peep2_next_insn (3));
6431 1976 : x3 = XEXP (x2, 1);
6432 1976 : if (!rtx_equal_p (x3, operands[4]))
6433 : return -1;
6434 371 : x4 = XEXP (x2, 0);
6435 371 : if (!rtx_equal_p (x4, operands[1]))
6436 : return -1;
6437 5 : x5 = PATTERN (peep2_next_insn (4));
6438 5 : if (GET_CODE (x5) != SET)
6439 : return -1;
6440 5 : x6 = XEXP (x5, 1);
6441 5 : if (GET_CODE (x6) != COMPARE)
6442 : return -1;
6443 0 : x7 = XEXP (x6, 1);
6444 0 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6445 : return -1;
6446 0 : x8 = XEXP (x5, 0);
6447 0 : if (GET_CODE (x8) != REG
6448 0 : || REGNO (x8) != 17)
6449 : return -1;
6450 0 : x9 = XEXP (x6, 0);
6451 0 : if (!rtx_equal_p (x9, operands[4]))
6452 : return -1;
6453 : return 0;
6454 : }
6455 :
6456 : int
6457 359 : pattern1860 (rtx x1)
6458 : {
6459 359 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6460 359 : rtx x2, x3, x4, x5;
6461 359 : int res ATTRIBUTE_UNUSED;
6462 359 : x2 = XVECEXP (x1, 0, 4);
6463 359 : if (XWINT (x2, 0) != 6L)
6464 : return -1;
6465 359 : x3 = XVECEXP (x1, 0, 5);
6466 359 : if (XWINT (x3, 0) != 22L)
6467 : return -1;
6468 359 : x4 = XVECEXP (x1, 0, 6);
6469 359 : if (XWINT (x4, 0) != 7L)
6470 : return -1;
6471 359 : x5 = XVECEXP (x1, 0, 7);
6472 359 : if (XWINT (x5, 0) != 23L)
6473 0 : return -1;
6474 : return 0;
6475 : }
6476 :
6477 : int
6478 23154 : pattern1866 (rtx x1, machine_mode i1, machine_mode i2)
6479 : {
6480 23154 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6481 23154 : rtx x2, x3, x4, x5;
6482 23154 : int res ATTRIBUTE_UNUSED;
6483 23154 : if (!register_operand (operands[0], i1))
6484 : return -1;
6485 23154 : x2 = XVECEXP (x1, 0, 0);
6486 23154 : x3 = XEXP (x2, 1);
6487 23154 : if (GET_MODE (x3) != i1
6488 23154 : || !memory_operand (operands[1], i1)
6489 22992 : || !register_operand (operands[2], i1)
6490 22862 : || !register_operand (operands[3], i2)
6491 43166 : || !register_operand (operands[4], i2))
6492 3814 : return -1;
6493 19340 : x4 = XVECEXP (x1, 0, 1);
6494 19340 : x5 = XEXP (x4, 1);
6495 19340 : if (GET_MODE (x5) != i1)
6496 : return -1;
6497 : return 0;
6498 : }
6499 :
6500 : int
6501 839 : pattern1874 (rtx x1, machine_mode i1, machine_mode i2)
6502 : {
6503 839 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6504 839 : rtx x2, x3;
6505 839 : int res ATTRIBUTE_UNUSED;
6506 839 : if (GET_CODE (x1) != SIGN_EXTEND
6507 839 : || GET_MODE (x1) != i2)
6508 : return -1;
6509 839 : x2 = XEXP (x1, 0);
6510 839 : if (GET_CODE (x2) != VEC_SELECT
6511 839 : || GET_MODE (x2) != i1)
6512 : return -1;
6513 839 : x3 = XEXP (x2, 1);
6514 839 : if (GET_CODE (x3) != PARALLEL)
6515 0 : return -1;
6516 : return 0;
6517 : }
6518 :
6519 : int
6520 76119 : pattern1878 (machine_mode i1)
6521 : {
6522 76119 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6523 76119 : int res ATTRIBUTE_UNUSED;
6524 76119 : if (!register_operand (operands[6], i1)
6525 75892 : || !register_operand (operands[4], i1)
6526 72210 : || !register_operand (operands[5], i1)
6527 65278 : || !register_operand (operands[0], i1)
6528 65278 : || !register_operand (operands[1], i1)
6529 141397 : || !register_operand (operands[2], i1))
6530 10841 : return -1;
6531 : return 0;
6532 : }
6533 :
6534 : int
6535 1212 : pattern1884 ()
6536 : {
6537 1212 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6538 1212 : int res ATTRIBUTE_UNUSED;
6539 1212 : if (!const_0_to_15_operand (operands[4], E_VOIDmode)
6540 1061 : || !const_0_to_15_operand (operands[5], E_VOIDmode)
6541 962 : || !const_0_to_15_operand (operands[6], E_VOIDmode)
6542 962 : || !const_0_to_15_operand (operands[7], E_VOIDmode)
6543 934 : || !const_0_to_15_operand (operands[8], E_VOIDmode)
6544 930 : || !const_0_to_15_operand (operands[9], E_VOIDmode)
6545 930 : || !const_0_to_15_operand (operands[10], E_VOIDmode)
6546 930 : || !const_16_to_31_operand (operands[11], E_VOIDmode)
6547 859 : || !const_16_to_31_operand (operands[12], E_VOIDmode)
6548 859 : || !const_16_to_31_operand (operands[13], E_VOIDmode)
6549 859 : || !const_16_to_31_operand (operands[14], E_VOIDmode)
6550 859 : || !const_16_to_31_operand (operands[15], E_VOIDmode)
6551 859 : || !const_16_to_31_operand (operands[16], E_VOIDmode)
6552 859 : || !const_16_to_31_operand (operands[17], E_VOIDmode)
6553 2071 : || !const_16_to_31_operand (operands[18], E_VOIDmode))
6554 353 : return -1;
6555 : return 0;
6556 : }
6557 :
6558 : int
6559 5543 : pattern1893 (rtx x1, machine_mode i1, machine_mode i2)
6560 : {
6561 5543 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6562 5543 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6563 5543 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6564 5543 : rtx x18, x19, x20, x21, x22, x23;
6565 5543 : int res ATTRIBUTE_UNUSED;
6566 5543 : x2 = XVECEXP (x1, 0, 0);
6567 5543 : x3 = XEXP (x2, 1);
6568 5543 : x4 = XEXP (x3, 0);
6569 5543 : x5 = XEXP (x4, 0);
6570 5543 : if (GET_MODE (x5) != i1)
6571 : return -1;
6572 5543 : x6 = XEXP (x5, 0);
6573 5543 : if (GET_MODE (x6) != i1
6574 5543 : || !ix86_carry_flag_operator (operands[4], i1)
6575 5543 : || !general_reg_operand (operands[0], i1)
6576 10746 : || !memory_operand (operands[1], i1))
6577 1832 : return -1;
6578 3711 : x7 = XEXP (x3, 1);
6579 3711 : if (GET_MODE (x7) != i2
6580 3711 : || !ix86_carry_flag_operator (operands[3], i2))
6581 0 : return -1;
6582 3711 : x8 = XEXP (x7, 1);
6583 3711 : if (GET_MODE (x8) != i2)
6584 : return -1;
6585 3711 : x9 = XVECEXP (x1, 0, 1);
6586 3711 : x10 = XEXP (x9, 1);
6587 3711 : if (GET_MODE (x10) != i1)
6588 : return -1;
6589 3711 : x11 = XEXP (x10, 0);
6590 3711 : if (GET_MODE (x11) != i1)
6591 : return -1;
6592 3711 : x12 = PATTERN (peep2_next_insn (1));
6593 3711 : x13 = XEXP (x12, 1);
6594 3711 : switch (GET_CODE (x13))
6595 : {
6596 2027 : case REG:
6597 2027 : if (!rtx_equal_p (x13, operands[0]))
6598 : return -1;
6599 1476 : x14 = XEXP (x12, 0);
6600 1476 : if (!rtx_equal_p (x14, operands[1]))
6601 : return -1;
6602 : return 0;
6603 :
6604 1130 : case LTU:
6605 1130 : if (peep2_current_count < 3
6606 1130 : || peep2_current_count < 4
6607 1128 : || GET_MODE (x13) != E_QImode)
6608 : return -1;
6609 1128 : x15 = XEXP (x13, 0);
6610 1128 : if (GET_CODE (x15) != REG
6611 1128 : || REGNO (x15) != 17
6612 2256 : || GET_MODE (x15) != E_CCCmode)
6613 : return -1;
6614 1128 : x16 = XEXP (x13, 1);
6615 1128 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6616 : return -1;
6617 1128 : x14 = XEXP (x12, 0);
6618 1128 : operands[5] = x14;
6619 1128 : if (!general_reg_operand (operands[5], E_QImode))
6620 : return -1;
6621 1120 : x17 = PATTERN (peep2_next_insn (2));
6622 1120 : if (GET_CODE (x17) != SET)
6623 : return -1;
6624 901 : x18 = XEXP (x17, 1);
6625 901 : if (GET_CODE (x18) != ZERO_EXTEND
6626 15 : || GET_MODE (x18) != i1)
6627 : return -1;
6628 15 : x19 = XEXP (x17, 0);
6629 15 : operands[6] = x19;
6630 15 : if (!general_reg_operand (operands[6], i1))
6631 : return -1;
6632 15 : x20 = XEXP (x18, 0);
6633 15 : if (!rtx_equal_p (x20, operands[5]))
6634 : return -1;
6635 15 : x21 = PATTERN (peep2_next_insn (3));
6636 15 : if (GET_CODE (x21) != SET)
6637 : return -1;
6638 15 : x22 = XEXP (x21, 1);
6639 15 : if (!rtx_equal_p (x22, operands[0]))
6640 : return -1;
6641 10 : x23 = XEXP (x21, 0);
6642 10 : if (!rtx_equal_p (x23, operands[1]))
6643 : return -1;
6644 : return 1;
6645 :
6646 : default:
6647 : return -1;
6648 : }
6649 : }
6650 :
6651 : int
6652 423 : pattern1920 (rtx x1)
6653 : {
6654 423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6655 423 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6656 423 : int res ATTRIBUTE_UNUSED;
6657 423 : x2 = XVECEXP (x1, 0, 24);
6658 423 : if (XWINT (x2, 0) != 28L)
6659 : return -1;
6660 423 : x3 = XVECEXP (x1, 0, 25);
6661 423 : if (XWINT (x3, 0) != 60L)
6662 : return -1;
6663 423 : x4 = XVECEXP (x1, 0, 26);
6664 423 : if (XWINT (x4, 0) != 29L)
6665 : return -1;
6666 423 : x5 = XVECEXP (x1, 0, 27);
6667 423 : if (XWINT (x5, 0) != 61L)
6668 : return -1;
6669 423 : x6 = XVECEXP (x1, 0, 28);
6670 423 : if (XWINT (x6, 0) != 30L)
6671 : return -1;
6672 423 : x7 = XVECEXP (x1, 0, 29);
6673 423 : if (XWINT (x7, 0) != 62L)
6674 : return -1;
6675 423 : x8 = XVECEXP (x1, 0, 30);
6676 423 : if (XWINT (x8, 0) != 31L)
6677 : return -1;
6678 423 : x9 = XVECEXP (x1, 0, 31);
6679 423 : if (XWINT (x9, 0) != 63L)
6680 0 : return -1;
6681 : return 0;
6682 : }
6683 :
6684 : int
6685 2976 : recog_8 (rtx x1 ATTRIBUTE_UNUSED,
6686 : rtx_insn *insn ATTRIBUTE_UNUSED,
6687 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6688 : {
6689 2976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6690 2976 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6691 2976 : rtx x10;
6692 2976 : int res ATTRIBUTE_UNUSED;
6693 2976 : x2 = XEXP (x1, 1);
6694 2976 : if (GET_MODE (x2) != E_HImode)
6695 : return -1;
6696 2976 : x3 = XEXP (x1, 0);
6697 2976 : operands[0] = x3;
6698 2976 : if (!register_operand (operands[0], E_HImode))
6699 : return -1;
6700 2976 : x4 = XVECEXP (x2, 0, 0);
6701 2976 : if (GET_MODE (x4) != E_CCFPmode)
6702 : return -1;
6703 2976 : switch (GET_CODE (x4))
6704 : {
6705 0 : case COMPARE:
6706 0 : x5 = XEXP (x4, 0);
6707 0 : operands[1] = x5;
6708 0 : x6 = XEXP (x4, 1);
6709 0 : switch (GET_CODE (x6))
6710 : {
6711 0 : case CONST_INT:
6712 0 : case CONST_DOUBLE:
6713 0 : case CONST_VECTOR:
6714 0 : case REG:
6715 0 : case SUBREG:
6716 0 : case MEM:
6717 0 : operands[2] = x6;
6718 0 : switch (GET_MODE (operands[1]))
6719 : {
6720 0 : case E_XFmode:
6721 0 : if (!register_operand (operands[1], E_XFmode)
6722 0 : || !reg_or_0_operand (operands[2], E_XFmode)
6723 0 : || !
6724 : #line 1941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6725 : (TARGET_80387))
6726 : return -1;
6727 : return 39; /* *cmpxf_i387 */
6728 :
6729 : case E_SFmode:
6730 : if (!register_operand (operands[1], E_SFmode)
6731 : || !nonimm_or_0_operand (operands[2], E_SFmode)
6732 : || !
6733 : #line 1954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6734 : (TARGET_80387))
6735 : return -1;
6736 : return 40; /* *cmpsf_i387 */
6737 :
6738 : case E_DFmode:
6739 : if (!register_operand (operands[1], E_DFmode)
6740 : || !nonimm_or_0_operand (operands[2], E_DFmode)
6741 : || !
6742 : #line 1954 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6743 : (TARGET_80387))
6744 : return -1;
6745 : return 41; /* *cmpdf_i387 */
6746 :
6747 : default:
6748 : return -1;
6749 : }
6750 :
6751 : case FLOAT:
6752 : x7 = XEXP (x6, 0);
6753 : operands[2] = x7;
6754 : switch (GET_MODE (operands[1]))
6755 : {
6756 : case E_SFmode:
6757 : switch (pattern1272 (x6,
6758 : E_SFmode))
6759 : {
6760 : case 0:
6761 : if (!
6762 : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6763 : (TARGET_80387
6764 : && (TARGET_USE_HIMODE_FIOP
6765 : || optimize_function_for_size_p (cfun))))
6766 : return -1;
6767 : return 42; /* *cmpsf_hi_i387 */
6768 :
6769 : case 1:
6770 : if (!
6771 : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6772 : (TARGET_80387
6773 : && (TARGET_USE_SIMODE_FIOP
6774 : || optimize_function_for_size_p (cfun))))
6775 : return -1;
6776 : return 45; /* *cmpsf_si_i387 */
6777 :
6778 : default:
6779 : return -1;
6780 : }
6781 :
6782 : case E_DFmode:
6783 : switch (pattern1272 (x6,
6784 : E_DFmode))
6785 : {
6786 : case 0:
6787 : if (!
6788 : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6789 : (TARGET_80387
6790 : && (TARGET_USE_HIMODE_FIOP
6791 : || optimize_function_for_size_p (cfun))))
6792 : return -1;
6793 : return 43; /* *cmpdf_hi_i387 */
6794 :
6795 : case 1:
6796 : if (!
6797 : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6798 : (TARGET_80387
6799 : && (TARGET_USE_SIMODE_FIOP
6800 : || optimize_function_for_size_p (cfun))))
6801 : return -1;
6802 : return 46; /* *cmpdf_si_i387 */
6803 :
6804 : default:
6805 : return -1;
6806 : }
6807 :
6808 : case E_XFmode:
6809 : switch (pattern1272 (x6,
6810 : E_XFmode))
6811 : {
6812 : case 0:
6813 : if (!
6814 : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6815 : (TARGET_80387
6816 : && (TARGET_USE_HIMODE_FIOP
6817 : || optimize_function_for_size_p (cfun))))
6818 : return -1;
6819 : return 44; /* *cmpxf_hi_i387 */
6820 :
6821 : case 1:
6822 : if (!
6823 : #line 1968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6824 : (TARGET_80387
6825 : && (TARGET_USE_SIMODE_FIOP
6826 : || optimize_function_for_size_p (cfun))))
6827 : return -1;
6828 : return 47; /* *cmpxf_si_i387 */
6829 :
6830 : default:
6831 : return -1;
6832 : }
6833 :
6834 : default:
6835 : return -1;
6836 : }
6837 :
6838 : default:
6839 : return -1;
6840 : }
6841 :
6842 : case UNSPEC:
6843 : if (XVECLEN (x4, 0) != 1
6844 : || XINT (x4, 1) != 27)
6845 : return -1;
6846 : x8 = XVECEXP (x4, 0, 0);
6847 : if (GET_CODE (x8) != COMPARE
6848 : || GET_MODE (x8) != E_CCFPmode)
6849 : return -1;
6850 : x9 = XEXP (x8, 0);
6851 : operands[1] = x9;
6852 : x10 = XEXP (x8, 1);
6853 : operands[2] = x10;
6854 : switch (GET_MODE (operands[1]))
6855 : {
6856 : case E_SFmode:
6857 : if (!register_operand (operands[1], E_SFmode)
6858 : || !register_operand (operands[2], E_SFmode)
6859 : || !
6860 : #line 1986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6861 : (TARGET_80387))
6862 : return -1;
6863 : return 48; /* *cmpusf_i387 */
6864 :
6865 : case E_DFmode:
6866 : if (!register_operand (operands[1], E_DFmode)
6867 : || !register_operand (operands[2], E_DFmode)
6868 : || !
6869 : #line 1986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6870 : (TARGET_80387))
6871 : return -1;
6872 : return 49; /* *cmpudf_i387 */
6873 :
6874 : case E_XFmode:
6875 : if (!register_operand (operands[1], E_XFmode)
6876 : || !register_operand (operands[2], E_XFmode)
6877 : || !
6878 : #line 1986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6879 : (TARGET_80387))
6880 : return -1;
6881 : return 50; /* *cmpuxf_i387 */
6882 :
6883 : default:
6884 : return -1;
6885 : }
6886 :
6887 : case REG:
6888 : if (REGNO (x4) != 18
6889 : || !
6890 : #line 24243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6891 : (TARGET_80387))
6892 : return -1;
6893 : return 1748; /* x86_fnstsw_1 */
6894 :
6895 : default:
6896 : return -1;
6897 : }
6898 : }
6899 :
6900 : int
6901 : recog_15 (rtx x1 ATTRIBUTE_UNUSED,
6902 : rtx_insn *insn ATTRIBUTE_UNUSED,
6903 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6904 : {
6905 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6906 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6907 : rtx x10, x11;
6908 : int res ATTRIBUTE_UNUSED;
6909 : x2 = XEXP (x1, 1);
6910 : switch (XVECLEN (x2, 0))
6911 : {
6912 : case 1:
6913 : return recog_14 (x1, insn, pnum_clobbers);
6914 :
6915 : case 2:
6916 : return recog_13 (x1, insn, pnum_clobbers);
6917 :
6918 : case 3:
6919 : switch (XINT (x2, 1))
6920 : {
6921 : case 40:
6922 : if (pnum_clobbers == NULL
6923 : || GET_MODE (x2) != E_CCGZmode)
6924 : return -1;
6925 : x3 = XVECEXP (x2, 0, 2);
6926 : if (GET_CODE (x3) != LTU)
6927 : return -1;
6928 : x4 = XEXP (x3, 0);
6929 : if (GET_CODE (x4) != REG
6930 : || REGNO (x4) != 17
6931 : || GET_MODE (x4) != E_CCmode)
6932 : return -1;
6933 : x5 = XEXP (x3, 1);
6934 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6935 : return -1;
6936 : x6 = XEXP (x1, 0);
6937 : if (GET_CODE (x6) != REG
6938 : || REGNO (x6) != 17
6939 : || GET_MODE (x6) != E_CCGZmode)
6940 : return -1;
6941 : x7 = XVECEXP (x2, 0, 0);
6942 : operands[1] = x7;
6943 : x8 = XVECEXP (x2, 0, 1);
6944 : operands[2] = x8;
6945 : switch (GET_MODE (operands[1]))
6946 : {
6947 : case E_SImode:
6948 : if (!register_operand (operands[1], E_SImode)
6949 : || !x86_64_general_operand (operands[2], E_SImode)
6950 : || GET_MODE (x3) != E_SImode
6951 : || !
6952 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6953 : (!TARGET_64BIT))
6954 : return -1;
6955 : *pnum_clobbers = 1;
6956 : return 549; /* subsi3_carry_ccgz */
6957 :
6958 : case E_DImode:
6959 : if (!register_operand (operands[1], E_DImode)
6960 : || !x86_64_general_operand (operands[2], E_DImode)
6961 : || GET_MODE (x3) != E_DImode
6962 : || !
6963 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6964 : (TARGET_64BIT))
6965 : return -1;
6966 : *pnum_clobbers = 1;
6967 : return 550; /* subdi3_carry_ccgz */
6968 :
6969 : default:
6970 : return -1;
6971 : }
6972 :
6973 : case 60:
6974 : return recog_12 (x1, insn, pnum_clobbers);
6975 :
6976 : case 49:
6977 : if (GET_MODE (x2) != E_HFmode)
6978 : return -1;
6979 : x6 = XEXP (x1, 0);
6980 : operands[0] = x6;
6981 : if (!nonimmediate_operand (operands[0], E_HFmode))
6982 : return -1;
6983 : x7 = XVECEXP (x2, 0, 0);
6984 : operands[1] = x7;
6985 : if (!nonimmediate_operand (operands[1], E_HFmode))
6986 : return -1;
6987 : x8 = XVECEXP (x2, 0, 1);
6988 : operands[2] = x8;
6989 : if (!nonimm_or_0_operand (operands[2], E_HFmode))
6990 : return -1;
6991 : x3 = XVECEXP (x2, 0, 2);
6992 : operands[3] = x3;
6993 : if (!register_operand (operands[3], E_QImode)
6994 : || !
6995 : #line 27012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6996 : (TARGET_AVX512FP16))
6997 : return -1;
6998 : return 1843; /* movhf_mask */
6999 :
7000 : case 52:
7001 : x6 = XEXP (x1, 0);
7002 : operands[0] = x6;
7003 : x7 = XVECEXP (x2, 0, 0);
7004 : operands[1] = x7;
7005 : x8 = XVECEXP (x2, 0, 1);
7006 : operands[2] = x8;
7007 : x3 = XVECEXP (x2, 0, 2);
7008 : switch (GET_CODE (x3))
7009 : {
7010 : case LT:
7011 : switch (pattern741 (x2))
7012 : {
7013 : case 0:
7014 : if (
7015 : #line 27245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7016 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
7017 : && (rtx_equal_p (operands[1], operands[3])
7018 : && rtx_equal_p (operands[2], operands[4]))
7019 : && ix86_pre_reload_split ()))
7020 : return 1861; /* *ieee_maxsf3_1 */
7021 : if (!
7022 : #line 27266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7023 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
7024 : && (rtx_equal_p (operands[1], operands[4])
7025 : && rtx_equal_p (operands[2], operands[3]))
7026 : && ix86_pre_reload_split ()))
7027 : return -1;
7028 : return 1863; /* *ieee_minsf3_1 */
7029 :
7030 : case 1:
7031 : if (
7032 : #line 27245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7033 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
7034 : && (rtx_equal_p (operands[1], operands[3])
7035 : && rtx_equal_p (operands[2], operands[4]))
7036 : && ix86_pre_reload_split ()))
7037 : return 1862; /* *ieee_maxdf3_1 */
7038 : if (!
7039 : #line 27266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7040 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
7041 : && (rtx_equal_p (operands[1], operands[4])
7042 : && rtx_equal_p (operands[2], operands[3]))
7043 : && ix86_pre_reload_split ()))
7044 : return -1;
7045 : return 1864; /* *ieee_mindf3_1 */
7046 :
7047 : default:
7048 : return -1;
7049 : }
7050 :
7051 : case REG:
7052 : case SUBREG:
7053 : operands[3] = x3;
7054 : switch (GET_MODE (operands[0]))
7055 : {
7056 : case E_V2SFmode:
7057 : if (pattern969 (x2,
7058 : E_V2SFmode) == 0
7059 : &&
7060 : #line 1340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7061 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7062 : return 2132; /* mmx_blendvps */
7063 : break;
7064 :
7065 : case E_V8QImode:
7066 : if (pattern969 (x2,
7067 : E_V8QImode) == 0
7068 : &&
7069 : #line 4342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7070 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7071 : return 2298; /* mmx_pblendvb_v8qi */
7072 : break;
7073 :
7074 : case E_V4QImode:
7075 : if (pattern969 (x2,
7076 : E_V4QImode) == 0
7077 : &&
7078 : #line 4418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7079 : (TARGET_SSE4_1))
7080 : return 2302; /* mmx_pblendvb_v4qi */
7081 : break;
7082 :
7083 : case E_V2QImode:
7084 : if (pattern969 (x2,
7085 : E_V2QImode) == 0
7086 : &&
7087 : #line 4418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7088 : (TARGET_SSE4_1))
7089 : return 2303; /* mmx_pblendvb_v2qi */
7090 : break;
7091 :
7092 : case E_V2HImode:
7093 : if (pattern969 (x2,
7094 : E_V2HImode) == 0
7095 : &&
7096 : #line 4418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7097 : (TARGET_SSE4_1))
7098 : return 2304; /* mmx_pblendvb_v2hi */
7099 : break;
7100 :
7101 : case E_SFmode:
7102 : if (pattern969 (x2,
7103 : E_SFmode) == 0
7104 : &&
7105 : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7106 : (TARGET_SSE4_1))
7107 : return 8732; /* sse4_1_blendvss */
7108 : break;
7109 :
7110 : case E_DFmode:
7111 : if (pattern969 (x2,
7112 : E_DFmode) == 0
7113 : &&
7114 : #line 23899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7115 : (TARGET_SSE4_1))
7116 : return 8733; /* sse4_1_blendvsd */
7117 : break;
7118 :
7119 : default:
7120 : break;
7121 : }
7122 : if (GET_CODE (x3) != SUBREG)
7123 : return -1;
7124 : switch (pattern857 (x2))
7125 : {
7126 : case 0:
7127 : if (!
7128 : #line 4394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7129 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7130 : return -1;
7131 : return 2300; /* *mmx_pblendvb_v8qi_2 */
7132 :
7133 : case 1:
7134 : if (!
7135 : #line 4394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7136 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7137 : return -1;
7138 : return 2301; /* *mmx_pblendvb_v8qi_2 */
7139 :
7140 : case 2:
7141 : if (!
7142 : #line 4470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7143 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7144 : return -1;
7145 : return 2308; /* *mmx_pblendvb_v4qi_2 */
7146 :
7147 : default:
7148 : return -1;
7149 : }
7150 :
7151 : case EQ:
7152 : switch (pattern743 (x2))
7153 : {
7154 : case 0:
7155 : if (!
7156 : #line 4366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7157 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7158 : return -1;
7159 : return 2299; /* *mmx_pblendvb_v8qi_1 */
7160 :
7161 : case 1:
7162 : if (!
7163 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7164 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7165 : return -1;
7166 : return 2305; /* *mmx_pblendvb_v4qi_1 */
7167 :
7168 : case 2:
7169 : if (!
7170 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7171 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7172 : return -1;
7173 : return 2306; /* *mmx_pblendvb_v2qi_1 */
7174 :
7175 : case 3:
7176 : if (!
7177 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7178 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7179 : return -1;
7180 : return 2307; /* *mmx_pblendvb_v2hi_1 */
7181 :
7182 : default:
7183 : return -1;
7184 : }
7185 :
7186 : default:
7187 : return -1;
7188 : }
7189 :
7190 : case 51:
7191 : x6 = XEXP (x1, 0);
7192 : operands[0] = x6;
7193 : x7 = XVECEXP (x2, 0, 0);
7194 : operands[2] = x7;
7195 : x8 = XVECEXP (x2, 0, 1);
7196 : operands[1] = x8;
7197 : x3 = XVECEXP (x2, 0, 2);
7198 : operands[3] = x3;
7199 : if (!const_0_to_255_operand (operands[3], E_SImode))
7200 : return -1;
7201 : switch (GET_MODE (operands[0]))
7202 : {
7203 : case E_V2SFmode:
7204 : if (pattern970 (x2,
7205 : E_V2SFmode) != 0
7206 : || !
7207 : #line 1284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7208 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7209 : return -1;
7210 : return 2129; /* sse4_1_insertps_v2sf */
7211 :
7212 : case E_V2SImode:
7213 : if (pattern970 (x2,
7214 : E_V2SImode) != 0
7215 : || !
7216 : #line 1284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7217 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7218 : return -1;
7219 : return 2130; /* sse4_1_insertps_v2si */
7220 :
7221 : default:
7222 : return -1;
7223 : }
7224 :
7225 : case 54:
7226 : x6 = XEXP (x1, 0);
7227 : operands[0] = x6;
7228 : x7 = XVECEXP (x2, 0, 0);
7229 : operands[1] = x7;
7230 : x8 = XVECEXP (x2, 0, 1);
7231 : operands[2] = x8;
7232 : x3 = XVECEXP (x2, 0, 2);
7233 : operands[3] = x3;
7234 : if (!nonimmediate_operand (operands[3], E_V16QImode))
7235 : return -1;
7236 : switch (GET_MODE (operands[0]))
7237 : {
7238 : case E_V8QImode:
7239 : if (pattern971 (x2,
7240 : E_V8QImode) != 0
7241 : || !
7242 : #line 4540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7243 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7244 : return -1;
7245 : return 2320; /* mmx_ppermv64 */
7246 :
7247 : case E_V4QImode:
7248 : if (pattern971 (x2,
7249 : E_V4QImode) != 0
7250 : || !
7251 : #line 4552 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7252 : (TARGET_XOP))
7253 : return -1;
7254 : return 2321; /* mmx_ppermv32 */
7255 :
7256 : default:
7257 : return -1;
7258 : }
7259 :
7260 : case 48:
7261 : if (GET_MODE (x2) != E_V8QImode)
7262 : return -1;
7263 : x3 = XVECEXP (x2, 0, 2);
7264 : if (GET_CODE (x3) != MEM
7265 : || GET_MODE (x3) != E_V8QImode)
7266 : return -1;
7267 : x6 = XEXP (x1, 0);
7268 : if (GET_CODE (x6) != MEM
7269 : || GET_MODE (x6) != E_V8QImode)
7270 : return -1;
7271 : x9 = XEXP (x6, 0);
7272 : operands[0] = x9;
7273 : x7 = XVECEXP (x2, 0, 0);
7274 : operands[1] = x7;
7275 : switch (pattern1078 (x2,
7276 : E_V8QImode))
7277 : {
7278 : case 0:
7279 : if (!(
7280 : #line 6888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7281 : (TARGET_SSE || TARGET_3DNOW_A) &&
7282 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7283 : (Pmode == SImode)))
7284 : return -1;
7285 : return 2442; /* *mmx_maskmovq */
7286 :
7287 : case 1:
7288 : if (!(
7289 : #line 6888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7290 : (TARGET_SSE || TARGET_3DNOW_A) &&
7291 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7292 : (Pmode == DImode)))
7293 : return -1;
7294 : return 2443; /* *mmx_maskmovq */
7295 :
7296 : default:
7297 : return -1;
7298 : }
7299 :
7300 : case 158:
7301 : switch (pattern74 (x1))
7302 : {
7303 : case 0:
7304 : x3 = XVECEXP (x2, 0, 2);
7305 : operands[3] = x3;
7306 : if (const_0_to_7_operand (operands[3], E_SImode))
7307 : {
7308 : x8 = XVECEXP (x2, 0, 1);
7309 : operands[2] = x8;
7310 : switch (GET_MODE (operands[0]))
7311 : {
7312 : case E_HImode:
7313 : switch (pattern598 (x2))
7314 : {
7315 : case 0:
7316 : if ((
7317 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7318 : (TARGET_AVX512F && ix86_pre_reload_split ()
7319 : && rtx_equal_p (operands[1], operands[2])
7320 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7321 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7322 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7323 : return 3547; /* *avx512vl_cmpv16qi3_dup_op */
7324 : break;
7325 :
7326 : case 1:
7327 : if ((
7328 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7329 : (TARGET_AVX512F && ix86_pre_reload_split ()
7330 : && rtx_equal_p (operands[1], operands[2])
7331 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7332 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7333 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7334 : return 3551; /* *avx512vl_cmpv16hi3_dup_op */
7335 : break;
7336 :
7337 : case 2:
7338 : if (
7339 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7340 : (TARGET_AVX512F && ix86_pre_reload_split ()
7341 : && rtx_equal_p (operands[1], operands[2])
7342 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
7343 : return 3555; /* *avx512f_cmpv16si3_dup_op */
7344 : break;
7345 :
7346 : default:
7347 : break;
7348 : }
7349 : break;
7350 :
7351 : case E_QImode:
7352 : switch (pattern599 (x2))
7353 : {
7354 : case 0:
7355 : if ((
7356 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7357 : (TARGET_AVX512F && ix86_pre_reload_split ()
7358 : && rtx_equal_p (operands[1], operands[2])
7359 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7360 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7361 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7362 : return 3553; /* *avx512vl_cmpv8hi3_dup_op */
7363 : break;
7364 :
7365 : case 1:
7366 : if ((
7367 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7368 : (TARGET_AVX512F && ix86_pre_reload_split ()
7369 : && rtx_equal_p (operands[1], operands[2])
7370 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7371 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7372 : (TARGET_AVX512VL)))
7373 : return 3557; /* *avx512vl_cmpv8si3_dup_op */
7374 : break;
7375 :
7376 : case 2:
7377 : if ((
7378 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7379 : (TARGET_AVX512F && ix86_pre_reload_split ()
7380 : && rtx_equal_p (operands[1], operands[2])
7381 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7382 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7383 : (TARGET_AVX512VL)))
7384 : return 3559; /* *avx512vl_cmpv4si3_dup_op */
7385 : break;
7386 :
7387 : case 3:
7388 : if (
7389 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7390 : (TARGET_AVX512F && ix86_pre_reload_split ()
7391 : && rtx_equal_p (operands[1], operands[2])
7392 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
7393 : return 3561; /* *avx512f_cmpv8di3_dup_op */
7394 : break;
7395 :
7396 : case 4:
7397 : if ((
7398 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7399 : (TARGET_AVX512F && ix86_pre_reload_split ()
7400 : && rtx_equal_p (operands[1], operands[2])
7401 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7402 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7403 : (TARGET_AVX512VL)))
7404 : return 3563; /* *avx512vl_cmpv4di3_dup_op */
7405 : break;
7406 :
7407 : case 5:
7408 : if ((
7409 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7410 : (TARGET_AVX512F && ix86_pre_reload_split ()
7411 : && rtx_equal_p (operands[1], operands[2])
7412 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7413 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7414 : (TARGET_AVX512VL)))
7415 : return 3565; /* *avx512vl_cmpv2di3_dup_op */
7416 : break;
7417 :
7418 : default:
7419 : break;
7420 : }
7421 : break;
7422 :
7423 : default:
7424 : break;
7425 : }
7426 : }
7427 : x8 = XVECEXP (x2, 0, 1);
7428 : operands[2] = x8;
7429 : if (XWINT (x3, 0) == 0L)
7430 : {
7431 : switch (pattern968 (x2))
7432 : {
7433 : case 0:
7434 : if ((
7435 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7436 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7437 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7438 : (TARGET_AVX512VL)))
7439 : return 3572; /* *avx512vl_eqv16qi3_1 */
7440 : break;
7441 :
7442 : case 1:
7443 : if ((
7444 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7445 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7446 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7447 : (TARGET_AVX512VL)))
7448 : return 3584; /* *avx512vl_eqv16hi3_1 */
7449 : break;
7450 :
7451 : case 2:
7452 : if (
7453 : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7454 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7455 : return 3640; /* *avx512f_eqv16si3_1 */
7456 : break;
7457 :
7458 : case 3:
7459 : if ((
7460 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7461 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7462 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7463 : (TARGET_AVX512VL)))
7464 : return 3588; /* *avx512vl_eqv8hi3_1 */
7465 : break;
7466 :
7467 : case 4:
7468 : if ((
7469 : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7470 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7471 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7472 : (TARGET_AVX512VL)))
7473 : return 3644; /* *avx512vl_eqv8si3_1 */
7474 : break;
7475 :
7476 : case 5:
7477 : if ((
7478 : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7479 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7480 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7481 : (TARGET_AVX512VL)))
7482 : return 3648; /* *avx512vl_eqv4si3_1 */
7483 : break;
7484 :
7485 : case 6:
7486 : if (
7487 : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7488 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7489 : return 3652; /* *avx512f_eqv8di3_1 */
7490 : break;
7491 :
7492 : case 7:
7493 : if ((
7494 : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7495 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7496 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7497 : (TARGET_AVX512VL)))
7498 : return 3656; /* *avx512vl_eqv4di3_1 */
7499 : break;
7500 :
7501 : case 8:
7502 : if ((
7503 : #line 5024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7504 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7505 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7506 : (TARGET_AVX512VL)))
7507 : return 3660; /* *avx512vl_eqv2di3_1 */
7508 : break;
7509 :
7510 : default:
7511 : break;
7512 : }
7513 : }
7514 : operands[3] = x3;
7515 : if (!const_0_to_7_operand (operands[3], E_SImode))
7516 : return -1;
7517 : switch (pattern70 (x2))
7518 : {
7519 : case 0:
7520 : if (!(
7521 : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7522 : (TARGET_AVX512BW) &&
7523 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7524 : (TARGET_AVX512VL)))
7525 : return -1;
7526 : return 3592; /* avx512vl_ucmpv16qi3 */
7527 :
7528 : case 1:
7529 : if (!(
7530 : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7531 : (TARGET_AVX512BW) &&
7532 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7533 : (TARGET_AVX512VL)))
7534 : return -1;
7535 : return 3598; /* avx512vl_ucmpv16hi3 */
7536 :
7537 : case 2:
7538 : if (!
7539 : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7540 : (TARGET_AVX512F))
7541 : return -1;
7542 : return 3662; /* avx512f_ucmpv16si3 */
7543 :
7544 : case 3:
7545 : if (!(
7546 : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7547 : (TARGET_AVX512BW) &&
7548 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7549 : (TARGET_AVX512VL)))
7550 : return -1;
7551 : return 3600; /* avx512vl_ucmpv8hi3 */
7552 :
7553 : case 4:
7554 : if (!(
7555 : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7556 : (TARGET_AVX512F) &&
7557 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7558 : (TARGET_AVX512VL)))
7559 : return -1;
7560 : return 3664; /* avx512vl_ucmpv8si3 */
7561 :
7562 : case 5:
7563 : if (!(
7564 : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7565 : (TARGET_AVX512F) &&
7566 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7567 : (TARGET_AVX512VL)))
7568 : return -1;
7569 : return 3666; /* avx512vl_ucmpv4si3 */
7570 :
7571 : case 6:
7572 : if (!
7573 : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7574 : (TARGET_AVX512F))
7575 : return -1;
7576 : return 3668; /* avx512f_ucmpv8di3 */
7577 :
7578 : case 7:
7579 : if (!(
7580 : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7581 : (TARGET_AVX512F) &&
7582 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7583 : (TARGET_AVX512VL)))
7584 : return -1;
7585 : return 3670; /* avx512vl_ucmpv4di3 */
7586 :
7587 : case 8:
7588 : if (!(
7589 : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7590 : (TARGET_AVX512F) &&
7591 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7592 : (TARGET_AVX512VL)))
7593 : return -1;
7594 : return 3672; /* avx512vl_ucmpv2di3 */
7595 :
7596 : default:
7597 : return -1;
7598 : }
7599 :
7600 : case 1:
7601 : if (!(
7602 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7603 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7604 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
7605 : && (INTVAL (operands[4]) & 1) == 0) &&
7606 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7607 : (TARGET_AVX512VL)))
7608 : return -1;
7609 : return 3719; /* *avx512vl_ucmpv16qi3_1 */
7610 :
7611 : case 2:
7612 : if (!(
7613 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7614 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7615 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
7616 : && (INTVAL (operands[4]) & 1) == 0) &&
7617 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7618 : (TARGET_AVX512VL)))
7619 : return -1;
7620 : return 3725; /* *avx512vl_ucmpv16hi3_1 */
7621 :
7622 : case 3:
7623 : if (!(
7624 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7625 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7626 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
7627 : && (INTVAL (operands[4]) & 1) == 0) &&
7628 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7629 : (TARGET_AVX512VL)))
7630 : return -1;
7631 : return 3727; /* *avx512vl_ucmpv8hi3_1 */
7632 :
7633 : default:
7634 : return -1;
7635 : }
7636 :
7637 : case 53:
7638 : if (pattern62 (x1, pnum_clobbers,
7639 : E_V8QImode) != 0)
7640 : return -1;
7641 : x8 = XVECEXP (x2, 0, 1);
7642 : operands[2] = x8;
7643 : if (!register_mmxmem_operand (operands[2], E_V8QImode))
7644 : return -1;
7645 : x3 = XVECEXP (x2, 0, 2);
7646 : operands[4] = x3;
7647 : if (!reg_or_const_vector_operand (operands[4], E_V4SImode)
7648 : || !
7649 : #line 23505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7650 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7651 : return -1;
7652 : *pnum_clobbers = 1;
7653 : return 8675; /* *ssse3_pshufbv8qi3 */
7654 :
7655 : case 133:
7656 : if (pnum_clobbers == NULL
7657 : || pattern255 (x1) != 0
7658 : || !nonimmediate_operand (operands[3], E_V16QImode))
7659 : return -1;
7660 : x3 = XVECEXP (x2, 0, 2);
7661 : operands[4] = x3;
7662 : if (!const_0_to_255_operand (operands[4], E_SImode)
7663 : || !
7664 : #line 26687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7665 : (TARGET_SSE4_2))
7666 : return -1;
7667 : *pnum_clobbers = 2;
7668 : return 9039; /* sse4_2_pcmpistr_cconly */
7669 :
7670 : default:
7671 : return -1;
7672 : }
7673 :
7674 : case 5:
7675 : if (pnum_clobbers == NULL
7676 : || XINT (x2, 1) != 132
7677 : || pattern255 (x1) != 0
7678 : || !register_operand (operands[3], E_SImode))
7679 : return -1;
7680 : x3 = XVECEXP (x2, 0, 2);
7681 : operands[4] = x3;
7682 : if (!nonimmediate_operand (operands[4], E_V16QImode))
7683 : return -1;
7684 : x10 = XVECEXP (x2, 0, 3);
7685 : operands[5] = x10;
7686 : if (!register_operand (operands[5], E_SImode))
7687 : return -1;
7688 : x11 = XVECEXP (x2, 0, 4);
7689 : operands[6] = x11;
7690 : if (!const_0_to_255_operand (operands[6], E_SImode)
7691 : || !
7692 : #line 26562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7693 : (TARGET_SSE4_2))
7694 : return -1;
7695 : *pnum_clobbers = 2;
7696 : return 9035; /* sse4_2_pcmpestr_cconly */
7697 :
7698 : default:
7699 : return -1;
7700 : }
7701 : }
7702 :
7703 : int
7704 : recog_37 (rtx x1 ATTRIBUTE_UNUSED,
7705 : rtx_insn *insn ATTRIBUTE_UNUSED,
7706 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7707 : {
7708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7709 : rtx x2, x3, x4;
7710 : int res ATTRIBUTE_UNUSED;
7711 : x2 = XEXP (x1, 0);
7712 : operands[0] = x2;
7713 : x3 = XEXP (x1, 1);
7714 : x4 = XEXP (x3, 0);
7715 : operands[1] = x4;
7716 : switch (GET_MODE (operands[0]))
7717 : {
7718 : case E_HFmode:
7719 : switch (pattern264 (x3,
7720 : E_HFmode))
7721 : {
7722 : case 0:
7723 : if (!
7724 : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7725 : (TARGET_AVX512FP16))
7726 : return -1;
7727 : return 253; /* floatunssihf2 */
7728 :
7729 : case 1:
7730 : if (!(
7731 : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7732 : (TARGET_AVX512FP16) &&
7733 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7734 : (TARGET_64BIT)))
7735 : return -1;
7736 : return 255; /* floatunsdihf2 */
7737 :
7738 : default:
7739 : return -1;
7740 : }
7741 :
7742 : case E_SFmode:
7743 : switch (pattern264 (x3,
7744 : E_SFmode))
7745 : {
7746 : case 0:
7747 : if (!
7748 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7749 : (TARGET_AVX512F && TARGET_SSE_MATH))
7750 : return -1;
7751 : return 261; /* *floatunssisf2_avx512 */
7752 :
7753 : case 1:
7754 : if (!(
7755 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7756 : (TARGET_AVX512F && TARGET_SSE_MATH) &&
7757 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7758 : (TARGET_64BIT)))
7759 : return -1;
7760 : return 262; /* *floatunsdisf2_avx512 */
7761 :
7762 : default:
7763 : return -1;
7764 : }
7765 :
7766 : case E_DFmode:
7767 : switch (pattern264 (x3,
7768 : E_DFmode))
7769 : {
7770 : case 0:
7771 : if (!
7772 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7773 : (TARGET_AVX512F && TARGET_SSE_MATH))
7774 : return -1;
7775 : return 263; /* *floatunssidf2_avx512 */
7776 :
7777 : case 1:
7778 : if (!(
7779 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7780 : (TARGET_AVX512F && TARGET_SSE_MATH) &&
7781 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7782 : (TARGET_64BIT)))
7783 : return -1;
7784 : return 264; /* *floatunsdidf2_avx512 */
7785 :
7786 : default:
7787 : return -1;
7788 : }
7789 :
7790 : default:
7791 : return -1;
7792 : }
7793 : }
7794 :
7795 : int
7796 : recog_41 (rtx x1 ATTRIBUTE_UNUSED,
7797 : rtx_insn *insn ATTRIBUTE_UNUSED,
7798 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7799 : {
7800 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7801 : rtx x2, x3, x4, x5;
7802 : int res ATTRIBUTE_UNUSED;
7803 : x2 = XEXP (x1, 1);
7804 : x3 = XEXP (x2, 1);
7805 : if (GET_CODE (x3) != CONST_INT
7806 : || !register_operand (operands[0], E_QImode)
7807 : || GET_MODE (x2) != E_QImode)
7808 : return -1;
7809 : x4 = XEXP (x2, 0);
7810 : x5 = XVECEXP (x4, 0, 2);
7811 : operands[3] = x5;
7812 : if (!const_0_to_7_operand (operands[3], E_SImode))
7813 : return -1;
7814 : switch (XWINT (x3, 0))
7815 : {
7816 : case 15L:
7817 : switch (GET_MODE (operands[1]))
7818 : {
7819 : case E_V4SImode:
7820 : if (!nonimmediate_operand (operands[1], E_V4SImode)
7821 : || !nonimmediate_operand (operands[2], E_V4SImode)
7822 : || !(
7823 : #line 4735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7824 : (TARGET_AVX512F) &&
7825 : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7826 : (TARGET_AVX512VL)))
7827 : return -1;
7828 : return 3471; /* *avx512vl_ucmpv4si3_and15 */
7829 :
7830 : case E_V4DImode:
7831 : if (!nonimmediate_operand (operands[1], E_V4DImode)
7832 : || !nonimmediate_operand (operands[2], E_V4DImode)
7833 : || !(
7834 : #line 4735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7835 : (TARGET_AVX512F) &&
7836 : #line 525 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7837 : (TARGET_AVX512VL)))
7838 : return -1;
7839 : return 3472; /* *avx512vl_ucmpv4di3_and15 */
7840 :
7841 : default:
7842 : return -1;
7843 : }
7844 :
7845 : case 3L:
7846 : if (!nonimmediate_operand (operands[1], E_V2DImode)
7847 : || !nonimmediate_operand (operands[2], E_V2DImode)
7848 : || !
7849 : #line 4784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7850 : (TARGET_AVX512F))
7851 : return -1;
7852 : return 3479; /* *avx512vl_ucmpv2di3_and3 */
7853 :
7854 : default:
7855 : return -1;
7856 : }
7857 : }
7858 :
7859 : int
7860 : recog_43 (rtx x1 ATTRIBUTE_UNUSED,
7861 : rtx_insn *insn ATTRIBUTE_UNUSED,
7862 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7863 : {
7864 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7865 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7866 : rtx x10, x11, x12, x13;
7867 : int res ATTRIBUTE_UNUSED;
7868 : x2 = XEXP (x1, 1);
7869 : x3 = XEXP (x2, 0);
7870 : switch (GET_CODE (x3))
7871 : {
7872 : case XOR:
7873 : if (pnum_clobbers == NULL)
7874 : return -1;
7875 : x4 = XEXP (x1, 0);
7876 : operands[0] = x4;
7877 : x5 = XEXP (x3, 0);
7878 : operands[1] = x5;
7879 : x6 = XEXP (x3, 1);
7880 : operands[2] = x6;
7881 : switch (GET_MODE (operands[0]))
7882 : {
7883 : case E_HImode:
7884 : if (pattern749 (x2,
7885 : E_HImode) != 0
7886 : || !
7887 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7888 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
7889 : return -1;
7890 : *pnum_clobbers = 1;
7891 : return 863; /* *notxorhi_1 */
7892 :
7893 : case E_QImode:
7894 : if (pattern749 (x2,
7895 : E_QImode) != 0
7896 : || !
7897 : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7898 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
7899 : return -1;
7900 : *pnum_clobbers = 1;
7901 : return 899; /* *notxorqi_1 */
7902 :
7903 : default:
7904 : return -1;
7905 : }
7906 :
7907 : case REG:
7908 : case SUBREG:
7909 : case MEM:
7910 : switch (pattern42 (x1))
7911 : {
7912 : case 0:
7913 : switch (GET_MODE (operands[0]))
7914 : {
7915 : case E_TImode:
7916 : if (!nonimmediate_operand (operands[0], E_TImode)
7917 : || GET_MODE (x2) != E_TImode
7918 : || !nonimmediate_operand (operands[1], E_TImode)
7919 : || !(
7920 : #line 15321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7921 : (ix86_unary_operator_ok (NOT, TImode, operands, TARGET_APX_NDD)) &&
7922 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7923 : (TARGET_64BIT)))
7924 : return -1;
7925 : return 1063; /* *one_cmplti2_doubleword */
7926 :
7927 : case E_HImode:
7928 : if (!nonimmediate_operand (operands[0], E_HImode)
7929 : || GET_MODE (x2) != E_HImode
7930 : || !nonimmediate_operand (operands[1], E_HImode)
7931 : || !
7932 : #line 15334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7933 : (ix86_unary_operator_ok (NOT, HImode, operands, TARGET_APX_NDD)))
7934 : return -1;
7935 : return 1064; /* *one_cmplhi2_1 */
7936 :
7937 : case E_QImode:
7938 : if (!nonimmediate_operand (operands[0], E_QImode)
7939 : || GET_MODE (x2) != E_QImode
7940 : || !nonimmediate_operand (operands[1], E_QImode)
7941 : || !
7942 : #line 15378 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7943 : (ix86_unary_operator_ok (NOT, QImode, operands, TARGET_APX_NDD)))
7944 : return -1;
7945 : return 1073; /* *one_cmplqi2_1 */
7946 :
7947 : case E_V4QImode:
7948 : if (!register_operand (operands[0], E_V4QImode)
7949 : || GET_MODE (x2) != E_V4QImode
7950 : || !register_operand (operands[1], E_V4QImode))
7951 : return -1;
7952 : return 2322; /* one_cmplv4qi2 */
7953 :
7954 : case E_V2QImode:
7955 : if (!register_operand (operands[0], E_V2QImode)
7956 : || GET_MODE (x2) != E_V2QImode
7957 : || !register_operand (operands[1], E_V2QImode))
7958 : return -1;
7959 : return 2323; /* one_cmplv2qi2 */
7960 :
7961 : case E_V2HImode:
7962 : if (!register_operand (operands[0], E_V2HImode)
7963 : || GET_MODE (x2) != E_V2HImode
7964 : || !register_operand (operands[1], E_V2HImode))
7965 : return -1;
7966 : return 2324; /* one_cmplv2hi2 */
7967 :
7968 : default:
7969 : return -1;
7970 : }
7971 :
7972 : case 1:
7973 : if (!
7974 : #line 15404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7975 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7976 : return -1;
7977 : return 1074; /* *one_cmplqi_1_slp */
7978 :
7979 : case 2:
7980 : if (!
7981 : #line 15404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7982 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7983 : return -1;
7984 : return 1075; /* *one_cmplhi_1_slp */
7985 :
7986 : default:
7987 : return -1;
7988 : }
7989 :
7990 : case ASHIFTRT:
7991 : case LSHIFTRT:
7992 : case SIGN_EXTRACT:
7993 : case ZERO_EXTRACT:
7994 : operands[2] = x3;
7995 : switch (pattern90 (x1))
7996 : {
7997 : case 0:
7998 : return 1081; /* *one_cmplqi_exthi_1 */
7999 :
8000 : case 1:
8001 : return 1082; /* *one_cmplqi_extsi_1 */
8002 :
8003 : case 2:
8004 : if (
8005 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8006 : (TARGET_64BIT))
8007 : return 1083; /* *one_cmplqi_extdi_1 */
8008 : break;
8009 :
8010 : default:
8011 : break;
8012 : }
8013 : if (pnum_clobbers == NULL
8014 : || GET_CODE (x3) != ZERO_EXTRACT
8015 : || GET_MODE (x3) != E_DImode)
8016 : return -1;
8017 : x6 = XEXP (x3, 1);
8018 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8019 : return -1;
8020 : x4 = XEXP (x1, 0);
8021 : if (GET_CODE (x4) != ZERO_EXTRACT
8022 : || GET_MODE (x4) != E_DImode)
8023 : return -1;
8024 : x7 = XEXP (x4, 1);
8025 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
8026 : return -1;
8027 : x8 = XEXP (x4, 0);
8028 : operands[0] = x8;
8029 : if (!nonimmediate_operand (operands[0], E_DImode))
8030 : return -1;
8031 : x9 = XEXP (x4, 2);
8032 : operands[1] = x9;
8033 : if (!const_0_to_63_operand (operands[1], E_QImode)
8034 : || GET_MODE (x2) != E_DImode)
8035 : return -1;
8036 : x5 = XEXP (x3, 0);
8037 : if (!rtx_equal_p (x5, operands[0]))
8038 : return -1;
8039 : x10 = XEXP (x3, 2);
8040 : if (!rtx_equal_p (x10, operands[1])
8041 : || !
8042 : #line 19400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8043 : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
8044 : return -1;
8045 : *pnum_clobbers = 1;
8046 : return 1447; /* *btcq_imm */
8047 :
8048 : case UNSPEC:
8049 : if (XVECLEN (x3, 0) != 3)
8050 : return -1;
8051 : x4 = XEXP (x1, 0);
8052 : operands[0] = x4;
8053 : x11 = XVECEXP (x3, 0, 0);
8054 : operands[1] = x11;
8055 : x12 = XVECEXP (x3, 0, 1);
8056 : operands[2] = x12;
8057 : x13 = XVECEXP (x3, 0, 2);
8058 : operands[3] = x13;
8059 : switch (XINT (x3, 1))
8060 : {
8061 : case 60:
8062 : switch (GET_MODE (operands[0]))
8063 : {
8064 : case E_HImode:
8065 : switch (pattern974 (x2))
8066 : {
8067 : case 0:
8068 : if (!
8069 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8070 : (TARGET_AVX512F && GET_MODE_NUNITS (V16SImode) >= 8
8071 : && ix86_pre_reload_split ()))
8072 : return -1;
8073 : return 3452; /* *avx512f_cmpv16si3 */
8074 :
8075 : case 1:
8076 : if (!(
8077 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8078 : (TARGET_AVX512F && GET_MODE_NUNITS (V16HFmode) >= 8
8079 : && ix86_pre_reload_split ()) &&
8080 : #line 321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8081 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
8082 : return -1;
8083 : return 3459; /* *avx512vl_cmpv16hf3 */
8084 :
8085 : case 2:
8086 : if (!
8087 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8088 : (TARGET_AVX512F && GET_MODE_NUNITS (V16SFmode) >= 8
8089 : && ix86_pre_reload_split ()))
8090 : return -1;
8091 : return 3461; /* *avx512f_cmpv16sf3 */
8092 :
8093 : case 3:
8094 : if (!(
8095 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8096 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8097 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8098 : (TARGET_AVX512VL)))
8099 : return -1;
8100 : return 3532; /* *avx512vl_cmpv16qi3 */
8101 :
8102 : case 4:
8103 : if (!(
8104 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8105 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8106 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8107 : (TARGET_AVX512VL)))
8108 : return -1;
8109 : return 3538; /* *avx512vl_cmpv16hi3 */
8110 :
8111 : default:
8112 : return -1;
8113 : }
8114 :
8115 : case E_QImode:
8116 : switch (pattern975 (x2))
8117 : {
8118 : case 0:
8119 : if (!(
8120 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8121 : (TARGET_AVX512F && GET_MODE_NUNITS (V8SImode) >= 8
8122 : && ix86_pre_reload_split ()) &&
8123 : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8124 : (TARGET_AVX512VL)))
8125 : return -1;
8126 : return 3453; /* *avx512vl_cmpv8si3 */
8127 :
8128 : case 1:
8129 : if (!(
8130 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8131 : (TARGET_AVX512F && GET_MODE_NUNITS (V4SImode) >= 8
8132 : && ix86_pre_reload_split ()) &&
8133 : #line 318 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8134 : (TARGET_AVX512VL)))
8135 : return -1;
8136 : return 3454; /* *avx512vl_cmpv4si3 */
8137 :
8138 : case 2:
8139 : if (!
8140 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8141 : (TARGET_AVX512F && GET_MODE_NUNITS (V8DImode) >= 8
8142 : && ix86_pre_reload_split ()))
8143 : return -1;
8144 : return 3455; /* *avx512f_cmpv8di3 */
8145 :
8146 : case 3:
8147 : if (!(
8148 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8149 : (TARGET_AVX512F && GET_MODE_NUNITS (V4DImode) >= 8
8150 : && ix86_pre_reload_split ()) &&
8151 : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8152 : (TARGET_AVX512VL)))
8153 : return -1;
8154 : return 3456; /* *avx512vl_cmpv4di3 */
8155 :
8156 : case 4:
8157 : if (!(
8158 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8159 : (TARGET_AVX512F && GET_MODE_NUNITS (V2DImode) >= 8
8160 : && ix86_pre_reload_split ()) &&
8161 : #line 319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8162 : (TARGET_AVX512VL)))
8163 : return -1;
8164 : return 3457; /* *avx512vl_cmpv2di3 */
8165 :
8166 : case 5:
8167 : if (!(
8168 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8169 : (TARGET_AVX512F && GET_MODE_NUNITS (V8HFmode) >= 8
8170 : && ix86_pre_reload_split ()) &&
8171 : #line 322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8172 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
8173 : return -1;
8174 : return 3460; /* *avx512fp16_cmpv8hf3 */
8175 :
8176 : case 6:
8177 : if (!(
8178 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8179 : (TARGET_AVX512F && GET_MODE_NUNITS (V8SFmode) >= 8
8180 : && ix86_pre_reload_split ()) &&
8181 : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8182 : (TARGET_AVX512VL)))
8183 : return -1;
8184 : return 3462; /* *avx512vl_cmpv8sf3 */
8185 :
8186 : case 7:
8187 : if (!(
8188 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8189 : (TARGET_AVX512F && GET_MODE_NUNITS (V4SFmode) >= 8
8190 : && ix86_pre_reload_split ()) &&
8191 : #line 323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8192 : (TARGET_AVX512VL)))
8193 : return -1;
8194 : return 3463; /* *avx512vl_cmpv4sf3 */
8195 :
8196 : case 8:
8197 : if (!
8198 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8199 : (TARGET_AVX512F && GET_MODE_NUNITS (V8DFmode) >= 8
8200 : && ix86_pre_reload_split ()))
8201 : return -1;
8202 : return 3464; /* *avx512f_cmpv8df3 */
8203 :
8204 : case 9:
8205 : if (!(
8206 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8207 : (TARGET_AVX512F && GET_MODE_NUNITS (V4DFmode) >= 8
8208 : && ix86_pre_reload_split ()) &&
8209 : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8210 : (TARGET_AVX512VL)))
8211 : return -1;
8212 : return 3465; /* *avx512vl_cmpv4df3 */
8213 :
8214 : case 10:
8215 : if (!(
8216 : #line 4695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8217 : (TARGET_AVX512F && GET_MODE_NUNITS (V2DFmode) >= 8
8218 : && ix86_pre_reload_split ()) &&
8219 : #line 324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8220 : (TARGET_AVX512VL)))
8221 : return -1;
8222 : return 3466; /* *avx512vl_cmpv2df3 */
8223 :
8224 : case 11:
8225 : if (!(
8226 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8227 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8228 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8229 : (TARGET_AVX512VL)))
8230 : return -1;
8231 : return 3540; /* *avx512vl_cmpv8hi3 */
8232 :
8233 : default:
8234 : return -1;
8235 : }
8236 :
8237 : default:
8238 : return -1;
8239 : }
8240 :
8241 : case 158:
8242 : if (!const_0_to_7_operand (operands[3], E_SImode))
8243 : return -1;
8244 : switch (GET_MODE (operands[0]))
8245 : {
8246 : case E_HImode:
8247 : switch (pattern1088 (x2))
8248 : {
8249 : case 0:
8250 : if (!(
8251 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8252 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8253 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8254 : (TARGET_AVX512VL)))
8255 : return -1;
8256 : return 3533; /* *avx512vl_cmpv16qi3 */
8257 :
8258 : case 1:
8259 : if (!(
8260 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8261 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8262 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8263 : (TARGET_AVX512VL)))
8264 : return -1;
8265 : return 3539; /* *avx512vl_cmpv16hi3 */
8266 :
8267 : case 2:
8268 : if (!
8269 : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8270 : (TARGET_AVX512F && ix86_pre_reload_split ()
8271 : && GET_MODE_NUNITS (V16SImode) >= 8))
8272 : return -1;
8273 : return 3710; /* *avx512f_ucmpv16si3 */
8274 :
8275 : default:
8276 : return -1;
8277 : }
8278 :
8279 : case E_QImode:
8280 : switch (pattern1089 (x2))
8281 : {
8282 : case 0:
8283 : if (!(
8284 : #line 4889 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8285 : (TARGET_AVX512BW && ix86_pre_reload_split ()) &&
8286 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8287 : (TARGET_AVX512VL)))
8288 : return -1;
8289 : return 3541; /* *avx512vl_cmpv8hi3 */
8290 :
8291 : case 1:
8292 : if (!(
8293 : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8294 : (TARGET_AVX512F && ix86_pre_reload_split ()
8295 : && GET_MODE_NUNITS (V8SImode) >= 8) &&
8296 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8297 : (TARGET_AVX512VL)))
8298 : return -1;
8299 : return 3711; /* *avx512vl_ucmpv8si3 */
8300 :
8301 : case 2:
8302 : if (!(
8303 : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8304 : (TARGET_AVX512F && ix86_pre_reload_split ()
8305 : && GET_MODE_NUNITS (V4SImode) >= 8) &&
8306 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8307 : (TARGET_AVX512VL)))
8308 : return -1;
8309 : return 3712; /* *avx512vl_ucmpv4si3 */
8310 :
8311 : case 3:
8312 : if (!
8313 : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8314 : (TARGET_AVX512F && ix86_pre_reload_split ()
8315 : && GET_MODE_NUNITS (V8DImode) >= 8))
8316 : return -1;
8317 : return 3713; /* *avx512f_ucmpv8di3 */
8318 :
8319 : case 4:
8320 : if (!(
8321 : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8322 : (TARGET_AVX512F && ix86_pre_reload_split ()
8323 : && GET_MODE_NUNITS (V4DImode) >= 8) &&
8324 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8325 : (TARGET_AVX512VL)))
8326 : return -1;
8327 : return 3714; /* *avx512vl_ucmpv4di3 */
8328 :
8329 : case 5:
8330 : if (!(
8331 : #line 5115 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8332 : (TARGET_AVX512F && ix86_pre_reload_split ()
8333 : && GET_MODE_NUNITS (V2DImode) >= 8) &&
8334 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8335 : (TARGET_AVX512VL)))
8336 : return -1;
8337 : return 3715; /* *avx512vl_ucmpv2di3 */
8338 :
8339 : default:
8340 : return -1;
8341 : }
8342 :
8343 : default:
8344 : return -1;
8345 : }
8346 :
8347 : default:
8348 : return -1;
8349 : }
8350 :
8351 : default:
8352 : return -1;
8353 : }
8354 : }
8355 :
8356 : int
8357 : recog_63 (rtx x1 ATTRIBUTE_UNUSED,
8358 : rtx_insn *insn ATTRIBUTE_UNUSED,
8359 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8360 : {
8361 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8362 : rtx x2, x3, x4, x5, x6;
8363 : int res ATTRIBUTE_UNUSED;
8364 : x2 = XEXP (x1, 1);
8365 : switch (XVECLEN (x2, 0))
8366 : {
8367 : case 1:
8368 : switch (XINT (x2, 1))
8369 : {
8370 : case 20:
8371 : if (GET_MODE (x2) != E_BLKmode)
8372 : return -1;
8373 : x3 = XVECEXP (x2, 0, 0);
8374 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8375 : return -1;
8376 : x4 = XEXP (x1, 0);
8377 : operands[0] = x4;
8378 : if (!memory_operand (operands[0], E_BLKmode)
8379 : || !
8380 : #line 29849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8381 : (TARGET_FXSR))
8382 : return -1;
8383 : return 1955; /* fxsave */
8384 :
8385 : case 22:
8386 : if (GET_MODE (x2) != E_BLKmode)
8387 : return -1;
8388 : x3 = XVECEXP (x2, 0, 0);
8389 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8390 : return -1;
8391 : x4 = XEXP (x1, 0);
8392 : operands[0] = x4;
8393 : if (!memory_operand (operands[0], E_BLKmode)
8394 : || !
8395 : #line 29859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8396 : (TARGET_64BIT && TARGET_FXSR))
8397 : return -1;
8398 : return 1956; /* fxsave64 */
8399 :
8400 : case 24:
8401 : if (GET_MODE (x2) != E_BLKmode)
8402 : return -1;
8403 : x4 = XEXP (x1, 0);
8404 : operands[0] = x4;
8405 : if (!memory_operand (operands[0], E_BLKmode))
8406 : return -1;
8407 : x3 = XVECEXP (x2, 0, 0);
8408 : operands[1] = x3;
8409 : if (!register_operand (operands[1], E_DImode)
8410 : || !
8411 : #line 29929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8412 : (!TARGET_64BIT && TARGET_XSAVE))
8413 : return -1;
8414 : return 1959; /* xsave */
8415 :
8416 : case 28:
8417 : if (GET_MODE (x2) != E_BLKmode)
8418 : return -1;
8419 : x4 = XEXP (x1, 0);
8420 : operands[0] = x4;
8421 : if (!memory_operand (operands[0], E_BLKmode))
8422 : return -1;
8423 : x3 = XVECEXP (x2, 0, 0);
8424 : operands[1] = x3;
8425 : if (!register_operand (operands[1], E_DImode)
8426 : || !(
8427 : #line 29929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8428 : (!TARGET_64BIT && TARGET_XSAVE) &&
8429 : #line 29890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8430 : (TARGET_XSAVEOPT)))
8431 : return -1;
8432 : return 1960; /* xsaveopt */
8433 :
8434 : case 34:
8435 : if (GET_MODE (x2) != E_BLKmode)
8436 : return -1;
8437 : x4 = XEXP (x1, 0);
8438 : operands[0] = x4;
8439 : if (!memory_operand (operands[0], E_BLKmode))
8440 : return -1;
8441 : x3 = XVECEXP (x2, 0, 0);
8442 : operands[1] = x3;
8443 : if (!register_operand (operands[1], E_DImode)
8444 : || !(
8445 : #line 29929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8446 : (!TARGET_64BIT && TARGET_XSAVE) &&
8447 : #line 29891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8448 : (TARGET_XSAVEC)))
8449 : return -1;
8450 : return 1961; /* xsavec */
8451 :
8452 : case 30:
8453 : if (GET_MODE (x2) != E_BLKmode)
8454 : return -1;
8455 : x4 = XEXP (x1, 0);
8456 : operands[0] = x4;
8457 : if (!memory_operand (operands[0], E_BLKmode))
8458 : return -1;
8459 : x3 = XVECEXP (x2, 0, 0);
8460 : operands[1] = x3;
8461 : if (!register_operand (operands[1], E_DImode)
8462 : || !(
8463 : #line 29929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8464 : (!TARGET_64BIT && TARGET_XSAVE) &&
8465 : #line 29892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8466 : (TARGET_XSAVES)))
8467 : return -1;
8468 : return 1962; /* xsaves */
8469 :
8470 : case 40:
8471 : if (pnum_clobbers == NULL
8472 : || GET_MODE (x2) != E_BLKmode)
8473 : return -1;
8474 : x3 = XVECEXP (x2, 0, 0);
8475 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8476 : return -1;
8477 : x4 = XEXP (x1, 0);
8478 : operands[0] = x4;
8479 : if (!memory_operand (operands[0], E_BLKmode)
8480 : || !
8481 : #line 30060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8482 : (TARGET_80387))
8483 : return -1;
8484 : *pnum_clobbers = 8;
8485 : return 1981; /* fnstenv */
8486 :
8487 : case 42:
8488 : if (GET_MODE (x2) != E_HImode)
8489 : return -1;
8490 : x3 = XVECEXP (x2, 0, 0);
8491 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8492 : return -1;
8493 : x4 = XEXP (x1, 0);
8494 : operands[0] = x4;
8495 : if (!nonimmediate_operand (operands[0], E_HImode)
8496 : || !
8497 : #line 30088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8498 : (TARGET_80387))
8499 : return -1;
8500 : return 1983; /* fnstsw */
8501 :
8502 : case 49:
8503 : if (pattern60 (x1,
8504 : E_CCZmode) != 0
8505 : || !
8506 : #line 30374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8507 : (TARGET_RTM))
8508 : return -1;
8509 : return 2026; /* xtest_1 */
8510 :
8511 : case 74:
8512 : if (pattern60 (x1,
8513 : E_CCCmode) != 0
8514 : || !
8515 : #line 30559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8516 : (TARGET_UINTR && TARGET_64BIT))
8517 : return -1;
8518 : return 2052; /* testui */
8519 :
8520 : case 88:
8521 : if (GET_MODE (x2) != E_BLKmode)
8522 : return -1;
8523 : x3 = XVECEXP (x2, 0, 0);
8524 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8525 : return -1;
8526 : x4 = XEXP (x1, 0);
8527 : operands[0] = x4;
8528 : if (!memory_operand (operands[0], E_BLKmode)
8529 : || !
8530 : #line 30787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8531 : (TARGET_AMX_TILE))
8532 : return -1;
8533 : return 2068; /* sttilecfg */
8534 :
8535 : case 89:
8536 : x4 = XEXP (x1, 0);
8537 : operands[0] = x4;
8538 : x3 = XVECEXP (x2, 0, 0);
8539 : operands[1] = x3;
8540 : switch (GET_MODE (operands[0]))
8541 : {
8542 : case E_QImode:
8543 : if (!register_operand (operands[0], E_QImode)
8544 : || GET_MODE (x2) != E_QImode
8545 : || !memory_operand (operands[1], E_QImode)
8546 : || !
8547 : #line 30798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8548 : (TARGET_MOVRS && TARGET_64BIT))
8549 : return -1;
8550 : return 2069; /* movrsqi */
8551 :
8552 : case E_HImode:
8553 : if (!register_operand (operands[0], E_HImode)
8554 : || GET_MODE (x2) != E_HImode
8555 : || !memory_operand (operands[1], E_HImode)
8556 : || !
8557 : #line 30798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8558 : (TARGET_MOVRS && TARGET_64BIT))
8559 : return -1;
8560 : return 2070; /* movrshi */
8561 :
8562 : default:
8563 : return -1;
8564 : }
8565 :
8566 : default:
8567 : return -1;
8568 : }
8569 :
8570 : case 2:
8571 : switch (XINT (x2, 1))
8572 : {
8573 : case 24:
8574 : if (pattern99 (x1) != 0
8575 : || !
8576 : #line 29942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8577 : (TARGET_64BIT && TARGET_XSAVE))
8578 : return -1;
8579 : return 1963; /* xsave_rex64 */
8580 :
8581 : case 28:
8582 : if (pattern99 (x1) != 0
8583 : || !(
8584 : #line 29942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8585 : (TARGET_64BIT && TARGET_XSAVE) &&
8586 : #line 29890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8587 : (TARGET_XSAVEOPT)))
8588 : return -1;
8589 : return 1964; /* xsaveopt_rex64 */
8590 :
8591 : case 34:
8592 : if (pattern99 (x1) != 0
8593 : || !(
8594 : #line 29942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8595 : (TARGET_64BIT && TARGET_XSAVE) &&
8596 : #line 29891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8597 : (TARGET_XSAVEC)))
8598 : return -1;
8599 : return 1965; /* xsavec_rex64 */
8600 :
8601 : case 30:
8602 : if (pattern99 (x1) != 0
8603 : || !(
8604 : #line 29942 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8605 : (TARGET_64BIT && TARGET_XSAVE) &&
8606 : #line 29892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8607 : (TARGET_XSAVES)))
8608 : return -1;
8609 : return 1966; /* xsaves_rex64 */
8610 :
8611 : case 26:
8612 : if (pattern99 (x1) != 0
8613 : || !
8614 : #line 29956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8615 : (TARGET_64BIT && TARGET_XSAVE))
8616 : return -1;
8617 : return 1967; /* xsave64 */
8618 :
8619 : case 29:
8620 : if (pattern99 (x1) != 0
8621 : || !(
8622 : #line 29956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8623 : (TARGET_64BIT && TARGET_XSAVE) &&
8624 : #line 29896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8625 : (TARGET_XSAVEOPT)))
8626 : return -1;
8627 : return 1968; /* xsaveopt64 */
8628 :
8629 : case 35:
8630 : if (pattern99 (x1) != 0
8631 : || !(
8632 : #line 29956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8633 : (TARGET_64BIT && TARGET_XSAVE) &&
8634 : #line 29897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8635 : (TARGET_XSAVEC)))
8636 : return -1;
8637 : return 1969; /* xsavec64 */
8638 :
8639 : case 32:
8640 : if (pattern99 (x1) != 0
8641 : || !(
8642 : #line 29956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8643 : (TARGET_64BIT && TARGET_XSAVE) &&
8644 : #line 29898 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8645 : (TARGET_XSAVES)))
8646 : return -1;
8647 : return 1970; /* xsaves64 */
8648 :
8649 : case 79:
8650 : switch (pattern100 (x1))
8651 : {
8652 : case 0:
8653 : if (!(
8654 : #line 30541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8655 : (TARGET_ENQCMD) &&
8656 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8657 : (Pmode == SImode)))
8658 : return -1;
8659 : return 2046; /* enqcmd_si */
8660 :
8661 : case 1:
8662 : if (!(
8663 : #line 30541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8664 : (TARGET_ENQCMD) &&
8665 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8666 : (Pmode == DImode)))
8667 : return -1;
8668 : return 2048; /* enqcmd_di */
8669 :
8670 : default:
8671 : return -1;
8672 : }
8673 :
8674 : case 80:
8675 : switch (pattern100 (x1))
8676 : {
8677 : case 0:
8678 : if (!(
8679 : #line 30541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8680 : (TARGET_ENQCMD) &&
8681 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8682 : (Pmode == SImode)))
8683 : return -1;
8684 : return 2047; /* enqcmds_si */
8685 :
8686 : case 1:
8687 : if (!(
8688 : #line 30541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8689 : (TARGET_ENQCMD) &&
8690 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8691 : (Pmode == DImode)))
8692 : return -1;
8693 : return 2049; /* enqcmds_di */
8694 :
8695 : default:
8696 : return -1;
8697 : }
8698 :
8699 : case 69:
8700 : if (pattern101 (x1) != 0
8701 : || !
8702 : #line 30580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8703 : (!TARGET_64BIT && TARGET_WAITPKG))
8704 : return -1;
8705 : return 2054; /* umwait */
8706 :
8707 : case 71:
8708 : if (pattern101 (x1) != 0
8709 : || !
8710 : #line 30607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8711 : (!TARGET_64BIT && TARGET_WAITPKG))
8712 : return -1;
8713 : return 2058; /* tpause */
8714 :
8715 : case 111:
8716 : if (pnum_clobbers == NULL)
8717 : return -1;
8718 : x4 = XEXP (x1, 0);
8719 : operands[0] = x4;
8720 : x5 = XVECEXP (x2, 0, 1);
8721 : operands[2] = x5;
8722 : if (!const_int_operand (operands[2], E_SImode))
8723 : return -1;
8724 : x3 = XVECEXP (x2, 0, 0);
8725 : switch (GET_CODE (x3))
8726 : {
8727 : case PLUS:
8728 : switch (pattern869 (x2))
8729 : {
8730 : case 0:
8731 : *pnum_clobbers = 1;
8732 : return 11100; /* atomic_addqi */
8733 :
8734 : case 1:
8735 : *pnum_clobbers = 1;
8736 : return 11101; /* atomic_addhi */
8737 :
8738 : default:
8739 : return -1;
8740 : }
8741 :
8742 : case MINUS:
8743 : switch (pattern869 (x2))
8744 : {
8745 : case 0:
8746 : *pnum_clobbers = 1;
8747 : return 11104; /* atomic_subqi */
8748 :
8749 : case 1:
8750 : *pnum_clobbers = 1;
8751 : return 11105; /* atomic_subhi */
8752 :
8753 : default:
8754 : return -1;
8755 : }
8756 :
8757 : case AND:
8758 : switch (pattern869 (x2))
8759 : {
8760 : case 0:
8761 : *pnum_clobbers = 1;
8762 : return 11108; /* atomic_andqi */
8763 :
8764 : case 1:
8765 : *pnum_clobbers = 1;
8766 : return 11111; /* atomic_andhi */
8767 :
8768 : default:
8769 : return -1;
8770 : }
8771 :
8772 : case IOR:
8773 : switch (pattern869 (x2))
8774 : {
8775 : case 0:
8776 : *pnum_clobbers = 1;
8777 : return 11109; /* atomic_orqi */
8778 :
8779 : case 1:
8780 : *pnum_clobbers = 1;
8781 : return 11112; /* atomic_orhi */
8782 :
8783 : default:
8784 : return -1;
8785 : }
8786 :
8787 : case XOR:
8788 : switch (pattern869 (x2))
8789 : {
8790 : case 0:
8791 : *pnum_clobbers = 1;
8792 : return 11110; /* atomic_xorqi */
8793 :
8794 : case 1:
8795 : *pnum_clobbers = 1;
8796 : return 11113; /* atomic_xorhi */
8797 :
8798 : default:
8799 : return -1;
8800 : }
8801 :
8802 : default:
8803 : return -1;
8804 : }
8805 :
8806 : default:
8807 : return -1;
8808 : }
8809 :
8810 : case 3:
8811 : if (pattern46 (x1,
8812 : E_CCCmode) != 0)
8813 : return -1;
8814 : x3 = XVECEXP (x2, 0, 0);
8815 : operands[0] = x3;
8816 : x5 = XVECEXP (x2, 0, 1);
8817 : operands[1] = x5;
8818 : x6 = XVECEXP (x2, 0, 2);
8819 : operands[2] = x6;
8820 : switch (XINT (x2, 1))
8821 : {
8822 : case 15:
8823 : if (!nonimmediate_operand (operands[1], E_SImode)
8824 : || !const_int_operand (operands[2], E_SImode))
8825 : return -1;
8826 : switch (GET_MODE (operands[0]))
8827 : {
8828 : case E_SImode:
8829 : if (!register_operand (operands[0], E_SImode)
8830 : || !
8831 : #line 30145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8832 : (TARGET_LWP))
8833 : return -1;
8834 : return 1991; /* lwp_lwpinssi */
8835 :
8836 : case E_DImode:
8837 : if (!register_operand (operands[0], E_DImode)
8838 : || !(
8839 : #line 30145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8840 : (TARGET_LWP) &&
8841 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8842 : (TARGET_64BIT)))
8843 : return -1;
8844 : return 1992; /* lwp_lwpinsdi */
8845 :
8846 : default:
8847 : return -1;
8848 : }
8849 :
8850 : case 69:
8851 : if (!register_operand (operands[0], E_SImode)
8852 : || !register_operand (operands[1], E_SImode)
8853 : || !register_operand (operands[2], E_SImode)
8854 : || !
8855 : #line 30590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8856 : (TARGET_64BIT && TARGET_WAITPKG))
8857 : return -1;
8858 : return 2055; /* umwait_rex64 */
8859 :
8860 : case 71:
8861 : if (!register_operand (operands[0], E_SImode)
8862 : || !register_operand (operands[1], E_SImode)
8863 : || !register_operand (operands[2], E_SImode)
8864 : || !
8865 : #line 30617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8866 : (TARGET_64BIT && TARGET_WAITPKG))
8867 : return -1;
8868 : return 2059; /* tpause_rex64 */
8869 :
8870 : default:
8871 : return -1;
8872 : }
8873 :
8874 : default:
8875 : return -1;
8876 : }
8877 : }
8878 :
8879 : int
8880 : recog_76 (rtx x1 ATTRIBUTE_UNUSED,
8881 : rtx_insn *insn ATTRIBUTE_UNUSED,
8882 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8883 : {
8884 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8885 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8886 : rtx x10;
8887 : int res ATTRIBUTE_UNUSED;
8888 : x2 = XEXP (x1, 1);
8889 : x3 = XEXP (x2, 0);
8890 : x4 = XEXP (x3, 0);
8891 : switch (GET_CODE (x4))
8892 : {
8893 : case REG:
8894 : case SUBREG:
8895 : case MEM:
8896 : switch (pattern115 (x2, pnum_clobbers))
8897 : {
8898 : case 0:
8899 : if (
8900 : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8901 : (TARGET_APX_NDD && TARGET_APX_NF
8902 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8903 : return 738; /* *andqi_1_zextsi_nf */
8904 : if (pnum_clobbers == NULL
8905 : || !
8906 : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8907 : (TARGET_APX_NDD && true
8908 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8909 : return -1;
8910 : *pnum_clobbers = 1;
8911 : return 739; /* *andqi_1_zextsi */
8912 :
8913 : case 1:
8914 : if (
8915 : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8916 : (TARGET_APX_NDD && TARGET_APX_NF
8917 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8918 : return 742; /* *andhi_1_zextsi_nf */
8919 : if (pnum_clobbers == NULL
8920 : || !
8921 : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8922 : (TARGET_APX_NDD && true
8923 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8924 : return -1;
8925 : *pnum_clobbers = 1;
8926 : return 743; /* *andhi_1_zextsi */
8927 :
8928 : case 2:
8929 : if (
8930 : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8931 : (TARGET_APX_NDD && TARGET_APX_NF
8932 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8933 : return 740; /* *andqi_1_zextdi_nf */
8934 : if (pnum_clobbers == NULL
8935 : || !
8936 : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8937 : (TARGET_APX_NDD && true
8938 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8939 : return -1;
8940 : *pnum_clobbers = 1;
8941 : return 741; /* *andqi_1_zextdi */
8942 :
8943 : case 3:
8944 : if (
8945 : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8946 : (TARGET_APX_NDD && TARGET_APX_NF
8947 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8948 : return 744; /* *andhi_1_zextdi_nf */
8949 : if (pnum_clobbers == NULL
8950 : || !
8951 : #line 12982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8952 : (TARGET_APX_NDD && true
8953 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8954 : return -1;
8955 : *pnum_clobbers = 1;
8956 : return 745; /* *andhi_1_zextdi */
8957 :
8958 : case 4:
8959 : if (!
8960 : #line 12998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8961 : (TARGET_64BIT
8962 : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
8963 : return -1;
8964 : *pnum_clobbers = 1;
8965 : return 746; /* *andsi_1_zext */
8966 :
8967 : default:
8968 : return -1;
8969 : }
8970 :
8971 : case PLUS:
8972 : if (pnum_clobbers == NULL
8973 : || pattern441 (x4) != 0)
8974 : return -1;
8975 : x5 = XEXP (x4, 1);
8976 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
8977 : || !register_operand (operands[0], E_DImode)
8978 : || GET_MODE (x2) != E_DImode
8979 : || GET_MODE (x3) != E_SImode)
8980 : return -1;
8981 : x6 = XEXP (x4, 0);
8982 : x7 = XEXP (x6, 1);
8983 : operands[2] = x7;
8984 : if (!register_operand (operands[2], E_QImode))
8985 : return -1;
8986 : x8 = XEXP (x3, 1);
8987 : operands[1] = x8;
8988 : if (!nonimmediate_operand (operands[1], E_SImode)
8989 : || !
8990 : #line 22472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8991 : (TARGET_64BIT && TARGET_BMI2))
8992 : return -1;
8993 : *pnum_clobbers = 1;
8994 : return 1632; /* *bmi2_bzhi_zero_extendsidi_4 */
8995 :
8996 : case UNSPEC:
8997 : if (XVECLEN (x4, 0) != 2)
8998 : return -1;
8999 : x9 = XVECEXP (x4, 0, 0);
9000 : operands[1] = x9;
9001 : x10 = XVECEXP (x4, 0, 1);
9002 : operands[2] = x10;
9003 : x8 = XEXP (x3, 1);
9004 : operands[3] = x8;
9005 : switch (XINT (x4, 1))
9006 : {
9007 : case 159:
9008 : switch (GET_MODE (operands[0]))
9009 : {
9010 : case E_DImode:
9011 : switch (pattern1096 (x2,
9012 : E_DImode))
9013 : {
9014 : case 0:
9015 : if (!(
9016 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9017 : (TARGET_AVX512BW
9018 : && (8
9019 : > GET_MODE_SIZE (DImode))) &&
9020 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9021 : (TARGET_AVX512BW)))
9022 : return -1;
9023 : return 8238; /* *avx512bw_testmv64qi3_zext_mask */
9024 :
9025 : case 1:
9026 : if (!(
9027 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9028 : (TARGET_AVX512BW
9029 : && (8
9030 : > GET_MODE_SIZE (SImode))) && ((
9031 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9032 : (TARGET_AVX512BW) &&
9033 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9034 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9035 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9036 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9037 : return -1;
9038 : return 8241; /* *avx512vl_testmv32qi3_zext_mask */
9039 :
9040 : case 2:
9041 : if (!(
9042 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9043 : (TARGET_AVX512BW
9044 : && (8
9045 : > GET_MODE_SIZE (SImode))) &&
9046 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9047 : (TARGET_AVX512BW)))
9048 : return -1;
9049 : return 8247; /* *avx512bw_testmv32hi3_zext_mask */
9050 :
9051 : case 3:
9052 : if (!(
9053 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9054 : (TARGET_AVX512BW
9055 : && (8
9056 : > GET_MODE_SIZE (HImode))) && ((
9057 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9058 : (TARGET_AVX512BW) &&
9059 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9060 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9061 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9062 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9063 : return -1;
9064 : return 8244; /* *avx512vl_testmv16qi3_zext_mask */
9065 :
9066 : case 4:
9067 : if (!(
9068 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9069 : (TARGET_AVX512BW
9070 : && (8
9071 : > GET_MODE_SIZE (HImode))) && ((
9072 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9073 : (TARGET_AVX512BW) &&
9074 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9075 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9076 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9077 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9078 : return -1;
9079 : return 8250; /* *avx512vl_testmv16hi3_zext_mask */
9080 :
9081 : case 5:
9082 : if (!(
9083 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9084 : (TARGET_AVX512BW
9085 : && (8
9086 : > GET_MODE_SIZE (HImode))) &&
9087 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9088 : (TARGET_AVX512BW)))
9089 : return -1;
9090 : return 8256; /* *avx512f_testmv16si3_zext_mask */
9091 :
9092 : case 6:
9093 : if (!(
9094 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9095 : (TARGET_AVX512BW
9096 : && (8
9097 : > GET_MODE_SIZE (QImode))) && ((
9098 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9099 : (TARGET_AVX512BW) &&
9100 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9101 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9102 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9103 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9104 : return -1;
9105 : return 8253; /* *avx512vl_testmv8hi3_zext_mask */
9106 :
9107 : case 7:
9108 : if (!(
9109 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9110 : (TARGET_AVX512BW
9111 : && (8
9112 : > GET_MODE_SIZE (QImode))) && ((
9113 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9114 : (TARGET_AVX512BW) &&
9115 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9116 : (TARGET_AVX512VL)) &&
9117 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9118 : (TARGET_AVX512VL))))
9119 : return -1;
9120 : return 8259; /* *avx512vl_testmv8si3_zext_mask */
9121 :
9122 : case 8:
9123 : if (!(
9124 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9125 : (TARGET_AVX512BW
9126 : && (8
9127 : > GET_MODE_SIZE (QImode))) && ((
9128 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9129 : (TARGET_AVX512BW) &&
9130 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9131 : (TARGET_AVX512VL)) &&
9132 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9133 : (TARGET_AVX512VL))))
9134 : return -1;
9135 : return 8262; /* *avx512vl_testmv4si3_zext_mask */
9136 :
9137 : case 9:
9138 : if (!(
9139 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9140 : (TARGET_AVX512BW
9141 : && (8
9142 : > GET_MODE_SIZE (QImode))) &&
9143 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9144 : (TARGET_AVX512BW)))
9145 : return -1;
9146 : return 8265; /* *avx512f_testmv8di3_zext_mask */
9147 :
9148 : case 10:
9149 : if (!(
9150 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9151 : (TARGET_AVX512BW
9152 : && (8
9153 : > GET_MODE_SIZE (QImode))) && ((
9154 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9155 : (TARGET_AVX512BW) &&
9156 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9157 : (TARGET_AVX512VL)) &&
9158 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9159 : (TARGET_AVX512VL))))
9160 : return -1;
9161 : return 8268; /* *avx512vl_testmv4di3_zext_mask */
9162 :
9163 : case 11:
9164 : if (!(
9165 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9166 : (TARGET_AVX512BW
9167 : && (8
9168 : > GET_MODE_SIZE (QImode))) && ((
9169 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9170 : (TARGET_AVX512BW) &&
9171 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9172 : (TARGET_AVX512VL)) &&
9173 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9174 : (TARGET_AVX512VL))))
9175 : return -1;
9176 : return 8271; /* *avx512vl_testmv2di3_zext_mask */
9177 :
9178 : default:
9179 : return -1;
9180 : }
9181 :
9182 : case E_SImode:
9183 : switch (pattern1096 (x2,
9184 : E_SImode))
9185 : {
9186 : case 0:
9187 : if (!(
9188 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9189 : (TARGET_AVX512BW
9190 : && (4
9191 : > GET_MODE_SIZE (DImode))) &&
9192 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9193 : (TARGET_AVX512BW)))
9194 : return -1;
9195 : return 8239; /* *avx512bw_testmv64qi3_zext_mask */
9196 :
9197 : case 1:
9198 : if (!(
9199 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9200 : (TARGET_AVX512BW
9201 : && (4
9202 : > GET_MODE_SIZE (SImode))) && ((
9203 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9204 : (TARGET_AVX512BW) &&
9205 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9206 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9207 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9208 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9209 : return -1;
9210 : return 8242; /* *avx512vl_testmv32qi3_zext_mask */
9211 :
9212 : case 2:
9213 : if (!(
9214 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9215 : (TARGET_AVX512BW
9216 : && (4
9217 : > GET_MODE_SIZE (SImode))) &&
9218 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9219 : (TARGET_AVX512BW)))
9220 : return -1;
9221 : return 8248; /* *avx512bw_testmv32hi3_zext_mask */
9222 :
9223 : case 3:
9224 : if (!(
9225 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9226 : (TARGET_AVX512BW
9227 : && (4
9228 : > GET_MODE_SIZE (HImode))) && ((
9229 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9230 : (TARGET_AVX512BW) &&
9231 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9232 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9233 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9234 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9235 : return -1;
9236 : return 8245; /* *avx512vl_testmv16qi3_zext_mask */
9237 :
9238 : case 4:
9239 : if (!(
9240 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9241 : (TARGET_AVX512BW
9242 : && (4
9243 : > GET_MODE_SIZE (HImode))) && ((
9244 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9245 : (TARGET_AVX512BW) &&
9246 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9247 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9248 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9249 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9250 : return -1;
9251 : return 8251; /* *avx512vl_testmv16hi3_zext_mask */
9252 :
9253 : case 5:
9254 : if (!(
9255 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9256 : (TARGET_AVX512BW
9257 : && (4
9258 : > GET_MODE_SIZE (HImode))) &&
9259 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9260 : (TARGET_AVX512BW)))
9261 : return -1;
9262 : return 8257; /* *avx512f_testmv16si3_zext_mask */
9263 :
9264 : case 6:
9265 : if (!(
9266 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9267 : (TARGET_AVX512BW
9268 : && (4
9269 : > GET_MODE_SIZE (QImode))) && ((
9270 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9271 : (TARGET_AVX512BW) &&
9272 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9273 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9274 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9275 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9276 : return -1;
9277 : return 8254; /* *avx512vl_testmv8hi3_zext_mask */
9278 :
9279 : case 7:
9280 : if (!(
9281 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9282 : (TARGET_AVX512BW
9283 : && (4
9284 : > GET_MODE_SIZE (QImode))) && ((
9285 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9286 : (TARGET_AVX512BW) &&
9287 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9288 : (TARGET_AVX512VL)) &&
9289 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9290 : (TARGET_AVX512VL))))
9291 : return -1;
9292 : return 8260; /* *avx512vl_testmv8si3_zext_mask */
9293 :
9294 : case 8:
9295 : if (!(
9296 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9297 : (TARGET_AVX512BW
9298 : && (4
9299 : > GET_MODE_SIZE (QImode))) && ((
9300 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9301 : (TARGET_AVX512BW) &&
9302 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9303 : (TARGET_AVX512VL)) &&
9304 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9305 : (TARGET_AVX512VL))))
9306 : return -1;
9307 : return 8263; /* *avx512vl_testmv4si3_zext_mask */
9308 :
9309 : case 9:
9310 : if (!(
9311 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9312 : (TARGET_AVX512BW
9313 : && (4
9314 : > GET_MODE_SIZE (QImode))) &&
9315 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9316 : (TARGET_AVX512BW)))
9317 : return -1;
9318 : return 8266; /* *avx512f_testmv8di3_zext_mask */
9319 :
9320 : case 10:
9321 : if (!(
9322 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9323 : (TARGET_AVX512BW
9324 : && (4
9325 : > GET_MODE_SIZE (QImode))) && ((
9326 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9327 : (TARGET_AVX512BW) &&
9328 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9329 : (TARGET_AVX512VL)) &&
9330 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9331 : (TARGET_AVX512VL))))
9332 : return -1;
9333 : return 8269; /* *avx512vl_testmv4di3_zext_mask */
9334 :
9335 : case 11:
9336 : if (!(
9337 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9338 : (TARGET_AVX512BW
9339 : && (4
9340 : > GET_MODE_SIZE (QImode))) && ((
9341 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9342 : (TARGET_AVX512BW) &&
9343 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9344 : (TARGET_AVX512VL)) &&
9345 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9346 : (TARGET_AVX512VL))))
9347 : return -1;
9348 : return 8272; /* *avx512vl_testmv2di3_zext_mask */
9349 :
9350 : default:
9351 : return -1;
9352 : }
9353 :
9354 : default:
9355 : return -1;
9356 : }
9357 :
9358 : case 160:
9359 : switch (GET_MODE (operands[0]))
9360 : {
9361 : case E_DImode:
9362 : switch (pattern1096 (x2,
9363 : E_DImode))
9364 : {
9365 : case 0:
9366 : if (!(
9367 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9368 : (TARGET_AVX512BW
9369 : && (8
9370 : > GET_MODE_SIZE (DImode))) &&
9371 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9372 : (TARGET_AVX512BW)))
9373 : return -1;
9374 : return 8310; /* *avx512bw_testnmv64qi3_zext_mask */
9375 :
9376 : case 1:
9377 : if (!(
9378 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9379 : (TARGET_AVX512BW
9380 : && (8
9381 : > GET_MODE_SIZE (SImode))) && ((
9382 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9383 : (TARGET_AVX512BW) &&
9384 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9385 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9386 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9387 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9388 : return -1;
9389 : return 8313; /* *avx512vl_testnmv32qi3_zext_mask */
9390 :
9391 : case 2:
9392 : if (!(
9393 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9394 : (TARGET_AVX512BW
9395 : && (8
9396 : > GET_MODE_SIZE (SImode))) &&
9397 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9398 : (TARGET_AVX512BW)))
9399 : return -1;
9400 : return 8319; /* *avx512bw_testnmv32hi3_zext_mask */
9401 :
9402 : case 3:
9403 : if (!(
9404 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9405 : (TARGET_AVX512BW
9406 : && (8
9407 : > GET_MODE_SIZE (HImode))) && ((
9408 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9409 : (TARGET_AVX512BW) &&
9410 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9411 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9412 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9413 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9414 : return -1;
9415 : return 8316; /* *avx512vl_testnmv16qi3_zext_mask */
9416 :
9417 : case 4:
9418 : if (!(
9419 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9420 : (TARGET_AVX512BW
9421 : && (8
9422 : > GET_MODE_SIZE (HImode))) && ((
9423 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9424 : (TARGET_AVX512BW) &&
9425 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9426 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9427 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9428 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9429 : return -1;
9430 : return 8322; /* *avx512vl_testnmv16hi3_zext_mask */
9431 :
9432 : case 5:
9433 : if (!(
9434 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9435 : (TARGET_AVX512BW
9436 : && (8
9437 : > GET_MODE_SIZE (HImode))) &&
9438 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9439 : (TARGET_AVX512BW)))
9440 : return -1;
9441 : return 8328; /* *avx512f_testnmv16si3_zext_mask */
9442 :
9443 : case 6:
9444 : if (!(
9445 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9446 : (TARGET_AVX512BW
9447 : && (8
9448 : > GET_MODE_SIZE (QImode))) && ((
9449 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9450 : (TARGET_AVX512BW) &&
9451 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9452 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9453 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9454 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9455 : return -1;
9456 : return 8325; /* *avx512vl_testnmv8hi3_zext_mask */
9457 :
9458 : case 7:
9459 : if (!(
9460 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9461 : (TARGET_AVX512BW
9462 : && (8
9463 : > GET_MODE_SIZE (QImode))) && ((
9464 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9465 : (TARGET_AVX512BW) &&
9466 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9467 : (TARGET_AVX512VL)) &&
9468 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9469 : (TARGET_AVX512VL))))
9470 : return -1;
9471 : return 8331; /* *avx512vl_testnmv8si3_zext_mask */
9472 :
9473 : case 8:
9474 : if (!(
9475 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9476 : (TARGET_AVX512BW
9477 : && (8
9478 : > GET_MODE_SIZE (QImode))) && ((
9479 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9480 : (TARGET_AVX512BW) &&
9481 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9482 : (TARGET_AVX512VL)) &&
9483 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9484 : (TARGET_AVX512VL))))
9485 : return -1;
9486 : return 8334; /* *avx512vl_testnmv4si3_zext_mask */
9487 :
9488 : case 9:
9489 : if (!(
9490 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9491 : (TARGET_AVX512BW
9492 : && (8
9493 : > GET_MODE_SIZE (QImode))) &&
9494 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9495 : (TARGET_AVX512BW)))
9496 : return -1;
9497 : return 8337; /* *avx512f_testnmv8di3_zext_mask */
9498 :
9499 : case 10:
9500 : if (!(
9501 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9502 : (TARGET_AVX512BW
9503 : && (8
9504 : > GET_MODE_SIZE (QImode))) && ((
9505 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9506 : (TARGET_AVX512BW) &&
9507 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9508 : (TARGET_AVX512VL)) &&
9509 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9510 : (TARGET_AVX512VL))))
9511 : return -1;
9512 : return 8340; /* *avx512vl_testnmv4di3_zext_mask */
9513 :
9514 : case 11:
9515 : if (!(
9516 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9517 : (TARGET_AVX512BW
9518 : && (8
9519 : > GET_MODE_SIZE (QImode))) && ((
9520 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9521 : (TARGET_AVX512BW) &&
9522 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9523 : (TARGET_AVX512VL)) &&
9524 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9525 : (TARGET_AVX512VL))))
9526 : return -1;
9527 : return 8343; /* *avx512vl_testnmv2di3_zext_mask */
9528 :
9529 : default:
9530 : return -1;
9531 : }
9532 :
9533 : case E_SImode:
9534 : switch (pattern1096 (x2,
9535 : E_SImode))
9536 : {
9537 : case 0:
9538 : if (!(
9539 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9540 : (TARGET_AVX512BW
9541 : && (4
9542 : > GET_MODE_SIZE (DImode))) &&
9543 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9544 : (TARGET_AVX512BW)))
9545 : return -1;
9546 : return 8311; /* *avx512bw_testnmv64qi3_zext_mask */
9547 :
9548 : case 1:
9549 : if (!(
9550 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9551 : (TARGET_AVX512BW
9552 : && (4
9553 : > GET_MODE_SIZE (SImode))) && ((
9554 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9555 : (TARGET_AVX512BW) &&
9556 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9557 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9558 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9559 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9560 : return -1;
9561 : return 8314; /* *avx512vl_testnmv32qi3_zext_mask */
9562 :
9563 : case 2:
9564 : if (!(
9565 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9566 : (TARGET_AVX512BW
9567 : && (4
9568 : > GET_MODE_SIZE (SImode))) &&
9569 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9570 : (TARGET_AVX512BW)))
9571 : return -1;
9572 : return 8320; /* *avx512bw_testnmv32hi3_zext_mask */
9573 :
9574 : case 3:
9575 : if (!(
9576 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9577 : (TARGET_AVX512BW
9578 : && (4
9579 : > GET_MODE_SIZE (HImode))) && ((
9580 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9581 : (TARGET_AVX512BW) &&
9582 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9583 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9584 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9585 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9586 : return -1;
9587 : return 8317; /* *avx512vl_testnmv16qi3_zext_mask */
9588 :
9589 : case 4:
9590 : if (!(
9591 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9592 : (TARGET_AVX512BW
9593 : && (4
9594 : > GET_MODE_SIZE (HImode))) && ((
9595 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9596 : (TARGET_AVX512BW) &&
9597 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9598 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9599 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9600 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9601 : return -1;
9602 : return 8323; /* *avx512vl_testnmv16hi3_zext_mask */
9603 :
9604 : case 5:
9605 : if (!(
9606 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9607 : (TARGET_AVX512BW
9608 : && (4
9609 : > GET_MODE_SIZE (HImode))) &&
9610 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9611 : (TARGET_AVX512BW)))
9612 : return -1;
9613 : return 8329; /* *avx512f_testnmv16si3_zext_mask */
9614 :
9615 : case 6:
9616 : if (!(
9617 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9618 : (TARGET_AVX512BW
9619 : && (4
9620 : > GET_MODE_SIZE (QImode))) && ((
9621 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9622 : (TARGET_AVX512BW) &&
9623 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9624 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
9625 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9626 : (TARGET_AVX512VL && TARGET_AVX512BW))))
9627 : return -1;
9628 : return 8326; /* *avx512vl_testnmv8hi3_zext_mask */
9629 :
9630 : case 7:
9631 : if (!(
9632 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9633 : (TARGET_AVX512BW
9634 : && (4
9635 : > GET_MODE_SIZE (QImode))) && ((
9636 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9637 : (TARGET_AVX512BW) &&
9638 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9639 : (TARGET_AVX512VL)) &&
9640 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9641 : (TARGET_AVX512VL))))
9642 : return -1;
9643 : return 8332; /* *avx512vl_testnmv8si3_zext_mask */
9644 :
9645 : case 8:
9646 : if (!(
9647 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9648 : (TARGET_AVX512BW
9649 : && (4
9650 : > GET_MODE_SIZE (QImode))) && ((
9651 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9652 : (TARGET_AVX512BW) &&
9653 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9654 : (TARGET_AVX512VL)) &&
9655 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9656 : (TARGET_AVX512VL))))
9657 : return -1;
9658 : return 8335; /* *avx512vl_testnmv4si3_zext_mask */
9659 :
9660 : case 9:
9661 : if (!(
9662 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9663 : (TARGET_AVX512BW
9664 : && (4
9665 : > GET_MODE_SIZE (QImode))) &&
9666 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9667 : (TARGET_AVX512BW)))
9668 : return -1;
9669 : return 8338; /* *avx512f_testnmv8di3_zext_mask */
9670 :
9671 : case 10:
9672 : if (!(
9673 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9674 : (TARGET_AVX512BW
9675 : && (4
9676 : > GET_MODE_SIZE (QImode))) && ((
9677 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9678 : (TARGET_AVX512BW) &&
9679 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9680 : (TARGET_AVX512VL)) &&
9681 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9682 : (TARGET_AVX512VL))))
9683 : return -1;
9684 : return 8341; /* *avx512vl_testnmv4di3_zext_mask */
9685 :
9686 : case 11:
9687 : if (!(
9688 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9689 : (TARGET_AVX512BW
9690 : && (4
9691 : > GET_MODE_SIZE (QImode))) && ((
9692 : #line 19382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9693 : (TARGET_AVX512BW) &&
9694 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9695 : (TARGET_AVX512VL)) &&
9696 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9697 : (TARGET_AVX512VL))))
9698 : return -1;
9699 : return 8344; /* *avx512vl_testnmv2di3_zext_mask */
9700 :
9701 : default:
9702 : return -1;
9703 : }
9704 :
9705 : default:
9706 : return -1;
9707 : }
9708 :
9709 : default:
9710 : return -1;
9711 : }
9712 :
9713 : default:
9714 : return -1;
9715 : }
9716 : }
9717 :
9718 : int
9719 : recog_98 (rtx x1 ATTRIBUTE_UNUSED,
9720 : rtx_insn *insn ATTRIBUTE_UNUSED,
9721 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9722 : {
9723 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9724 : rtx x2, x3, x4;
9725 : int res ATTRIBUTE_UNUSED;
9726 : if (pnum_clobbers == NULL)
9727 : return -1;
9728 : x2 = XEXP (x1, 0);
9729 : operands[0] = x2;
9730 : x3 = XEXP (x1, 1);
9731 : x4 = XEXP (x3, 0);
9732 : operands[1] = x4;
9733 : switch (GET_MODE (operands[0]))
9734 : {
9735 : case E_DImode:
9736 : if (!register_operand (operands[0], E_DImode)
9737 : || GET_MODE (x3) != E_DImode
9738 : || !general_operand (operands[1], E_DImode))
9739 : return -1;
9740 : if ((
9741 : #line 14945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9742 : (TARGET_CMOVE
9743 : && ix86_pre_reload_split ()) &&
9744 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9745 : (!TARGET_64BIT)))
9746 : {
9747 : *pnum_clobbers = 1;
9748 : return 1027; /* *absdi2_doubleword */
9749 : }
9750 : if (!(
9751 : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9752 : (TARGET_CMOVE
9753 : && (DImode != QImode || !TARGET_PARTIAL_REG_STALL)
9754 : && ix86_pre_reload_split ()) &&
9755 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9756 : (TARGET_64BIT)))
9757 : return -1;
9758 : *pnum_clobbers = 1;
9759 : return 1034; /* *absdi2_1 */
9760 :
9761 : case E_SImode:
9762 : if (!register_operand (operands[0], E_SImode)
9763 : || GET_MODE (x3) != E_SImode
9764 : || !general_operand (operands[1], E_SImode)
9765 : || !
9766 : #line 15032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9767 : (TARGET_CMOVE
9768 : && (SImode != QImode || !TARGET_PARTIAL_REG_STALL)
9769 : && ix86_pre_reload_split ()))
9770 : return -1;
9771 : *pnum_clobbers = 1;
9772 : return 1033; /* *abssi2_1 */
9773 :
9774 : default:
9775 : return -1;
9776 : }
9777 : }
9778 :
9779 : int
9780 : recog_102 (rtx x1 ATTRIBUTE_UNUSED,
9781 : rtx_insn *insn ATTRIBUTE_UNUSED,
9782 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9783 : {
9784 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9785 : rtx x2, x3, x4, x5, x6;
9786 : int res ATTRIBUTE_UNUSED;
9787 : x2 = XEXP (x1, 1);
9788 : x3 = XEXP (x2, 0);
9789 : operands[1] = x3;
9790 : x4 = XEXP (x2, 1);
9791 : switch (GET_CODE (x4))
9792 : {
9793 : case CONST_INT:
9794 : case CONST_WIDE_INT:
9795 : case CONST_POLY_INT:
9796 : case CONST_FIXED:
9797 : case CONST_DOUBLE:
9798 : case CONST_VECTOR:
9799 : case CONST:
9800 : case REG:
9801 : case SUBREG:
9802 : case LABEL_REF:
9803 : case SYMBOL_REF:
9804 : case HIGH:
9805 : if (pnum_clobbers != NULL
9806 : && pattern292 (x1,
9807 : E_DImode) == 0
9808 : && (
9809 : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9810 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
9811 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
9812 : == (2 * 4 * BITS_PER_UNIT - 1)))
9813 : && ix86_pre_reload_split ()) &&
9814 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9815 : (!TARGET_64BIT)))
9816 : {
9817 : *pnum_clobbers = 1;
9818 : return 1154; /* *lshrdi3_doubleword_mask */
9819 : }
9820 : operands[2] = x4;
9821 : res = recog_101 (x1, insn, pnum_clobbers);
9822 : if (res >= 0)
9823 : return res;
9824 : if (pnum_clobbers != NULL)
9825 : {
9826 : switch (GET_CODE (x4))
9827 : {
9828 : case CONST_INT:
9829 : if (XWINT (x4, 0) == 32L)
9830 : {
9831 : x5 = XEXP (x1, 0);
9832 : if (GET_CODE (x5) == SUBREG
9833 : && known_eq (SUBREG_BYTE (x5), 0)
9834 : && GET_MODE (x5) == E_DImode)
9835 : {
9836 : x6 = XEXP (x5, 0);
9837 : operands[0] = x6;
9838 : if (register_operand (operands[0], E_SImode)
9839 : && GET_MODE (x2) == E_DImode
9840 : && nonimmediate_operand (operands[1], E_DImode)
9841 : &&
9842 : #line 17697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9843 : (TARGET_64BIT))
9844 : {
9845 : *pnum_clobbers = 1;
9846 : return 1211; /* *highpartdisi2 */
9847 : }
9848 : }
9849 : }
9850 : break;
9851 :
9852 : case SUBREG:
9853 : switch (pattern451 (x1,
9854 : E_SImode))
9855 : {
9856 : case 0:
9857 : if (
9858 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9859 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9860 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
9861 : == 4 * BITS_PER_UNIT - 1
9862 : && ix86_pre_reload_split ()))
9863 : {
9864 : *pnum_clobbers = 1;
9865 : return 1277; /* *lshrsi3_mask */
9866 : }
9867 : break;
9868 :
9869 : case 1:
9870 : if (
9871 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9872 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9873 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9874 : && ix86_pre_reload_split ()))
9875 : {
9876 : *pnum_clobbers = 1;
9877 : return 1289; /* *lshrsi3_add */
9878 : }
9879 : break;
9880 :
9881 : case 2:
9882 : if (
9883 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9884 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
9885 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
9886 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
9887 : == 4 * BITS_PER_UNIT - 1)
9888 : && ix86_pre_reload_split ()))
9889 : {
9890 : *pnum_clobbers = 1;
9891 : return 1301; /* *lshrsi3_sub */
9892 : }
9893 : break;
9894 :
9895 : default:
9896 : break;
9897 : }
9898 : break;
9899 :
9900 : default:
9901 : break;
9902 : }
9903 : }
9904 : operands[2] = x4;
9905 : if (nonmemory_operand (operands[2], E_QImode))
9906 : {
9907 : x5 = XEXP (x1, 0);
9908 : operands[0] = x5;
9909 : if (nonimmediate_operand (operands[0], E_DImode)
9910 : && GET_MODE (x2) == E_DImode
9911 : && nonimmediate_operand (operands[1], E_DImode))
9912 : {
9913 : if ((
9914 : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9915 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
9916 : && TARGET_APX_NF) &&
9917 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9918 : (TARGET_64BIT)))
9919 : return 1214; /* *lshrdi3_1_nf */
9920 : if (pnum_clobbers != NULL
9921 : && (
9922 : #line 17721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9923 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)
9924 : && true) &&
9925 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9926 : (TARGET_64BIT)))
9927 : {
9928 : *pnum_clobbers = 1;
9929 : return 1215; /* *lshrdi3_1 */
9930 : }
9931 : }
9932 : }
9933 : if (pnum_clobbers == NULL
9934 : || GET_CODE (x4) != SUBREG)
9935 : return -1;
9936 : switch (pattern451 (x1,
9937 : E_DImode))
9938 : {
9939 : case 0:
9940 : if (!(
9941 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9942 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9943 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
9944 : == 8 * BITS_PER_UNIT - 1
9945 : && ix86_pre_reload_split ()) &&
9946 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9947 : (TARGET_64BIT)))
9948 : return -1;
9949 : *pnum_clobbers = 1;
9950 : return 1280; /* *lshrdi3_mask */
9951 :
9952 : case 1:
9953 : if (!(
9954 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9955 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9956 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9957 : && ix86_pre_reload_split ()) &&
9958 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9959 : (TARGET_64BIT)))
9960 : return -1;
9961 : *pnum_clobbers = 1;
9962 : return 1292; /* *lshrdi3_add */
9963 :
9964 : case 2:
9965 : if (!(
9966 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9967 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
9968 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
9969 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
9970 : == 8 * BITS_PER_UNIT - 1)
9971 : && ix86_pre_reload_split ()) &&
9972 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9973 : (TARGET_64BIT)))
9974 : return -1;
9975 : *pnum_clobbers = 1;
9976 : return 1304; /* *lshrdi3_sub */
9977 :
9978 : default:
9979 : return -1;
9980 : }
9981 :
9982 : case AND:
9983 : if (pnum_clobbers == NULL
9984 : || GET_MODE (x4) != E_QImode)
9985 : return -1;
9986 : x5 = XEXP (x1, 0);
9987 : operands[0] = x5;
9988 : switch (pattern122 (x2))
9989 : {
9990 : case 0:
9991 : if (register_operand (operands[0], E_DImode)
9992 : && register_operand (operands[1], E_DImode)
9993 : && (
9994 : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9995 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
9996 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
9997 : == (2 * 4 * BITS_PER_UNIT - 1)))
9998 : && ix86_pre_reload_split ()) &&
9999 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10000 : (!TARGET_64BIT)))
10001 : {
10002 : *pnum_clobbers = 1;
10003 : return 1158; /* *lshrdi3_doubleword_mask_1 */
10004 : }
10005 : if (!nonimmediate_operand (operands[0], E_DImode)
10006 : || !nonimmediate_operand (operands[1], E_DImode)
10007 : || !(
10008 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10009 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
10010 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
10011 : == 8 * BITS_PER_UNIT - 1
10012 : && ix86_pre_reload_split ()) &&
10013 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10014 : (TARGET_64BIT)))
10015 : return -1;
10016 : *pnum_clobbers = 1;
10017 : return 1286; /* *lshrdi3_mask_1 */
10018 :
10019 : case 1:
10020 : if (!
10021 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10022 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
10023 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
10024 : == 4 * BITS_PER_UNIT - 1
10025 : && ix86_pre_reload_split ()))
10026 : return -1;
10027 : *pnum_clobbers = 1;
10028 : return 1283; /* *lshrsi3_mask_1 */
10029 :
10030 : default:
10031 : return -1;
10032 : }
10033 :
10034 : case PLUS:
10035 : if (pnum_clobbers == NULL
10036 : || GET_MODE (x4) != E_QImode)
10037 : return -1;
10038 : x5 = XEXP (x1, 0);
10039 : operands[0] = x5;
10040 : switch (pattern16 (x2))
10041 : {
10042 : case 0:
10043 : if (!
10044 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10045 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
10046 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10047 : && ix86_pre_reload_split ()))
10048 : return -1;
10049 : *pnum_clobbers = 1;
10050 : return 1295; /* *lshrsi3_add_1 */
10051 :
10052 : case 1:
10053 : if (!(
10054 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10055 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
10056 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10057 : && ix86_pre_reload_split ()) &&
10058 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10059 : (TARGET_64BIT)))
10060 : return -1;
10061 : *pnum_clobbers = 1;
10062 : return 1298; /* *lshrdi3_add_1 */
10063 :
10064 : default:
10065 : return -1;
10066 : }
10067 :
10068 : case MINUS:
10069 : if (pnum_clobbers == NULL
10070 : || GET_MODE (x4) != E_QImode)
10071 : return -1;
10072 : x5 = XEXP (x1, 0);
10073 : operands[0] = x5;
10074 : switch (pattern123 (x2))
10075 : {
10076 : case 0:
10077 : if (!
10078 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10079 : (ix86_binary_operator_ok (LSHIFTRT, SImode, operands)
10080 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10081 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
10082 : == 4 * BITS_PER_UNIT - 1)
10083 : && ix86_pre_reload_split ()))
10084 : return -1;
10085 : *pnum_clobbers = 1;
10086 : return 1307; /* *lshrsi3_sub_1 */
10087 :
10088 : case 1:
10089 : if (!(
10090 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10091 : (ix86_binary_operator_ok (LSHIFTRT, DImode, operands)
10092 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10093 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
10094 : == 8 * BITS_PER_UNIT - 1)
10095 : && ix86_pre_reload_split ()) &&
10096 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10097 : (TARGET_64BIT)))
10098 : return -1;
10099 : *pnum_clobbers = 1;
10100 : return 1310; /* *lshrdi3_sub_1 */
10101 :
10102 : default:
10103 : return -1;
10104 : }
10105 :
10106 : default:
10107 : return -1;
10108 : }
10109 : }
10110 :
10111 : int
10112 : recog_115 (rtx x1 ATTRIBUTE_UNUSED,
10113 : rtx_insn *insn ATTRIBUTE_UNUSED,
10114 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10115 : {
10116 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10117 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10118 : int res ATTRIBUTE_UNUSED;
10119 : x2 = XEXP (x1, 1);
10120 : x3 = XEXP (x2, 0);
10121 : if (GET_CODE (x3) != MEM
10122 : || GET_MODE (x3) != E_QImode)
10123 : return -1;
10124 : x4 = XEXP (x1, 0);
10125 : operands[0] = x4;
10126 : x5 = XEXP (x3, 0);
10127 : operands[1] = x5;
10128 : x6 = XEXP (x2, 1);
10129 : operands[2] = x6;
10130 : if (call_insn_operand (operands[1], E_SImode)
10131 : && (
10132 : #line 20697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10133 : (!SIBLING_CALL_P (insn)) &&
10134 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10135 : (word_mode == SImode)))
10136 : return 1507; /* *call_value */
10137 : if (call_insn_operand (operands[1], E_DImode)
10138 : && (
10139 : #line 20697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10140 : (!SIBLING_CALL_P (insn)) &&
10141 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10142 : (word_mode == DImode)))
10143 : return 1508; /* *call_value */
10144 : switch (GET_CODE (x5))
10145 : {
10146 : case ZERO_EXTEND:
10147 : if (GET_MODE (x5) == E_DImode)
10148 : {
10149 : x7 = XEXP (x5, 0);
10150 : operands[1] = x7;
10151 : if (GOT_memory_operand (operands[1], E_SImode))
10152 : {
10153 : operands[2] = x6;
10154 : if (
10155 : #line 20708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10156 : (TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER))
10157 : return 1509; /* *call_value_got_x32 */
10158 : }
10159 : }
10160 : break;
10161 :
10162 : case MEM:
10163 : if (GET_MODE (x5) == E_SImode)
10164 : {
10165 : x7 = XEXP (x5, 0);
10166 : if (GET_CODE (x7) == PLUS
10167 : && GET_MODE (x7) == E_SImode)
10168 : {
10169 : x8 = XEXP (x7, 0);
10170 : operands[1] = x8;
10171 : if (register_no_elim_operand (operands[1], E_SImode))
10172 : {
10173 : x9 = XEXP (x7, 1);
10174 : operands[2] = x9;
10175 : if (GOT32_symbol_operand (operands[2], E_SImode))
10176 : {
10177 : operands[3] = x6;
10178 : if (
10179 : #line 20724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10180 : (!TARGET_MACHO
10181 : && !TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER
10182 : && SIBLING_CALL_P (insn)))
10183 : return 1510; /* *sibcall_value_GOT_32 */
10184 : }
10185 : }
10186 : }
10187 : }
10188 : break;
10189 :
10190 : default:
10191 : break;
10192 : }
10193 : operands[1] = x5;
10194 : operands[2] = x6;
10195 : if (sibcall_insn_operand (operands[1], E_SImode)
10196 : && (
10197 : #line 20738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10198 : (SIBLING_CALL_P (insn)) &&
10199 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10200 : (word_mode == SImode)))
10201 : return 1511; /* *sibcall_value */
10202 : if (!sibcall_insn_operand (operands[1], E_DImode)
10203 : || !(
10204 : #line 20738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10205 : (SIBLING_CALL_P (insn)) &&
10206 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10207 : (word_mode == DImode)))
10208 : return -1;
10209 : return 1512; /* *sibcall_value */
10210 : }
10211 :
10212 : int
10213 : recog_120 (rtx x1 ATTRIBUTE_UNUSED,
10214 : rtx_insn *insn ATTRIBUTE_UNUSED,
10215 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10216 : {
10217 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10218 : rtx x2, x3, x4, x5, x6, x7, x8;
10219 : int res ATTRIBUTE_UNUSED;
10220 : if (pnum_clobbers == NULL)
10221 : return -1;
10222 : x2 = XEXP (x1, 1);
10223 : x3 = XEXP (x2, 0);
10224 : if (!ix86_carry_flag_operator (x3, E_VOIDmode))
10225 : return -1;
10226 : operands[1] = x3;
10227 : x4 = XEXP (x3, 0);
10228 : if (GET_CODE (x4) != REG
10229 : || REGNO (x4) != 17)
10230 : return -1;
10231 : x5 = XEXP (x3, 1);
10232 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10233 : return -1;
10234 : x6 = XEXP (x2, 1);
10235 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
10236 : return -1;
10237 : x7 = XEXP (x2, 2);
10238 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
10239 : return -1;
10240 : x8 = XEXP (x1, 0);
10241 : operands[0] = x8;
10242 : switch (pattern24 (x2))
10243 : {
10244 : case 0:
10245 : *pnum_clobbers = 1;
10246 : return 1831; /* *x86_movsicc_0_m1_se */
10247 :
10248 : case 1:
10249 : if (!
10250 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10251 : (TARGET_64BIT))
10252 : return -1;
10253 : *pnum_clobbers = 1;
10254 : return 1832; /* *x86_movdicc_0_m1_se */
10255 :
10256 : default:
10257 : return -1;
10258 : }
10259 : }
10260 :
10261 : int
10262 : recog_122 (rtx x1 ATTRIBUTE_UNUSED,
10263 : rtx_insn *insn ATTRIBUTE_UNUSED,
10264 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10265 : {
10266 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10267 : rtx x2, x3, x4;
10268 : int res ATTRIBUTE_UNUSED;
10269 : x2 = XEXP (x1, 1);
10270 : x3 = XEXP (x2, 1);
10271 : x4 = XVECEXP (x3, 0, 0);
10272 : switch (XWINT (x4, 0))
10273 : {
10274 : case 0L:
10275 : if (nonimmediate_operand (operands[0], E_SImode)
10276 : && GET_MODE (x2) == E_SImode)
10277 : {
10278 : switch (GET_MODE (operands[1]))
10279 : {
10280 : case E_V2SImode:
10281 : if (nonimmediate_operand (operands[1], E_V2SImode)
10282 : &&
10283 : #line 5757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10284 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10285 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10286 : return 2406; /* *vec_extractv2si_0 */
10287 : break;
10288 :
10289 : case E_V4SImode:
10290 : if (nonimmediate_operand (operands[1], E_V4SImode)
10291 : &&
10292 : #line 21497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10293 : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10294 : return 8512; /* *vec_extractv4si_0 */
10295 : break;
10296 :
10297 : default:
10298 : break;
10299 : }
10300 : }
10301 : break;
10302 :
10303 : case 1L:
10304 : switch (GET_MODE (operands[0]))
10305 : {
10306 : case E_SImode:
10307 : if (nonimmediate_operand (operands[0], E_SImode)
10308 : && GET_MODE (x2) == E_SImode
10309 : && nonimmediate_operand (operands[1], E_V2SImode)
10310 : &&
10311 : #line 5814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
10312 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
10313 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10314 : return 2409; /* *vec_extractv2si_1 */
10315 : break;
10316 :
10317 : case E_DImode:
10318 : if (nonimmediate_operand (operands[0], E_DImode)
10319 : && GET_MODE (x2) == E_DImode
10320 : && nonimmediate_operand (operands[1], E_V2DImode)
10321 : &&
10322 : #line 21666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10323 : (TARGET_SSE && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
10324 : return 8521; /* *vec_extractv2di_1 */
10325 : break;
10326 :
10327 : default:
10328 : break;
10329 : }
10330 : break;
10331 :
10332 : default:
10333 : break;
10334 : }
10335 : operands[2] = x4;
10336 : switch (GET_MODE (operands[0]))
10337 : {
10338 : case E_SImode:
10339 : if (GET_MODE (x2) != E_SImode)
10340 : return -1;
10341 : if (register_operand (operands[0], E_SImode))
10342 : {
10343 : switch (GET_MODE (operands[1]))
10344 : {
10345 : case E_V16SImode:
10346 : if (register_operand (operands[1], E_V16SImode)
10347 : && const_0_to_15_operand (operands[2], E_VOIDmode)
10348 : &&
10349 : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10350 : (TARGET_AVX512F
10351 : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16))
10352 : return 7116; /* *vec_extractv16sisi_valign */
10353 : break;
10354 :
10355 : case E_V8SImode:
10356 : if (register_operand (operands[1], E_V8SImode)
10357 : && const_0_to_7_operand (operands[2], E_VOIDmode)
10358 : && (
10359 : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10360 : (TARGET_AVX512F
10361 : && INTVAL(operands[2]) * GET_MODE_SIZE (SImode) >= 16) &&
10362 : #line 305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10363 : (TARGET_AVX512VL)))
10364 : return 7117; /* *vec_extractv8sisi_valign */
10365 : break;
10366 :
10367 : default:
10368 : break;
10369 : }
10370 : }
10371 : if (nonimmediate_operand (operands[0], E_SImode)
10372 : && register_operand (operands[1], E_V4SImode)
10373 : && const_0_to_3_operand (operands[2], E_SImode)
10374 : &&
10375 : #line 21587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10376 : (TARGET_SSE4_1))
10377 : return 8517; /* *vec_extractv4si */
10378 : if (!register_operand (operands[0], E_SImode)
10379 : || !memory_operand (operands[1], E_V4SImode)
10380 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10381 : || !
10382 : #line 21644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10383 : (TARGET_SSE))
10384 : return -1;
10385 : return 8519; /* *vec_extractv4si_mem */
10386 :
10387 : case E_DImode:
10388 : if (!register_operand (operands[0], E_DImode)
10389 : || GET_MODE (x2) != E_DImode)
10390 : return -1;
10391 : switch (GET_MODE (operands[1]))
10392 : {
10393 : case E_V8DImode:
10394 : if (!register_operand (operands[1], E_V8DImode)
10395 : || !const_0_to_7_operand (operands[2], E_VOIDmode)
10396 : || !
10397 : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10398 : (TARGET_AVX512F
10399 : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16))
10400 : return -1;
10401 : return 7118; /* *vec_extractv8didi_valign */
10402 :
10403 : case E_V4DImode:
10404 : if (!register_operand (operands[1], E_V4DImode)
10405 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
10406 : || !(
10407 : #line 14397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10408 : (TARGET_AVX512F
10409 : && INTVAL(operands[2]) * GET_MODE_SIZE (DImode) >= 16) &&
10410 : #line 306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10411 : (TARGET_AVX512VL)))
10412 : return -1;
10413 : return 7119; /* *vec_extractv4didi_valign */
10414 :
10415 : default:
10416 : return -1;
10417 : }
10418 :
10419 : default:
10420 : return -1;
10421 : }
10422 : }
10423 :
10424 : int
10425 : recog_127 (rtx x1 ATTRIBUTE_UNUSED,
10426 : rtx_insn *insn ATTRIBUTE_UNUSED,
10427 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10428 : {
10429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10430 : rtx x2, x3, x4, x5;
10431 : int res ATTRIBUTE_UNUSED;
10432 : x2 = XEXP (x1, 1);
10433 : x3 = XEXP (x2, 0);
10434 : x4 = XVECEXP (x3, 0, 0);
10435 : operands[1] = x4;
10436 : x5 = XEXP (x2, 2);
10437 : operands[3] = x5;
10438 : switch (GET_MODE (operands[0]))
10439 : {
10440 : case E_V8HImode:
10441 : if (pattern644 (x2,
10442 : E_V8HImode,
10443 : E_QImode,
10444 : E_V8HFmode) != 0
10445 : || !(
10446 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10447 : (TARGET_AVX512F) && (
10448 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10449 : (TARGET_AVX512FP16) &&
10450 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10451 : (TARGET_AVX512VL))))
10452 : return -1;
10453 : return 4610; /* unspec_avx512fp16_fixuns_truncv8hi2_mask */
10454 :
10455 : case E_V16HImode:
10456 : if (pattern644 (x2,
10457 : E_V16HImode,
10458 : E_HImode,
10459 : E_V16HFmode) != 0
10460 : || !(
10461 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10462 : (TARGET_AVX512F) && (
10463 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10464 : (TARGET_AVX512FP16) &&
10465 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10466 : (TARGET_AVX512VL))))
10467 : return -1;
10468 : return 4618; /* unspec_avx512fp16_fixuns_truncv16hi2_mask */
10469 :
10470 : case E_V32HImode:
10471 : if (pattern644 (x2,
10472 : E_V32HImode,
10473 : E_SImode,
10474 : E_V32HFmode) != 0
10475 : || !(
10476 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10477 : (TARGET_AVX512F) &&
10478 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10479 : (TARGET_AVX512FP16)))
10480 : return -1;
10481 : return 4626; /* unspec_avx512fp16_fixuns_truncv32hi2_mask */
10482 :
10483 : case E_V8SImode:
10484 : if (pattern142 (x2,
10485 : E_V8SImode,
10486 : E_QImode) != 0)
10487 : return -1;
10488 : switch (GET_MODE (operands[1]))
10489 : {
10490 : case E_V8HFmode:
10491 : if (!vector_operand (operands[1], E_V8HFmode)
10492 : || !(
10493 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10494 : (TARGET_AVX512F) && (
10495 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10496 : (TARGET_AVX512FP16) &&
10497 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10498 : (TARGET_AVX512VL))))
10499 : return -1;
10500 : return 4634; /* unspec_avx512fp16_fixuns_truncv8si2_mask */
10501 :
10502 : case E_V8DFmode:
10503 : if (!vector_operand (operands[1], E_V8DFmode)
10504 : || !
10505 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10506 : (TARGET_AVX512F))
10507 : return -1;
10508 : return 5065; /* unspec_fixuns_truncv8dfv8si2_mask */
10509 :
10510 : case E_V8SFmode:
10511 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
10512 : || !(
10513 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10514 : (TARGET_AVX512F) && (
10515 : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10516 : (TARGET_AVX512VL) &&
10517 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10518 : (TARGET_AVX))))
10519 : return -1;
10520 : return 5169; /* unspec_fixuns_truncv8sfv8si2_mask */
10521 :
10522 : default:
10523 : return -1;
10524 : }
10525 :
10526 : case E_V16SImode:
10527 : switch (pattern997 (x2))
10528 : {
10529 : case 0:
10530 : if (!(
10531 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10532 : (TARGET_AVX512F) &&
10533 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10534 : (TARGET_AVX512FP16)))
10535 : return -1;
10536 : return 4642; /* unspec_avx512fp16_fixuns_truncv16si2_mask */
10537 :
10538 : case 1:
10539 : if (!
10540 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10541 : (TARGET_AVX512F))
10542 : return -1;
10543 : return 4916; /* unspec_fixuns_truncv16sfv16si2_mask */
10544 :
10545 : default:
10546 : return -1;
10547 : }
10548 :
10549 : case E_V8DImode:
10550 : switch (pattern998 (x2))
10551 : {
10552 : case 0:
10553 : if (!(
10554 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10555 : (TARGET_AVX512F) &&
10556 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10557 : (TARGET_AVX512FP16)))
10558 : return -1;
10559 : return 4650; /* unspec_avx512fp16_fixuns_truncv8di2_mask */
10560 :
10561 : case 1:
10562 : if (!(
10563 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10564 : (TARGET_AVX512F) &&
10565 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10566 : (TARGET_AVX512DQ && 1)))
10567 : return -1;
10568 : return 5094; /* unspec_fixuns_truncv8dfv8di2_mask */
10569 :
10570 : case 2:
10571 : if (!(
10572 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10573 : (TARGET_AVX512F) &&
10574 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10575 : (TARGET_AVX512DQ && 1)))
10576 : return -1;
10577 : return 5142; /* unspec_fixuns_truncv8sfv8di2_mask */
10578 :
10579 : default:
10580 : return -1;
10581 : }
10582 :
10583 : case E_V4SImode:
10584 : if (pattern142 (x2,
10585 : E_V4SImode,
10586 : E_QImode) != 0)
10587 : return -1;
10588 : switch (GET_MODE (operands[1]))
10589 : {
10590 : case E_V8HFmode:
10591 : if (!register_operand (operands[1], E_V8HFmode)
10592 : || !(
10593 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10594 : (TARGET_AVX512F) &&
10595 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10596 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10597 : return -1;
10598 : return 4703; /* unspec_avx512fp16_fixuns_truncv4si2_mask */
10599 :
10600 : case E_V4DFmode:
10601 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
10602 : || !(
10603 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10604 : (TARGET_AVX512F) &&
10605 : #line 9999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10606 : (TARGET_AVX512VL && TARGET_AVX512F)))
10607 : return -1;
10608 : return 5085; /* unspec_fixuns_truncv4dfv4si2_mask */
10609 :
10610 : case E_V4SFmode:
10611 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
10612 : || !(
10613 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10614 : (TARGET_AVX512F) &&
10615 : #line 10233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10616 : (TARGET_AVX512VL)))
10617 : return -1;
10618 : return 5171; /* unspec_fixuns_truncv4sfv4si2_mask */
10619 :
10620 : default:
10621 : return -1;
10622 : }
10623 :
10624 : case E_V4DImode:
10625 : switch (pattern999 (x2))
10626 : {
10627 : case 0:
10628 : if (!(
10629 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10630 : (TARGET_AVX512F) &&
10631 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10632 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10633 : return -1;
10634 : return 4707; /* unspec_avx512fp16_fixuns_truncv4di2_mask */
10635 :
10636 : case 1:
10637 : if (!(
10638 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10639 : (TARGET_AVX512F) && (
10640 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10641 : (TARGET_AVX512DQ && 1) &&
10642 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10643 : (TARGET_AVX512VL))))
10644 : return -1;
10645 : return 5099; /* unspec_fixuns_truncv4dfv4di2_mask */
10646 :
10647 : case 2:
10648 : if (!(
10649 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10650 : (TARGET_AVX512F) && (
10651 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10652 : (TARGET_AVX512DQ && 1) &&
10653 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10654 : (TARGET_AVX512VL))))
10655 : return -1;
10656 : return 5147; /* unspec_fixuns_truncv4sfv4di2_mask */
10657 :
10658 : default:
10659 : return -1;
10660 : }
10661 :
10662 : case E_V2DImode:
10663 : switch (pattern1000 (x2))
10664 : {
10665 : case 0:
10666 : if (!(
10667 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10668 : (TARGET_AVX512F) &&
10669 : #line 8290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10670 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10671 : return -1;
10672 : return 4727; /* unspec_avx512fp16_fixuns_truncv2di2_mask */
10673 :
10674 : case 1:
10675 : if (!(
10676 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10677 : (TARGET_AVX512F) && (
10678 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10679 : (TARGET_AVX512DQ && 1) &&
10680 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10681 : (TARGET_AVX512VL))))
10682 : return -1;
10683 : return 5103; /* unspec_fixuns_truncv2dfv2di2_mask */
10684 :
10685 : case 2:
10686 : if (!(
10687 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10688 : (TARGET_AVX512F) &&
10689 : #line 10083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10690 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10691 : return -1;
10692 : return 5163; /* unspec_avx512dq_fixuns_truncv2sfv2di2_mask */
10693 :
10694 : default:
10695 : return -1;
10696 : }
10697 :
10698 : default:
10699 : return -1;
10700 : }
10701 : }
10702 :
10703 : int
10704 : recog_133 (rtx x1 ATTRIBUTE_UNUSED,
10705 : rtx_insn *insn ATTRIBUTE_UNUSED,
10706 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10707 : {
10708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10709 : rtx x2, x3, x4, x5, x6, x7;
10710 : int res ATTRIBUTE_UNUSED;
10711 : x2 = XEXP (x1, 1);
10712 : x3 = XEXP (x2, 2);
10713 : switch (GET_CODE (x3))
10714 : {
10715 : case REG:
10716 : case SUBREG:
10717 : operands[4] = x3;
10718 : x4 = XEXP (x2, 0);
10719 : x5 = XVECEXP (x4, 0, 0);
10720 : operands[1] = x5;
10721 : x6 = XVECEXP (x4, 0, 1);
10722 : operands[2] = x6;
10723 : if (!const_0_to_255_operand (operands[2], E_SImode))
10724 : return -1;
10725 : x7 = XEXP (x2, 1);
10726 : operands[3] = x7;
10727 : switch (GET_MODE (operands[0]))
10728 : {
10729 : case E_V32HFmode:
10730 : if (pattern470 (x2,
10731 : E_V32HFmode,
10732 : E_SImode) != 0
10733 : || !(
10734 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10735 : (TARGET_AVX512F) && (
10736 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10737 : (TARGET_AVX512F) &&
10738 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10739 : (TARGET_AVX512FP16))))
10740 : return -1;
10741 : return 7174; /* avx512bw_rndscalev32hf_mask */
10742 :
10743 : case E_V16HFmode:
10744 : if (pattern470 (x2,
10745 : E_V16HFmode,
10746 : E_HImode) != 0
10747 : || !(
10748 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10749 : (TARGET_AVX512F) && (
10750 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10751 : (TARGET_AVX512F) &&
10752 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10753 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10754 : return -1;
10755 : return 7178; /* avx512vl_rndscalev16hf_mask */
10756 :
10757 : case E_V8HFmode:
10758 : if (pattern470 (x2,
10759 : E_V8HFmode,
10760 : E_QImode) != 0
10761 : || !(
10762 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10763 : (TARGET_AVX512F) && (
10764 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10765 : (TARGET_AVX512F) &&
10766 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10767 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10768 : return -1;
10769 : return 7182; /* avx512fp16_rndscalev8hf_mask */
10770 :
10771 : case E_V16SFmode:
10772 : if (pattern470 (x2,
10773 : E_V16SFmode,
10774 : E_HImode) != 0
10775 : || !
10776 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10777 : (TARGET_AVX512F))
10778 : return -1;
10779 : return 7186; /* avx512f_rndscalev16sf_mask */
10780 :
10781 : case E_V8SFmode:
10782 : if (pattern470 (x2,
10783 : E_V8SFmode,
10784 : E_QImode) != 0
10785 : || !(
10786 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10787 : (TARGET_AVX512F) && (
10788 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10789 : (TARGET_AVX512F) &&
10790 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10791 : (TARGET_AVX512VL))))
10792 : return -1;
10793 : return 7190; /* avx512vl_rndscalev8sf_mask */
10794 :
10795 : case E_V4SFmode:
10796 : if (pattern470 (x2,
10797 : E_V4SFmode,
10798 : E_QImode) != 0
10799 : || !(
10800 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10801 : (TARGET_AVX512F) && (
10802 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10803 : (TARGET_AVX512F) &&
10804 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10805 : (TARGET_AVX512VL))))
10806 : return -1;
10807 : return 7194; /* avx512vl_rndscalev4sf_mask */
10808 :
10809 : case E_V8DFmode:
10810 : if (pattern470 (x2,
10811 : E_V8DFmode,
10812 : E_QImode) != 0
10813 : || !
10814 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10815 : (TARGET_AVX512F))
10816 : return -1;
10817 : return 7198; /* avx512f_rndscalev8df_mask */
10818 :
10819 : case E_V4DFmode:
10820 : if (pattern470 (x2,
10821 : E_V4DFmode,
10822 : E_QImode) != 0
10823 : || !(
10824 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10825 : (TARGET_AVX512F) && (
10826 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10827 : (TARGET_AVX512F) &&
10828 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10829 : (TARGET_AVX512VL))))
10830 : return -1;
10831 : return 7202; /* avx512vl_rndscalev4df_mask */
10832 :
10833 : case E_V2DFmode:
10834 : if (pattern470 (x2,
10835 : E_V2DFmode,
10836 : E_QImode) != 0
10837 : || !(
10838 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10839 : (TARGET_AVX512F) && (
10840 : #line 14549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10841 : (TARGET_AVX512F) &&
10842 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10843 : (TARGET_AVX512VL))))
10844 : return -1;
10845 : return 7206; /* avx512vl_rndscalev2df_mask */
10846 :
10847 : default:
10848 : return -1;
10849 : }
10850 :
10851 : case CONST_INT:
10852 : if (XWINT (x3, 0) != 1L)
10853 : return -1;
10854 : x4 = XEXP (x2, 0);
10855 : x5 = XVECEXP (x4, 0, 0);
10856 : operands[2] = x5;
10857 : x6 = XVECEXP (x4, 0, 1);
10858 : operands[3] = x6;
10859 : x7 = XEXP (x2, 1);
10860 : operands[1] = x7;
10861 : switch (GET_MODE (operands[0]))
10862 : {
10863 : case E_V8HFmode:
10864 : if (pattern1222 (x2,
10865 : E_V8HFmode) != 0)
10866 : return -1;
10867 : if (const_0_to_255_operand (operands[3], E_SImode)
10868 : && (
10869 : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10870 : (TARGET_AVX512F) &&
10871 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10872 : (TARGET_AVX512FP16)))
10873 : return 7208; /* avx512f_rndscalev8hf */
10874 : if (!const_0_to_15_operand (operands[3], E_SImode)
10875 : || !(
10876 : #line 26189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10877 : (TARGET_SSE4_1) &&
10878 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10879 : (TARGET_AVX512FP16)))
10880 : return -1;
10881 : return 9026; /* sse4_1_roundsh */
10882 :
10883 : case E_V4SFmode:
10884 : if (pattern1222 (x2,
10885 : E_V4SFmode) != 0)
10886 : return -1;
10887 : if (const_0_to_255_operand (operands[3], E_SImode)
10888 : &&
10889 : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10890 : (TARGET_AVX512F))
10891 : return 7212; /* avx512f_rndscalev4sf */
10892 : if (!const_0_to_15_operand (operands[3], E_SImode)
10893 : || !
10894 : #line 26189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10895 : (TARGET_SSE4_1))
10896 : return -1;
10897 : return 9027; /* sse4_1_roundss */
10898 :
10899 : case E_V2DFmode:
10900 : if (pattern1222 (x2,
10901 : E_V2DFmode) != 0)
10902 : return -1;
10903 : if (const_0_to_255_operand (operands[3], E_SImode)
10904 : && (
10905 : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10906 : (TARGET_AVX512F) &&
10907 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10908 : (TARGET_SSE2)))
10909 : return 7216; /* avx512f_rndscalev2df */
10910 : if (!const_0_to_15_operand (operands[3], E_SImode)
10911 : || !(
10912 : #line 26189 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10913 : (TARGET_SSE4_1) &&
10914 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10915 : (TARGET_SSE2)))
10916 : return -1;
10917 : return 9028; /* sse4_1_roundsd */
10918 :
10919 : default:
10920 : return -1;
10921 : }
10922 :
10923 : default:
10924 : return -1;
10925 : }
10926 : }
10927 :
10928 : int
10929 : recog_142 (rtx x1 ATTRIBUTE_UNUSED,
10930 : rtx_insn *insn ATTRIBUTE_UNUSED,
10931 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10932 : {
10933 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10934 : rtx x2, x3, x4, x5, x6, x7, x8;
10935 : int res ATTRIBUTE_UNUSED;
10936 : x2 = XEXP (x1, 1);
10937 : x3 = XEXP (x2, 0);
10938 : x4 = XVECEXP (x3, 0, 0);
10939 : operands[1] = x4;
10940 : x5 = XVECEXP (x3, 0, 1);
10941 : operands[2] = x5;
10942 : x6 = XVECEXP (x3, 0, 2);
10943 : operands[3] = x6;
10944 : x7 = XEXP (x2, 2);
10945 : if (!register_operand (x7, E_QImode))
10946 : return -1;
10947 : x8 = XEXP (x2, 1);
10948 : switch (GET_CODE (x8))
10949 : {
10950 : case CONST_INT:
10951 : case CONST_DOUBLE:
10952 : case CONST_VECTOR:
10953 : operands[4] = x8;
10954 : operands[5] = x7;
10955 : switch (GET_MODE (operands[0]))
10956 : {
10957 : case E_V16SFmode:
10958 : if (pattern1379 (x2,
10959 : E_V16SFmode,
10960 : E_V32BFmode) != 0
10961 : || !
10962 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10963 : (TARGET_AVX512BF16))
10964 : return -1;
10965 : return 10426; /* avx512f_dpbf16ps_v16sf_maskz_1 */
10966 :
10967 : case E_V8SFmode:
10968 : if (pattern1379 (x2,
10969 : E_V8SFmode,
10970 : E_V16BFmode) != 0
10971 : || !(
10972 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10973 : (TARGET_AVX512BF16) &&
10974 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10975 : (TARGET_AVX512VL)))
10976 : return -1;
10977 : return 10428; /* avx512f_dpbf16ps_v8sf_maskz_1 */
10978 :
10979 : case E_V4SFmode:
10980 : if (pattern1379 (x2,
10981 : E_V4SFmode,
10982 : E_V8BFmode) != 0
10983 : || !(
10984 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10985 : (TARGET_AVX512BF16) &&
10986 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10987 : (TARGET_AVX512VL)))
10988 : return -1;
10989 : return 10430; /* avx512f_dpbf16ps_v4sf_maskz_1 */
10990 :
10991 : default:
10992 : return -1;
10993 : }
10994 :
10995 : case REG:
10996 : case SUBREG:
10997 : if (!rtx_equal_p (x8, operands[1]))
10998 : return -1;
10999 : operands[4] = x7;
11000 : switch (GET_MODE (operands[0]))
11001 : {
11002 : case E_V16SFmode:
11003 : if (pattern1380 (x2,
11004 : E_V32BFmode,
11005 : E_V16SFmode) != 0
11006 : || !
11007 : #line 31919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11008 : (TARGET_AVX512BF16))
11009 : return -1;
11010 : return 10431; /* avx512f_dpbf16ps_v16sf_mask */
11011 :
11012 : case E_V8SFmode:
11013 : if (pattern1380 (x2,
11014 : E_V16BFmode,
11015 : E_V8SFmode) != 0
11016 : || !(
11017 : #line 31919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11018 : (TARGET_AVX512BF16) &&
11019 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11020 : (TARGET_AVX512VL)))
11021 : return -1;
11022 : return 10432; /* avx512f_dpbf16ps_v8sf_mask */
11023 :
11024 : case E_V4SFmode:
11025 : if (pattern1380 (x2,
11026 : E_V8BFmode,
11027 : E_V4SFmode) != 0
11028 : || !(
11029 : #line 31919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11030 : (TARGET_AVX512BF16) &&
11031 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11032 : (TARGET_AVX512VL)))
11033 : return -1;
11034 : return 10433; /* avx512f_dpbf16ps_v4sf_mask */
11035 :
11036 : default:
11037 : return -1;
11038 : }
11039 :
11040 : default:
11041 : return -1;
11042 : }
11043 : }
11044 :
11045 : int
11046 : recog_148 (rtx x1 ATTRIBUTE_UNUSED,
11047 : rtx_insn *insn ATTRIBUTE_UNUSED,
11048 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11049 : {
11050 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11051 : rtx x2, x3, x4, x5, x6;
11052 : int res ATTRIBUTE_UNUSED;
11053 : x2 = XEXP (x1, 1);
11054 : x3 = XEXP (x2, 1);
11055 : operands[2] = x3;
11056 : x4 = XEXP (x2, 0);
11057 : switch (XINT (x4, 1))
11058 : {
11059 : case 178:
11060 : return recog_125 (x1, insn, pnum_clobbers);
11061 :
11062 : case 55:
11063 : x5 = XVECEXP (x4, 0, 0);
11064 : operands[1] = x5;
11065 : x6 = XEXP (x2, 2);
11066 : switch (GET_CODE (x6))
11067 : {
11068 : case CONST_INT:
11069 : switch (pattern892 (x2))
11070 : {
11071 : case 0:
11072 : if (!
11073 : #line 2952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11074 : (TARGET_SSE))
11075 : return -1;
11076 : return 2940; /* sse_vmrcpv4sf2 */
11077 :
11078 : case 1:
11079 : if (!
11080 : #line 3002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11081 : (TARGET_AVX512FP16))
11082 : return -1;
11083 : return 2948; /* avx512fp16_vmrcpv8hf2 */
11084 :
11085 : default:
11086 : return -1;
11087 : }
11088 :
11089 : case REG:
11090 : case SUBREG:
11091 : operands[3] = x6;
11092 : switch (GET_MODE (operands[0]))
11093 : {
11094 : case E_V32HFmode:
11095 : if (pattern638 (x2,
11096 : E_V32HFmode,
11097 : E_SImode) != 0
11098 : || !(
11099 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11100 : (TARGET_AVX512F) &&
11101 : #line 2989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11102 : (TARGET_AVX512FP16)))
11103 : return -1;
11104 : return 2943; /* avx512fp16_rcpv32hf2_mask */
11105 :
11106 : case E_V16HFmode:
11107 : if (pattern638 (x2,
11108 : E_V16HFmode,
11109 : E_HImode) != 0
11110 : || !(
11111 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11112 : (TARGET_AVX512F) && (
11113 : #line 2989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11114 : (TARGET_AVX512FP16) &&
11115 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11116 : (TARGET_AVX512VL))))
11117 : return -1;
11118 : return 2945; /* avx512fp16_rcpv16hf2_mask */
11119 :
11120 : case E_V8HFmode:
11121 : if (pattern638 (x2,
11122 : E_V8HFmode,
11123 : E_QImode) != 0
11124 : || !(
11125 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11126 : (TARGET_AVX512F) && (
11127 : #line 2989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11128 : (TARGET_AVX512FP16) &&
11129 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11130 : (TARGET_AVX512VL))))
11131 : return -1;
11132 : return 2947; /* avx512fp16_rcpv8hf2_mask */
11133 :
11134 : case E_V32BFmode:
11135 : if (pattern638 (x2,
11136 : E_V32BFmode,
11137 : E_SImode) != 0
11138 : || !(
11139 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11140 : (TARGET_AVX512F) &&
11141 : #line 33114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11142 : (TARGET_AVX10_2)))
11143 : return -1;
11144 : return 10763; /* avx10_2_rcpbf16_v32bf_mask */
11145 :
11146 : case E_V16BFmode:
11147 : if (pattern638 (x2,
11148 : E_V16BFmode,
11149 : E_HImode) != 0
11150 : || !(
11151 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11152 : (TARGET_AVX512F) &&
11153 : #line 33114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11154 : (TARGET_AVX10_2)))
11155 : return -1;
11156 : return 10765; /* avx10_2_rcpbf16_v16bf_mask */
11157 :
11158 : case E_V8BFmode:
11159 : if (pattern638 (x2,
11160 : E_V8BFmode,
11161 : E_QImode) != 0
11162 : || !(
11163 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11164 : (TARGET_AVX512F) &&
11165 : #line 33114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11166 : (TARGET_AVX10_2)))
11167 : return -1;
11168 : return 10767; /* avx10_2_rcpbf16_v8bf_mask */
11169 :
11170 : default:
11171 : return -1;
11172 : }
11173 :
11174 : default:
11175 : return -1;
11176 : }
11177 :
11178 : case 162:
11179 : switch (pattern640 (x2))
11180 : {
11181 : case 0:
11182 : if (!
11183 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11184 : (TARGET_AVX512F))
11185 : return -1;
11186 : return 2952; /* rcp14v16sf_mask */
11187 :
11188 : case 1:
11189 : if (!(
11190 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11191 : (TARGET_AVX512F) && (
11192 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11193 : (TARGET_AVX512F) &&
11194 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11195 : (TARGET_AVX512VL))))
11196 : return -1;
11197 : return 2954; /* rcp14v8sf_mask */
11198 :
11199 : case 2:
11200 : if (!(
11201 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11202 : (TARGET_AVX512F) && (
11203 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11204 : (TARGET_AVX512F) &&
11205 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11206 : (TARGET_AVX512VL))))
11207 : return -1;
11208 : return 2956; /* rcp14v4sf_mask */
11209 :
11210 : case 3:
11211 : if (!
11212 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11213 : (TARGET_AVX512F))
11214 : return -1;
11215 : return 2958; /* rcp14v8df_mask */
11216 :
11217 : case 4:
11218 : if (!(
11219 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11220 : (TARGET_AVX512F) && (
11221 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11222 : (TARGET_AVX512F) &&
11223 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11224 : (TARGET_AVX512VL))))
11225 : return -1;
11226 : return 2960; /* rcp14v4df_mask */
11227 :
11228 : case 5:
11229 : if (!(
11230 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11231 : (TARGET_AVX512F) && (
11232 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11233 : (TARGET_AVX512F) &&
11234 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11235 : (TARGET_AVX512VL))))
11236 : return -1;
11237 : return 2962; /* rcp14v2df_mask */
11238 :
11239 : case 6:
11240 : if (!
11241 : #line 3041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11242 : (TARGET_AVX512F))
11243 : return -1;
11244 : return 2963; /* srcp14v4sf */
11245 :
11246 : case 7:
11247 : if (!(
11248 : #line 3041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11249 : (TARGET_AVX512F) &&
11250 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11251 : (TARGET_SSE2)))
11252 : return -1;
11253 : return 2964; /* srcp14v2df */
11254 :
11255 : default:
11256 : return -1;
11257 : }
11258 :
11259 : case 56:
11260 : x5 = XVECEXP (x4, 0, 0);
11261 : operands[1] = x5;
11262 : x6 = XEXP (x2, 2);
11263 : switch (GET_CODE (x6))
11264 : {
11265 : case REG:
11266 : case SUBREG:
11267 : operands[3] = x6;
11268 : switch (GET_MODE (operands[0]))
11269 : {
11270 : case E_V32HFmode:
11271 : if (pattern1001 (x2,
11272 : E_V32HFmode,
11273 : E_SImode) != 0
11274 : || !(
11275 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11276 : (TARGET_AVX512F) &&
11277 : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11278 : (TARGET_AVX512FP16)))
11279 : return -1;
11280 : return 3018; /* avx512fp16_rsqrtv32hf2_mask */
11281 :
11282 : case E_V16HFmode:
11283 : if (pattern1001 (x2,
11284 : E_V16HFmode,
11285 : E_HImode) != 0
11286 : || !(
11287 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11288 : (TARGET_AVX512F) && (
11289 : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11290 : (TARGET_AVX512FP16) &&
11291 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11292 : (TARGET_AVX512VL))))
11293 : return -1;
11294 : return 3020; /* avx512fp16_rsqrtv16hf2_mask */
11295 :
11296 : case E_V8HFmode:
11297 : if (pattern1001 (x2,
11298 : E_V8HFmode,
11299 : E_QImode) != 0
11300 : || !(
11301 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11302 : (TARGET_AVX512F) && (
11303 : #line 3170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11304 : (TARGET_AVX512FP16) &&
11305 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11306 : (TARGET_AVX512VL))))
11307 : return -1;
11308 : return 3022; /* avx512fp16_rsqrtv8hf2_mask */
11309 :
11310 : case E_V32BFmode:
11311 : if (pattern638 (x2,
11312 : E_V32BFmode,
11313 : E_SImode) != 0
11314 : || !(
11315 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11316 : (TARGET_AVX512F) &&
11317 : #line 33097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11318 : (TARGET_AVX10_2)))
11319 : return -1;
11320 : return 10751; /* avx10_2_rsqrtbf16_v32bf_mask */
11321 :
11322 : case E_V16BFmode:
11323 : if (pattern638 (x2,
11324 : E_V16BFmode,
11325 : E_HImode) != 0
11326 : || !(
11327 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11328 : (TARGET_AVX512F) &&
11329 : #line 33097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11330 : (TARGET_AVX10_2)))
11331 : return -1;
11332 : return 10753; /* avx10_2_rsqrtbf16_v16bf_mask */
11333 :
11334 : case E_V8BFmode:
11335 : if (pattern638 (x2,
11336 : E_V8BFmode,
11337 : E_QImode) != 0
11338 : || !(
11339 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11340 : (TARGET_AVX512F) &&
11341 : #line 33097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11342 : (TARGET_AVX10_2)))
11343 : return -1;
11344 : return 10755; /* avx10_2_rsqrtbf16_v8bf_mask */
11345 :
11346 : default:
11347 : return -1;
11348 : }
11349 :
11350 : case CONST_INT:
11351 : switch (pattern892 (x2))
11352 : {
11353 : case 0:
11354 : if (!
11355 : #line 3225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11356 : (TARGET_SSE))
11357 : return -1;
11358 : return 3039; /* sse_vmrsqrtv4sf2 */
11359 :
11360 : case 1:
11361 : if (!
11362 : #line 3260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11363 : (TARGET_AVX512FP16))
11364 : return -1;
11365 : return 3041; /* avx512fp16_vmrsqrtv8hf2 */
11366 :
11367 : default:
11368 : return -1;
11369 : }
11370 :
11371 : default:
11372 : return -1;
11373 : }
11374 :
11375 : case 163:
11376 : switch (pattern640 (x2))
11377 : {
11378 : case 0:
11379 : if (!
11380 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11381 : (TARGET_AVX512F))
11382 : return -1;
11383 : return 3024; /* rsqrt14v16sf_mask */
11384 :
11385 : case 1:
11386 : if (!(
11387 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11388 : (TARGET_AVX512F) && (
11389 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11390 : (TARGET_AVX512F) &&
11391 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11392 : (TARGET_AVX512VL))))
11393 : return -1;
11394 : return 3026; /* rsqrt14v8sf_mask */
11395 :
11396 : case 2:
11397 : if (!(
11398 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11399 : (TARGET_AVX512F) && (
11400 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11401 : (TARGET_AVX512F) &&
11402 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11403 : (TARGET_AVX512VL))))
11404 : return -1;
11405 : return 3028; /* rsqrt14v4sf_mask */
11406 :
11407 : case 3:
11408 : if (!
11409 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11410 : (TARGET_AVX512F))
11411 : return -1;
11412 : return 3030; /* rsqrt14v8df_mask */
11413 :
11414 : case 4:
11415 : if (!(
11416 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11417 : (TARGET_AVX512F) && (
11418 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11419 : (TARGET_AVX512F) &&
11420 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11421 : (TARGET_AVX512VL))))
11422 : return -1;
11423 : return 3032; /* rsqrt14v4df_mask */
11424 :
11425 : case 5:
11426 : if (!(
11427 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11428 : (TARGET_AVX512F) && (
11429 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11430 : (TARGET_AVX512F) &&
11431 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11432 : (TARGET_AVX512VL))))
11433 : return -1;
11434 : return 3034; /* rsqrt14v2df_mask */
11435 :
11436 : case 6:
11437 : if (!
11438 : #line 3195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11439 : (TARGET_AVX512F))
11440 : return -1;
11441 : return 3035; /* rsqrt14v4sf */
11442 :
11443 : case 7:
11444 : if (!(
11445 : #line 3195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11446 : (TARGET_AVX512F) &&
11447 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11448 : (TARGET_SSE2)))
11449 : return -1;
11450 : return 3036; /* rsqrt14v2df */
11451 :
11452 : default:
11453 : return -1;
11454 : }
11455 :
11456 : case 157:
11457 : return recog_129 (x1, insn, pnum_clobbers);
11458 :
11459 : case 47:
11460 : return recog_126 (x1, insn, pnum_clobbers);
11461 :
11462 : case 173:
11463 : return recog_128 (x1, insn, pnum_clobbers);
11464 :
11465 : case 174:
11466 : return recog_127 (x1, insn, pnum_clobbers);
11467 :
11468 : case 166:
11469 : return recog_131 (x1, insn, pnum_clobbers);
11470 :
11471 : case 137:
11472 : x6 = XEXP (x2, 2);
11473 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11474 : return -1;
11475 : x5 = XVECEXP (x4, 0, 0);
11476 : operands[1] = x5;
11477 : switch (GET_MODE (operands[0]))
11478 : {
11479 : case E_V4SFmode:
11480 : if (pattern1002 (x2,
11481 : E_V4SFmode) != 0
11482 : || !
11483 : #line 27707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11484 : (TARGET_XOP))
11485 : return -1;
11486 : return 9114; /* *xop_vmfrczv4sf2 */
11487 :
11488 : case E_V2DFmode:
11489 : if (pattern1002 (x2,
11490 : E_V2DFmode) != 0
11491 : || !(
11492 : #line 27707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11493 : (TARGET_XOP) &&
11494 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11495 : (TARGET_SSE2)))
11496 : return -1;
11497 : return 9115; /* *xop_vmfrczv2df2 */
11498 :
11499 : default:
11500 : return -1;
11501 : }
11502 :
11503 : case 150:
11504 : x5 = XVECEXP (x4, 0, 0);
11505 : operands[1] = x5;
11506 : x6 = XEXP (x2, 2);
11507 : operands[3] = x6;
11508 : switch (GET_MODE (operands[0]))
11509 : {
11510 : case E_V4SFmode:
11511 : if (!register_operand (operands[0], E_V4SFmode)
11512 : || GET_MODE (x2) != E_V4SFmode
11513 : || GET_MODE (x4) != E_V4SFmode
11514 : || !memory_operand (operands[1], E_V4HImode)
11515 : || !nonimm_or_0_operand (operands[2], E_V4SFmode)
11516 : || !register_operand (operands[3], E_QImode)
11517 : || !(
11518 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11519 : (TARGET_AVX512F) &&
11520 : #line 29788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11521 : (TARGET_F16C || TARGET_AVX512VL)))
11522 : return -1;
11523 : return 9724; /* *vcvtph2ps_load_mask */
11524 :
11525 : case E_V8SFmode:
11526 : if (pattern642 (x2,
11527 : E_V8SFmode,
11528 : E_QImode,
11529 : E_V8HImode) != 0
11530 : || !(
11531 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11532 : (TARGET_AVX512F) &&
11533 : #line 29798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11534 : (TARGET_F16C || TARGET_AVX512VL)))
11535 : return -1;
11536 : return 9726; /* vcvtph2ps256_mask */
11537 :
11538 : case E_V16SFmode:
11539 : if (pattern644 (x2,
11540 : E_V16SFmode,
11541 : E_HImode,
11542 : E_V16HImode) != 0
11543 : || !
11544 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11545 : (TARGET_AVX512F))
11546 : return -1;
11547 : return 9729; /* avx512f_vcvtph2ps512_mask */
11548 :
11549 : default:
11550 : return -1;
11551 : }
11552 :
11553 : case 169:
11554 : x5 = XVECEXP (x4, 0, 0);
11555 : operands[1] = x5;
11556 : x6 = XEXP (x2, 2);
11557 : operands[3] = x6;
11558 : switch (GET_MODE (operands[0]))
11559 : {
11560 : case E_V16SImode:
11561 : if (pattern638 (x2,
11562 : E_V16SImode,
11563 : E_HImode) != 0
11564 : || !(
11565 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11566 : (TARGET_AVX512F) &&
11567 : #line 30647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11568 : (TARGET_AVX512CD)))
11569 : return -1;
11570 : return 10147; /* conflictv16si_mask */
11571 :
11572 : case E_V8SImode:
11573 : if (pattern638 (x2,
11574 : E_V8SImode,
11575 : E_QImode) != 0
11576 : || !(
11577 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11578 : (TARGET_AVX512F) && (
11579 : #line 30647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11580 : (TARGET_AVX512CD) &&
11581 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11582 : (TARGET_AVX512VL))))
11583 : return -1;
11584 : return 10149; /* conflictv8si_mask */
11585 :
11586 : case E_V4SImode:
11587 : if (pattern638 (x2,
11588 : E_V4SImode,
11589 : E_QImode) != 0
11590 : || !(
11591 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11592 : (TARGET_AVX512F) && (
11593 : #line 30647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11594 : (TARGET_AVX512CD) &&
11595 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11596 : (TARGET_AVX512VL))))
11597 : return -1;
11598 : return 10151; /* conflictv4si_mask */
11599 :
11600 : case E_V8DImode:
11601 : if (pattern638 (x2,
11602 : E_V8DImode,
11603 : E_QImode) != 0
11604 : || !(
11605 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11606 : (TARGET_AVX512F) &&
11607 : #line 30647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11608 : (TARGET_AVX512CD)))
11609 : return -1;
11610 : return 10153; /* conflictv8di_mask */
11611 :
11612 : case E_V4DImode:
11613 : if (pattern638 (x2,
11614 : E_V4DImode,
11615 : E_QImode) != 0
11616 : || !(
11617 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11618 : (TARGET_AVX512F) && (
11619 : #line 30647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11620 : (TARGET_AVX512CD) &&
11621 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11622 : (TARGET_AVX512VL))))
11623 : return -1;
11624 : return 10155; /* conflictv4di_mask */
11625 :
11626 : case E_V2DImode:
11627 : if (pattern638 (x2,
11628 : E_V2DImode,
11629 : E_QImode) != 0
11630 : || !(
11631 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11632 : (TARGET_AVX512F) && (
11633 : #line 30647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11634 : (TARGET_AVX512CD) &&
11635 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11636 : (TARGET_AVX512VL))))
11637 : return -1;
11638 : return 10157; /* conflictv2di_mask */
11639 :
11640 : default:
11641 : return -1;
11642 : }
11643 :
11644 : case 254:
11645 : switch (pattern643 (x2))
11646 : {
11647 : case 0:
11648 : if (!(
11649 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11650 : (TARGET_AVX512F) &&
11651 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11652 : (TARGET_AVX10_2)))
11653 : return -1;
11654 : return 10576; /* vcvtph2bf8v16hf_mask */
11655 :
11656 : case 1:
11657 : if (!(
11658 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11659 : (TARGET_AVX512F) &&
11660 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11661 : (TARGET_AVX10_2)))
11662 : return -1;
11663 : return 10584; /* vcvtph2bf8v32hf_mask */
11664 :
11665 : default:
11666 : return -1;
11667 : }
11668 :
11669 : case 255:
11670 : switch (pattern643 (x2))
11671 : {
11672 : case 0:
11673 : if (!(
11674 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11675 : (TARGET_AVX512F) &&
11676 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11677 : (TARGET_AVX10_2)))
11678 : return -1;
11679 : return 10578; /* vcvtph2bf8sv16hf_mask */
11680 :
11681 : case 1:
11682 : if (!(
11683 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11684 : (TARGET_AVX512F) &&
11685 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11686 : (TARGET_AVX10_2)))
11687 : return -1;
11688 : return 10586; /* vcvtph2bf8sv32hf_mask */
11689 :
11690 : default:
11691 : return -1;
11692 : }
11693 :
11694 : case 256:
11695 : switch (pattern643 (x2))
11696 : {
11697 : case 0:
11698 : if (!(
11699 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11700 : (TARGET_AVX512F) &&
11701 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11702 : (TARGET_AVX10_2)))
11703 : return -1;
11704 : return 10580; /* vcvtph2hf8v16hf_mask */
11705 :
11706 : case 1:
11707 : if (!(
11708 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11709 : (TARGET_AVX512F) &&
11710 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11711 : (TARGET_AVX10_2)))
11712 : return -1;
11713 : return 10588; /* vcvtph2hf8v32hf_mask */
11714 :
11715 : default:
11716 : return -1;
11717 : }
11718 :
11719 : case 257:
11720 : switch (pattern643 (x2))
11721 : {
11722 : case 0:
11723 : if (!(
11724 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11725 : (TARGET_AVX512F) &&
11726 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11727 : (TARGET_AVX10_2)))
11728 : return -1;
11729 : return 10582; /* vcvtph2hf8sv16hf_mask */
11730 :
11731 : case 1:
11732 : if (!(
11733 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11734 : (TARGET_AVX512F) &&
11735 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11736 : (TARGET_AVX10_2)))
11737 : return -1;
11738 : return 10590; /* vcvtph2hf8sv32hf_mask */
11739 :
11740 : default:
11741 : return -1;
11742 : }
11743 :
11744 : case 258:
11745 : x5 = XVECEXP (x4, 0, 0);
11746 : operands[1] = x5;
11747 : x6 = XEXP (x2, 2);
11748 : operands[3] = x6;
11749 : switch (GET_MODE (operands[0]))
11750 : {
11751 : case E_V32HFmode:
11752 : if (pattern642 (x2,
11753 : E_V32HFmode,
11754 : E_SImode,
11755 : E_V32QImode) != 0
11756 : || !(
11757 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11758 : (TARGET_AVX512F) &&
11759 : #line 32628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11760 : (TARGET_AVX10_2)))
11761 : return -1;
11762 : return 10592; /* vcvthf82phv32hf_mask */
11763 :
11764 : case E_V16HFmode:
11765 : if (pattern642 (x2,
11766 : E_V16HFmode,
11767 : E_HImode,
11768 : E_V16QImode) != 0
11769 : || !(
11770 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11771 : (TARGET_AVX512F) && (
11772 : #line 32628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11773 : (TARGET_AVX10_2) &&
11774 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11775 : (TARGET_AVX512VL))))
11776 : return -1;
11777 : return 10594; /* vcvthf82phv16hf_mask */
11778 :
11779 : case E_V8HFmode:
11780 : if (pattern642 (x2,
11781 : E_V8HFmode,
11782 : E_QImode,
11783 : E_V16QImode) != 0
11784 : || !(
11785 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11786 : (TARGET_AVX512F) && (
11787 : #line 32628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11788 : (TARGET_AVX10_2) &&
11789 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11790 : (TARGET_AVX512VL))))
11791 : return -1;
11792 : return 10596; /* vcvthf82phv8hf_mask */
11793 :
11794 : default:
11795 : return -1;
11796 : }
11797 :
11798 : case 264:
11799 : switch (pattern645 (x2,
11800 : E_V32BFmode,
11801 : E_V16BFmode,
11802 : E_V8BFmode))
11803 : {
11804 : case 0:
11805 : if (!(
11806 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11807 : (TARGET_AVX512F) &&
11808 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11809 : (TARGET_AVX10_2)))
11810 : return -1;
11811 : return 10805; /* avx10_2_cvtbf162ibsv32bf_mask */
11812 :
11813 : case 1:
11814 : if (!(
11815 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11816 : (TARGET_AVX512F) &&
11817 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11818 : (TARGET_AVX10_2)))
11819 : return -1;
11820 : return 10813; /* avx10_2_cvtbf162ibsv16bf_mask */
11821 :
11822 : case 2:
11823 : if (!(
11824 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11825 : (TARGET_AVX512F) &&
11826 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11827 : (TARGET_AVX10_2)))
11828 : return -1;
11829 : return 10821; /* avx10_2_cvtbf162ibsv8bf_mask */
11830 :
11831 : default:
11832 : return -1;
11833 : }
11834 :
11835 : case 265:
11836 : switch (pattern645 (x2,
11837 : E_V32BFmode,
11838 : E_V16BFmode,
11839 : E_V8BFmode))
11840 : {
11841 : case 0:
11842 : if (!(
11843 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11844 : (TARGET_AVX512F) &&
11845 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11846 : (TARGET_AVX10_2)))
11847 : return -1;
11848 : return 10807; /* avx10_2_cvtbf162iubsv32bf_mask */
11849 :
11850 : case 1:
11851 : if (!(
11852 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11853 : (TARGET_AVX512F) &&
11854 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11855 : (TARGET_AVX10_2)))
11856 : return -1;
11857 : return 10815; /* avx10_2_cvtbf162iubsv16bf_mask */
11858 :
11859 : case 2:
11860 : if (!(
11861 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11862 : (TARGET_AVX512F) &&
11863 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11864 : (TARGET_AVX10_2)))
11865 : return -1;
11866 : return 10823; /* avx10_2_cvtbf162iubsv8bf_mask */
11867 :
11868 : default:
11869 : return -1;
11870 : }
11871 :
11872 : case 270:
11873 : switch (pattern645 (x2,
11874 : E_V32BFmode,
11875 : E_V16BFmode,
11876 : E_V8BFmode))
11877 : {
11878 : case 0:
11879 : if (!(
11880 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11881 : (TARGET_AVX512F) &&
11882 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11883 : (TARGET_AVX10_2)))
11884 : return -1;
11885 : return 10809; /* avx10_2_cvttbf162ibsv32bf_mask */
11886 :
11887 : case 1:
11888 : if (!(
11889 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11890 : (TARGET_AVX512F) &&
11891 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11892 : (TARGET_AVX10_2)))
11893 : return -1;
11894 : return 10817; /* avx10_2_cvttbf162ibsv16bf_mask */
11895 :
11896 : case 2:
11897 : if (!(
11898 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11899 : (TARGET_AVX512F) &&
11900 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11901 : (TARGET_AVX10_2)))
11902 : return -1;
11903 : return 10825; /* avx10_2_cvttbf162ibsv8bf_mask */
11904 :
11905 : default:
11906 : return -1;
11907 : }
11908 :
11909 : case 271:
11910 : switch (pattern645 (x2,
11911 : E_V32BFmode,
11912 : E_V16BFmode,
11913 : E_V8BFmode))
11914 : {
11915 : case 0:
11916 : if (!(
11917 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11918 : (TARGET_AVX512F) &&
11919 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11920 : (TARGET_AVX10_2)))
11921 : return -1;
11922 : return 10811; /* avx10_2_cvttbf162iubsv32bf_mask */
11923 :
11924 : case 1:
11925 : if (!(
11926 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11927 : (TARGET_AVX512F) &&
11928 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11929 : (TARGET_AVX10_2)))
11930 : return -1;
11931 : return 10819; /* avx10_2_cvttbf162iubsv16bf_mask */
11932 :
11933 : case 2:
11934 : if (!(
11935 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11936 : (TARGET_AVX512F) &&
11937 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11938 : (TARGET_AVX10_2)))
11939 : return -1;
11940 : return 10827; /* avx10_2_cvttbf162iubsv8bf_mask */
11941 :
11942 : default:
11943 : return -1;
11944 : }
11945 :
11946 : case 266:
11947 : switch (pattern645 (x2,
11948 : E_V32HFmode,
11949 : E_V16HFmode,
11950 : E_V8HFmode))
11951 : {
11952 : case 0:
11953 : if (!(
11954 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11955 : (TARGET_AVX512F) &&
11956 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11957 : (TARGET_AVX10_2 && 1)))
11958 : return -1;
11959 : return 10830; /* avx10_2_cvtph2ibsv32hf_mask */
11960 :
11961 : case 1:
11962 : if (!(
11963 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11964 : (TARGET_AVX512F) && (
11965 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11966 : (TARGET_AVX10_2 && 1) &&
11967 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11968 : (TARGET_AVX512VL))))
11969 : return -1;
11970 : return 10837; /* avx10_2_cvtph2ibsv16hf_mask */
11971 :
11972 : case 2:
11973 : if (!(
11974 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11975 : (TARGET_AVX512F) && (
11976 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11977 : (TARGET_AVX10_2 && 1) &&
11978 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11979 : (TARGET_AVX512VL))))
11980 : return -1;
11981 : return 10841; /* avx10_2_cvtph2ibsv8hf_mask */
11982 :
11983 : default:
11984 : return -1;
11985 : }
11986 :
11987 : case 267:
11988 : switch (pattern645 (x2,
11989 : E_V32HFmode,
11990 : E_V16HFmode,
11991 : E_V8HFmode))
11992 : {
11993 : case 0:
11994 : if (!(
11995 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11996 : (TARGET_AVX512F) &&
11997 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11998 : (TARGET_AVX10_2 && 1)))
11999 : return -1;
12000 : return 10834; /* avx10_2_cvtph2iubsv32hf_mask */
12001 :
12002 : case 1:
12003 : if (!(
12004 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12005 : (TARGET_AVX512F) && (
12006 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12007 : (TARGET_AVX10_2 && 1) &&
12008 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12009 : (TARGET_AVX512VL))))
12010 : return -1;
12011 : return 10839; /* avx10_2_cvtph2iubsv16hf_mask */
12012 :
12013 : case 2:
12014 : if (!(
12015 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12016 : (TARGET_AVX512F) && (
12017 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12018 : (TARGET_AVX10_2 && 1) &&
12019 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12020 : (TARGET_AVX512VL))))
12021 : return -1;
12022 : return 10843; /* avx10_2_cvtph2iubsv8hf_mask */
12023 :
12024 : default:
12025 : return -1;
12026 : }
12027 :
12028 : case 272:
12029 : switch (pattern645 (x2,
12030 : E_V32HFmode,
12031 : E_V16HFmode,
12032 : E_V8HFmode))
12033 : {
12034 : case 0:
12035 : if (!(
12036 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12037 : (TARGET_AVX512F) &&
12038 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12039 : (TARGET_AVX10_2 && 1)))
12040 : return -1;
12041 : return 10846; /* avx10_2_cvttph2ibsv32hf_mask */
12042 :
12043 : case 1:
12044 : if (!(
12045 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12046 : (TARGET_AVX512F) && (
12047 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12048 : (TARGET_AVX10_2 && 1) &&
12049 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12050 : (TARGET_AVX512VL))))
12051 : return -1;
12052 : return 10853; /* avx10_2_cvttph2ibsv16hf_mask */
12053 :
12054 : case 2:
12055 : if (!(
12056 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12057 : (TARGET_AVX512F) && (
12058 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12059 : (TARGET_AVX10_2 && 1) &&
12060 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12061 : (TARGET_AVX512VL))))
12062 : return -1;
12063 : return 10857; /* avx10_2_cvttph2ibsv8hf_mask */
12064 :
12065 : default:
12066 : return -1;
12067 : }
12068 :
12069 : case 273:
12070 : switch (pattern645 (x2,
12071 : E_V32HFmode,
12072 : E_V16HFmode,
12073 : E_V8HFmode))
12074 : {
12075 : case 0:
12076 : if (!(
12077 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12078 : (TARGET_AVX512F) &&
12079 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12080 : (TARGET_AVX10_2 && 1)))
12081 : return -1;
12082 : return 10850; /* avx10_2_cvttph2iubsv32hf_mask */
12083 :
12084 : case 1:
12085 : if (!(
12086 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12087 : (TARGET_AVX512F) && (
12088 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12089 : (TARGET_AVX10_2 && 1) &&
12090 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12091 : (TARGET_AVX512VL))))
12092 : return -1;
12093 : return 10855; /* avx10_2_cvttph2iubsv16hf_mask */
12094 :
12095 : case 2:
12096 : if (!(
12097 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12098 : (TARGET_AVX512F) && (
12099 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12100 : (TARGET_AVX10_2 && 1) &&
12101 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12102 : (TARGET_AVX512VL))))
12103 : return -1;
12104 : return 10859; /* avx10_2_cvttph2iubsv8hf_mask */
12105 :
12106 : default:
12107 : return -1;
12108 : }
12109 :
12110 : case 268:
12111 : switch (pattern646 (x2))
12112 : {
12113 : case 0:
12114 : if (!(
12115 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12116 : (TARGET_AVX512F) &&
12117 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12118 : (TARGET_AVX10_2 && 1)))
12119 : return -1;
12120 : return 10862; /* avx10_2_cvtps2ibsv16sf_mask */
12121 :
12122 : case 1:
12123 : if (!(
12124 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12125 : (TARGET_AVX512F) && (
12126 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12127 : (TARGET_AVX10_2 && 1) &&
12128 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12129 : (TARGET_AVX512VL))))
12130 : return -1;
12131 : return 10869; /* avx10_2_cvtps2ibsv8sf_mask */
12132 :
12133 : case 2:
12134 : if (!(
12135 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12136 : (TARGET_AVX512F) && (
12137 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12138 : (TARGET_AVX10_2 && 1) &&
12139 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12140 : (TARGET_AVX512VL))))
12141 : return -1;
12142 : return 10873; /* avx10_2_cvtps2ibsv4sf_mask */
12143 :
12144 : default:
12145 : return -1;
12146 : }
12147 :
12148 : case 269:
12149 : switch (pattern646 (x2))
12150 : {
12151 : case 0:
12152 : if (!(
12153 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12154 : (TARGET_AVX512F) &&
12155 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12156 : (TARGET_AVX10_2 && 1)))
12157 : return -1;
12158 : return 10866; /* avx10_2_cvtps2iubsv16sf_mask */
12159 :
12160 : case 1:
12161 : if (!(
12162 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12163 : (TARGET_AVX512F) && (
12164 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12165 : (TARGET_AVX10_2 && 1) &&
12166 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12167 : (TARGET_AVX512VL))))
12168 : return -1;
12169 : return 10871; /* avx10_2_cvtps2iubsv8sf_mask */
12170 :
12171 : case 2:
12172 : if (!(
12173 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12174 : (TARGET_AVX512F) && (
12175 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12176 : (TARGET_AVX10_2 && 1) &&
12177 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12178 : (TARGET_AVX512VL))))
12179 : return -1;
12180 : return 10875; /* avx10_2_cvtps2iubsv4sf_mask */
12181 :
12182 : default:
12183 : return -1;
12184 : }
12185 :
12186 : case 274:
12187 : switch (pattern646 (x2))
12188 : {
12189 : case 0:
12190 : if (!(
12191 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12192 : (TARGET_AVX512F) &&
12193 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12194 : (TARGET_AVX10_2 && 1)))
12195 : return -1;
12196 : return 10878; /* avx10_2_cvttps2ibsv16sf_mask */
12197 :
12198 : case 1:
12199 : if (!(
12200 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12201 : (TARGET_AVX512F) && (
12202 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12203 : (TARGET_AVX10_2 && 1) &&
12204 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12205 : (TARGET_AVX512VL))))
12206 : return -1;
12207 : return 10885; /* avx10_2_cvttps2ibsv8sf_mask */
12208 :
12209 : case 2:
12210 : if (!(
12211 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12212 : (TARGET_AVX512F) && (
12213 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12214 : (TARGET_AVX10_2 && 1) &&
12215 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12216 : (TARGET_AVX512VL))))
12217 : return -1;
12218 : return 10889; /* avx10_2_cvttps2ibsv4sf_mask */
12219 :
12220 : default:
12221 : return -1;
12222 : }
12223 :
12224 : case 275:
12225 : switch (pattern646 (x2))
12226 : {
12227 : case 0:
12228 : if (!(
12229 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12230 : (TARGET_AVX512F) &&
12231 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12232 : (TARGET_AVX10_2 && 1)))
12233 : return -1;
12234 : return 10882; /* avx10_2_cvttps2iubsv16sf_mask */
12235 :
12236 : case 1:
12237 : if (!(
12238 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12239 : (TARGET_AVX512F) && (
12240 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12241 : (TARGET_AVX10_2 && 1) &&
12242 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12243 : (TARGET_AVX512VL))))
12244 : return -1;
12245 : return 10887; /* avx10_2_cvttps2iubsv8sf_mask */
12246 :
12247 : case 2:
12248 : if (!(
12249 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12250 : (TARGET_AVX512F) && (
12251 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12252 : (TARGET_AVX10_2 && 1) &&
12253 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12254 : (TARGET_AVX512VL))))
12255 : return -1;
12256 : return 10891; /* avx10_2_cvttps2iubsv4sf_mask */
12257 :
12258 : default:
12259 : return -1;
12260 : }
12261 :
12262 : case 276:
12263 : switch (pattern647 (x2))
12264 : {
12265 : case 0:
12266 : if (!(
12267 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12268 : (TARGET_AVX512F) && (
12269 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12270 : (TARGET_AVX10_2 && 1) &&
12271 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12272 : (TARGET_AVX512F))))
12273 : return -1;
12274 : return 10894; /* avx10_2_vcvttps2dqsv16sf_mask */
12275 :
12276 : case 1:
12277 : if (!(
12278 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12279 : (TARGET_AVX512F) && (
12280 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12281 : (TARGET_AVX10_2 && 1) &&
12282 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12283 : (TARGET_AVX))))
12284 : return -1;
12285 : return 10901; /* avx10_2_vcvttps2dqsv8sf_mask */
12286 :
12287 : case 2:
12288 : if (!(
12289 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12290 : (TARGET_AVX512F) && (
12291 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12292 : (TARGET_AVX10_2 && 1) &&
12293 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12294 : (TARGET_AVX512F))))
12295 : return -1;
12296 : return 10910; /* avx10_2_vcvttpd2dqsv8df_mask */
12297 :
12298 : case 3:
12299 : if (!(
12300 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12301 : (TARGET_AVX512F) &&
12302 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12303 : (TARGET_AVX10_2 && 1)))
12304 : return -1;
12305 : return 10905; /* avx10_2_vcvttps2dqsv4sf_mask */
12306 :
12307 : case 4:
12308 : if (!(
12309 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12310 : (TARGET_AVX512F) && (
12311 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12312 : (TARGET_AVX10_2 && 1) &&
12313 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12314 : (TARGET_AVX))))
12315 : return -1;
12316 : return 10917; /* avx10_2_vcvttpd2dqsv4df_mask */
12317 :
12318 : case 5:
12319 : if (!(
12320 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12321 : (TARGET_AVX512F) && (
12322 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12323 : (TARGET_AVX10_2 && 1) &&
12324 : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12325 : (TARGET_SSE2))))
12326 : return -1;
12327 : return 10921; /* avx10_2_vcvttpd2dqsv2df_mask */
12328 :
12329 : case 6:
12330 : if (!(
12331 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12332 : (TARGET_AVX512F) && (
12333 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12334 : (TARGET_AVX10_2 && 1) &&
12335 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12336 : (TARGET_AVX512F))))
12337 : return -1;
12338 : return 10926; /* avx10_2_vcvttpd2qqsv8df_mask */
12339 :
12340 : case 7:
12341 : if (!(
12342 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12343 : (TARGET_AVX512F) && (
12344 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12345 : (TARGET_AVX10_2 && 1) &&
12346 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12347 : (TARGET_AVX512F))))
12348 : return -1;
12349 : return 10942; /* avx10_2_vcvttps2qqsv8di_mask */
12350 :
12351 : case 8:
12352 : if (!(
12353 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12354 : (TARGET_AVX512F) && (
12355 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12356 : (TARGET_AVX10_2 && 1) &&
12357 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12358 : (TARGET_AVX))))
12359 : return -1;
12360 : return 10933; /* avx10_2_vcvttpd2qqsv4df_mask */
12361 :
12362 : case 9:
12363 : if (!(
12364 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12365 : (TARGET_AVX512F) && (
12366 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12367 : (TARGET_AVX10_2 && 1) &&
12368 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12369 : (TARGET_AVX))))
12370 : return -1;
12371 : return 10949; /* avx10_2_vcvttps2qqsv4di_mask */
12372 :
12373 : case 10:
12374 : if (!(
12375 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12376 : (TARGET_AVX512F) &&
12377 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12378 : (TARGET_AVX10_2 && 1)))
12379 : return -1;
12380 : return 10937; /* avx10_2_vcvttpd2qqsv2df_mask */
12381 :
12382 : case 11:
12383 : if (!(
12384 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12385 : (TARGET_AVX512F) &&
12386 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12387 : (TARGET_AVX10_2 && 1)))
12388 : return -1;
12389 : return 10953; /* avx10_2_vcvttps2qqsv2di_mask */
12390 :
12391 : default:
12392 : return -1;
12393 : }
12394 :
12395 : case 277:
12396 : switch (pattern647 (x2))
12397 : {
12398 : case 0:
12399 : if (!(
12400 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12401 : (TARGET_AVX512F) && (
12402 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12403 : (TARGET_AVX10_2 && 1) &&
12404 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12405 : (TARGET_AVX512F))))
12406 : return -1;
12407 : return 10898; /* avx10_2_vcvttps2udqsv16sf_mask */
12408 :
12409 : case 1:
12410 : if (!(
12411 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12412 : (TARGET_AVX512F) && (
12413 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12414 : (TARGET_AVX10_2 && 1) &&
12415 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12416 : (TARGET_AVX))))
12417 : return -1;
12418 : return 10903; /* avx10_2_vcvttps2udqsv8sf_mask */
12419 :
12420 : case 2:
12421 : if (!(
12422 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12423 : (TARGET_AVX512F) && (
12424 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12425 : (TARGET_AVX10_2 && 1) &&
12426 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12427 : (TARGET_AVX512F))))
12428 : return -1;
12429 : return 10914; /* avx10_2_vcvttpd2udqsv8df_mask */
12430 :
12431 : case 3:
12432 : if (!(
12433 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12434 : (TARGET_AVX512F) &&
12435 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12436 : (TARGET_AVX10_2 && 1)))
12437 : return -1;
12438 : return 10907; /* avx10_2_vcvttps2udqsv4sf_mask */
12439 :
12440 : case 4:
12441 : if (!(
12442 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12443 : (TARGET_AVX512F) && (
12444 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12445 : (TARGET_AVX10_2 && 1) &&
12446 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12447 : (TARGET_AVX))))
12448 : return -1;
12449 : return 10919; /* avx10_2_vcvttpd2udqsv4df_mask */
12450 :
12451 : case 5:
12452 : if (!(
12453 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12454 : (TARGET_AVX512F) && (
12455 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12456 : (TARGET_AVX10_2 && 1) &&
12457 : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12458 : (TARGET_SSE2))))
12459 : return -1;
12460 : return 10923; /* avx10_2_vcvttpd2udqsv2df_mask */
12461 :
12462 : case 6:
12463 : if (!(
12464 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12465 : (TARGET_AVX512F) && (
12466 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12467 : (TARGET_AVX10_2 && 1) &&
12468 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12469 : (TARGET_AVX512F))))
12470 : return -1;
12471 : return 10930; /* avx10_2_vcvttpd2uqqsv8df_mask */
12472 :
12473 : case 7:
12474 : if (!(
12475 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12476 : (TARGET_AVX512F) && (
12477 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12478 : (TARGET_AVX10_2 && 1) &&
12479 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12480 : (TARGET_AVX512F))))
12481 : return -1;
12482 : return 10946; /* avx10_2_vcvttps2uqqsv8di_mask */
12483 :
12484 : case 8:
12485 : if (!(
12486 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12487 : (TARGET_AVX512F) && (
12488 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12489 : (TARGET_AVX10_2 && 1) &&
12490 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12491 : (TARGET_AVX))))
12492 : return -1;
12493 : return 10935; /* avx10_2_vcvttpd2uqqsv4df_mask */
12494 :
12495 : case 9:
12496 : if (!(
12497 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12498 : (TARGET_AVX512F) && (
12499 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12500 : (TARGET_AVX10_2 && 1) &&
12501 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12502 : (TARGET_AVX))))
12503 : return -1;
12504 : return 10951; /* avx10_2_vcvttps2uqqsv4di_mask */
12505 :
12506 : case 10:
12507 : if (!(
12508 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12509 : (TARGET_AVX512F) &&
12510 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12511 : (TARGET_AVX10_2 && 1)))
12512 : return -1;
12513 : return 10939; /* avx10_2_vcvttpd2uqqsv2df_mask */
12514 :
12515 : case 11:
12516 : if (!(
12517 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12518 : (TARGET_AVX512F) &&
12519 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12520 : (TARGET_AVX10_2 && 1)))
12521 : return -1;
12522 : return 10955; /* avx10_2_vcvttps2uqqsv2di_mask */
12523 :
12524 : default:
12525 : return -1;
12526 : }
12527 :
12528 : case 283:
12529 : return recog_130 (x1, insn, pnum_clobbers);
12530 :
12531 : case 282:
12532 : x5 = XVECEXP (x4, 0, 0);
12533 : operands[1] = x5;
12534 : x6 = XEXP (x2, 2);
12535 : operands[3] = x6;
12536 : switch (GET_MODE (operands[0]))
12537 : {
12538 : case E_V64QImode:
12539 : if (pattern1004 (x2,
12540 : E_DImode,
12541 : E_V64QImode) != 0
12542 : || !
12543 : #line 33421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12544 : (TARGET_AVX512BMM))
12545 : return -1;
12546 : return 11054; /* avx512bmm_vbitrevb_v64qi_mask */
12547 :
12548 : case E_V16QImode:
12549 : if (pattern1004 (x2,
12550 : E_HImode,
12551 : E_V16QImode) != 0
12552 : || !(
12553 : #line 33421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12554 : (TARGET_AVX512BMM) &&
12555 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12556 : (TARGET_AVX512VL)))
12557 : return -1;
12558 : return 11055; /* avx512bmm_vbitrevb_v16qi_mask */
12559 :
12560 : case E_V32QImode:
12561 : if (pattern1004 (x2,
12562 : E_SImode,
12563 : E_V32QImode) != 0
12564 : || !(
12565 : #line 33421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12566 : (TARGET_AVX512BMM) &&
12567 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12568 : (TARGET_AVX512VL)))
12569 : return -1;
12570 : return 11056; /* avx512bmm_vbitrevb_v32qi_mask */
12571 :
12572 : default:
12573 : return -1;
12574 : }
12575 :
12576 : default:
12577 : return -1;
12578 : }
12579 : }
12580 :
12581 : int
12582 : recog_180 (rtx x1 ATTRIBUTE_UNUSED,
12583 : rtx_insn *insn ATTRIBUTE_UNUSED,
12584 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12585 : {
12586 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12587 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12588 : rtx x10, x11, x12, x13, x14;
12589 : int res ATTRIBUTE_UNUSED;
12590 : x2 = XEXP (x1, 1);
12591 : x3 = XEXP (x2, 0);
12592 : x4 = XEXP (x3, 1);
12593 : x5 = XVECEXP (x4, 0, 0);
12594 : if (GET_CODE (x5) != CONST_INT)
12595 : return -1;
12596 : operands[2] = x5;
12597 : res = recog_179 (x1, insn, pnum_clobbers);
12598 : if (res >= 0)
12599 : return res;
12600 : if (XWINT (x5, 0) != 0L)
12601 : return -1;
12602 : x6 = XVECEXP (x4, 0, 1);
12603 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
12604 : return -1;
12605 : x7 = XVECEXP (x4, 0, 2);
12606 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
12607 : return -1;
12608 : x8 = XVECEXP (x4, 0, 3);
12609 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
12610 : || pattern1307 (x4,
12611 : 11,
12612 : 10,
12613 : 9,
12614 : 8) != 0
12615 : || pattern762 (x2,
12616 : E_V16HImode) != 0
12617 : || pattern1558 (x4) != 0)
12618 : return -1;
12619 : x9 = XVECEXP (x4, 0, 12);
12620 : operands[6] = x9;
12621 : if (!const_12_to_15_operand (operands[6], E_VOIDmode))
12622 : return -1;
12623 : x10 = XVECEXP (x4, 0, 13);
12624 : operands[7] = x10;
12625 : if (!const_12_to_15_operand (operands[7], E_VOIDmode))
12626 : return -1;
12627 : x11 = XVECEXP (x4, 0, 14);
12628 : operands[8] = x11;
12629 : if (!const_12_to_15_operand (operands[8], E_VOIDmode))
12630 : return -1;
12631 : x12 = XVECEXP (x4, 0, 15);
12632 : operands[9] = x12;
12633 : if (!const_12_to_15_operand (operands[9], E_VOIDmode))
12634 : return -1;
12635 : x13 = XEXP (x2, 1);
12636 : operands[10] = x13;
12637 : if (!nonimm_or_0_operand (operands[10], E_V16HImode))
12638 : return -1;
12639 : x14 = XEXP (x2, 2);
12640 : operands[11] = x14;
12641 : if (!register_operand (operands[11], E_HImode)
12642 : || !(
12643 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12644 : (TARGET_AVX512F) &&
12645 : #line 21277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12646 : (TARGET_AVX2
12647 : && TARGET_AVX512BW && TARGET_AVX512VL
12648 : && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
12649 : && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
12650 : && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
12651 : && INTVAL (operands[5]) + 8 == INTVAL (operands[9]))))
12652 : return -1;
12653 : return 8497; /* avx2_pshufhw_1_mask */
12654 : }
12655 :
12656 : int
12657 : recog_187 (rtx x1 ATTRIBUTE_UNUSED,
12658 : rtx_insn *insn ATTRIBUTE_UNUSED,
12659 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12660 : {
12661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12662 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12663 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12664 : rtx x18, x19, x20, x21, x22;
12665 : int res ATTRIBUTE_UNUSED;
12666 : x2 = XEXP (x1, 1);
12667 : x3 = XEXP (x2, 0);
12668 : x4 = XEXP (x3, 0);
12669 : switch (GET_CODE (x4))
12670 : {
12671 : case SS_TRUNCATE:
12672 : x5 = XEXP (x3, 1);
12673 : if (GET_CODE (x5) != SS_TRUNCATE)
12674 : return -1;
12675 : x6 = XEXP (x4, 0);
12676 : operands[1] = x6;
12677 : x7 = XEXP (x5, 0);
12678 : operands[2] = x7;
12679 : x8 = XEXP (x2, 1);
12680 : operands[3] = x8;
12681 : x9 = XEXP (x2, 2);
12682 : operands[4] = x9;
12683 : switch (GET_MODE (operands[0]))
12684 : {
12685 : case E_V16QImode:
12686 : if (pattern1135 (x2,
12687 : E_HImode,
12688 : E_V16QImode,
12689 : E_V8HImode,
12690 : E_V8QImode) != 0
12691 : || !(
12692 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12693 : (TARGET_AVX512F) &&
12694 : #line 19550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12695 : (TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12696 : return -1;
12697 : return 8347; /* sse2_packsswb_mask */
12698 :
12699 : case E_V8HImode:
12700 : if (pattern1135 (x2,
12701 : E_QImode,
12702 : E_V8HImode,
12703 : E_V4SImode,
12704 : E_V4HImode) != 0
12705 : || !(
12706 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12707 : (TARGET_AVX512F) &&
12708 : #line 19644 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12709 : (TARGET_SSE2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12710 : return -1;
12711 : return 8353; /* sse2_packssdw_mask */
12712 :
12713 : default:
12714 : return -1;
12715 : }
12716 :
12717 : case REG:
12718 : case SUBREG:
12719 : case MEM:
12720 : operands[2] = x4;
12721 : x5 = XEXP (x3, 1);
12722 : if (GET_CODE (x5) != VEC_SELECT)
12723 : return -1;
12724 : x10 = XEXP (x5, 1);
12725 : if (GET_CODE (x10) != PARALLEL)
12726 : return -1;
12727 : x7 = XEXP (x5, 0);
12728 : operands[1] = x7;
12729 : x8 = XEXP (x2, 1);
12730 : operands[3] = x8;
12731 : x9 = XEXP (x2, 2);
12732 : operands[4] = x9;
12733 : switch (XVECLEN (x10, 0))
12734 : {
12735 : case 8:
12736 : x11 = XVECEXP (x10, 0, 0);
12737 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
12738 : return -1;
12739 : x12 = XVECEXP (x10, 0, 1);
12740 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
12741 : return -1;
12742 : x13 = XVECEXP (x10, 0, 2);
12743 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 10]
12744 : || pattern1424 (x10,
12745 : 15,
12746 : 14,
12747 : 13,
12748 : 12,
12749 : 11) != 0
12750 : || !register_operand (operands[4], E_HImode))
12751 : return -1;
12752 : switch (GET_MODE (operands[0]))
12753 : {
12754 : case E_V16SFmode:
12755 : if (pattern1527 (x2,
12756 : E_V16SFmode,
12757 : E_V8SFmode) != 0
12758 : || !(
12759 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12760 : (TARGET_AVX512F) &&
12761 : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12762 : (TARGET_AVX512DQ)))
12763 : return -1;
12764 : return 8443; /* vec_set_lo_v16sf_mask */
12765 :
12766 : case E_V16SImode:
12767 : if (pattern1527 (x2,
12768 : E_V16SImode,
12769 : E_V8SImode) != 0
12770 : || !(
12771 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12772 : (TARGET_AVX512F) &&
12773 : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12774 : (TARGET_AVX512DQ)))
12775 : return -1;
12776 : return 8445; /* vec_set_lo_v16si_mask */
12777 :
12778 : default:
12779 : return -1;
12780 : }
12781 :
12782 : case 4:
12783 : if (pattern1227 (x10,
12784 : 7,
12785 : 6,
12786 : 5,
12787 : 4) != 0
12788 : || !register_operand (operands[4], E_QImode))
12789 : return -1;
12790 : switch (GET_MODE (operands[0]))
12791 : {
12792 : case E_V8DFmode:
12793 : if (pattern1527 (x2,
12794 : E_V8DFmode,
12795 : E_V4DFmode) != 0
12796 : || !
12797 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12798 : (TARGET_AVX512F))
12799 : return -1;
12800 : return 8451; /* vec_set_lo_v8df_mask */
12801 :
12802 : case E_V8DImode:
12803 : if (pattern1527 (x2,
12804 : E_V8DImode,
12805 : E_V4DImode) != 0
12806 : || !
12807 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12808 : (TARGET_AVX512F))
12809 : return -1;
12810 : return 8453; /* vec_set_lo_v8di_mask */
12811 :
12812 : case E_V8SImode:
12813 : if (pattern1527 (x2,
12814 : E_V8SImode,
12815 : E_V4SImode) != 0
12816 : || !(
12817 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12818 : (TARGET_AVX512F) &&
12819 : #line 29184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12820 : (TARGET_AVX)))
12821 : return -1;
12822 : return 9545; /* vec_set_lo_v8si_mask */
12823 :
12824 : case E_V8SFmode:
12825 : if (pattern1527 (x2,
12826 : E_V8SFmode,
12827 : E_V4SFmode) != 0
12828 : || !(
12829 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12830 : (TARGET_AVX512F) &&
12831 : #line 29184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12832 : (TARGET_AVX)))
12833 : return -1;
12834 : return 9547; /* vec_set_lo_v8sf_mask */
12835 :
12836 : default:
12837 : return -1;
12838 : }
12839 :
12840 : case 2:
12841 : x11 = XVECEXP (x10, 0, 0);
12842 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
12843 : return -1;
12844 : x12 = XVECEXP (x10, 0, 1);
12845 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
12846 : || !register_operand (operands[4], E_QImode))
12847 : return -1;
12848 : switch (GET_MODE (operands[0]))
12849 : {
12850 : case E_V4DImode:
12851 : if (pattern1527 (x2,
12852 : E_V4DImode,
12853 : E_V2DImode) != 0
12854 : || !(
12855 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12856 : (TARGET_AVX512F) &&
12857 : #line 29135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12858 : (TARGET_AVX && TARGET_AVX512DQ)))
12859 : return -1;
12860 : return 9537; /* vec_set_lo_v4di_mask */
12861 :
12862 : case E_V4DFmode:
12863 : if (pattern1527 (x2,
12864 : E_V4DFmode,
12865 : E_V2DFmode) != 0
12866 : || !(
12867 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12868 : (TARGET_AVX512F) &&
12869 : #line 29135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12870 : (TARGET_AVX && TARGET_AVX512DQ)))
12871 : return -1;
12872 : return 9539; /* vec_set_lo_v4df_mask */
12873 :
12874 : default:
12875 : return -1;
12876 : }
12877 :
12878 : default:
12879 : return -1;
12880 : }
12881 :
12882 : case VEC_SELECT:
12883 : x14 = XEXP (x4, 1);
12884 : if (GET_CODE (x14) != PARALLEL)
12885 : return -1;
12886 : x6 = XEXP (x4, 0);
12887 : operands[1] = x6;
12888 : x5 = XEXP (x3, 1);
12889 : operands[2] = x5;
12890 : x8 = XEXP (x2, 1);
12891 : operands[3] = x8;
12892 : x9 = XEXP (x2, 2);
12893 : operands[4] = x9;
12894 : switch (XVECLEN (x14, 0))
12895 : {
12896 : case 8:
12897 : if (pattern651 (x14) != 0)
12898 : return -1;
12899 : x15 = XVECEXP (x14, 0, 4);
12900 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
12901 : return -1;
12902 : x16 = XVECEXP (x14, 0, 5);
12903 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
12904 : return -1;
12905 : x17 = XVECEXP (x14, 0, 6);
12906 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
12907 : return -1;
12908 : x18 = XVECEXP (x14, 0, 7);
12909 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
12910 : || !register_operand (operands[4], E_HImode))
12911 : return -1;
12912 : switch (GET_MODE (operands[0]))
12913 : {
12914 : case E_V16SFmode:
12915 : if (pattern1483 (x2,
12916 : E_V16SFmode,
12917 : E_V8SFmode) != 0
12918 : || !(
12919 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12920 : (TARGET_AVX512F) &&
12921 : #line 20450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12922 : (TARGET_AVX512DQ)))
12923 : return -1;
12924 : return 8447; /* vec_set_hi_v16sf_mask */
12925 :
12926 : case E_V16SImode:
12927 : if (pattern1483 (x2,
12928 : E_V16SImode,
12929 : E_V8SImode) != 0
12930 : || !(
12931 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12932 : (TARGET_AVX512F) &&
12933 : #line 20450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12934 : (TARGET_AVX512DQ)))
12935 : return -1;
12936 : return 8449; /* vec_set_hi_v16si_mask */
12937 :
12938 : default:
12939 : return -1;
12940 : }
12941 :
12942 : case 4:
12943 : if (pattern651 (x14) != 0
12944 : || !register_operand (operands[4], E_QImode))
12945 : return -1;
12946 : switch (GET_MODE (operands[0]))
12947 : {
12948 : case E_V8DFmode:
12949 : if (pattern1483 (x2,
12950 : E_V8DFmode,
12951 : E_V4DFmode) != 0
12952 : || !
12953 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12954 : (TARGET_AVX512F))
12955 : return -1;
12956 : return 8455; /* vec_set_hi_v8df_mask */
12957 :
12958 : case E_V8DImode:
12959 : if (pattern1483 (x2,
12960 : E_V8DImode,
12961 : E_V4DImode) != 0
12962 : || !
12963 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12964 : (TARGET_AVX512F))
12965 : return -1;
12966 : return 8457; /* vec_set_hi_v8di_mask */
12967 :
12968 : case E_V8SImode:
12969 : if (pattern1483 (x2,
12970 : E_V8SImode,
12971 : E_V4SImode) != 0
12972 : || !(
12973 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12974 : (TARGET_AVX512F) &&
12975 : #line 29207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12976 : (TARGET_AVX)))
12977 : return -1;
12978 : return 9549; /* vec_set_hi_v8si_mask */
12979 :
12980 : case E_V8SFmode:
12981 : if (pattern1483 (x2,
12982 : E_V8SFmode,
12983 : E_V4SFmode) != 0
12984 : || !(
12985 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12986 : (TARGET_AVX512F) &&
12987 : #line 29207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12988 : (TARGET_AVX)))
12989 : return -1;
12990 : return 9551; /* vec_set_hi_v8sf_mask */
12991 :
12992 : default:
12993 : return -1;
12994 : }
12995 :
12996 : case 2:
12997 : x19 = XVECEXP (x14, 0, 0);
12998 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
12999 : return -1;
13000 : x20 = XVECEXP (x14, 0, 1);
13001 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
13002 : || !register_operand (operands[4], E_QImode))
13003 : return -1;
13004 : switch (GET_MODE (operands[0]))
13005 : {
13006 : case E_V4DImode:
13007 : if (pattern1483 (x2,
13008 : E_V4DImode,
13009 : E_V2DImode) != 0
13010 : || !(
13011 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13012 : (TARGET_AVX512F) &&
13013 : #line 29159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13014 : (TARGET_AVX && TARGET_AVX512DQ)))
13015 : return -1;
13016 : return 9541; /* vec_set_hi_v4di_mask */
13017 :
13018 : case E_V4DFmode:
13019 : if (pattern1483 (x2,
13020 : E_V4DFmode,
13021 : E_V2DFmode) != 0
13022 : || !(
13023 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13024 : (TARGET_AVX512F) &&
13025 : #line 29159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13026 : (TARGET_AVX && TARGET_AVX512DQ)))
13027 : return -1;
13028 : return 9543; /* vec_set_hi_v4df_mask */
13029 :
13030 : default:
13031 : return -1;
13032 : }
13033 :
13034 : default:
13035 : return -1;
13036 : }
13037 :
13038 : case UNSPEC:
13039 : if (XVECLEN (x4, 0) != 2
13040 : || XINT (x4, 1) != 151
13041 : || GET_MODE (x4) != E_V4HImode
13042 : || !register_operand (operands[0], E_V8HImode)
13043 : || GET_MODE (x2) != E_V8HImode
13044 : || GET_MODE (x3) != E_V8HImode)
13045 : return -1;
13046 : x21 = XVECEXP (x4, 0, 0);
13047 : operands[1] = x21;
13048 : if (!register_operand (operands[1], E_V4SFmode))
13049 : return -1;
13050 : x22 = XVECEXP (x4, 0, 1);
13051 : operands[2] = x22;
13052 : if (!const_0_to_255_operand (operands[2], E_SImode))
13053 : return -1;
13054 : x5 = XEXP (x3, 1);
13055 : operands[3] = x5;
13056 : if (!const0_operand (operands[3], E_V4HImode))
13057 : return -1;
13058 : x8 = XEXP (x2, 1);
13059 : operands[4] = x8;
13060 : if (!nonimm_or_0_operand (operands[4], E_V8HImode))
13061 : return -1;
13062 : x9 = XEXP (x2, 2);
13063 : operands[5] = x9;
13064 : if (!register_operand (operands[5], E_QImode)
13065 : || !(
13066 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13067 : (TARGET_AVX512F) &&
13068 : #line 29846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13069 : ((TARGET_F16C || TARGET_AVX512VL) && TARGET_AVX512VL)))
13070 : return -1;
13071 : return 9732; /* *vcvtps2ph_mask */
13072 :
13073 : case FLOAT_TRUNCATE:
13074 : x5 = XEXP (x3, 1);
13075 : if (GET_CODE (x5) != FLOAT_TRUNCATE)
13076 : return -1;
13077 : x6 = XEXP (x4, 0);
13078 : operands[2] = x6;
13079 : x7 = XEXP (x5, 0);
13080 : operands[1] = x7;
13081 : x8 = XEXP (x2, 1);
13082 : operands[3] = x8;
13083 : x9 = XEXP (x2, 2);
13084 : operands[4] = x9;
13085 : switch (GET_MODE (operands[0]))
13086 : {
13087 : case E_V32BFmode:
13088 : if (pattern1137 (x2,
13089 : E_SImode,
13090 : E_V32BFmode,
13091 : E_V16SFmode,
13092 : E_V16BFmode) != 0
13093 : || !(
13094 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13095 : (TARGET_AVX512F) &&
13096 : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13097 : (TARGET_AVX512BF16)))
13098 : return -1;
13099 : return 10413; /* avx512f_cvtne2ps2bf16_v32bf_mask */
13100 :
13101 : case E_V16BFmode:
13102 : if (pattern1137 (x2,
13103 : E_HImode,
13104 : E_V16BFmode,
13105 : E_V8SFmode,
13106 : E_V8BFmode) != 0
13107 : || !(
13108 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13109 : (TARGET_AVX512F) && (
13110 : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13111 : (TARGET_AVX512BF16) &&
13112 : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13113 : (TARGET_AVX512VL))))
13114 : return -1;
13115 : return 10415; /* avx512f_cvtne2ps2bf16_v16bf_mask */
13116 :
13117 : case E_V8BFmode:
13118 : if (pattern1137 (x2,
13119 : E_QImode,
13120 : E_V8BFmode,
13121 : E_V4SFmode,
13122 : E_V4BFmode) != 0
13123 : || !(
13124 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13125 : (TARGET_AVX512F) && (
13126 : #line 31725 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13127 : (TARGET_AVX512BF16) &&
13128 : #line 31691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13129 : (TARGET_AVX512VL))))
13130 : return -1;
13131 : return 10417; /* avx512f_cvtne2ps2bf16_v8bf_mask */
13132 :
13133 : case E_V32HFmode:
13134 : if (pattern1138 (x2,
13135 : E_SImode,
13136 : E_V32HFmode,
13137 : E_V16SFmode,
13138 : E_V16HFmode) != 0
13139 : || !(
13140 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13141 : (TARGET_AVX512F) &&
13142 : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13143 : (TARGET_AVX10_2 && 1)))
13144 : return -1;
13145 : return 10513; /* avx10_2_cvt2ps2phx_v32hf_mask */
13146 :
13147 : case E_V16HFmode:
13148 : if (pattern1138 (x2,
13149 : E_HImode,
13150 : E_V16HFmode,
13151 : E_V8SFmode,
13152 : E_V8HFmode) != 0
13153 : || !(
13154 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13155 : (TARGET_AVX512F) && (
13156 : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13157 : (TARGET_AVX10_2 && 1) &&
13158 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13159 : (TARGET_AVX512VL))))
13160 : return -1;
13161 : return 10516; /* avx10_2_cvt2ps2phx_v16hf_mask */
13162 :
13163 : case E_V8HFmode:
13164 : if (pattern1138 (x2,
13165 : E_QImode,
13166 : E_V8HFmode,
13167 : E_V4SFmode,
13168 : E_V4HFmode) != 0
13169 : || !(
13170 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13171 : (TARGET_AVX512F) && (
13172 : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13173 : (TARGET_AVX10_2 && 1) &&
13174 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13175 : (TARGET_AVX512VL))))
13176 : return -1;
13177 : return 10518; /* avx10_2_cvt2ps2phx_v8hf_mask */
13178 :
13179 : default:
13180 : return -1;
13181 : }
13182 :
13183 : default:
13184 : return -1;
13185 : }
13186 : }
13187 :
13188 : int
13189 : recog_193 (rtx x1 ATTRIBUTE_UNUSED,
13190 : rtx_insn *insn ATTRIBUTE_UNUSED,
13191 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13192 : {
13193 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13194 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13195 : rtx x10;
13196 : int res ATTRIBUTE_UNUSED;
13197 : x2 = XEXP (x1, 1);
13198 : x3 = XEXP (x2, 0);
13199 : x4 = XEXP (x3, 0);
13200 : switch (GET_CODE (x4))
13201 : {
13202 : case REG:
13203 : case SUBREG:
13204 : case MEM:
13205 : operands[1] = x4;
13206 : x5 = XEXP (x2, 1);
13207 : operands[2] = x5;
13208 : x6 = XEXP (x2, 2);
13209 : operands[3] = x6;
13210 : switch (GET_MODE (operands[0]))
13211 : {
13212 : case E_V8DFmode:
13213 : if (pattern142 (x2,
13214 : E_V8DFmode,
13215 : E_QImode) != 0)
13216 : return -1;
13217 : switch (GET_MODE (operands[1]))
13218 : {
13219 : case E_V8HFmode:
13220 : if (!vector_operand (operands[1], E_V8HFmode)
13221 : || !(
13222 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13223 : (TARGET_AVX512F) &&
13224 : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13225 : (TARGET_AVX512FP16)))
13226 : return -1;
13227 : return 4758; /* avx512fp16_float_extend_phv8df2_mask */
13228 :
13229 : case E_V8SFmode:
13230 : if (!vector_operand (operands[1], E_V8SFmode)
13231 : || !(
13232 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13233 : (TARGET_AVX512F) && (
13234 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13235 : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL) && 1) &&
13236 : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13237 : (TARGET_AVX512F))))
13238 : return -1;
13239 : return 5203; /* avx512f_cvtps2pd512_mask */
13240 :
13241 : default:
13242 : return -1;
13243 : }
13244 :
13245 : case E_V16SFmode:
13246 : if (pattern141 (x2,
13247 : E_V16SFmode,
13248 : E_HImode,
13249 : E_V16HFmode) != 0
13250 : || !(
13251 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13252 : (TARGET_AVX512F) &&
13253 : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13254 : (TARGET_AVX512FP16)))
13255 : return -1;
13256 : return 4762; /* avx512fp16_float_extend_phv16sf2_mask */
13257 :
13258 : case E_V8SFmode:
13259 : if (pattern141 (x2,
13260 : E_V8SFmode,
13261 : E_QImode,
13262 : E_V8HFmode) != 0
13263 : || !(
13264 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13265 : (TARGET_AVX512F) && (
13266 : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13267 : (TARGET_AVX512FP16) &&
13268 : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13269 : (TARGET_AVX512VL))))
13270 : return -1;
13271 : return 4766; /* avx512fp16_float_extend_phv8sf2_mask */
13272 :
13273 : case E_V4DFmode:
13274 : if (pattern142 (x2,
13275 : E_V4DFmode,
13276 : E_QImode) != 0)
13277 : return -1;
13278 : switch (GET_MODE (operands[1]))
13279 : {
13280 : case E_V4HFmode:
13281 : if (!memory_operand (operands[1], E_V4HFmode)
13282 : || !(
13283 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13284 : (TARGET_AVX512F) &&
13285 : #line 8404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13286 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13287 : return -1;
13288 : return 4773; /* *avx512fp16_float_extend_phv4df2_load_mask */
13289 :
13290 : case E_V4SFmode:
13291 : if (!vector_operand (operands[1], E_V4SFmode)
13292 : || !(
13293 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13294 : (TARGET_AVX512F) &&
13295 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13296 : (TARGET_AVX && (32 == 64 || TARGET_AVX512VL) && 1)))
13297 : return -1;
13298 : return 5206; /* avx_cvtps2pd256_mask */
13299 :
13300 : default:
13301 : return -1;
13302 : }
13303 :
13304 : case E_V4SFmode:
13305 : if (pattern156 (x2,
13306 : E_V4SFmode,
13307 : E_V4HFmode) != 0
13308 : || !(
13309 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13310 : (TARGET_AVX512F) &&
13311 : #line 8404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13312 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13313 : return -1;
13314 : return 4775; /* *avx512fp16_float_extend_phv4sf2_load_mask */
13315 :
13316 : case E_V2DFmode:
13317 : if (pattern142 (x2,
13318 : E_V2DFmode,
13319 : E_QImode) != 0)
13320 : return -1;
13321 : switch (GET_MODE (operands[1]))
13322 : {
13323 : case E_V2HFmode:
13324 : if (!memory_operand (operands[1], E_V2HFmode)
13325 : || !(
13326 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13327 : (TARGET_AVX512F) &&
13328 : #line 8443 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13329 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13330 : return -1;
13331 : return 4779; /* *avx512fp16_float_extend_phv2df2_load_mask */
13332 :
13333 : case E_V2SFmode:
13334 : if (!memory_operand (operands[1], E_V2SFmode)
13335 : || !(
13336 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13337 : (TARGET_AVX512F) &&
13338 : #line 10732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13339 : (TARGET_SSE2 && TARGET_AVX512VL)))
13340 : return -1;
13341 : return 5254; /* sse2_cvtps2pd_mask_1 */
13342 :
13343 : default:
13344 : return -1;
13345 : }
13346 :
13347 : default:
13348 : return -1;
13349 : }
13350 :
13351 : case VEC_SELECT:
13352 : x7 = XEXP (x4, 1);
13353 : if (GET_CODE (x7) != PARALLEL)
13354 : return -1;
13355 : switch (XVECLEN (x7, 0))
13356 : {
13357 : case 4:
13358 : if (pattern651 (x7) != 0
13359 : || GET_MODE (x4) != E_V4HFmode)
13360 : return -1;
13361 : x8 = XEXP (x4, 0);
13362 : operands[1] = x8;
13363 : if (!register_operand (operands[1], E_V8HFmode))
13364 : return -1;
13365 : x5 = XEXP (x2, 1);
13366 : operands[2] = x5;
13367 : x6 = XEXP (x2, 2);
13368 : operands[3] = x6;
13369 : if (!register_operand (operands[3], E_QImode))
13370 : return -1;
13371 : switch (GET_MODE (operands[0]))
13372 : {
13373 : case E_V4DFmode:
13374 : if (pattern143 (x2,
13375 : E_V4DFmode) != 0
13376 : || !(
13377 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13378 : (TARGET_AVX512F) &&
13379 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13380 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13381 : return -1;
13382 : return 4769; /* avx512fp16_float_extend_phv4df2_mask */
13383 :
13384 : case E_V4SFmode:
13385 : if (pattern143 (x2,
13386 : E_V4SFmode) != 0
13387 : || !(
13388 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13389 : (TARGET_AVX512F) &&
13390 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13391 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13392 : return -1;
13393 : return 4771; /* avx512fp16_float_extend_phv4sf2_mask */
13394 :
13395 : default:
13396 : return -1;
13397 : }
13398 :
13399 : case 2:
13400 : x9 = XVECEXP (x7, 0, 0);
13401 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
13402 : return -1;
13403 : x10 = XVECEXP (x7, 0, 1);
13404 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
13405 : || !register_operand (operands[0], E_V2DFmode)
13406 : || GET_MODE (x2) != E_V2DFmode
13407 : || GET_MODE (x3) != E_V2DFmode)
13408 : return -1;
13409 : x6 = XEXP (x2, 2);
13410 : switch (GET_CODE (x6))
13411 : {
13412 : case REG:
13413 : case SUBREG:
13414 : operands[3] = x6;
13415 : if (!register_operand (operands[3], E_QImode))
13416 : return -1;
13417 : x8 = XEXP (x4, 0);
13418 : operands[1] = x8;
13419 : x5 = XEXP (x2, 1);
13420 : operands[2] = x5;
13421 : if (!nonimm_or_0_operand (operands[2], E_V2DFmode))
13422 : return -1;
13423 : switch (GET_MODE (x4))
13424 : {
13425 : case E_V2HFmode:
13426 : if (!register_operand (operands[1], E_V8HFmode)
13427 : || !(
13428 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13429 : (TARGET_AVX512F) &&
13430 : #line 8433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13431 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13432 : return -1;
13433 : return 4777; /* avx512fp16_float_extend_phv2df2_mask */
13434 :
13435 : case E_V2SFmode:
13436 : if (!register_operand (operands[1], E_V4SFmode)
13437 : || !(
13438 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13439 : (TARGET_AVX512F) &&
13440 : #line 10718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13441 : (TARGET_SSE2 && TARGET_AVX512VL)))
13442 : return -1;
13443 : return 5252; /* sse2_cvtps2pd_mask */
13444 :
13445 : default:
13446 : return -1;
13447 : }
13448 :
13449 : case CONST_INT:
13450 : if (XWINT (x6, 0) != 1L
13451 : || GET_MODE (x4) != E_V2SFmode)
13452 : return -1;
13453 : x8 = XEXP (x4, 0);
13454 : operands[2] = x8;
13455 : if (!nonimmediate_operand (operands[2], E_V4SFmode))
13456 : return -1;
13457 : x5 = XEXP (x2, 1);
13458 : operands[1] = x5;
13459 : if (!register_operand (operands[1], E_V2DFmode)
13460 : || !
13461 : #line 10377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13462 : (TARGET_SSE2))
13463 : return -1;
13464 : return 5186; /* sse2_cvtss2sd */
13465 :
13466 : default:
13467 : return -1;
13468 : }
13469 :
13470 : default:
13471 : return -1;
13472 : }
13473 :
13474 : default:
13475 : return -1;
13476 : }
13477 : }
13478 :
13479 : int
13480 : recog_200 (rtx x1 ATTRIBUTE_UNUSED,
13481 : rtx_insn *insn ATTRIBUTE_UNUSED,
13482 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13483 : {
13484 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13485 : rtx x2;
13486 : int res ATTRIBUTE_UNUSED;
13487 : x2 = XEXP (x1, 1);
13488 : switch (pattern139 (x2))
13489 : {
13490 : case 0:
13491 : if (!(
13492 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13493 : (TARGET_AVX512F) && (
13494 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13495 : (TARGET_SSE
13496 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13497 : && (64 == 64 || TARGET_AVX512VL)
13498 : && 1) &&
13499 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13500 : (TARGET_AVX512FP16))))
13501 : return -1;
13502 : return 3047; /* *smaxv32hf3_mask */
13503 :
13504 : case 1:
13505 : if (!(
13506 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13507 : (TARGET_AVX512F) && (
13508 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13509 : (TARGET_SSE
13510 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13511 : && (32 == 64 || TARGET_AVX512VL)
13512 : && 1) &&
13513 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13514 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13515 : return -1;
13516 : return 3054; /* *smaxv16hf3_mask */
13517 :
13518 : case 2:
13519 : if (!(
13520 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13521 : (TARGET_AVX512F) && (
13522 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13523 : (TARGET_SSE
13524 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13525 : && (16 == 64 || TARGET_AVX512VL)
13526 : && 1) &&
13527 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13528 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13529 : return -1;
13530 : return 3058; /* *smaxv8hf3_mask */
13531 :
13532 : case 3:
13533 : if (!(
13534 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13535 : (TARGET_AVX512F) && (
13536 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13537 : (TARGET_SSE
13538 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13539 : && (64 == 64 || TARGET_AVX512VL)
13540 : && 1) &&
13541 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13542 : (TARGET_AVX512F))))
13543 : return -1;
13544 : return 3063; /* *smaxv16sf3_mask */
13545 :
13546 : case 4:
13547 : if (!(
13548 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13549 : (TARGET_AVX512F) && (
13550 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13551 : (TARGET_SSE
13552 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13553 : && (32 == 64 || TARGET_AVX512VL)
13554 : && 1) &&
13555 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13556 : (TARGET_AVX))))
13557 : return -1;
13558 : return 3070; /* *smaxv8sf3_mask */
13559 :
13560 : case 5:
13561 : if (!(
13562 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13563 : (TARGET_AVX512F) &&
13564 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13565 : (TARGET_SSE
13566 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13567 : && (16 == 64 || TARGET_AVX512VL)
13568 : && 1)))
13569 : return -1;
13570 : return 3074; /* *smaxv4sf3_mask */
13571 :
13572 : case 6:
13573 : if (!(
13574 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13575 : (TARGET_AVX512F) && (
13576 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13577 : (TARGET_SSE
13578 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13579 : && (64 == 64 || TARGET_AVX512VL)
13580 : && 1) &&
13581 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13582 : (TARGET_AVX512F))))
13583 : return -1;
13584 : return 3079; /* *smaxv8df3_mask */
13585 :
13586 : case 7:
13587 : if (!(
13588 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13589 : (TARGET_AVX512F) && (
13590 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13591 : (TARGET_SSE
13592 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13593 : && (32 == 64 || TARGET_AVX512VL)
13594 : && 1) &&
13595 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13596 : (TARGET_AVX))))
13597 : return -1;
13598 : return 3086; /* *smaxv4df3_mask */
13599 :
13600 : case 8:
13601 : if (!(
13602 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13603 : (TARGET_AVX512F) && (
13604 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13605 : (TARGET_SSE
13606 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13607 : && (16 == 64 || TARGET_AVX512VL)
13608 : && 1) &&
13609 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13610 : (TARGET_SSE2))))
13611 : return -1;
13612 : return 3090; /* *smaxv2df3_mask */
13613 :
13614 : case 9:
13615 : if (!(
13616 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13617 : (TARGET_AVX512F) &&
13618 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13619 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13620 : return -1;
13621 : return 7808; /* *avx512f_smaxv16si3_mask */
13622 :
13623 : case 10:
13624 : if (!(
13625 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13626 : (TARGET_AVX512F) && (
13627 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13628 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13629 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13630 : (TARGET_AVX512VL))))
13631 : return -1;
13632 : return 7816; /* *avx512f_smaxv8si3_mask */
13633 :
13634 : case 11:
13635 : if (nonimmediate_operand (operands[1], E_V4SImode)
13636 : && nonimmediate_operand (operands[2], E_V4SImode)
13637 : && (
13638 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13639 : (TARGET_AVX512F) && (
13640 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13641 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13642 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13643 : (TARGET_AVX512VL))))
13644 : return 7824; /* *avx512f_smaxv4si3_mask */
13645 : if (!vector_operand (operands[1], E_V4SImode)
13646 : || !vector_operand (operands[2], E_V4SImode)
13647 : || !(
13648 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13649 : (TARGET_AVX512F) &&
13650 : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13651 : (TARGET_SSE4_1
13652 : && (16 == 64 || TARGET_AVX512VL)
13653 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13654 : return -1;
13655 : return 7908; /* *sse4_1_smaxv4si3_mask */
13656 :
13657 : case 12:
13658 : if (!(
13659 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13660 : (TARGET_AVX512F) &&
13661 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13662 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13663 : return -1;
13664 : return 7832; /* *avx512f_smaxv8di3_mask */
13665 :
13666 : case 13:
13667 : if (!(
13668 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13669 : (TARGET_AVX512F) && (
13670 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13671 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13672 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13673 : (TARGET_AVX512VL))))
13674 : return -1;
13675 : return 7840; /* *avx512f_smaxv4di3_mask */
13676 :
13677 : case 14:
13678 : if (!(
13679 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13680 : (TARGET_AVX512F) && (
13681 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13682 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13683 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13684 : (TARGET_AVX512VL))))
13685 : return -1;
13686 : return 7848; /* *avx512f_smaxv2di3_mask */
13687 :
13688 : case 15:
13689 : if (!(
13690 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13691 : (TARGET_AVX512F) &&
13692 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13693 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13694 : return -1;
13695 : return 7856; /* *avx512bw_smaxv64qi3_mask */
13696 :
13697 : case 16:
13698 : if (nonimmediate_operand (operands[1], E_V16QImode)
13699 : && nonimmediate_operand (operands[2], E_V16QImode)
13700 : && (
13701 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13702 : (TARGET_AVX512F) && (
13703 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13704 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13705 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13706 : (TARGET_AVX512VL))))
13707 : return 7864; /* *avx512bw_smaxv16qi3_mask */
13708 : if (!vector_operand (operands[1], E_V16QImode)
13709 : || !vector_operand (operands[2], E_V16QImode)
13710 : || !(
13711 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13712 : (TARGET_AVX512F) &&
13713 : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13714 : (TARGET_SSE4_1
13715 : && (16 == 64 || TARGET_AVX512VL)
13716 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13717 : return -1;
13718 : return 7904; /* *sse4_1_smaxv16qi3_mask */
13719 :
13720 : case 17:
13721 : if (!(
13722 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13723 : (TARGET_AVX512F) && (
13724 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13725 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13726 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13727 : (TARGET_AVX512VL))))
13728 : return -1;
13729 : return 7872; /* *avx512bw_smaxv32qi3_mask */
13730 :
13731 : case 18:
13732 : if (!(
13733 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13734 : (TARGET_AVX512F) &&
13735 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13736 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13737 : return -1;
13738 : return 7880; /* *avx512bw_smaxv32hi3_mask */
13739 :
13740 : case 19:
13741 : if (!(
13742 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13743 : (TARGET_AVX512F) && (
13744 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13745 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13746 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13747 : (TARGET_AVX512VL))))
13748 : return -1;
13749 : return 7888; /* *avx512bw_smaxv16hi3_mask */
13750 :
13751 : case 20:
13752 : if (!(
13753 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13754 : (TARGET_AVX512F) && (
13755 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13756 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13757 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13758 : (TARGET_AVX512VL))))
13759 : return -1;
13760 : return 7896; /* *avx512bw_smaxv8hi3_mask */
13761 :
13762 : case 21:
13763 : if (!(
13764 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13765 : (TARGET_AVX512F) &&
13766 : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13767 : (TARGET_AVX10_2)))
13768 : return -1;
13769 : return 10667; /* avx10_2_smaxbf16_v32bf_mask */
13770 :
13771 : case 22:
13772 : if (!(
13773 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13774 : (TARGET_AVX512F) &&
13775 : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13776 : (TARGET_AVX10_2)))
13777 : return -1;
13778 : return 10671; /* avx10_2_smaxbf16_v16bf_mask */
13779 :
13780 : case 23:
13781 : if (!(
13782 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13783 : (TARGET_AVX512F) &&
13784 : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13785 : (TARGET_AVX10_2)))
13786 : return -1;
13787 : return 10675; /* avx10_2_smaxbf16_v8bf_mask */
13788 :
13789 : case 24:
13790 : if (!(
13791 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13792 : (TARGET_SSE) &&
13793 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13794 : (TARGET_AVX512FP16)))
13795 : return -1;
13796 : return 3168; /* *avx512fp16_vmsmaxv8hf3 */
13797 :
13798 : case 25:
13799 : if (!
13800 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13801 : (TARGET_SSE))
13802 : return -1;
13803 : return 3176; /* *sse_vmsmaxv4sf3 */
13804 :
13805 : case 26:
13806 : if (!(
13807 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13808 : (TARGET_SSE) &&
13809 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13810 : (TARGET_SSE2)))
13811 : return -1;
13812 : return 3184; /* *sse2_vmsmaxv2df3 */
13813 :
13814 : default:
13815 : return -1;
13816 : }
13817 : }
13818 :
13819 : int
13820 : recog_212 (rtx x1 ATTRIBUTE_UNUSED,
13821 : rtx_insn *insn ATTRIBUTE_UNUSED,
13822 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13823 : {
13824 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13825 : rtx x2, x3;
13826 : int res ATTRIBUTE_UNUSED;
13827 : x2 = XEXP (x1, 1);
13828 : x3 = XVECEXP (x2, 0, 0);
13829 : operands[1] = x3;
13830 : switch (GET_MODE (operands[0]))
13831 : {
13832 : case E_V32HFmode:
13833 : if (!register_operand (operands[0], E_V32HFmode)
13834 : || GET_MODE (x2) != E_V32HFmode
13835 : || !vector_operand (operands[1], E_V32HFmode)
13836 : || !(
13837 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13838 : (TARGET_AVX512F) &&
13839 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13840 : (TARGET_AVX512FP16)))
13841 : return -1;
13842 : return 7056; /* avx512bw_getexpv32hf */
13843 :
13844 : case E_V16HFmode:
13845 : if (!register_operand (operands[0], E_V16HFmode)
13846 : || GET_MODE (x2) != E_V16HFmode
13847 : || !vector_operand (operands[1], E_V16HFmode)
13848 : || !(
13849 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13850 : (TARGET_AVX512F) &&
13851 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13852 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13853 : return -1;
13854 : return 7060; /* avx512vl_getexpv16hf */
13855 :
13856 : case E_V8HFmode:
13857 : if (!register_operand (operands[0], E_V8HFmode)
13858 : || GET_MODE (x2) != E_V8HFmode
13859 : || !vector_operand (operands[1], E_V8HFmode)
13860 : || !(
13861 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13862 : (TARGET_AVX512F) &&
13863 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13864 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13865 : return -1;
13866 : return 7064; /* avx512fp16_getexpv8hf */
13867 :
13868 : case E_V16SFmode:
13869 : if (!register_operand (operands[0], E_V16SFmode)
13870 : || GET_MODE (x2) != E_V16SFmode
13871 : || !vector_operand (operands[1], E_V16SFmode)
13872 : || !
13873 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13874 : (TARGET_AVX512F))
13875 : return -1;
13876 : return 7068; /* avx512f_getexpv16sf */
13877 :
13878 : case E_V8SFmode:
13879 : if (!register_operand (operands[0], E_V8SFmode)
13880 : || GET_MODE (x2) != E_V8SFmode
13881 : || !vector_operand (operands[1], E_V8SFmode)
13882 : || !(
13883 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13884 : (TARGET_AVX512F) &&
13885 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13886 : (TARGET_AVX512VL)))
13887 : return -1;
13888 : return 7072; /* avx512vl_getexpv8sf */
13889 :
13890 : case E_V4SFmode:
13891 : if (!register_operand (operands[0], E_V4SFmode)
13892 : || GET_MODE (x2) != E_V4SFmode
13893 : || !vector_operand (operands[1], E_V4SFmode)
13894 : || !(
13895 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13896 : (TARGET_AVX512F) &&
13897 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13898 : (TARGET_AVX512VL)))
13899 : return -1;
13900 : return 7076; /* avx512vl_getexpv4sf */
13901 :
13902 : case E_V8DFmode:
13903 : if (!register_operand (operands[0], E_V8DFmode)
13904 : || GET_MODE (x2) != E_V8DFmode
13905 : || !vector_operand (operands[1], E_V8DFmode)
13906 : || !
13907 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13908 : (TARGET_AVX512F))
13909 : return -1;
13910 : return 7080; /* avx512f_getexpv8df */
13911 :
13912 : case E_V4DFmode:
13913 : if (!register_operand (operands[0], E_V4DFmode)
13914 : || GET_MODE (x2) != E_V4DFmode
13915 : || !vector_operand (operands[1], E_V4DFmode)
13916 : || !(
13917 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13918 : (TARGET_AVX512F) &&
13919 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13920 : (TARGET_AVX512VL)))
13921 : return -1;
13922 : return 7084; /* avx512vl_getexpv4df */
13923 :
13924 : case E_V2DFmode:
13925 : if (!register_operand (operands[0], E_V2DFmode)
13926 : || GET_MODE (x2) != E_V2DFmode
13927 : || !vector_operand (operands[1], E_V2DFmode)
13928 : || !(
13929 : #line 14356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13930 : (TARGET_AVX512F) &&
13931 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13932 : (TARGET_AVX512VL)))
13933 : return -1;
13934 : return 7088; /* avx512vl_getexpv2df */
13935 :
13936 : case E_V32BFmode:
13937 : if (!register_operand (operands[0], E_V32BFmode)
13938 : || GET_MODE (x2) != E_V32BFmode
13939 : || !nonimmediate_operand (operands[1], E_V32BFmode)
13940 : || !
13941 : #line 33123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13942 : (TARGET_AVX10_2))
13943 : return -1;
13944 : return 10768; /* avx10_2_getexpbf16_v32bf */
13945 :
13946 : case E_V16BFmode:
13947 : if (!register_operand (operands[0], E_V16BFmode)
13948 : || GET_MODE (x2) != E_V16BFmode
13949 : || !nonimmediate_operand (operands[1], E_V16BFmode)
13950 : || !
13951 : #line 33123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13952 : (TARGET_AVX10_2))
13953 : return -1;
13954 : return 10770; /* avx10_2_getexpbf16_v16bf */
13955 :
13956 : case E_V8BFmode:
13957 : if (!register_operand (operands[0], E_V8BFmode)
13958 : || GET_MODE (x2) != E_V8BFmode
13959 : || !nonimmediate_operand (operands[1], E_V8BFmode)
13960 : || !
13961 : #line 33123 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13962 : (TARGET_AVX10_2))
13963 : return -1;
13964 : return 10772; /* avx10_2_getexpbf16_v8bf */
13965 :
13966 : default:
13967 : return -1;
13968 : }
13969 : }
13970 :
13971 : int
13972 : recog_221 (rtx x1 ATTRIBUTE_UNUSED,
13973 : rtx_insn *insn ATTRIBUTE_UNUSED,
13974 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13975 : {
13976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13977 : rtx x2, x3;
13978 : int res ATTRIBUTE_UNUSED;
13979 : x2 = XEXP (x1, 1);
13980 : x3 = XVECEXP (x2, 0, 0);
13981 : operands[1] = x3;
13982 : switch (GET_MODE (operands[0]))
13983 : {
13984 : case E_V4SFmode:
13985 : if (!register_operand (operands[0], E_V4SFmode)
13986 : || GET_MODE (x2) != E_V4SFmode
13987 : || !nonimmediate_operand (operands[1], E_V4SFmode)
13988 : || !
13989 : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13990 : (TARGET_XOP))
13991 : return -1;
13992 : return 9110; /* xop_frczv4sf2 */
13993 :
13994 : case E_V2DFmode:
13995 : if (!register_operand (operands[0], E_V2DFmode)
13996 : || GET_MODE (x2) != E_V2DFmode
13997 : || !nonimmediate_operand (operands[1], E_V2DFmode)
13998 : || !
13999 : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14000 : (TARGET_XOP))
14001 : return -1;
14002 : return 9111; /* xop_frczv2df2 */
14003 :
14004 : case E_V8SFmode:
14005 : if (!register_operand (operands[0], E_V8SFmode)
14006 : || GET_MODE (x2) != E_V8SFmode
14007 : || !nonimmediate_operand (operands[1], E_V8SFmode)
14008 : || !
14009 : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14010 : (TARGET_XOP))
14011 : return -1;
14012 : return 9112; /* xop_frczv8sf2 */
14013 :
14014 : case E_V4DFmode:
14015 : if (!register_operand (operands[0], E_V4DFmode)
14016 : || GET_MODE (x2) != E_V4DFmode
14017 : || !nonimmediate_operand (operands[1], E_V4DFmode)
14018 : || !
14019 : #line 27681 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14020 : (TARGET_XOP))
14021 : return -1;
14022 : return 9113; /* xop_frczv4df2 */
14023 :
14024 : default:
14025 : return -1;
14026 : }
14027 : }
14028 :
14029 : int
14030 : recog_227 (rtx x1 ATTRIBUTE_UNUSED,
14031 : rtx_insn *insn ATTRIBUTE_UNUSED,
14032 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14033 : {
14034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14035 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14036 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
14037 : rtx x18, x19;
14038 : int res ATTRIBUTE_UNUSED;
14039 : x2 = XEXP (x1, 1);
14040 : x3 = XVECEXP (x2, 0, 0);
14041 : x4 = XEXP (x3, 0);
14042 : x5 = XEXP (x4, 0);
14043 : switch (GET_CODE (x5))
14044 : {
14045 : case PLUS:
14046 : switch (pattern783 (x2))
14047 : {
14048 : case 0:
14049 : if (!(
14050 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14051 : (TARGET_AVX512F) && (
14052 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14053 : (TARGET_AVX512F) && (
14054 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14055 : (TARGET_SSE) &&
14056 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14057 : (TARGET_AVX512FP16)))))
14058 : return -1;
14059 : return 2827; /* avx512fp16_vmaddv8hf3_mask_round */
14060 :
14061 : case 1:
14062 : if (!(
14063 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14064 : (TARGET_AVX512F) && (
14065 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14066 : (TARGET_AVX512F) &&
14067 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14068 : (TARGET_SSE))))
14069 : return -1;
14070 : return 2835; /* sse_vmaddv4sf3_mask_round */
14071 :
14072 : case 2:
14073 : if (!(
14074 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14075 : (TARGET_AVX512F) && (
14076 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14077 : (TARGET_AVX512F) && (
14078 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14079 : (TARGET_SSE) &&
14080 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14081 : (TARGET_SSE2)))))
14082 : return -1;
14083 : return 2843; /* sse2_vmaddv2df3_mask_round */
14084 :
14085 : default:
14086 : return -1;
14087 : }
14088 :
14089 : case MINUS:
14090 : switch (pattern783 (x2))
14091 : {
14092 : case 0:
14093 : if (!(
14094 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14095 : (TARGET_AVX512F) && (
14096 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14097 : (TARGET_AVX512F) && (
14098 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14099 : (TARGET_SSE) &&
14100 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14101 : (TARGET_AVX512FP16)))))
14102 : return -1;
14103 : return 2831; /* avx512fp16_vmsubv8hf3_mask_round */
14104 :
14105 : case 1:
14106 : if (!(
14107 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14108 : (TARGET_AVX512F) && (
14109 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14110 : (TARGET_AVX512F) &&
14111 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14112 : (TARGET_SSE))))
14113 : return -1;
14114 : return 2839; /* sse_vmsubv4sf3_mask_round */
14115 :
14116 : case 2:
14117 : if (!(
14118 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14119 : (TARGET_AVX512F) && (
14120 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14121 : (TARGET_AVX512F) && (
14122 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14123 : (TARGET_SSE) &&
14124 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14125 : (TARGET_SSE2)))))
14126 : return -1;
14127 : return 2847; /* sse2_vmsubv2df3_mask_round */
14128 :
14129 : default:
14130 : return -1;
14131 : }
14132 :
14133 : case MULT:
14134 : switch (pattern783 (x2))
14135 : {
14136 : case 0:
14137 : if (!(
14138 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14139 : (TARGET_AVX512F) && (
14140 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14141 : (TARGET_AVX512F) && (
14142 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14143 : (TARGET_SSE) &&
14144 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14145 : (TARGET_AVX512FP16)))))
14146 : return -1;
14147 : return 2893; /* avx512fp16_vmmulv8hf3_mask_round */
14148 :
14149 : case 1:
14150 : if (!(
14151 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14152 : (TARGET_AVX512F) && (
14153 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14154 : (TARGET_AVX512F) &&
14155 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14156 : (TARGET_SSE))))
14157 : return -1;
14158 : return 2901; /* sse_vmmulv4sf3_mask_round */
14159 :
14160 : case 2:
14161 : if (!(
14162 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14163 : (TARGET_AVX512F) && (
14164 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14165 : (TARGET_AVX512F) && (
14166 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14167 : (TARGET_SSE) &&
14168 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14169 : (TARGET_SSE2)))))
14170 : return -1;
14171 : return 2909; /* sse2_vmmulv2df3_mask_round */
14172 :
14173 : default:
14174 : return -1;
14175 : }
14176 :
14177 : case DIV:
14178 : switch (pattern783 (x2))
14179 : {
14180 : case 0:
14181 : if (!(
14182 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14183 : (TARGET_AVX512F) && (
14184 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14185 : (TARGET_AVX512F) && (
14186 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14187 : (TARGET_SSE) &&
14188 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14189 : (TARGET_AVX512FP16)))))
14190 : return -1;
14191 : return 2897; /* avx512fp16_vmdivv8hf3_mask_round */
14192 :
14193 : case 1:
14194 : if (!(
14195 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14196 : (TARGET_AVX512F) && (
14197 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14198 : (TARGET_AVX512F) &&
14199 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14200 : (TARGET_SSE))))
14201 : return -1;
14202 : return 2905; /* sse_vmdivv4sf3_mask_round */
14203 :
14204 : case 2:
14205 : if (!(
14206 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14207 : (TARGET_AVX512F) && (
14208 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14209 : (TARGET_AVX512F) && (
14210 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14211 : (TARGET_SSE) &&
14212 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14213 : (TARGET_SSE2)))))
14214 : return -1;
14215 : return 2913; /* sse2_vmdivv2df3_mask_round */
14216 :
14217 : default:
14218 : return -1;
14219 : }
14220 :
14221 : case SQRT:
14222 : x6 = XEXP (x3, 2);
14223 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14224 : return -1;
14225 : x7 = XEXP (x5, 0);
14226 : operands[1] = x7;
14227 : x8 = XEXP (x4, 1);
14228 : operands[3] = x8;
14229 : x9 = XEXP (x4, 2);
14230 : operands[4] = x9;
14231 : if (!register_operand (operands[4], E_QImode))
14232 : return -1;
14233 : x10 = XEXP (x3, 1);
14234 : operands[2] = x10;
14235 : x11 = XVECEXP (x2, 0, 1);
14236 : operands[5] = x11;
14237 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14238 : return -1;
14239 : switch (GET_MODE (operands[0]))
14240 : {
14241 : case E_V8HFmode:
14242 : if (pattern1560 (x2,
14243 : E_V8HFmode) != 0
14244 : || !(
14245 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14246 : (TARGET_AVX512F) && (
14247 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14248 : (TARGET_AVX512F) && (
14249 : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14250 : (TARGET_SSE) &&
14251 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14252 : (TARGET_AVX512FP16)))))
14253 : return -1;
14254 : return 2994; /* avx512fp16_vmsqrtv8hf2_mask_round */
14255 :
14256 : case E_V4SFmode:
14257 : if (pattern1560 (x2,
14258 : E_V4SFmode) != 0
14259 : || !(
14260 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14261 : (TARGET_AVX512F) && (
14262 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14263 : (TARGET_AVX512F) &&
14264 : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14265 : (TARGET_SSE))))
14266 : return -1;
14267 : return 2998; /* sse_vmsqrtv4sf2_mask_round */
14268 :
14269 : case E_V2DFmode:
14270 : if (pattern1560 (x2,
14271 : E_V2DFmode) != 0
14272 : || !(
14273 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14274 : (TARGET_AVX512F) && (
14275 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14276 : (TARGET_AVX512F) && (
14277 : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14278 : (TARGET_SSE) &&
14279 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14280 : (TARGET_SSE2)))))
14281 : return -1;
14282 : return 3002; /* sse2_vmsqrtv2df2_mask_round */
14283 :
14284 : default:
14285 : return -1;
14286 : }
14287 :
14288 : case VEC_DUPLICATE:
14289 : x11 = XVECEXP (x2, 0, 1);
14290 : operands[5] = x11;
14291 : x7 = XEXP (x5, 0);
14292 : switch (GET_CODE (x7))
14293 : {
14294 : case SQRT:
14295 : x6 = XEXP (x3, 2);
14296 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
14297 : return -1;
14298 : x12 = XEXP (x7, 0);
14299 : operands[1] = x12;
14300 : x8 = XEXP (x4, 1);
14301 : operands[3] = x8;
14302 : x9 = XEXP (x4, 2);
14303 : operands[4] = x9;
14304 : if (!register_operand (operands[4], E_QImode))
14305 : return -1;
14306 : x10 = XEXP (x3, 1);
14307 : operands[2] = x10;
14308 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14309 : return -1;
14310 : switch (GET_MODE (operands[0]))
14311 : {
14312 : case E_V8HFmode:
14313 : if (pattern1595 (x2,
14314 : E_V8HFmode,
14315 : E_HFmode) != 0
14316 : || !(
14317 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14318 : (TARGET_AVX512F) && (
14319 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14320 : (TARGET_AVX512F) && (
14321 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14322 : (TARGET_SSE) &&
14323 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14324 : (TARGET_AVX512FP16)))))
14325 : return -1;
14326 : return 3006; /* *avx512fp16_vmsqrtv8hf2_mask_round */
14327 :
14328 : case E_V4SFmode:
14329 : if (pattern1595 (x2,
14330 : E_V4SFmode,
14331 : E_SFmode) != 0
14332 : || !(
14333 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14334 : (TARGET_AVX512F) && (
14335 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14336 : (TARGET_AVX512F) &&
14337 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14338 : (TARGET_SSE))))
14339 : return -1;
14340 : return 3010; /* *sse_vmsqrtv4sf2_mask_round */
14341 :
14342 : case E_V2DFmode:
14343 : if (pattern1595 (x2,
14344 : E_V2DFmode,
14345 : E_DFmode) != 0
14346 : || !(
14347 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14348 : (TARGET_AVX512F) && (
14349 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14350 : (TARGET_AVX512F) && (
14351 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14352 : (TARGET_SSE) &&
14353 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14354 : (TARGET_SSE2)))))
14355 : return -1;
14356 : return 3014; /* *sse2_vmsqrtv2df2_mask_round */
14357 :
14358 : default:
14359 : return -1;
14360 : }
14361 :
14362 : case FLOAT_EXTEND:
14363 : x12 = XEXP (x7, 0);
14364 : if (GET_CODE (x12) != VEC_SELECT
14365 : || GET_MODE (x12) != E_HFmode
14366 : || pattern1228 (x3) != 0)
14367 : return -1;
14368 : x13 = XEXP (x12, 0);
14369 : operands[1] = x13;
14370 : if (!register_operand (operands[1], E_V8HFmode))
14371 : return -1;
14372 : x8 = XEXP (x4, 1);
14373 : operands[3] = x8;
14374 : x9 = XEXP (x4, 2);
14375 : operands[4] = x9;
14376 : if (!register_operand (operands[4], E_QImode))
14377 : return -1;
14378 : x10 = XEXP (x3, 1);
14379 : operands[2] = x10;
14380 : if (!const48_operand (operands[5], E_SImode))
14381 : return -1;
14382 : switch (GET_MODE (operands[0]))
14383 : {
14384 : case E_V2DFmode:
14385 : if (pattern1789 (x2,
14386 : E_V2DFmode,
14387 : E_DFmode) != 0
14388 : || !(
14389 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14390 : (TARGET_AVX512F) && (
14391 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14392 : (TARGET_AVX512F) &&
14393 : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14394 : (TARGET_AVX512FP16))))
14395 : return -1;
14396 : return 4804; /* avx512fp16_vcvtsh2sd_mask_round */
14397 :
14398 : case E_V4SFmode:
14399 : if (pattern1789 (x2,
14400 : E_V4SFmode,
14401 : E_SFmode) != 0
14402 : || !(
14403 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14404 : (TARGET_AVX512F) && (
14405 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14406 : (TARGET_AVX512F) &&
14407 : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14408 : (TARGET_AVX512FP16))))
14409 : return -1;
14410 : return 4808; /* avx512fp16_vcvtsh2ss_mask_round */
14411 :
14412 : default:
14413 : return -1;
14414 : }
14415 :
14416 : case FLOAT_TRUNCATE:
14417 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14418 : return -1;
14419 : x12 = XEXP (x7, 0);
14420 : switch (GET_CODE (x12))
14421 : {
14422 : case VEC_SELECT:
14423 : if (pattern1228 (x3) != 0
14424 : || pattern1484 (x2,
14425 : E_HFmode,
14426 : E_V8HFmode) != 0)
14427 : return -1;
14428 : x13 = XEXP (x12, 0);
14429 : operands[1] = x13;
14430 : x8 = XEXP (x4, 1);
14431 : operands[3] = x8;
14432 : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
14433 : return -1;
14434 : x9 = XEXP (x4, 2);
14435 : operands[4] = x9;
14436 : if (!register_operand (operands[4], E_QImode))
14437 : return -1;
14438 : x10 = XEXP (x3, 1);
14439 : operands[2] = x10;
14440 : if (!register_operand (operands[2], E_V8HFmode))
14441 : return -1;
14442 : switch (GET_MODE (x12))
14443 : {
14444 : case E_DFmode:
14445 : if (!register_operand (operands[1], E_V2DFmode)
14446 : || !(
14447 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14448 : (TARGET_AVX512F) && (
14449 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14450 : (TARGET_AVX512F) &&
14451 : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14452 : (TARGET_AVX512FP16))))
14453 : return -1;
14454 : return 4816; /* avx512fp16_vcvtsd2sh_mask_round */
14455 :
14456 : case E_SFmode:
14457 : if (!register_operand (operands[1], E_V4SFmode)
14458 : || !(
14459 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14460 : (TARGET_AVX512F) && (
14461 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14462 : (TARGET_AVX512F) &&
14463 : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14464 : (TARGET_AVX512FP16))))
14465 : return -1;
14466 : return 4820; /* avx512fp16_vcvtss2sh_mask_round */
14467 :
14468 : default:
14469 : return -1;
14470 : }
14471 :
14472 : case REG:
14473 : case SUBREG:
14474 : case MEM:
14475 : operands[2] = x12;
14476 : if (!nonimmediate_operand (operands[2], E_V2DFmode))
14477 : return -1;
14478 : x9 = XEXP (x4, 2);
14479 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
14480 : || pattern1484 (x2,
14481 : E_V2SFmode,
14482 : E_V4SFmode) != 0)
14483 : return -1;
14484 : x8 = XEXP (x4, 1);
14485 : operands[1] = x8;
14486 : if (!register_operand (operands[1], E_V4SFmode))
14487 : return -1;
14488 : x10 = XEXP (x3, 1);
14489 : operands[3] = x10;
14490 : if (!nonimm_or_0_operand (operands[3], E_V4SFmode))
14491 : return -1;
14492 : x6 = XEXP (x3, 2);
14493 : operands[4] = x6;
14494 : if (!register_operand (operands[4], E_QImode)
14495 : || !(
14496 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14497 : (TARGET_AVX512F) && (
14498 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14499 : (TARGET_AVX512F) &&
14500 : #line 10333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14501 : (TARGET_SSE2))))
14502 : return -1;
14503 : return 5184; /* sse2_cvtsd2ss_mask_round */
14504 :
14505 : default:
14506 : return -1;
14507 : }
14508 :
14509 : default:
14510 : return -1;
14511 : }
14512 :
14513 : case SMAX:
14514 : switch (pattern784 (x2))
14515 : {
14516 : case 0:
14517 : if (!(
14518 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14519 : (TARGET_AVX512F) && (
14520 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14521 : (TARGET_AVX512F) && (
14522 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14523 : (TARGET_SSE) &&
14524 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14525 : (TARGET_AVX512FP16)))))
14526 : return -1;
14527 : return 3171; /* *avx512fp16_vmsmaxv8hf3_mask_round */
14528 :
14529 : case 1:
14530 : if (!(
14531 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14532 : (TARGET_AVX512F) && (
14533 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14534 : (TARGET_AVX512F) &&
14535 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14536 : (TARGET_SSE))))
14537 : return -1;
14538 : return 3179; /* *sse_vmsmaxv4sf3_mask_round */
14539 :
14540 : case 2:
14541 : if (!(
14542 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14543 : (TARGET_AVX512F) && (
14544 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14545 : (TARGET_AVX512F) && (
14546 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14547 : (TARGET_SSE) &&
14548 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14549 : (TARGET_SSE2)))))
14550 : return -1;
14551 : return 3187; /* *sse2_vmsmaxv2df3_mask_round */
14552 :
14553 : default:
14554 : return -1;
14555 : }
14556 :
14557 : case SMIN:
14558 : switch (pattern784 (x2))
14559 : {
14560 : case 0:
14561 : if (!(
14562 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14563 : (TARGET_AVX512F) && (
14564 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14565 : (TARGET_AVX512F) && (
14566 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14567 : (TARGET_SSE) &&
14568 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14569 : (TARGET_AVX512FP16)))))
14570 : return -1;
14571 : return 3175; /* *avx512fp16_vmsminv8hf3_mask_round */
14572 :
14573 : case 1:
14574 : if (!(
14575 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14576 : (TARGET_AVX512F) && (
14577 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14578 : (TARGET_AVX512F) &&
14579 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14580 : (TARGET_SSE))))
14581 : return -1;
14582 : return 3183; /* *sse_vmsminv4sf3_mask_round */
14583 :
14584 : case 2:
14585 : if (!(
14586 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14587 : (TARGET_AVX512F) && (
14588 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14589 : (TARGET_AVX512F) && (
14590 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14591 : (TARGET_SSE) &&
14592 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14593 : (TARGET_SSE2)))))
14594 : return -1;
14595 : return 3191; /* *sse2_vmsminv2df3_mask_round */
14596 :
14597 : default:
14598 : return -1;
14599 : }
14600 :
14601 : case UNSPEC:
14602 : switch (XVECLEN (x5, 0))
14603 : {
14604 : case 2:
14605 : x6 = XEXP (x3, 2);
14606 : if (GET_CODE (x6) != CONST_INT)
14607 : return -1;
14608 : switch (XINT (x5, 1))
14609 : {
14610 : case 64:
14611 : switch (pattern1140 (x2))
14612 : {
14613 : case 0:
14614 : if (!(
14615 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14616 : (TARGET_AVX512F) && (
14617 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14618 : (TARGET_AVX512F) && (
14619 : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14620 : (TARGET_SSE) &&
14621 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14622 : (TARGET_AVX512FP16)))))
14623 : return -1;
14624 : return 3195; /* avx512fp16_ieee_vmmaxv8hf3_mask_round */
14625 :
14626 : case 1:
14627 : if (!(
14628 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14629 : (TARGET_AVX512F) && (
14630 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14631 : (TARGET_AVX512F) &&
14632 : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14633 : (TARGET_SSE))))
14634 : return -1;
14635 : return 3203; /* sse_ieee_vmmaxv4sf3_mask_round */
14636 :
14637 : case 2:
14638 : if (!(
14639 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14640 : (TARGET_AVX512F) && (
14641 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14642 : (TARGET_AVX512F) && (
14643 : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14644 : (TARGET_SSE) &&
14645 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14646 : (TARGET_SSE2)))))
14647 : return -1;
14648 : return 3211; /* sse2_ieee_vmmaxv2df3_mask_round */
14649 :
14650 : default:
14651 : return -1;
14652 : }
14653 :
14654 : case 63:
14655 : switch (pattern1140 (x2))
14656 : {
14657 : case 0:
14658 : if (!(
14659 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14660 : (TARGET_AVX512F) && (
14661 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14662 : (TARGET_AVX512F) && (
14663 : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14664 : (TARGET_SSE) &&
14665 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14666 : (TARGET_AVX512FP16)))))
14667 : return -1;
14668 : return 3199; /* avx512fp16_ieee_vmminv8hf3_mask_round */
14669 :
14670 : case 1:
14671 : if (!(
14672 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14673 : (TARGET_AVX512F) && (
14674 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14675 : (TARGET_AVX512F) &&
14676 : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14677 : (TARGET_SSE))))
14678 : return -1;
14679 : return 3207; /* sse_ieee_vmminv4sf3_mask_round */
14680 :
14681 : case 2:
14682 : if (!(
14683 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14684 : (TARGET_AVX512F) && (
14685 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14686 : (TARGET_AVX512F) && (
14687 : #line 3555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14688 : (TARGET_SSE) &&
14689 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14690 : (TARGET_SSE2)))))
14691 : return -1;
14692 : return 3215; /* sse2_ieee_vmminv2df3_mask_round */
14693 :
14694 : default:
14695 : return -1;
14696 : }
14697 :
14698 : case 222:
14699 : if (pattern1141 (x2) != 0
14700 : || !(
14701 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14702 : (TARGET_AVX512F) && (
14703 : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14704 : (TARGET_AVX512F) &&
14705 : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14706 : (TARGET_AVX512FP16))))
14707 : return -1;
14708 : return 4441; /* avx512fp16_fmulcsh_v8hf_mask_round */
14709 :
14710 : case 223:
14711 : if (pattern1141 (x2) != 0
14712 : || !(
14713 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14714 : (TARGET_AVX512F) && (
14715 : #line 389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14716 : (TARGET_AVX512F) &&
14717 : #line 7869 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14718 : (TARGET_AVX512FP16))))
14719 : return -1;
14720 : return 4445; /* avx512fp16_fcmulcsh_v8hf_mask_round */
14721 :
14722 : case 59:
14723 : if (XWINT (x6, 0) != 1L)
14724 : return -1;
14725 : x14 = XVECEXP (x5, 0, 0);
14726 : operands[1] = x14;
14727 : x15 = XVECEXP (x5, 0, 1);
14728 : operands[2] = x15;
14729 : x8 = XEXP (x4, 1);
14730 : operands[3] = x8;
14731 : x9 = XEXP (x4, 2);
14732 : operands[4] = x9;
14733 : if (!register_operand (operands[4], E_QImode))
14734 : return -1;
14735 : x11 = XVECEXP (x2, 0, 1);
14736 : operands[5] = x11;
14737 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
14738 : return -1;
14739 : switch (pattern1662 (x2))
14740 : {
14741 : case 0:
14742 : if (!(
14743 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14744 : (TARGET_AVX512F) && (
14745 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14746 : (TARGET_AVX512F) && (
14747 : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14748 : (TARGET_AVX512F) &&
14749 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14750 : (TARGET_AVX512FP16)))))
14751 : return -1;
14752 : return 5433; /* avx512f_vmscalefv8hf_mask_round */
14753 :
14754 : case 1:
14755 : if (!
14756 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14757 : (TARGET_AVX512F))
14758 : return -1;
14759 : return 5437; /* avx512f_vmscalefv4sf_mask_round */
14760 :
14761 : case 2:
14762 : if (!(
14763 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14764 : (TARGET_AVX512F) && (
14765 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14766 : (TARGET_AVX512F) && (
14767 : #line 13937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14768 : (TARGET_AVX512F) &&
14769 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14770 : (TARGET_SSE2)))))
14771 : return -1;
14772 : return 5441; /* avx512f_vmscalefv2df_mask_round */
14773 :
14774 : default:
14775 : return -1;
14776 : }
14777 :
14778 : case 166:
14779 : if (XWINT (x6, 0) != 1L)
14780 : return -1;
14781 : x14 = XVECEXP (x5, 0, 0);
14782 : operands[1] = x14;
14783 : x15 = XVECEXP (x5, 0, 1);
14784 : operands[2] = x15;
14785 : x8 = XEXP (x4, 1);
14786 : operands[3] = x8;
14787 : x9 = XEXP (x4, 2);
14788 : operands[4] = x9;
14789 : if (!register_operand (operands[4], E_QImode))
14790 : return -1;
14791 : x11 = XVECEXP (x2, 0, 1);
14792 : operands[5] = x11;
14793 : if (!const48_operand (operands[5], E_SImode))
14794 : return -1;
14795 : switch (pattern1662 (x2))
14796 : {
14797 : case 0:
14798 : if (!(
14799 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14800 : (TARGET_AVX512F) && (
14801 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14802 : (TARGET_AVX512F) && (
14803 : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14804 : (TARGET_AVX512F) &&
14805 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14806 : (TARGET_AVX512FP16)))))
14807 : return -1;
14808 : return 7095; /* avx512f_sgetexpv8hf_mask_round */
14809 :
14810 : case 1:
14811 : if (!
14812 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14813 : (TARGET_AVX512F))
14814 : return -1;
14815 : return 7099; /* avx512f_sgetexpv4sf_mask_round */
14816 :
14817 : case 2:
14818 : if (!(
14819 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14820 : (TARGET_AVX512F) && (
14821 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14822 : (TARGET_AVX512F) && (
14823 : #line 14370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14824 : (TARGET_AVX512F) &&
14825 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14826 : (TARGET_SSE2)))))
14827 : return -1;
14828 : return 7103; /* avx512f_sgetexpv2df_mask_round */
14829 :
14830 : default:
14831 : return -1;
14832 : }
14833 :
14834 : case 95:
14835 : if (XWINT (x6, 0) != 1L)
14836 : return -1;
14837 : x14 = XVECEXP (x5, 0, 0);
14838 : operands[2] = x14;
14839 : x15 = XVECEXP (x5, 0, 1);
14840 : operands[3] = x15;
14841 : if (!const_0_to_255_operand (operands[3], E_SImode))
14842 : return -1;
14843 : x8 = XEXP (x4, 1);
14844 : operands[4] = x8;
14845 : x9 = XEXP (x4, 2);
14846 : operands[5] = x9;
14847 : if (!register_operand (operands[5], E_QImode))
14848 : return -1;
14849 : x10 = XEXP (x3, 1);
14850 : operands[1] = x10;
14851 : x11 = XVECEXP (x2, 0, 1);
14852 : operands[6] = x11;
14853 : if (!const48_operand (operands[6], E_SImode))
14854 : return -1;
14855 : switch (GET_MODE (operands[0]))
14856 : {
14857 : case E_V8HFmode:
14858 : if (pattern1754 (x2,
14859 : E_V8HFmode) != 0
14860 : || !(
14861 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14862 : (TARGET_AVX512F) && (
14863 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14864 : (TARGET_AVX512F) && (
14865 : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14866 : (TARGET_AVX512F) &&
14867 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14868 : (TARGET_AVX512FP16)))))
14869 : return -1;
14870 : return 7211; /* avx512f_rndscalev8hf_mask_round */
14871 :
14872 : case E_V4SFmode:
14873 : if (pattern1754 (x2,
14874 : E_V4SFmode) != 0
14875 : || !
14876 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14877 : (TARGET_AVX512F))
14878 : return -1;
14879 : return 7215; /* avx512f_rndscalev4sf_mask_round */
14880 :
14881 : case E_V2DFmode:
14882 : if (pattern1754 (x2,
14883 : E_V2DFmode) != 0
14884 : || !(
14885 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14886 : (TARGET_AVX512F) && (
14887 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14888 : (TARGET_AVX512F) && (
14889 : #line 14564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14890 : (TARGET_AVX512F) &&
14891 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14892 : (TARGET_SSE2)))))
14893 : return -1;
14894 : return 7219; /* avx512f_rndscalev2df_mask_round */
14895 :
14896 : default:
14897 : return -1;
14898 : }
14899 :
14900 : default:
14901 : return -1;
14902 : }
14903 :
14904 : case 3:
14905 : x6 = XEXP (x3, 2);
14906 : if (GET_CODE (x6) != CONST_INT)
14907 : return -1;
14908 : x14 = XVECEXP (x5, 0, 0);
14909 : operands[1] = x14;
14910 : x15 = XVECEXP (x5, 0, 1);
14911 : operands[2] = x15;
14912 : x16 = XVECEXP (x5, 0, 2);
14913 : operands[3] = x16;
14914 : switch (XINT (x5, 1))
14915 : {
14916 : case 193:
14917 : switch (pattern1408 (x2))
14918 : {
14919 : case 0:
14920 : if (!(
14921 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14922 : (TARGET_AVX512F) && (
14923 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14924 : (TARGET_AVX512F) && (
14925 : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14926 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V8HFmode))) &&
14927 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14928 : (TARGET_AVX512FP16)))))
14929 : return -1;
14930 : return 3269; /* reducesv8hf_mask_round */
14931 :
14932 : case 1:
14933 : if (!(
14934 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14935 : (TARGET_AVX512F) && (
14936 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14937 : (TARGET_AVX512F) &&
14938 : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14939 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V4SFmode))))))
14940 : return -1;
14941 : return 3273; /* reducesv4sf_mask_round */
14942 :
14943 : case 2:
14944 : if (!(
14945 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14946 : (TARGET_AVX512F) && (
14947 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14948 : (TARGET_AVX512F) && (
14949 : #line 4269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14950 : (TARGET_AVX512DQ || (VALID_AVX512FP16_REG_MODE (V2DFmode))) &&
14951 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14952 : (TARGET_SSE2)))))
14953 : return -1;
14954 : return 3277; /* reducesv2df_mask_round */
14955 :
14956 : default:
14957 : return -1;
14958 : }
14959 :
14960 : case 218:
14961 : switch (pattern1409 (x2))
14962 : {
14963 : case 0:
14964 : if (!(
14965 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14966 : (TARGET_AVX512F) && (
14967 : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14968 : (TARGET_AVX512F) &&
14969 : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14970 : (TARGET_AVX512FP16))))
14971 : return -1;
14972 : return 4429; /* avx512fp16_fma_fmaddcsh_v8hf_maskz_round */
14973 :
14974 : case 1:
14975 : if (!(
14976 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14977 : (TARGET_AVX512F) &&
14978 : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14979 : (TARGET_AVX512FP16)))
14980 : return -1;
14981 : return 4435; /* avx512fp16_fmaddcsh_v8hf_mask_round */
14982 :
14983 : default:
14984 : return -1;
14985 : }
14986 :
14987 : case 220:
14988 : switch (pattern1409 (x2))
14989 : {
14990 : case 0:
14991 : if (!(
14992 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14993 : (TARGET_AVX512F) && (
14994 : #line 371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14995 : (TARGET_AVX512F) &&
14996 : #line 7834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14997 : (TARGET_AVX512FP16))))
14998 : return -1;
14999 : return 4433; /* avx512fp16_fma_fcmaddcsh_v8hf_maskz_round */
15000 :
15001 : case 1:
15002 : if (!(
15003 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15004 : (TARGET_AVX512F) &&
15005 : #line 7854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15006 : (TARGET_AVX512FP16)))
15007 : return -1;
15008 : return 4437; /* avx512fp16_fcmaddcsh_v8hf_mask_round */
15009 :
15010 : default:
15011 : return -1;
15012 : }
15013 :
15014 : case 195:
15015 : if (XWINT (x6, 0) != 1L
15016 : || !const_0_to_15_operand (operands[3], E_SImode))
15017 : return -1;
15018 : x8 = XEXP (x4, 1);
15019 : operands[4] = x8;
15020 : x9 = XEXP (x4, 2);
15021 : operands[5] = x9;
15022 : if (!register_operand (operands[5], E_QImode))
15023 : return -1;
15024 : x11 = XVECEXP (x2, 0, 1);
15025 : operands[6] = x11;
15026 : if (!const48_operand (operands[6], E_SImode))
15027 : return -1;
15028 : x10 = XEXP (x3, 1);
15029 : if (!rtx_equal_p (x10, operands[1]))
15030 : return -1;
15031 : switch (GET_MODE (operands[0]))
15032 : {
15033 : case E_V4SFmode:
15034 : if (pattern1406 (x2,
15035 : E_V4SFmode) != 0
15036 : || !(
15037 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15038 : (TARGET_AVX512F) && (
15039 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15040 : (TARGET_AVX512F) &&
15041 : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15042 : (TARGET_AVX512DQ))))
15043 : return -1;
15044 : return 10051; /* avx512dq_rangesv4sf_mask_round */
15045 :
15046 : case E_V2DFmode:
15047 : if (pattern1406 (x2,
15048 : E_V2DFmode) != 0
15049 : || !(
15050 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15051 : (TARGET_AVX512F) && (
15052 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15053 : (TARGET_AVX512F) && (
15054 : #line 30536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15055 : (TARGET_AVX512DQ) &&
15056 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15057 : (TARGET_SSE2)))))
15058 : return -1;
15059 : return 10055; /* avx512dq_rangesv2df_mask_round */
15060 :
15061 : default:
15062 : return -1;
15063 : }
15064 :
15065 : case 167:
15066 : if (XWINT (x6, 0) != 1L
15067 : || !const_0_to_15_operand (operands[3], E_SImode))
15068 : return -1;
15069 : switch (pattern1407 (x2))
15070 : {
15071 : case 0:
15072 : if (!(
15073 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15074 : (TARGET_AVX512F) && (
15075 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15076 : (TARGET_AVX512F) && (
15077 : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15078 : (TARGET_AVX512F) &&
15079 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15080 : (TARGET_AVX512FP16)))))
15081 : return -1;
15082 : return 10119; /* avx512f_vgetmantv8hf_mask_round */
15083 :
15084 : case 1:
15085 : if (!
15086 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15087 : (TARGET_AVX512F))
15088 : return -1;
15089 : return 10123; /* avx512f_vgetmantv4sf_mask_round */
15090 :
15091 : case 2:
15092 : if (!(
15093 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15094 : (TARGET_AVX512F) && (
15095 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15096 : (TARGET_AVX512F) && (
15097 : #line 30604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15098 : (TARGET_AVX512F) &&
15099 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15100 : (TARGET_SSE2)))))
15101 : return -1;
15102 : return 10127; /* avx512f_vgetmantv2df_mask_round */
15103 :
15104 : default:
15105 : return -1;
15106 : }
15107 :
15108 : case 279:
15109 : switch (pattern1408 (x2))
15110 : {
15111 : case 0:
15112 : if (!(
15113 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15114 : (TARGET_AVX512F) && (
15115 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15116 : (TARGET_AVX512F) && (
15117 : #line 33368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15118 : (TARGET_AVX10_2) &&
15119 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15120 : (TARGET_AVX512FP16)))))
15121 : return -1;
15122 : return 11017; /* avx10_2_minmaxsv8hf_mask_round */
15123 :
15124 : case 1:
15125 : if (!(
15126 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15127 : (TARGET_AVX512F) && (
15128 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15129 : (TARGET_AVX512F) &&
15130 : #line 33368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15131 : (TARGET_AVX10_2))))
15132 : return -1;
15133 : return 11021; /* avx10_2_minmaxsv4sf_mask_round */
15134 :
15135 : case 2:
15136 : if (!(
15137 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15138 : (TARGET_AVX512F) && (
15139 : #line 355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15140 : (TARGET_AVX512F) && (
15141 : #line 33368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15142 : (TARGET_AVX10_2) &&
15143 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15144 : (TARGET_SSE2)))))
15145 : return -1;
15146 : return 11025; /* avx10_2_minmaxsv2df_mask_round */
15147 :
15148 : default:
15149 : return -1;
15150 : }
15151 :
15152 : default:
15153 : return -1;
15154 : }
15155 :
15156 : case 4:
15157 : if (XINT (x5, 1) != 164)
15158 : return -1;
15159 : x14 = XVECEXP (x5, 0, 0);
15160 : operands[1] = x14;
15161 : x15 = XVECEXP (x5, 0, 1);
15162 : operands[2] = x15;
15163 : x16 = XVECEXP (x5, 0, 2);
15164 : operands[3] = x16;
15165 : x17 = XVECEXP (x5, 0, 3);
15166 : operands[4] = x17;
15167 : if (!const_0_to_255_operand (operands[4], E_SImode))
15168 : return -1;
15169 : x11 = XVECEXP (x2, 0, 1);
15170 : if (!const48_operand (x11, E_SImode))
15171 : return -1;
15172 : x8 = XEXP (x4, 1);
15173 : switch (GET_CODE (x8))
15174 : {
15175 : case CONST_INT:
15176 : case CONST_DOUBLE:
15177 : case CONST_VECTOR:
15178 : operands[5] = x8;
15179 : x6 = XEXP (x3, 2);
15180 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15181 : return -1;
15182 : x9 = XEXP (x4, 2);
15183 : operands[6] = x9;
15184 : if (!register_operand (operands[6], E_QImode))
15185 : return -1;
15186 : operands[7] = x11;
15187 : x10 = XEXP (x3, 1);
15188 : if (!rtx_equal_p (x10, operands[2]))
15189 : return -1;
15190 : switch (GET_MODE (operands[0]))
15191 : {
15192 : case E_V4SFmode:
15193 : if (pattern1790 (x2,
15194 : E_V4SFmode,
15195 : E_V4SImode) != 0
15196 : || !
15197 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15198 : (TARGET_AVX512F))
15199 : return -1;
15200 : return 7163; /* avx512f_sfixupimmv4sf_maskz_1_round */
15201 :
15202 : case E_V2DFmode:
15203 : if (pattern1790 (x2,
15204 : E_V2DFmode,
15205 : E_V2DImode) != 0
15206 : || !(
15207 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15208 : (TARGET_AVX512F) && (
15209 : #line 154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15210 : (TARGET_AVX512F) && (
15211 : #line 14519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15212 : (TARGET_AVX512F) &&
15213 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15214 : (TARGET_SSE2)))))
15215 : return -1;
15216 : return 7167; /* avx512f_sfixupimmv2df_maskz_1_round */
15217 :
15218 : default:
15219 : return -1;
15220 : }
15221 :
15222 : case REG:
15223 : case SUBREG:
15224 : if (!rtx_equal_p (x8, operands[2]))
15225 : return -1;
15226 : x9 = XEXP (x4, 2);
15227 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15228 : return -1;
15229 : x6 = XEXP (x3, 2);
15230 : operands[5] = x6;
15231 : if (!register_operand (operands[5], E_QImode))
15232 : return -1;
15233 : operands[6] = x11;
15234 : x10 = XEXP (x3, 1);
15235 : if (!rtx_equal_p (x10, operands[1]))
15236 : return -1;
15237 : switch (GET_MODE (operands[0]))
15238 : {
15239 : case E_V4SFmode:
15240 : if (pattern1791 (x2,
15241 : E_V4SImode,
15242 : E_V4SFmode) != 0
15243 : || !
15244 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15245 : (TARGET_AVX512F))
15246 : return -1;
15247 : return 7169; /* avx512f_sfixupimmv4sf_mask_round */
15248 :
15249 : case E_V2DFmode:
15250 : if (pattern1791 (x2,
15251 : E_V2DImode,
15252 : E_V2DFmode) != 0
15253 : || !(
15254 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15255 : (TARGET_AVX512F) && (
15256 : #line 14538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15257 : (TARGET_AVX512F) &&
15258 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15259 : (TARGET_SSE2))))
15260 : return -1;
15261 : return 7171; /* avx512f_sfixupimmv2df_mask_round */
15262 :
15263 : default:
15264 : return -1;
15265 : }
15266 :
15267 : default:
15268 : return -1;
15269 : }
15270 :
15271 : default:
15272 : return -1;
15273 : }
15274 :
15275 : case FMA:
15276 : return recog_222 (x1, insn, pnum_clobbers);
15277 :
15278 : case FLOAT_EXTEND:
15279 : if (GET_MODE (x5) != E_V2DFmode)
15280 : return -1;
15281 : x7 = XEXP (x5, 0);
15282 : if (pattern908 (x7,
15283 : 2,
15284 : E_V2SFmode) != 0)
15285 : return -1;
15286 : x18 = XEXP (x7, 1);
15287 : x19 = XVECEXP (x18, 0, 1);
15288 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
15289 : return -1;
15290 : x9 = XEXP (x4, 2);
15291 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
15292 : || pattern1487 (x2) != 0)
15293 : return -1;
15294 : x12 = XEXP (x7, 0);
15295 : operands[2] = x12;
15296 : if (!register_operand (operands[2], E_V4SFmode))
15297 : return -1;
15298 : x8 = XEXP (x4, 1);
15299 : operands[1] = x8;
15300 : if (!register_operand (operands[1], E_V2DFmode))
15301 : return -1;
15302 : x10 = XEXP (x3, 1);
15303 : operands[3] = x10;
15304 : if (!nonimm_or_0_operand (operands[3], E_V2DFmode))
15305 : return -1;
15306 : x6 = XEXP (x3, 2);
15307 : operands[4] = x6;
15308 : if (!register_operand (operands[4], E_QImode))
15309 : return -1;
15310 : x11 = XVECEXP (x2, 0, 1);
15311 : operands[5] = x11;
15312 : if (!const48_operand (operands[5], E_SImode)
15313 : || !(
15314 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15315 : (TARGET_AVX512F) && (
15316 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15317 : (TARGET_AVX512F) &&
15318 : #line 10377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15319 : (TARGET_SSE2))))
15320 : return -1;
15321 : return 5189; /* sse2_cvtss2sd_mask_round */
15322 :
15323 : default:
15324 : return -1;
15325 : }
15326 : }
15327 :
15328 : int
15329 : recog_253 (rtx x1 ATTRIBUTE_UNUSED,
15330 : rtx_insn *insn ATTRIBUTE_UNUSED,
15331 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15332 : {
15333 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15334 : rtx x2, x3, x4, x5, x6;
15335 : int res ATTRIBUTE_UNUSED;
15336 : x2 = XEXP (x1, 0);
15337 : operands[0] = x2;
15338 : x3 = XEXP (x1, 1);
15339 : x4 = XVECEXP (x3, 0, 0);
15340 : switch (GET_CODE (x4))
15341 : {
15342 : case CONST_VECTOR:
15343 : switch (pattern497 (x3))
15344 : {
15345 : case 0:
15346 : if (!
15347 : #line 21938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15348 : (TARGET_AVX512VL && TARGET_AVX512VBMI
15349 : && ix86_pre_reload_split ()))
15350 : return -1;
15351 : return 8529; /* *vec_concatv16qi_permt2 */
15352 :
15353 : case 1:
15354 : if (!
15355 : #line 21963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15356 : (TARGET_AVX512VL && TARGET_AVX512BW
15357 : && ix86_pre_reload_split ()))
15358 : return -1;
15359 : return 8530; /* *vec_concatv8hi_permt2 */
15360 :
15361 : default:
15362 : return -1;
15363 : }
15364 :
15365 : case REG:
15366 : case SUBREG:
15367 : operands[1] = x4;
15368 : x5 = XVECEXP (x3, 0, 1);
15369 : operands[2] = x5;
15370 : x6 = XVECEXP (x3, 0, 2);
15371 : operands[3] = x6;
15372 : switch (GET_MODE (operands[0]))
15373 : {
15374 : case E_V16SImode:
15375 : if (pattern178 (x3,
15376 : E_V16SImode) != 0
15377 : || !
15378 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15379 : (TARGET_AVX512F))
15380 : return -1;
15381 : return 9456; /* avx512f_vpermt2varv16si3 */
15382 :
15383 : case E_V16SFmode:
15384 : if (pattern1037 (x3,
15385 : E_V16SFmode,
15386 : E_V16SImode) != 0
15387 : || !
15388 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15389 : (TARGET_AVX512F))
15390 : return -1;
15391 : return 9458; /* avx512f_vpermt2varv16sf3 */
15392 :
15393 : case E_V8DImode:
15394 : if (pattern178 (x3,
15395 : E_V8DImode) != 0
15396 : || !
15397 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15398 : (TARGET_AVX512F))
15399 : return -1;
15400 : return 9460; /* avx512f_vpermt2varv8di3 */
15401 :
15402 : case E_V8DFmode:
15403 : if (pattern1037 (x3,
15404 : E_V8DFmode,
15405 : E_V8DImode) != 0
15406 : || !
15407 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15408 : (TARGET_AVX512F))
15409 : return -1;
15410 : return 9462; /* avx512f_vpermt2varv8df3 */
15411 :
15412 : case E_V8SImode:
15413 : if (pattern178 (x3,
15414 : E_V8SImode) != 0
15415 : || !(
15416 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15417 : (TARGET_AVX512F) &&
15418 : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15419 : (TARGET_AVX512VL)))
15420 : return -1;
15421 : return 9464; /* avx512vl_vpermt2varv8si3 */
15422 :
15423 : case E_V8SFmode:
15424 : if (pattern1037 (x3,
15425 : E_V8SFmode,
15426 : E_V8SImode) != 0
15427 : || !(
15428 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15429 : (TARGET_AVX512F) &&
15430 : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15431 : (TARGET_AVX512VL)))
15432 : return -1;
15433 : return 9466; /* avx512vl_vpermt2varv8sf3 */
15434 :
15435 : case E_V4DImode:
15436 : if (pattern178 (x3,
15437 : E_V4DImode) != 0
15438 : || !(
15439 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15440 : (TARGET_AVX512F) &&
15441 : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15442 : (TARGET_AVX512VL)))
15443 : return -1;
15444 : return 9468; /* avx512vl_vpermt2varv4di3 */
15445 :
15446 : case E_V4DFmode:
15447 : if (pattern1037 (x3,
15448 : E_V4DFmode,
15449 : E_V4DImode) != 0
15450 : || !(
15451 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15452 : (TARGET_AVX512F) &&
15453 : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15454 : (TARGET_AVX512VL)))
15455 : return -1;
15456 : return 9470; /* avx512vl_vpermt2varv4df3 */
15457 :
15458 : case E_V4SImode:
15459 : if (pattern178 (x3,
15460 : E_V4SImode) != 0
15461 : || !(
15462 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15463 : (TARGET_AVX512F) &&
15464 : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15465 : (TARGET_AVX512VL)))
15466 : return -1;
15467 : return 9472; /* avx512vl_vpermt2varv4si3 */
15468 :
15469 : case E_V4SFmode:
15470 : if (pattern1037 (x3,
15471 : E_V4SFmode,
15472 : E_V4SImode) != 0
15473 : || !(
15474 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : (TARGET_AVX512F) &&
15476 : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15477 : (TARGET_AVX512VL)))
15478 : return -1;
15479 : return 9474; /* avx512vl_vpermt2varv4sf3 */
15480 :
15481 : case E_V2DImode:
15482 : if (pattern178 (x3,
15483 : E_V2DImode) != 0
15484 : || !(
15485 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15486 : (TARGET_AVX512F) &&
15487 : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15488 : (TARGET_AVX512VL)))
15489 : return -1;
15490 : return 9476; /* avx512vl_vpermt2varv2di3 */
15491 :
15492 : case E_V2DFmode:
15493 : if (pattern1037 (x3,
15494 : E_V2DFmode,
15495 : E_V2DImode) != 0
15496 : || !(
15497 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15498 : (TARGET_AVX512F) &&
15499 : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15500 : (TARGET_AVX512VL)))
15501 : return -1;
15502 : return 9478; /* avx512vl_vpermt2varv2df3 */
15503 :
15504 : case E_V32HImode:
15505 : if (pattern178 (x3,
15506 : E_V32HImode) != 0
15507 : || !(
15508 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15509 : (TARGET_AVX512F) &&
15510 : #line 28839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15511 : (TARGET_AVX512BW)))
15512 : return -1;
15513 : return 9480; /* avx512bw_vpermt2varv32hi3 */
15514 :
15515 : case E_V16HImode:
15516 : if (pattern178 (x3,
15517 : E_V16HImode) != 0
15518 : || !(
15519 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15520 : (TARGET_AVX512F) &&
15521 : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15522 : (TARGET_AVX512BW && TARGET_AVX512VL)))
15523 : return -1;
15524 : return 9482; /* avx512vl_vpermt2varv16hi3 */
15525 :
15526 : case E_V8HImode:
15527 : if (pattern178 (x3,
15528 : E_V8HImode) != 0
15529 : || !(
15530 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15531 : (TARGET_AVX512F) &&
15532 : #line 28841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15533 : (TARGET_AVX512BW && TARGET_AVX512VL)))
15534 : return -1;
15535 : return 9484; /* avx512vl_vpermt2varv8hi3 */
15536 :
15537 : case E_V64QImode:
15538 : if (pattern178 (x3,
15539 : E_V64QImode) != 0
15540 : || !(
15541 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15542 : (TARGET_AVX512F) &&
15543 : #line 28842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15544 : (TARGET_AVX512VBMI)))
15545 : return -1;
15546 : return 9486; /* avx512bw_vpermt2varv64qi3 */
15547 :
15548 : case E_V32QImode:
15549 : if (pattern178 (x3,
15550 : E_V32QImode) != 0
15551 : || !(
15552 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15553 : (TARGET_AVX512F) &&
15554 : #line 28843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15555 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
15556 : return -1;
15557 : return 9488; /* avx512vl_vpermt2varv32qi3 */
15558 :
15559 : case E_V16QImode:
15560 : if (pattern178 (x3,
15561 : E_V16QImode) != 0
15562 : || !(
15563 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15564 : (TARGET_AVX512F) &&
15565 : #line 28844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15566 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
15567 : return -1;
15568 : return 9490; /* avx512vl_vpermt2varv16qi3 */
15569 :
15570 : case E_V32HFmode:
15571 : if (pattern1037 (x3,
15572 : E_V32HFmode,
15573 : E_V32HImode) != 0
15574 : || !
15575 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15576 : (TARGET_AVX512BW))
15577 : return -1;
15578 : return 9492; /* avx512bw_vpermt2varv32hf3 */
15579 :
15580 : case E_V16HFmode:
15581 : if (pattern1037 (x3,
15582 : E_V16HFmode,
15583 : E_V16HImode) != 0
15584 : || !(
15585 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15586 : (TARGET_AVX512BW) &&
15587 : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15588 : (TARGET_AVX512VL)))
15589 : return -1;
15590 : return 9494; /* avx512vl_vpermt2varv16hf3 */
15591 :
15592 : case E_V8HFmode:
15593 : if (pattern1037 (x3,
15594 : E_V8HFmode,
15595 : E_V8HImode) != 0
15596 : || !(
15597 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15598 : (TARGET_AVX512BW) &&
15599 : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15600 : (TARGET_AVX512VL)))
15601 : return -1;
15602 : return 9496; /* avx512fp16_vpermt2varv8hf3 */
15603 :
15604 : case E_V32BFmode:
15605 : if (pattern1037 (x3,
15606 : E_V32BFmode,
15607 : E_V32HImode) != 0
15608 : || !
15609 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15610 : (TARGET_AVX512BW))
15611 : return -1;
15612 : return 9498; /* avx512bw_vpermt2varv32bf3 */
15613 :
15614 : case E_V16BFmode:
15615 : if (pattern1037 (x3,
15616 : E_V16BFmode,
15617 : E_V16HImode) != 0
15618 : || !(
15619 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15620 : (TARGET_AVX512BW) &&
15621 : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15622 : (TARGET_AVX512VL)))
15623 : return -1;
15624 : return 9500; /* avx512vl_vpermt2varv16bf3 */
15625 :
15626 : case E_V8BFmode:
15627 : if (pattern1037 (x3,
15628 : E_V8BFmode,
15629 : E_V8HImode) != 0
15630 : || !(
15631 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15632 : (TARGET_AVX512BW) &&
15633 : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15634 : (TARGET_AVX512VL)))
15635 : return -1;
15636 : return 9502; /* avx512vl_vpermt2varv8bf3 */
15637 :
15638 : default:
15639 : return -1;
15640 : }
15641 :
15642 : default:
15643 : return -1;
15644 : }
15645 : }
15646 :
15647 : int
15648 : recog_254 (rtx x1 ATTRIBUTE_UNUSED,
15649 : rtx_insn *insn ATTRIBUTE_UNUSED,
15650 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15651 : {
15652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15653 : rtx x2, x3, x4, x5, x6;
15654 : int res ATTRIBUTE_UNUSED;
15655 : x2 = XEXP (x1, 0);
15656 : operands[0] = x2;
15657 : x3 = XEXP (x1, 1);
15658 : x4 = XVECEXP (x3, 0, 0);
15659 : operands[1] = x4;
15660 : x5 = XVECEXP (x3, 0, 2);
15661 : operands[2] = x5;
15662 : x6 = XVECEXP (x3, 0, 1);
15663 : if (!rtx_equal_p (x6, operands[0]))
15664 : return -1;
15665 : switch (GET_MODE (operands[0]))
15666 : {
15667 : case E_V16SImode:
15668 : if (pattern916 (x3,
15669 : E_HImode,
15670 : E_V16SImode) != 0
15671 : || !
15672 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15673 : (TARGET_AVX512F))
15674 : return -1;
15675 : return 9978; /* avx512f_compressstorev16si_mask */
15676 :
15677 : case E_V16SFmode:
15678 : if (pattern916 (x3,
15679 : E_HImode,
15680 : E_V16SFmode) != 0
15681 : || !
15682 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15683 : (TARGET_AVX512F))
15684 : return -1;
15685 : return 9979; /* avx512f_compressstorev16sf_mask */
15686 :
15687 : case E_V8DImode:
15688 : if (pattern916 (x3,
15689 : E_QImode,
15690 : E_V8DImode) != 0
15691 : || !
15692 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15693 : (TARGET_AVX512F))
15694 : return -1;
15695 : return 9980; /* avx512f_compressstorev8di_mask */
15696 :
15697 : case E_V8DFmode:
15698 : if (pattern916 (x3,
15699 : E_QImode,
15700 : E_V8DFmode) != 0
15701 : || !
15702 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15703 : (TARGET_AVX512F))
15704 : return -1;
15705 : return 9981; /* avx512f_compressstorev8df_mask */
15706 :
15707 : case E_V8SImode:
15708 : if (pattern916 (x3,
15709 : E_QImode,
15710 : E_V8SImode) != 0
15711 : || !(
15712 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15713 : (TARGET_AVX512F) &&
15714 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15715 : (TARGET_AVX512VL)))
15716 : return -1;
15717 : return 9982; /* avx512vl_compressstorev8si_mask */
15718 :
15719 : case E_V8SFmode:
15720 : if (pattern916 (x3,
15721 : E_QImode,
15722 : E_V8SFmode) != 0
15723 : || !(
15724 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15725 : (TARGET_AVX512F) &&
15726 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15727 : (TARGET_AVX512VL)))
15728 : return -1;
15729 : return 9983; /* avx512vl_compressstorev8sf_mask */
15730 :
15731 : case E_V4DImode:
15732 : if (pattern916 (x3,
15733 : E_QImode,
15734 : E_V4DImode) != 0
15735 : || !(
15736 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15737 : (TARGET_AVX512F) &&
15738 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15739 : (TARGET_AVX512VL)))
15740 : return -1;
15741 : return 9984; /* avx512vl_compressstorev4di_mask */
15742 :
15743 : case E_V4DFmode:
15744 : if (pattern916 (x3,
15745 : E_QImode,
15746 : E_V4DFmode) != 0
15747 : || !(
15748 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15749 : (TARGET_AVX512F) &&
15750 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15751 : (TARGET_AVX512VL)))
15752 : return -1;
15753 : return 9985; /* avx512vl_compressstorev4df_mask */
15754 :
15755 : case E_V4SImode:
15756 : if (pattern916 (x3,
15757 : E_QImode,
15758 : E_V4SImode) != 0
15759 : || !(
15760 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15761 : (TARGET_AVX512F) &&
15762 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15763 : (TARGET_AVX512VL)))
15764 : return -1;
15765 : return 9986; /* avx512vl_compressstorev4si_mask */
15766 :
15767 : case E_V4SFmode:
15768 : if (pattern916 (x3,
15769 : E_QImode,
15770 : E_V4SFmode) != 0
15771 : || !(
15772 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15773 : (TARGET_AVX512F) &&
15774 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15775 : (TARGET_AVX512VL)))
15776 : return -1;
15777 : return 9987; /* avx512vl_compressstorev4sf_mask */
15778 :
15779 : case E_V2DImode:
15780 : if (pattern916 (x3,
15781 : E_QImode,
15782 : E_V2DImode) != 0
15783 : || !(
15784 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15785 : (TARGET_AVX512F) &&
15786 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15787 : (TARGET_AVX512VL)))
15788 : return -1;
15789 : return 9988; /* avx512vl_compressstorev2di_mask */
15790 :
15791 : case E_V2DFmode:
15792 : if (pattern916 (x3,
15793 : E_QImode,
15794 : E_V2DFmode) != 0
15795 : || !(
15796 : #line 30381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15797 : (TARGET_AVX512F) &&
15798 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15799 : (TARGET_AVX512VL)))
15800 : return -1;
15801 : return 9989; /* avx512vl_compressstorev2df_mask */
15802 :
15803 : case E_V64QImode:
15804 : if (pattern916 (x3,
15805 : E_DImode,
15806 : E_V64QImode) != 0
15807 : || !
15808 : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15809 : (TARGET_AVX512VBMI2))
15810 : return -1;
15811 : return 9990; /* compressstorev64qi_mask */
15812 :
15813 : case E_V16QImode:
15814 : if (pattern916 (x3,
15815 : E_HImode,
15816 : E_V16QImode) != 0
15817 : || !(
15818 : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15819 : (TARGET_AVX512VBMI2) &&
15820 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15821 : (TARGET_AVX512VL)))
15822 : return -1;
15823 : return 9991; /* compressstorev16qi_mask */
15824 :
15825 : case E_V32QImode:
15826 : if (pattern916 (x3,
15827 : E_SImode,
15828 : E_V32QImode) != 0
15829 : || !(
15830 : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15831 : (TARGET_AVX512VBMI2) &&
15832 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15833 : (TARGET_AVX512VL)))
15834 : return -1;
15835 : return 9992; /* compressstorev32qi_mask */
15836 :
15837 : case E_V32HImode:
15838 : if (pattern916 (x3,
15839 : E_SImode,
15840 : E_V32HImode) != 0
15841 : || !
15842 : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15843 : (TARGET_AVX512VBMI2))
15844 : return -1;
15845 : return 9993; /* compressstorev32hi_mask */
15846 :
15847 : case E_V16HImode:
15848 : if (pattern916 (x3,
15849 : E_HImode,
15850 : E_V16HImode) != 0
15851 : || !(
15852 : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15853 : (TARGET_AVX512VBMI2) &&
15854 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15855 : (TARGET_AVX512VL)))
15856 : return -1;
15857 : return 9994; /* compressstorev16hi_mask */
15858 :
15859 : case E_V8HImode:
15860 : if (pattern916 (x3,
15861 : E_QImode,
15862 : E_V8HImode) != 0
15863 : || !(
15864 : #line 30395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15865 : (TARGET_AVX512VBMI2) &&
15866 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15867 : (TARGET_AVX512VL)))
15868 : return -1;
15869 : return 9995; /* compressstorev8hi_mask */
15870 :
15871 : default:
15872 : return -1;
15873 : }
15874 : }
15875 :
15876 : int
15877 : recog_263 (rtx x1 ATTRIBUTE_UNUSED,
15878 : rtx_insn *insn ATTRIBUTE_UNUSED,
15879 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15880 : {
15881 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15882 : rtx x2, x3, x4, x5, x6;
15883 : int res ATTRIBUTE_UNUSED;
15884 : x2 = XEXP (x1, 0);
15885 : operands[0] = x2;
15886 : x3 = XEXP (x1, 1);
15887 : x4 = XVECEXP (x3, 0, 0);
15888 : operands[1] = x4;
15889 : x5 = XVECEXP (x3, 0, 1);
15890 : operands[2] = x5;
15891 : x6 = XVECEXP (x3, 0, 2);
15892 : operands[3] = x6;
15893 : if (!const_int_operand (operands[3], E_SImode))
15894 : return -1;
15895 : switch (GET_MODE (operands[0]))
15896 : {
15897 : case E_V16QImode:
15898 : if (pattern64 (x3,
15899 : E_V16QImode) != 0
15900 : || !
15901 : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15902 : (TARGET_XOP))
15903 : return -1;
15904 : return 9128; /* xop_pcom_tfv16qi3 */
15905 :
15906 : case E_V8HImode:
15907 : if (pattern64 (x3,
15908 : E_V8HImode) != 0
15909 : || !
15910 : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15911 : (TARGET_XOP))
15912 : return -1;
15913 : return 9129; /* xop_pcom_tfv8hi3 */
15914 :
15915 : case E_V4SImode:
15916 : if (pattern64 (x3,
15917 : E_V4SImode) != 0
15918 : || !
15919 : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15920 : (TARGET_XOP))
15921 : return -1;
15922 : return 9130; /* xop_pcom_tfv4si3 */
15923 :
15924 : case E_V2DImode:
15925 : if (pattern64 (x3,
15926 : E_V2DImode) != 0
15927 : || !
15928 : #line 27758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15929 : (TARGET_XOP))
15930 : return -1;
15931 : return 9131; /* xop_pcom_tfv2di3 */
15932 :
15933 : default:
15934 : return -1;
15935 : }
15936 : }
15937 :
15938 : int
15939 : recog_265 (rtx x1 ATTRIBUTE_UNUSED,
15940 : rtx_insn *insn ATTRIBUTE_UNUSED,
15941 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15942 : {
15943 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15944 : rtx x2, x3, x4, x5, x6;
15945 : int res ATTRIBUTE_UNUSED;
15946 : x2 = XEXP (x1, 0);
15947 : operands[0] = x2;
15948 : x3 = XEXP (x1, 1);
15949 : x4 = XVECEXP (x3, 0, 0);
15950 : operands[1] = x4;
15951 : x5 = XVECEXP (x3, 0, 1);
15952 : operands[2] = x5;
15953 : x6 = XVECEXP (x3, 0, 2);
15954 : operands[3] = x6;
15955 : if (!const_0_to_255_operand (operands[3], E_SImode))
15956 : return -1;
15957 : switch (GET_MODE (operands[0]))
15958 : {
15959 : case E_V32QImode:
15960 : if (pattern158 (x3,
15961 : E_V32QImode) != 0)
15962 : return -1;
15963 : if ((
15964 : #line 24143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15965 : (TARGET_SSE4_1) &&
15966 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15967 : (TARGET_AVX2)))
15968 : return 8765; /* avx2_mpsadbw */
15969 : if (!(
15970 : #line 24177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15971 : (TARGET_AVX10_2) &&
15972 : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15973 : (TARGET_AVX)))
15974 : return -1;
15975 : return 8769; /* *avx2_mpsadbw */
15976 :
15977 : case E_V16QImode:
15978 : if (pattern158 (x3,
15979 : E_V16QImode) != 0)
15980 : return -1;
15981 : if (
15982 : #line 24143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15983 : (TARGET_SSE4_1))
15984 : return 8766; /* sse4_1_mpsadbw */
15985 : if (!
15986 : #line 24177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15987 : (TARGET_AVX10_2))
15988 : return -1;
15989 : return 8771; /* *sse4_1_mpsadbw */
15990 :
15991 : case E_V64QImode:
15992 : if (pattern158 (x3,
15993 : E_V64QImode) != 0
15994 : || !
15995 : #line 24165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15996 : (TARGET_AVX10_2))
15997 : return -1;
15998 : return 8767; /* avx10_2_mpsadbw */
15999 :
16000 : default:
16001 : return -1;
16002 : }
16003 : }
16004 :
16005 : int
16006 : recog_271 (rtx x1 ATTRIBUTE_UNUSED,
16007 : rtx_insn *insn ATTRIBUTE_UNUSED,
16008 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16009 : {
16010 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16011 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16012 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16013 : rtx x18;
16014 : int res ATTRIBUTE_UNUSED;
16015 : x2 = XEXP (x1, 1);
16016 : x3 = XEXP (x2, 1);
16017 : x4 = XEXP (x3, 1);
16018 : if (GET_CODE (x4) != PARALLEL)
16019 : return -1;
16020 : x5 = XEXP (x2, 0);
16021 : operands[2] = x5;
16022 : x6 = XEXP (x3, 0);
16023 : operands[1] = x6;
16024 : switch (XVECLEN (x4, 0))
16025 : {
16026 : case 2:
16027 : x7 = XVECEXP (x4, 0, 0);
16028 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
16029 : return -1;
16030 : x8 = XVECEXP (x4, 0, 1);
16031 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
16032 : return -1;
16033 : switch (GET_MODE (operands[0]))
16034 : {
16035 : case E_V4SFmode:
16036 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
16037 : || GET_MODE (x2) != E_V4SFmode
16038 : || !nonimmediate_operand (operands[2], E_V2SFmode)
16039 : || GET_MODE (x3) != E_V2SFmode
16040 : || !nonimmediate_operand (operands[1], E_V4SFmode)
16041 : || !
16042 : #line 12004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16043 : (TARGET_SSE))
16044 : return -1;
16045 : return 5292; /* sse_loadlps */
16046 :
16047 : case E_V4DImode:
16048 : if (pattern1237 (x2,
16049 : E_V4DImode,
16050 : E_V2DImode) != 0
16051 : || !
16052 : #line 29135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16053 : (TARGET_AVX && 1))
16054 : return -1;
16055 : return 9536; /* vec_set_lo_v4di */
16056 :
16057 : case E_V4DFmode:
16058 : if (pattern1237 (x2,
16059 : E_V4DFmode,
16060 : E_V2DFmode) != 0
16061 : || !
16062 : #line 29135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16063 : (TARGET_AVX && 1))
16064 : return -1;
16065 : return 9538; /* vec_set_lo_v4df */
16066 :
16067 : default:
16068 : return -1;
16069 : }
16070 :
16071 : case 1:
16072 : x7 = XVECEXP (x4, 0, 0);
16073 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
16074 : || !nonimmediate_operand (operands[0], E_V2DFmode)
16075 : || GET_MODE (x2) != E_V2DFmode
16076 : || !nonimmediate_operand (operands[2], E_DFmode)
16077 : || GET_MODE (x3) != E_DFmode
16078 : || !nonimm_or_0_operand (operands[1], E_V2DFmode)
16079 : || !
16080 : #line 15112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16081 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16082 : return -1;
16083 : return 7252; /* sse2_loadlpd */
16084 :
16085 : case 8:
16086 : x7 = XVECEXP (x4, 0, 0);
16087 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
16088 : return -1;
16089 : x8 = XVECEXP (x4, 0, 1);
16090 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
16091 : return -1;
16092 : x9 = XVECEXP (x4, 0, 2);
16093 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 10]
16094 : || pattern1238 (x4,
16095 : 15,
16096 : 14,
16097 : 13,
16098 : 12,
16099 : 11) != 0)
16100 : return -1;
16101 : switch (GET_MODE (operands[0]))
16102 : {
16103 : case E_V16SFmode:
16104 : if (pattern1237 (x2,
16105 : E_V16SFmode,
16106 : E_V8SFmode) != 0
16107 : || !
16108 : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16109 : (TARGET_AVX512DQ))
16110 : return -1;
16111 : return 8442; /* vec_set_lo_v16sf */
16112 :
16113 : case E_V16SImode:
16114 : if (pattern1237 (x2,
16115 : E_V16SImode,
16116 : E_V8SImode) != 0
16117 : || !
16118 : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16119 : (TARGET_AVX512DQ))
16120 : return -1;
16121 : return 8444; /* vec_set_lo_v16si */
16122 :
16123 : case E_V16HImode:
16124 : if (pattern1237 (x2,
16125 : E_V16HImode,
16126 : E_V8HImode) != 0
16127 : || !
16128 : #line 29232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16129 : (TARGET_AVX))
16130 : return -1;
16131 : return 9552; /* vec_set_lo_v16hi */
16132 :
16133 : case E_V16HFmode:
16134 : if (pattern1237 (x2,
16135 : E_V16HFmode,
16136 : E_V8HFmode) != 0
16137 : || !
16138 : #line 29232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16139 : (TARGET_AVX))
16140 : return -1;
16141 : return 9553; /* vec_set_lo_v16hf */
16142 :
16143 : case E_V16BFmode:
16144 : if (pattern1237 (x2,
16145 : E_V16BFmode,
16146 : E_V8BFmode) != 0
16147 : || !
16148 : #line 29232 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16149 : (TARGET_AVX))
16150 : return -1;
16151 : return 9554; /* vec_set_lo_v16bf */
16152 :
16153 : default:
16154 : return -1;
16155 : }
16156 :
16157 : case 4:
16158 : x7 = XVECEXP (x4, 0, 0);
16159 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
16160 : return -1;
16161 : x8 = XVECEXP (x4, 0, 1);
16162 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
16163 : return -1;
16164 : x9 = XVECEXP (x4, 0, 2);
16165 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
16166 : return -1;
16167 : x10 = XVECEXP (x4, 0, 3);
16168 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
16169 : return -1;
16170 : switch (GET_MODE (operands[0]))
16171 : {
16172 : case E_V8DFmode:
16173 : if (pattern1237 (x2,
16174 : E_V8DFmode,
16175 : E_V4DFmode) != 0
16176 : || !
16177 : #line 20465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16178 : (TARGET_AVX512F))
16179 : return -1;
16180 : return 8450; /* vec_set_lo_v8df */
16181 :
16182 : case E_V8DImode:
16183 : if (pattern1237 (x2,
16184 : E_V8DImode,
16185 : E_V4DImode) != 0
16186 : || !
16187 : #line 20465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16188 : (TARGET_AVX512F))
16189 : return -1;
16190 : return 8452; /* vec_set_lo_v8di */
16191 :
16192 : case E_V8SImode:
16193 : if (pattern1237 (x2,
16194 : E_V8SImode,
16195 : E_V4SImode) != 0
16196 : || !
16197 : #line 29184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16198 : (TARGET_AVX))
16199 : return -1;
16200 : return 9544; /* vec_set_lo_v8si */
16201 :
16202 : case E_V8SFmode:
16203 : if (pattern1237 (x2,
16204 : E_V8SFmode,
16205 : E_V4SFmode) != 0
16206 : || !
16207 : #line 29184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16208 : (TARGET_AVX))
16209 : return -1;
16210 : return 9546; /* vec_set_lo_v8sf */
16211 :
16212 : default:
16213 : return -1;
16214 : }
16215 :
16216 : case 16:
16217 : x7 = XVECEXP (x4, 0, 0);
16218 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 16])
16219 : return -1;
16220 : x8 = XVECEXP (x4, 0, 1);
16221 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 17])
16222 : return -1;
16223 : x9 = XVECEXP (x4, 0, 2);
16224 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 18]
16225 : || pattern1238 (x4,
16226 : 23,
16227 : 22,
16228 : 21,
16229 : 20,
16230 : 19) != 0)
16231 : return -1;
16232 : x11 = XVECEXP (x4, 0, 8);
16233 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 24])
16234 : return -1;
16235 : x12 = XVECEXP (x4, 0, 9);
16236 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 25])
16237 : return -1;
16238 : x13 = XVECEXP (x4, 0, 10);
16239 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 26])
16240 : return -1;
16241 : x14 = XVECEXP (x4, 0, 11);
16242 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 27])
16243 : return -1;
16244 : x15 = XVECEXP (x4, 0, 12);
16245 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 28])
16246 : return -1;
16247 : x16 = XVECEXP (x4, 0, 13);
16248 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 29])
16249 : return -1;
16250 : x17 = XVECEXP (x4, 0, 14);
16251 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 30])
16252 : return -1;
16253 : x18 = XVECEXP (x4, 0, 15);
16254 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 31]
16255 : || pattern1237 (x2,
16256 : E_V32QImode,
16257 : E_V16QImode) != 0
16258 : || !
16259 : #line 29280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16260 : (TARGET_AVX))
16261 : return -1;
16262 : return 9558; /* vec_set_lo_v32qi */
16263 :
16264 : default:
16265 : return -1;
16266 : }
16267 : }
16268 :
16269 : int
16270 : recog_276 (rtx x1 ATTRIBUTE_UNUSED,
16271 : rtx_insn *insn ATTRIBUTE_UNUSED,
16272 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16273 : {
16274 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16275 : rtx x2, x3, x4;
16276 : int res ATTRIBUTE_UNUSED;
16277 : x2 = XEXP (x1, 1);
16278 : operands[3] = x2;
16279 : x3 = XEXP (x2, 0);
16280 : operands[1] = x3;
16281 : x4 = XEXP (x2, 1);
16282 : operands[2] = x4;
16283 : switch (GET_MODE (operands[0]))
16284 : {
16285 : case E_V8SFmode:
16286 : if (pattern803 (
16287 : E_V8SFmode) != 0)
16288 : return -1;
16289 : if ((
16290 : #line 4556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16291 : (TARGET_SSE
16292 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
16293 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16294 : (TARGET_AVX)))
16295 : return 3312; /* *avx_maskcmpv8sf3_comm */
16296 : if (!(
16297 : #line 4573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16298 : (TARGET_SSE) &&
16299 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16300 : (TARGET_AVX)))
16301 : return -1;
16302 : return 3316; /* avx_maskcmpv8sf3 */
16303 :
16304 : case E_V4SFmode:
16305 : if (pattern803 (
16306 : E_V4SFmode) != 0)
16307 : return -1;
16308 : if (
16309 : #line 4556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16310 : (TARGET_SSE
16311 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE))
16312 : return 3313; /* *sse_maskcmpv4sf3_comm */
16313 : if (!
16314 : #line 4573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16315 : (TARGET_SSE))
16316 : return -1;
16317 : return 3317; /* sse_maskcmpv4sf3 */
16318 :
16319 : case E_V4DFmode:
16320 : if (pattern803 (
16321 : E_V4DFmode) != 0)
16322 : return -1;
16323 : if ((
16324 : #line 4556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16325 : (TARGET_SSE
16326 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
16327 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16328 : (TARGET_AVX)))
16329 : return 3314; /* *avx_maskcmpv4df3_comm */
16330 : if (!(
16331 : #line 4573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16332 : (TARGET_SSE) &&
16333 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16334 : (TARGET_AVX)))
16335 : return -1;
16336 : return 3318; /* avx_maskcmpv4df3 */
16337 :
16338 : case E_V2DFmode:
16339 : if (pattern803 (
16340 : E_V2DFmode) != 0)
16341 : return -1;
16342 : if ((
16343 : #line 4556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16344 : (TARGET_SSE
16345 : && GET_RTX_CLASS (GET_CODE (operands[3])) == RTX_COMM_COMPARE) &&
16346 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16347 : (TARGET_SSE2)))
16348 : return 3315; /* *sse2_maskcmpv2df3_comm */
16349 : if (!(
16350 : #line 4573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16351 : (TARGET_SSE) &&
16352 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16353 : (TARGET_SSE2)))
16354 : return -1;
16355 : return 3319; /* sse2_maskcmpv2df3 */
16356 :
16357 : default:
16358 : return -1;
16359 : }
16360 : }
16361 :
16362 : int
16363 : recog_277 (rtx x1 ATTRIBUTE_UNUSED,
16364 : rtx_insn *insn ATTRIBUTE_UNUSED,
16365 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16366 : {
16367 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16368 : rtx x2, x3, x4, x5, x6, x7, x8;
16369 : int res ATTRIBUTE_UNUSED;
16370 : x2 = XEXP (x1, 1);
16371 : x3 = XEXP (x2, 0);
16372 : switch (GET_CODE (x3))
16373 : {
16374 : case REG:
16375 : case SUBREG:
16376 : case MEM:
16377 : operands[1] = x3;
16378 : x4 = XEXP (x2, 1);
16379 : operands[2] = x4;
16380 : switch (GET_MODE (operands[0]))
16381 : {
16382 : case E_V32QImode:
16383 : if (pattern3 (x2,
16384 : E_V32QImode) != 0
16385 : || !
16386 : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16387 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16388 : return -1;
16389 : return 7923; /* *avx2_eqv32qi3 */
16390 :
16391 : case E_V16HImode:
16392 : if (pattern3 (x2,
16393 : E_V16HImode) != 0
16394 : || !
16395 : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16396 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16397 : return -1;
16398 : return 7924; /* *avx2_eqv16hi3 */
16399 :
16400 : case E_V8SImode:
16401 : if (pattern3 (x2,
16402 : E_V8SImode) != 0
16403 : || !
16404 : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16405 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16406 : return -1;
16407 : return 7925; /* *avx2_eqv8si3 */
16408 :
16409 : case E_V4DImode:
16410 : if (pattern3 (x2,
16411 : E_V4DImode) != 0
16412 : || !
16413 : #line 18260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16414 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16415 : return -1;
16416 : return 7926; /* *avx2_eqv4di3 */
16417 :
16418 : case E_V2DImode:
16419 : if (pattern26 (x2,
16420 : E_V2DImode) != 0
16421 : || !
16422 : #line 18561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16423 : (TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16424 : return -1;
16425 : return 7989; /* *sse4_1_eqv2di3 */
16426 :
16427 : case E_V16QImode:
16428 : if (pattern26 (x2,
16429 : E_V16QImode) != 0
16430 : || !
16431 : #line 18578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16432 : (TARGET_SSE2
16433 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16434 : return -1;
16435 : return 7990; /* *sse2_eqv16qi3 */
16436 :
16437 : case E_V8HImode:
16438 : if (pattern26 (x2,
16439 : E_V8HImode) != 0
16440 : || !
16441 : #line 18578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16442 : (TARGET_SSE2
16443 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16444 : return -1;
16445 : return 7991; /* *sse2_eqv8hi3 */
16446 :
16447 : case E_V4SImode:
16448 : if (pattern26 (x2,
16449 : E_V4SImode) != 0
16450 : || !
16451 : #line 18578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16452 : (TARGET_SSE2
16453 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
16454 : return -1;
16455 : return 7992; /* *sse2_eqv4si3 */
16456 :
16457 : default:
16458 : return -1;
16459 : }
16460 :
16461 : case EQ:
16462 : x5 = XEXP (x3, 0);
16463 : if (GET_CODE (x5) != EQ)
16464 : return -1;
16465 : x6 = XEXP (x5, 0);
16466 : operands[1] = x6;
16467 : x7 = XEXP (x5, 1);
16468 : operands[2] = x7;
16469 : x8 = XEXP (x3, 1);
16470 : operands[3] = x8;
16471 : x4 = XEXP (x2, 1);
16472 : operands[4] = x4;
16473 : switch (GET_MODE (operands[0]))
16474 : {
16475 : case E_V32QImode:
16476 : if (pattern1153 (x2,
16477 : E_V32QImode) != 0
16478 : || !(
16479 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16480 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16481 : #line 584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16482 : (TARGET_AVX2)))
16483 : return -1;
16484 : return 7927; /* *eqv32qi3_2_negate */
16485 :
16486 : case E_V16QImode:
16487 : if (pattern1153 (x2,
16488 : E_V16QImode) != 0
16489 : || !
16490 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16491 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16492 : return -1;
16493 : return 7928; /* *eqv16qi3_2_negate */
16494 :
16495 : case E_V16HImode:
16496 : if (pattern1153 (x2,
16497 : E_V16HImode) != 0
16498 : || !(
16499 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16500 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16501 : #line 585 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16502 : (TARGET_AVX2)))
16503 : return -1;
16504 : return 7929; /* *eqv16hi3_2_negate */
16505 :
16506 : case E_V8HImode:
16507 : if (pattern1153 (x2,
16508 : E_V8HImode) != 0
16509 : || !
16510 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16511 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16512 : return -1;
16513 : return 7930; /* *eqv8hi3_2_negate */
16514 :
16515 : case E_V8SImode:
16516 : if (pattern1153 (x2,
16517 : E_V8SImode) != 0
16518 : || !(
16519 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16520 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16521 : #line 586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16522 : (TARGET_AVX2)))
16523 : return -1;
16524 : return 7931; /* *eqv8si3_2_negate */
16525 :
16526 : case E_V4SImode:
16527 : if (pattern1153 (x2,
16528 : E_V4SImode) != 0
16529 : || !
16530 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16531 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16532 : return -1;
16533 : return 7932; /* *eqv4si3_2_negate */
16534 :
16535 : case E_V4DImode:
16536 : if (pattern1153 (x2,
16537 : E_V4DImode) != 0
16538 : || !(
16539 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16540 : (TARGET_SSE4_1 && ix86_pre_reload_split ()) &&
16541 : #line 587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16542 : (TARGET_AVX2)))
16543 : return -1;
16544 : return 7933; /* *eqv4di3_2_negate */
16545 :
16546 : case E_V2DImode:
16547 : if (pattern1153 (x2,
16548 : E_V2DImode) != 0
16549 : || !
16550 : #line 18280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16551 : (TARGET_SSE4_1 && ix86_pre_reload_split ()))
16552 : return -1;
16553 : return 7934; /* *eqv2di3_2_negate */
16554 :
16555 : default:
16556 : return -1;
16557 : }
16558 :
16559 : default:
16560 : return -1;
16561 : }
16562 : }
16563 :
16564 : int
16565 : recog_281 (rtx x1 ATTRIBUTE_UNUSED,
16566 : rtx_insn *insn ATTRIBUTE_UNUSED,
16567 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16568 : {
16569 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16570 : rtx x2, x3, x4, x5, x6, x7;
16571 : int res ATTRIBUTE_UNUSED;
16572 : x2 = XEXP (x1, 1);
16573 : x3 = XEXP (x2, 1);
16574 : x4 = XVECEXP (x3, 0, 0);
16575 : if (GET_CODE (x4) != CONST_INT)
16576 : return -1;
16577 : x5 = XVECEXP (x3, 0, 1);
16578 : if (GET_CODE (x5) == CONST_INT)
16579 : {
16580 : res = recog_279 (x1, insn, pnum_clobbers);
16581 : if (res >= 0)
16582 : return res;
16583 : }
16584 : operands[3] = x4;
16585 : res = recog_280 (x1, insn, pnum_clobbers);
16586 : if (res >= 0)
16587 : return res;
16588 : if (GET_CODE (x5) != CONST_INT)
16589 : return -1;
16590 : x6 = XVECEXP (x3, 0, 2);
16591 : if (GET_CODE (x6) != CONST_INT)
16592 : return -1;
16593 : x7 = XVECEXP (x3, 0, 3);
16594 : if (GET_CODE (x7) != CONST_INT
16595 : || pattern1323 (x2,
16596 : E_V4SImode,
16597 : E_V8SImode) != 0)
16598 : return -1;
16599 : switch (XWINT (x4, 0))
16600 : {
16601 : case 2L:
16602 : if (XWINT (x5, 0) != 6L
16603 : || XWINT (x6, 0) != 3L
16604 : || XWINT (x7, 0) != 7L
16605 : || !
16606 : #line 20097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16607 : (TARGET_SSE2 && 1))
16608 : return -1;
16609 : return 8416; /* vec_interleave_highv4si */
16610 :
16611 : case 0L:
16612 : if (XWINT (x5, 0) != 4L
16613 : || XWINT (x6, 0) != 1L
16614 : || XWINT (x7, 0) != 5L
16615 : || !
16616 : #line 20151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16617 : (TARGET_SSE2 && 1))
16618 : return -1;
16619 : return 8422; /* vec_interleave_lowv4si */
16620 :
16621 : default:
16622 : return -1;
16623 : }
16624 : }
16625 :
16626 : int
16627 : recog_284 (rtx x1 ATTRIBUTE_UNUSED,
16628 : rtx_insn *insn ATTRIBUTE_UNUSED,
16629 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16630 : {
16631 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16632 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16633 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16634 : rtx x18, x19, x20, x21;
16635 : int res ATTRIBUTE_UNUSED;
16636 : x2 = XEXP (x1, 1);
16637 : x3 = XEXP (x2, 1);
16638 : if (pattern931 (x3) != 0)
16639 : return -1;
16640 : x4 = XVECEXP (x3, 0, 0);
16641 : switch (XWINT (x4, 0))
16642 : {
16643 : case 2L:
16644 : x5 = XVECEXP (x3, 0, 1);
16645 : if (XWINT (x5, 0) != 18L)
16646 : return -1;
16647 : x6 = XVECEXP (x3, 0, 2);
16648 : if (XWINT (x6, 0) != 3L)
16649 : return -1;
16650 : x7 = XVECEXP (x3, 0, 3);
16651 : if (XWINT (x7, 0) != 19L
16652 : || pattern1860 (x3) != 0)
16653 : return -1;
16654 : x8 = XVECEXP (x3, 0, 8);
16655 : if (XWINT (x8, 0) != 10L)
16656 : return -1;
16657 : x9 = XVECEXP (x3, 0, 9);
16658 : if (XWINT (x9, 0) != 26L)
16659 : return -1;
16660 : x10 = XVECEXP (x3, 0, 10);
16661 : if (XWINT (x10, 0) != 11L)
16662 : return -1;
16663 : x11 = XVECEXP (x3, 0, 11);
16664 : if (XWINT (x11, 0) != 27L
16665 : || pattern1895 (x2) != 0)
16666 : return -1;
16667 : switch (GET_MODE (operands[0]))
16668 : {
16669 : case E_V16SFmode:
16670 : if (pattern1425 (x2,
16671 : E_V16SFmode,
16672 : E_V32SFmode) != 0
16673 : || !
16674 : #line 11481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16675 : (TARGET_AVX512F))
16676 : return -1;
16677 : return 5260; /* *avx512f_unpckhps512 */
16678 :
16679 : case E_V16SImode:
16680 : if (pattern1425 (x2,
16681 : E_V16SImode,
16682 : E_V32SImode) != 0
16683 : || !
16684 : #line 20082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16685 : (TARGET_AVX512F))
16686 : return -1;
16687 : return 8414; /* *avx512f_interleave_highv16si */
16688 :
16689 : default:
16690 : return -1;
16691 : }
16692 :
16693 : case 0L:
16694 : x5 = XVECEXP (x3, 0, 1);
16695 : switch (XWINT (x5, 0))
16696 : {
16697 : case 16L:
16698 : x6 = XVECEXP (x3, 0, 2);
16699 : if (XWINT (x6, 0) != 1L)
16700 : return -1;
16701 : x7 = XVECEXP (x3, 0, 3);
16702 : if (XWINT (x7, 0) != 17L)
16703 : return -1;
16704 : x12 = XEXP (x2, 0);
16705 : x13 = XEXP (x12, 1);
16706 : operands[2] = x13;
16707 : x14 = XVECEXP (x3, 0, 4);
16708 : switch (XWINT (x14, 0))
16709 : {
16710 : case 4L:
16711 : x15 = XVECEXP (x3, 0, 5);
16712 : if (XWINT (x15, 0) != 20L)
16713 : return -1;
16714 : x16 = XVECEXP (x3, 0, 6);
16715 : if (XWINT (x16, 0) != 5L)
16716 : return -1;
16717 : x17 = XVECEXP (x3, 0, 7);
16718 : if (XWINT (x17, 0) != 21L)
16719 : return -1;
16720 : x8 = XVECEXP (x3, 0, 8);
16721 : if (XWINT (x8, 0) != 8L)
16722 : return -1;
16723 : x9 = XVECEXP (x3, 0, 9);
16724 : if (XWINT (x9, 0) != 24L)
16725 : return -1;
16726 : x10 = XVECEXP (x3, 0, 10);
16727 : if (XWINT (x10, 0) != 9L)
16728 : return -1;
16729 : x11 = XVECEXP (x3, 0, 11);
16730 : if (XWINT (x11, 0) != 25L)
16731 : return -1;
16732 : x18 = XVECEXP (x3, 0, 12);
16733 : if (XWINT (x18, 0) != 12L)
16734 : return -1;
16735 : x19 = XVECEXP (x3, 0, 13);
16736 : if (XWINT (x19, 0) != 28L)
16737 : return -1;
16738 : x20 = XVECEXP (x3, 0, 14);
16739 : if (XWINT (x20, 0) != 13L)
16740 : return -1;
16741 : x21 = XVECEXP (x3, 0, 15);
16742 : if (XWINT (x21, 0) != 29L)
16743 : return -1;
16744 : switch (GET_MODE (operands[0]))
16745 : {
16746 : case E_V16SFmode:
16747 : if (pattern1425 (x2,
16748 : E_V16SFmode,
16749 : E_V32SFmode) != 0
16750 : || !
16751 : #line 11569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16752 : (TARGET_AVX512F))
16753 : return -1;
16754 : return 5266; /* *avx512f_unpcklps512 */
16755 :
16756 : case E_V16SImode:
16757 : if (pattern1425 (x2,
16758 : E_V16SImode,
16759 : E_V32SImode) != 0
16760 : || !
16761 : #line 20137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16762 : (TARGET_AVX512F))
16763 : return -1;
16764 : return 8420; /* *avx512f_interleave_lowv16si */
16765 :
16766 : default:
16767 : return -1;
16768 : }
16769 :
16770 : case 2L:
16771 : x15 = XVECEXP (x3, 0, 5);
16772 : if (XWINT (x15, 0) != 18L)
16773 : return -1;
16774 : x16 = XVECEXP (x3, 0, 6);
16775 : if (XWINT (x16, 0) != 3L)
16776 : return -1;
16777 : x17 = XVECEXP (x3, 0, 7);
16778 : if (XWINT (x17, 0) != 19L)
16779 : return -1;
16780 : x8 = XVECEXP (x3, 0, 8);
16781 : switch (XWINT (x8, 0))
16782 : {
16783 : case 4L:
16784 : x9 = XVECEXP (x3, 0, 9);
16785 : if (XWINT (x9, 0) != 20L)
16786 : return -1;
16787 : x10 = XVECEXP (x3, 0, 10);
16788 : if (XWINT (x10, 0) != 5L)
16789 : return -1;
16790 : x11 = XVECEXP (x3, 0, 11);
16791 : if (XWINT (x11, 0) != 21L)
16792 : return -1;
16793 : x18 = XVECEXP (x3, 0, 12);
16794 : if (XWINT (x18, 0) != 6L)
16795 : return -1;
16796 : x19 = XVECEXP (x3, 0, 13);
16797 : if (XWINT (x19, 0) != 22L)
16798 : return -1;
16799 : x20 = XVECEXP (x3, 0, 14);
16800 : if (XWINT (x20, 0) != 7L)
16801 : return -1;
16802 : x21 = XVECEXP (x3, 0, 15);
16803 : if (XWINT (x21, 0) != 23L
16804 : || pattern1494 (x2,
16805 : E_V16QImode,
16806 : E_V32QImode) != 0
16807 : || !
16808 : #line 19906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16809 : (TARGET_SSE2 && 1 && 1))
16810 : return -1;
16811 : return 8374; /* vec_interleave_lowv16qi */
16812 :
16813 : case 8L:
16814 : x9 = XVECEXP (x3, 0, 9);
16815 : if (XWINT (x9, 0) != 24L)
16816 : return -1;
16817 : x10 = XVECEXP (x3, 0, 10);
16818 : if (XWINT (x10, 0) != 9L)
16819 : return -1;
16820 : x11 = XVECEXP (x3, 0, 11);
16821 : if (XWINT (x11, 0) != 25L)
16822 : return -1;
16823 : x18 = XVECEXP (x3, 0, 12);
16824 : if (XWINT (x18, 0) != 10L)
16825 : return -1;
16826 : x19 = XVECEXP (x3, 0, 13);
16827 : if (XWINT (x19, 0) != 26L)
16828 : return -1;
16829 : x20 = XVECEXP (x3, 0, 14);
16830 : if (XWINT (x20, 0) != 11L)
16831 : return -1;
16832 : x21 = XVECEXP (x3, 0, 15);
16833 : if (XWINT (x21, 0) != 27L)
16834 : return -1;
16835 : switch (GET_MODE (operands[0]))
16836 : {
16837 : case E_V16HImode:
16838 : if (pattern1425 (x2,
16839 : E_V16HImode,
16840 : E_V32HImode) != 0
16841 : || !
16842 : #line 20026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16843 : (TARGET_AVX2 && 1 && 1))
16844 : return -1;
16845 : return 8400; /* avx2_interleave_lowv16hi */
16846 :
16847 : case E_V16HFmode:
16848 : if (pattern1425 (x2,
16849 : E_V16HFmode,
16850 : E_V32HFmode) != 0
16851 : || !
16852 : #line 20026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16853 : (TARGET_AVX2 && 1 && 1))
16854 : return -1;
16855 : return 8402; /* avx2_interleave_lowv16hf */
16856 :
16857 : case E_V16BFmode:
16858 : if (pattern1425 (x2,
16859 : E_V16BFmode,
16860 : E_V32BFmode) != 0
16861 : || !
16862 : #line 20026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16863 : (TARGET_AVX2 && 1 && 1))
16864 : return -1;
16865 : return 8404; /* avx2_interleave_lowv16bf */
16866 :
16867 : default:
16868 : return -1;
16869 : }
16870 :
16871 : default:
16872 : return -1;
16873 : }
16874 :
16875 : default:
16876 : return -1;
16877 : }
16878 :
16879 : case 0L:
16880 : if (pattern1677 (x3) != 0)
16881 : return -1;
16882 : x8 = XVECEXP (x3, 0, 8);
16883 : if (XWINT (x8, 0) != 8L)
16884 : return -1;
16885 : x9 = XVECEXP (x3, 0, 9);
16886 : if (XWINT (x9, 0) != 8L)
16887 : return -1;
16888 : x10 = XVECEXP (x3, 0, 10);
16889 : if (XWINT (x10, 0) != 10L)
16890 : return -1;
16891 : x11 = XVECEXP (x3, 0, 11);
16892 : if (XWINT (x11, 0) != 10L)
16893 : return -1;
16894 : x18 = XVECEXP (x3, 0, 12);
16895 : if (XWINT (x18, 0) != 12L)
16896 : return -1;
16897 : x19 = XVECEXP (x3, 0, 13);
16898 : if (XWINT (x19, 0) != 12L)
16899 : return -1;
16900 : x20 = XVECEXP (x3, 0, 14);
16901 : if (XWINT (x20, 0) != 14L)
16902 : return -1;
16903 : x21 = XVECEXP (x3, 0, 15);
16904 : if (XWINT (x21, 0) != 14L
16905 : || pattern1813 (x2,
16906 : E_V16SFmode,
16907 : E_V32SFmode) != 0
16908 : || !
16909 : #line 11762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16910 : (TARGET_AVX512F))
16911 : return -1;
16912 : return 5282; /* *avx512f_movsldup512 */
16913 :
16914 : default:
16915 : return -1;
16916 : }
16917 :
16918 : case 1L:
16919 : x5 = XVECEXP (x3, 0, 1);
16920 : if (XWINT (x5, 0) != 1L)
16921 : return -1;
16922 : x6 = XVECEXP (x3, 0, 2);
16923 : if (XWINT (x6, 0) != 3L)
16924 : return -1;
16925 : x7 = XVECEXP (x3, 0, 3);
16926 : if (XWINT (x7, 0) != 3L)
16927 : return -1;
16928 : x14 = XVECEXP (x3, 0, 4);
16929 : if (XWINT (x14, 0) != 5L)
16930 : return -1;
16931 : x15 = XVECEXP (x3, 0, 5);
16932 : if (XWINT (x15, 0) != 5L)
16933 : return -1;
16934 : x16 = XVECEXP (x3, 0, 6);
16935 : if (XWINT (x16, 0) != 7L)
16936 : return -1;
16937 : x17 = XVECEXP (x3, 0, 7);
16938 : if (XWINT (x17, 0) != 7L)
16939 : return -1;
16940 : x8 = XVECEXP (x3, 0, 8);
16941 : if (XWINT (x8, 0) != 9L)
16942 : return -1;
16943 : x9 = XVECEXP (x3, 0, 9);
16944 : if (XWINT (x9, 0) != 9L)
16945 : return -1;
16946 : x10 = XVECEXP (x3, 0, 10);
16947 : if (XWINT (x10, 0) != 11L)
16948 : return -1;
16949 : x11 = XVECEXP (x3, 0, 11);
16950 : if (XWINT (x11, 0) != 11L)
16951 : return -1;
16952 : x18 = XVECEXP (x3, 0, 12);
16953 : if (XWINT (x18, 0) != 13L)
16954 : return -1;
16955 : x19 = XVECEXP (x3, 0, 13);
16956 : if (XWINT (x19, 0) != 13L)
16957 : return -1;
16958 : x20 = XVECEXP (x3, 0, 14);
16959 : if (XWINT (x20, 0) != 15L)
16960 : return -1;
16961 : x21 = XVECEXP (x3, 0, 15);
16962 : if (XWINT (x21, 0) != 15L
16963 : || pattern1813 (x2,
16964 : E_V16SFmode,
16965 : E_V32SFmode) != 0
16966 : || !
16967 : #line 11709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16968 : (TARGET_AVX512F))
16969 : return -1;
16970 : return 5276; /* *avx512f_movshdup512 */
16971 :
16972 : case 8L:
16973 : x5 = XVECEXP (x3, 0, 1);
16974 : if (XWINT (x5, 0) != 24L)
16975 : return -1;
16976 : x6 = XVECEXP (x3, 0, 2);
16977 : if (XWINT (x6, 0) != 9L)
16978 : return -1;
16979 : x7 = XVECEXP (x3, 0, 3);
16980 : if (XWINT (x7, 0) != 25L)
16981 : return -1;
16982 : x14 = XVECEXP (x3, 0, 4);
16983 : if (XWINT (x14, 0) != 10L)
16984 : return -1;
16985 : x15 = XVECEXP (x3, 0, 5);
16986 : if (XWINT (x15, 0) != 26L)
16987 : return -1;
16988 : x16 = XVECEXP (x3, 0, 6);
16989 : if (XWINT (x16, 0) != 11L)
16990 : return -1;
16991 : x17 = XVECEXP (x3, 0, 7);
16992 : if (XWINT (x17, 0) != 27L
16993 : || pattern1880 (x3) != 0)
16994 : return -1;
16995 : x18 = XVECEXP (x3, 0, 12);
16996 : if (XWINT (x18, 0) != 14L)
16997 : return -1;
16998 : x19 = XVECEXP (x3, 0, 13);
16999 : if (XWINT (x19, 0) != 30L)
17000 : return -1;
17001 : x20 = XVECEXP (x3, 0, 14);
17002 : if (XWINT (x20, 0) != 15L)
17003 : return -1;
17004 : x21 = XVECEXP (x3, 0, 15);
17005 : if (XWINT (x21, 0) != 31L
17006 : || pattern1323 (x2,
17007 : E_V16QImode,
17008 : E_V32QImode) != 0
17009 : || !
17010 : #line 19810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17011 : (TARGET_SSE2 && 1 && 1))
17012 : return -1;
17013 : return 8368; /* vec_interleave_highv16qi */
17014 :
17015 : case 4L:
17016 : x5 = XVECEXP (x3, 0, 1);
17017 : if (XWINT (x5, 0) != 20L)
17018 : return -1;
17019 : x6 = XVECEXP (x3, 0, 2);
17020 : if (XWINT (x6, 0) != 5L)
17021 : return -1;
17022 : x7 = XVECEXP (x3, 0, 3);
17023 : if (XWINT (x7, 0) != 21L
17024 : || pattern1860 (x3) != 0
17025 : || pattern1880 (x3) != 0
17026 : || pattern1895 (x2) != 0)
17027 : return -1;
17028 : switch (GET_MODE (operands[0]))
17029 : {
17030 : case E_V16HImode:
17031 : if (pattern1425 (x2,
17032 : E_V16HImode,
17033 : E_V32HImode) != 0
17034 : || !
17035 : #line 19958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17036 : (TARGET_AVX2 && 1 && 1))
17037 : return -1;
17038 : return 8382; /* avx2_interleave_highv16hi */
17039 :
17040 : case E_V16HFmode:
17041 : if (pattern1425 (x2,
17042 : E_V16HFmode,
17043 : E_V32HFmode) != 0
17044 : || !
17045 : #line 19958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17046 : (TARGET_AVX2 && 1 && 1))
17047 : return -1;
17048 : return 8384; /* avx2_interleave_highv16hf */
17049 :
17050 : case E_V16BFmode:
17051 : if (pattern1425 (x2,
17052 : E_V16BFmode,
17053 : E_V32BFmode) != 0
17054 : || !
17055 : #line 19958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17056 : (TARGET_AVX2 && 1 && 1))
17057 : return -1;
17058 : return 8386; /* avx2_interleave_highv16bf */
17059 :
17060 : default:
17061 : return -1;
17062 : }
17063 :
17064 : default:
17065 : return -1;
17066 : }
17067 : }
17068 :
17069 : int
17070 : recog_291 (rtx x1 ATTRIBUTE_UNUSED,
17071 : rtx_insn *insn ATTRIBUTE_UNUSED,
17072 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17073 : {
17074 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17075 : rtx x2, x3, x4, x5, x6;
17076 : int res ATTRIBUTE_UNUSED;
17077 : x2 = XEXP (x1, 1);
17078 : x3 = XEXP (x2, 1);
17079 : x4 = XVECEXP (x3, 0, 1);
17080 : operands[3] = x4;
17081 : x5 = XVECEXP (x3, 0, 2);
17082 : operands[4] = x5;
17083 : x6 = XVECEXP (x3, 0, 3);
17084 : operands[5] = x6;
17085 : switch (GET_MODE (operands[0]))
17086 : {
17087 : case E_V4SFmode:
17088 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
17089 : || GET_MODE (x2) != E_V4SFmode
17090 : || pattern1495 (
17091 : E_V16SFmode) != 0
17092 : || !
17093 : #line 12848 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17094 : (TARGET_AVX512F
17095 : && INTVAL (operands[2]) % 4 == 0
17096 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17097 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
17098 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
17099 : return -1;
17100 : return 5356; /* *avx512f_vextractf32x4_1 */
17101 :
17102 : case E_V4SImode:
17103 : if (GET_MODE (x2) != E_V4SImode)
17104 : return -1;
17105 : if (nonimmediate_operand (operands[0], E_V4SImode)
17106 : && pattern1495 (
17107 : E_V16SImode) == 0
17108 : &&
17109 : #line 12848 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17110 : (TARGET_AVX512F
17111 : && INTVAL (operands[2]) % 4 == 0
17112 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
17113 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
17114 : && INTVAL (operands[4]) == INTVAL (operands[5]) - 1))
17115 : return 5357; /* *avx512f_vextracti32x4_1 */
17116 : if (!register_operand (operands[0], E_V4SImode)
17117 : || !vector_operand (operands[1], E_V4SImode)
17118 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
17119 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
17120 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
17121 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
17122 : || !
17123 : #line 21030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17124 : (TARGET_SSE2 && 1))
17125 : return -1;
17126 : return 8486; /* sse2_pshufd_1 */
17127 :
17128 : default:
17129 : return -1;
17130 : }
17131 : }
17132 :
17133 : int
17134 : recog_293 (rtx x1 ATTRIBUTE_UNUSED,
17135 : rtx_insn *insn ATTRIBUTE_UNUSED,
17136 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17137 : {
17138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17139 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
17140 : rtx x10, x11;
17141 : int res ATTRIBUTE_UNUSED;
17142 : x2 = XEXP (x1, 1);
17143 : x3 = XEXP (x2, 1);
17144 : if (pattern930 (x3) != 0)
17145 : return -1;
17146 : x4 = XVECEXP (x3, 0, 0);
17147 : switch (XWINT (x4, 0))
17148 : {
17149 : case 8L:
17150 : x5 = XVECEXP (x3, 0, 1);
17151 : if (XWINT (x5, 0) != 9L)
17152 : return -1;
17153 : x6 = XVECEXP (x3, 0, 2);
17154 : if (XWINT (x6, 0) != 10L)
17155 : return -1;
17156 : x7 = XVECEXP (x3, 0, 3);
17157 : if (XWINT (x7, 0) != 11L)
17158 : return -1;
17159 : x8 = XVECEXP (x3, 0, 4);
17160 : if (XWINT (x8, 0) != 12L)
17161 : return -1;
17162 : x9 = XVECEXP (x3, 0, 5);
17163 : if (XWINT (x9, 0) != 13L)
17164 : return -1;
17165 : x10 = XVECEXP (x3, 0, 6);
17166 : if (XWINT (x10, 0) != 14L)
17167 : return -1;
17168 : x11 = XVECEXP (x3, 0, 7);
17169 : if (XWINT (x11, 0) != 15L)
17170 : return -1;
17171 : switch (GET_MODE (operands[0]))
17172 : {
17173 : case E_V8SFmode:
17174 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
17175 : || GET_MODE (x2) != E_V8SFmode
17176 : || !register_operand (operands[1], E_V16SFmode)
17177 : || !
17178 : #line 13032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17179 : (TARGET_AVX512F))
17180 : return -1;
17181 : return 5368; /* vec_extract_hi_v16sf */
17182 :
17183 : case E_V8SImode:
17184 : if (!nonimmediate_operand (operands[0], E_V8SImode)
17185 : || GET_MODE (x2) != E_V8SImode
17186 : || !register_operand (operands[1], E_V16SImode)
17187 : || !
17188 : #line 13032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17189 : (TARGET_AVX512F))
17190 : return -1;
17191 : return 5369; /* vec_extract_hi_v16si */
17192 :
17193 : case E_V8HImode:
17194 : if (!nonimmediate_operand (operands[0], E_V8HImode)
17195 : || GET_MODE (x2) != E_V8HImode
17196 : || !register_operand (operands[1], E_V16HImode)
17197 : || !
17198 : #line 13420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17199 : (TARGET_AVX))
17200 : return -1;
17201 : return 5399; /* vec_extract_hi_v16hi */
17202 :
17203 : case E_V8HFmode:
17204 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
17205 : || GET_MODE (x2) != E_V8HFmode
17206 : || !register_operand (operands[1], E_V16HFmode)
17207 : || !
17208 : #line 13420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17209 : (TARGET_AVX))
17210 : return -1;
17211 : return 5400; /* vec_extract_hi_v16hf */
17212 :
17213 : case E_V8BFmode:
17214 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
17215 : || GET_MODE (x2) != E_V8BFmode
17216 : || !register_operand (operands[1], E_V16BFmode)
17217 : || !
17218 : #line 13420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17219 : (TARGET_AVX))
17220 : return -1;
17221 : return 5401; /* vec_extract_hi_v16bf */
17222 :
17223 : default:
17224 : return -1;
17225 : }
17226 :
17227 : case 0L:
17228 : x5 = XVECEXP (x3, 0, 1);
17229 : if (XWINT (x5, 0) != 1L)
17230 : return -1;
17231 : x6 = XVECEXP (x3, 0, 2);
17232 : if (XWINT (x6, 0) != 2L)
17233 : return -1;
17234 : x7 = XVECEXP (x3, 0, 3);
17235 : if (XWINT (x7, 0) != 3L)
17236 : return -1;
17237 : x8 = XVECEXP (x3, 0, 4);
17238 : if (XWINT (x8, 0) != 4L)
17239 : return -1;
17240 : x9 = XVECEXP (x3, 0, 5);
17241 : if (XWINT (x9, 0) != 5L)
17242 : return -1;
17243 : x10 = XVECEXP (x3, 0, 6);
17244 : if (XWINT (x10, 0) != 6L)
17245 : return -1;
17246 : x11 = XVECEXP (x3, 0, 7);
17247 : if (XWINT (x11, 0) != 7L)
17248 : return -1;
17249 : switch (pattern1545 (x2))
17250 : {
17251 : case 0:
17252 : if (!
17253 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17254 : (TARGET_AVX512F
17255 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17256 : return -1;
17257 : return 5372; /* vec_extract_lo_v16sf */
17258 :
17259 : case 1:
17260 : if (!
17261 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17262 : (TARGET_AVX512F
17263 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17264 : return -1;
17265 : return 5373; /* vec_extract_lo_v16si */
17266 :
17267 : case 2:
17268 : if (!
17269 : #line 13406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17270 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17271 : return -1;
17272 : return 5396; /* vec_extract_lo_v16hi */
17273 :
17274 : case 3:
17275 : if (!
17276 : #line 13406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17277 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17278 : return -1;
17279 : return 5397; /* vec_extract_lo_v16hf */
17280 :
17281 : case 4:
17282 : if (!
17283 : #line 13406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17284 : (TARGET_AVX && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
17285 : return -1;
17286 : return 5398; /* vec_extract_lo_v16bf */
17287 :
17288 : default:
17289 : return -1;
17290 : }
17291 :
17292 : default:
17293 : return -1;
17294 : }
17295 : }
17296 :
17297 : int
17298 : recog_305 (rtx x1 ATTRIBUTE_UNUSED,
17299 : rtx_insn *insn ATTRIBUTE_UNUSED,
17300 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17301 : {
17302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17303 : rtx x2, x3, x4;
17304 : int res ATTRIBUTE_UNUSED;
17305 : x2 = XEXP (x1, 1);
17306 : x3 = XEXP (x2, 0);
17307 : operands[1] = x3;
17308 : x4 = XEXP (x2, 1);
17309 : operands[2] = x4;
17310 : switch (GET_MODE (operands[0]))
17311 : {
17312 : case E_V16BFmode:
17313 : if (GET_MODE (x2) != E_V16BFmode)
17314 : return -1;
17315 : if (register_operand (operands[0], E_V16BFmode)
17316 : && vector_operand (operands[1], E_V16BFmode)
17317 : && vector_operand (operands[2], E_V16BFmode)
17318 : && (
17319 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17320 : (TARGET_SSE && 1
17321 : && (!false || 16 != 16)
17322 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17323 : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17324 : (TARGET_AVX)))
17325 : return 3783; /* *andv16bf3 */
17326 : if (!nonimmediate_operand (operands[0], E_V16BFmode)
17327 : || !nonimmediate_operand (operands[1], E_V16BFmode)
17328 : || !float_vector_all_ones_operand (operands[2], E_V16BFmode)
17329 : || !(
17330 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17331 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17332 : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17333 : (TARGET_AVX)))
17334 : return -1;
17335 : return 3838; /* *bit_and_float_vector_all_ones */
17336 :
17337 : case E_V8BFmode:
17338 : if (GET_MODE (x2) != E_V8BFmode)
17339 : return -1;
17340 : if (register_operand (operands[0], E_V8BFmode)
17341 : && vector_operand (operands[1], E_V8BFmode)
17342 : && vector_operand (operands[2], E_V8BFmode)
17343 : && (
17344 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17345 : (TARGET_SSE && 1
17346 : && (!false || 16 != 16)
17347 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17348 : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17349 : (TARGET_SSE2)))
17350 : return 3786; /* *andv8bf3 */
17351 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
17352 : || !nonimmediate_operand (operands[1], E_V8BFmode)
17353 : || !float_vector_all_ones_operand (operands[2], E_V8BFmode)
17354 : || !(
17355 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17356 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17357 : #line 416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17358 : (TARGET_SSE2)))
17359 : return -1;
17360 : return 3839; /* *bit_and_float_vector_all_ones */
17361 :
17362 : case E_V16HFmode:
17363 : if (GET_MODE (x2) != E_V16HFmode)
17364 : return -1;
17365 : if (register_operand (operands[0], E_V16HFmode)
17366 : && vector_operand (operands[1], E_V16HFmode)
17367 : && vector_operand (operands[2], E_V16HFmode)
17368 : && (
17369 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17370 : (TARGET_SSE && 1
17371 : && (!false || 16 != 16)
17372 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17373 : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17374 : (TARGET_AVX)))
17375 : return 3789; /* *andv16hf3 */
17376 : if (!nonimmediate_operand (operands[0], E_V16HFmode)
17377 : || !nonimmediate_operand (operands[1], E_V16HFmode)
17378 : || !float_vector_all_ones_operand (operands[2], E_V16HFmode)
17379 : || !(
17380 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17381 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17382 : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17383 : (TARGET_AVX)))
17384 : return -1;
17385 : return 3841; /* *bit_and_float_vector_all_ones */
17386 :
17387 : case E_V8HFmode:
17388 : if (GET_MODE (x2) != E_V8HFmode)
17389 : return -1;
17390 : if (register_operand (operands[0], E_V8HFmode)
17391 : && vector_operand (operands[1], E_V8HFmode)
17392 : && vector_operand (operands[2], E_V8HFmode)
17393 : && (
17394 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17395 : (TARGET_SSE && 1
17396 : && (!false || 16 != 16)
17397 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17398 : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17399 : (TARGET_SSE2)))
17400 : return 3792; /* *andv8hf3 */
17401 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
17402 : || !nonimmediate_operand (operands[1], E_V8HFmode)
17403 : || !float_vector_all_ones_operand (operands[2], E_V8HFmode)
17404 : || !(
17405 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17406 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17407 : #line 418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17408 : (TARGET_SSE2)))
17409 : return -1;
17410 : return 3842; /* *bit_and_float_vector_all_ones */
17411 :
17412 : case E_V8SFmode:
17413 : if (GET_MODE (x2) != E_V8SFmode)
17414 : return -1;
17415 : if (register_operand (operands[0], E_V8SFmode)
17416 : && vector_operand (operands[1], E_V8SFmode)
17417 : && vector_operand (operands[2], E_V8SFmode)
17418 : && (
17419 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17420 : (TARGET_SSE && 1
17421 : && (!false || 32 != 16)
17422 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17423 : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17424 : (TARGET_AVX)))
17425 : return 3795; /* *andv8sf3 */
17426 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
17427 : || !nonimmediate_operand (operands[1], E_V8SFmode)
17428 : || !float_vector_all_ones_operand (operands[2], E_V8SFmode)
17429 : || !(
17430 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17431 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17432 : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17433 : (TARGET_AVX)))
17434 : return -1;
17435 : return 3844; /* *bit_and_float_vector_all_ones */
17436 :
17437 : case E_V4SFmode:
17438 : if (GET_MODE (x2) != E_V4SFmode)
17439 : return -1;
17440 : if (register_operand (operands[0], E_V4SFmode)
17441 : && vector_operand (operands[1], E_V4SFmode)
17442 : && vector_operand (operands[2], E_V4SFmode)
17443 : &&
17444 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17445 : (TARGET_SSE && 1
17446 : && (!false || 32 != 16)
17447 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17448 : return 3801; /* *andv4sf3 */
17449 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
17450 : || !nonimmediate_operand (operands[1], E_V4SFmode)
17451 : || !float_vector_all_ones_operand (operands[2], E_V4SFmode)
17452 : || !
17453 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17454 : (TARGET_SSE && ix86_pre_reload_split ()))
17455 : return -1;
17456 : return 3845; /* *bit_and_float_vector_all_ones */
17457 :
17458 : case E_V4DFmode:
17459 : if (GET_MODE (x2) != E_V4DFmode)
17460 : return -1;
17461 : if (register_operand (operands[0], E_V4DFmode)
17462 : && vector_operand (operands[1], E_V4DFmode)
17463 : && vector_operand (operands[2], E_V4DFmode)
17464 : && (
17465 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17466 : (TARGET_SSE && 1
17467 : && (!false || 64 != 16)
17468 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17469 : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17470 : (TARGET_AVX)))
17471 : return 3807; /* *andv4df3 */
17472 : if (!nonimmediate_operand (operands[0], E_V4DFmode)
17473 : || !nonimmediate_operand (operands[1], E_V4DFmode)
17474 : || !float_vector_all_ones_operand (operands[2], E_V4DFmode)
17475 : || !(
17476 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17477 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17478 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17479 : (TARGET_AVX)))
17480 : return -1;
17481 : return 3847; /* *bit_and_float_vector_all_ones */
17482 :
17483 : case E_V2DFmode:
17484 : if (GET_MODE (x2) != E_V2DFmode)
17485 : return -1;
17486 : if (register_operand (operands[0], E_V2DFmode)
17487 : && vector_operand (operands[1], E_V2DFmode)
17488 : && vector_operand (operands[2], E_V2DFmode)
17489 : && (
17490 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17491 : (TARGET_SSE && 1
17492 : && (!false || 64 != 16)
17493 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17494 : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17495 : (TARGET_SSE2)))
17496 : return 3813; /* *andv2df3 */
17497 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
17498 : || !nonimmediate_operand (operands[1], E_V2DFmode)
17499 : || !float_vector_all_ones_operand (operands[2], E_V2DFmode)
17500 : || !(
17501 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17502 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17503 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17504 : (TARGET_SSE2)))
17505 : return -1;
17506 : return 3848; /* *bit_and_float_vector_all_ones */
17507 :
17508 : case E_V32BFmode:
17509 : if (GET_MODE (x2) != E_V32BFmode
17510 : || !nonimmediate_operand (operands[1], E_V32BFmode))
17511 : return -1;
17512 : if (register_operand (operands[0], E_V32BFmode)
17513 : && nonimmediate_operand (operands[2], E_V32BFmode)
17514 : &&
17515 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17516 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17517 : && (!false || 16 != 16)))
17518 : return 3819; /* *andv32bf3 */
17519 : if (!nonimmediate_operand (operands[0], E_V32BFmode)
17520 : || !float_vector_all_ones_operand (operands[2], E_V32BFmode)
17521 : || !(
17522 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17523 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17524 : #line 415 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17525 : (TARGET_AVX512F)))
17526 : return -1;
17527 : return 3837; /* *bit_and_float_vector_all_ones */
17528 :
17529 : case E_V32HFmode:
17530 : if (GET_MODE (x2) != E_V32HFmode
17531 : || !nonimmediate_operand (operands[1], E_V32HFmode))
17532 : return -1;
17533 : if (register_operand (operands[0], E_V32HFmode)
17534 : && nonimmediate_operand (operands[2], E_V32HFmode)
17535 : &&
17536 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17537 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17538 : && (!false || 16 != 16)))
17539 : return 3822; /* *andv32hf3 */
17540 : if (!nonimmediate_operand (operands[0], E_V32HFmode)
17541 : || !float_vector_all_ones_operand (operands[2], E_V32HFmode)
17542 : || !(
17543 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17544 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17545 : #line 417 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17546 : (TARGET_AVX512F)))
17547 : return -1;
17548 : return 3840; /* *bit_and_float_vector_all_ones */
17549 :
17550 : case E_V16SFmode:
17551 : if (GET_MODE (x2) != E_V16SFmode
17552 : || !nonimmediate_operand (operands[1], E_V16SFmode))
17553 : return -1;
17554 : if (register_operand (operands[0], E_V16SFmode)
17555 : && nonimmediate_operand (operands[2], E_V16SFmode)
17556 : &&
17557 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17558 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17559 : && (!false || 32 != 16)))
17560 : return 3825; /* *andv16sf3 */
17561 : if (!nonimmediate_operand (operands[0], E_V16SFmode)
17562 : || !float_vector_all_ones_operand (operands[2], E_V16SFmode)
17563 : || !(
17564 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17565 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17566 : #line 419 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17567 : (TARGET_AVX512F)))
17568 : return -1;
17569 : return 3843; /* *bit_and_float_vector_all_ones */
17570 :
17571 : case E_V8DFmode:
17572 : if (GET_MODE (x2) != E_V8DFmode
17573 : || !nonimmediate_operand (operands[1], E_V8DFmode))
17574 : return -1;
17575 : if (register_operand (operands[0], E_V8DFmode)
17576 : && nonimmediate_operand (operands[2], E_V8DFmode)
17577 : &&
17578 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17579 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17580 : && (!false || 64 != 16)))
17581 : return 3831; /* *andv8df3 */
17582 : if (!nonimmediate_operand (operands[0], E_V8DFmode)
17583 : || !float_vector_all_ones_operand (operands[2], E_V8DFmode)
17584 : || !(
17585 : #line 5825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17586 : (TARGET_SSE && ix86_pre_reload_split ()) &&
17587 : #line 420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17588 : (TARGET_AVX512F)))
17589 : return -1;
17590 : return 3846; /* *bit_and_float_vector_all_ones */
17591 :
17592 : case E_V16SImode:
17593 : if (pattern189 (x2,
17594 : E_V16SImode) != 0
17595 : || !(
17596 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17597 : (TARGET_SSE && 1
17598 : && ix86_binary_operator_ok (AND, V16SImode, operands)) &&
17599 : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17600 : (TARGET_AVX512F)))
17601 : return -1;
17602 : return 8049; /* *andv16si3 */
17603 :
17604 : case E_V8SImode:
17605 : if (pattern189 (x2,
17606 : E_V8SImode) != 0
17607 : || !(
17608 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17609 : (TARGET_SSE && 1
17610 : && ix86_binary_operator_ok (AND, V8SImode, operands)) &&
17611 : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17612 : (TARGET_AVX)))
17613 : return -1;
17614 : return 8055; /* *andv8si3 */
17615 :
17616 : case E_V4SImode:
17617 : if (pattern189 (x2,
17618 : E_V4SImode) != 0
17619 : || !
17620 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17621 : (TARGET_SSE && 1
17622 : && ix86_binary_operator_ok (AND, V4SImode, operands)))
17623 : return -1;
17624 : return 8061; /* *andv4si3 */
17625 :
17626 : case E_V8DImode:
17627 : if (pattern189 (x2,
17628 : E_V8DImode) != 0
17629 : || !(
17630 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17631 : (TARGET_SSE && 1
17632 : && ix86_binary_operator_ok (AND, V8DImode, operands)) &&
17633 : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17634 : (TARGET_AVX512F)))
17635 : return -1;
17636 : return 8067; /* *andv8di3 */
17637 :
17638 : case E_V4DImode:
17639 : if (pattern189 (x2,
17640 : E_V4DImode) != 0
17641 : || !(
17642 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17643 : (TARGET_SSE && 1
17644 : && ix86_binary_operator_ok (AND, V4DImode, operands)) &&
17645 : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17646 : (TARGET_AVX)))
17647 : return -1;
17648 : return 8073; /* *andv4di3 */
17649 :
17650 : case E_V2DImode:
17651 : if (pattern189 (x2,
17652 : E_V2DImode) != 0
17653 : || !
17654 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17655 : (TARGET_SSE && 1
17656 : && ix86_binary_operator_ok (AND, V2DImode, operands)))
17657 : return -1;
17658 : return 8079; /* *andv2di3 */
17659 :
17660 : case E_V64QImode:
17661 : if (pattern26 (x2,
17662 : E_V64QImode) != 0
17663 : || !(
17664 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17665 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17666 : #line 803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17667 : (TARGET_AVX512F)))
17668 : return -1;
17669 : return 8085; /* *andv64qi3 */
17670 :
17671 : case E_V32QImode:
17672 : if (pattern26 (x2,
17673 : E_V32QImode) != 0
17674 : || !(
17675 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17676 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17677 : #line 803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17678 : (TARGET_AVX)))
17679 : return -1;
17680 : return 8088; /* *andv32qi3 */
17681 :
17682 : case E_V16QImode:
17683 : if (pattern26 (x2,
17684 : E_V16QImode) != 0
17685 : || !
17686 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17687 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17688 : return -1;
17689 : return 8091; /* *andv16qi3 */
17690 :
17691 : case E_V32HImode:
17692 : if (pattern26 (x2,
17693 : E_V32HImode) != 0
17694 : || !(
17695 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17696 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17697 : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17698 : (TARGET_AVX512F)))
17699 : return -1;
17700 : return 8094; /* *andv32hi3 */
17701 :
17702 : case E_V16HImode:
17703 : if (pattern26 (x2,
17704 : E_V16HImode) != 0
17705 : || !(
17706 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17707 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17708 : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17709 : (TARGET_AVX)))
17710 : return -1;
17711 : return 8097; /* *andv16hi3 */
17712 :
17713 : case E_V8HImode:
17714 : if (pattern26 (x2,
17715 : E_V8HImode) != 0
17716 : || !
17717 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17718 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17719 : return -1;
17720 : return 8100; /* *andv8hi3 */
17721 :
17722 : case E_V1TImode:
17723 : if (pattern680 (x2,
17724 : E_V1TImode) != 0
17725 : || !
17726 : #line 19268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17727 : (TARGET_SSE2))
17728 : return -1;
17729 : return 8103; /* andv1ti3 */
17730 :
17731 : default:
17732 : return -1;
17733 : }
17734 : }
17735 :
17736 : int
17737 : recog_314 (rtx x1 ATTRIBUTE_UNUSED,
17738 : rtx_insn *insn ATTRIBUTE_UNUSED,
17739 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17740 : {
17741 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17742 : rtx x2, x3, x4;
17743 : int res ATTRIBUTE_UNUSED;
17744 : x2 = XEXP (x1, 1);
17745 : x3 = XEXP (x2, 0);
17746 : x4 = XEXP (x3, 0);
17747 : switch (GET_CODE (x4))
17748 : {
17749 : case REG:
17750 : case SUBREG:
17751 : case MEM:
17752 : case NOT:
17753 : switch (pattern541 (x2))
17754 : {
17755 : case 0:
17756 : if (!(
17757 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17758 : ((64 == 64 || TARGET_AVX512VL
17759 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17760 : && ix86_pre_reload_split ()
17761 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17762 : STRIP_UNARY (operands[4]))
17763 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17764 : STRIP_UNARY (operands[4]))
17765 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17766 : STRIP_UNARY (operands[3]))
17767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17768 : STRIP_UNARY (operands[3])))) &&
17769 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17770 : (TARGET_AVX512F)))
17771 : return -1;
17772 : return 5880; /* *avx512bw_vpternlogv32hf_1 */
17773 :
17774 : case 1:
17775 : if (!(
17776 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17777 : ((32 == 64 || TARGET_AVX512VL
17778 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17779 : && ix86_pre_reload_split ()
17780 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17781 : STRIP_UNARY (operands[4]))
17782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17783 : STRIP_UNARY (operands[4]))
17784 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17785 : STRIP_UNARY (operands[3]))
17786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17787 : STRIP_UNARY (operands[3])))) &&
17788 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17789 : (TARGET_AVX)))
17790 : return -1;
17791 : return 5907; /* *avx512vl_vpternlogv16hf_1 */
17792 :
17793 : case 2:
17794 : if (!
17795 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17796 : ((16 == 64 || TARGET_AVX512VL
17797 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17798 : && ix86_pre_reload_split ()
17799 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17800 : STRIP_UNARY (operands[4]))
17801 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17802 : STRIP_UNARY (operands[4]))
17803 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17804 : STRIP_UNARY (operands[3]))
17805 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17806 : STRIP_UNARY (operands[3])))))
17807 : return -1;
17808 : return 5934; /* *avx512fp16_vpternlogv8hf_1 */
17809 :
17810 : case 3:
17811 : if (!(
17812 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17813 : ((64 == 64 || TARGET_AVX512VL
17814 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17815 : && ix86_pre_reload_split ()
17816 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17817 : STRIP_UNARY (operands[4]))
17818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17819 : STRIP_UNARY (operands[4]))
17820 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17821 : STRIP_UNARY (operands[3]))
17822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17823 : STRIP_UNARY (operands[3])))) &&
17824 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17825 : (TARGET_AVX512F)))
17826 : return -1;
17827 : return 5961; /* *avx512bw_vpternlogv32bf_1 */
17828 :
17829 : case 4:
17830 : if (!(
17831 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17832 : ((32 == 64 || TARGET_AVX512VL
17833 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17834 : && ix86_pre_reload_split ()
17835 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17836 : STRIP_UNARY (operands[4]))
17837 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17838 : STRIP_UNARY (operands[4]))
17839 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17840 : STRIP_UNARY (operands[3]))
17841 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17842 : STRIP_UNARY (operands[3])))) &&
17843 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17844 : (TARGET_AVX)))
17845 : return -1;
17846 : return 5988; /* *avx512vl_vpternlogv16bf_1 */
17847 :
17848 : case 5:
17849 : if (!
17850 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17851 : ((16 == 64 || TARGET_AVX512VL
17852 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17853 : && ix86_pre_reload_split ()
17854 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17855 : STRIP_UNARY (operands[4]))
17856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17857 : STRIP_UNARY (operands[4]))
17858 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17859 : STRIP_UNARY (operands[3]))
17860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17861 : STRIP_UNARY (operands[3])))))
17862 : return -1;
17863 : return 6015; /* *avx512vl_vpternlogv8bf_1 */
17864 :
17865 : case 6:
17866 : if (!(
17867 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17868 : ((64 == 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 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17880 : (TARGET_AVX512F)))
17881 : return -1;
17882 : return 6042; /* *avx512f_vpternlogv16sf_1 */
17883 :
17884 : case 7:
17885 : if (!(
17886 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17887 : ((32 == 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 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17899 : (TARGET_AVX)))
17900 : return -1;
17901 : return 6069; /* *avx512vl_vpternlogv8sf_1 */
17902 :
17903 : case 8:
17904 : if (!
17905 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17906 : ((16 == 64 || TARGET_AVX512VL
17907 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17908 : && ix86_pre_reload_split ()
17909 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17910 : STRIP_UNARY (operands[4]))
17911 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17912 : STRIP_UNARY (operands[4]))
17913 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17914 : STRIP_UNARY (operands[3]))
17915 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17916 : STRIP_UNARY (operands[3])))))
17917 : return -1;
17918 : return 6096; /* *avx512vl_vpternlogv4sf_1 */
17919 :
17920 : case 9:
17921 : if (!(
17922 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17923 : ((64 == 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 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17935 : (TARGET_AVX512F)))
17936 : return -1;
17937 : return 6123; /* *avx512f_vpternlogv8df_1 */
17938 :
17939 : case 10:
17940 : if (!(
17941 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17942 : ((32 == 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 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17954 : (TARGET_AVX)))
17955 : return -1;
17956 : return 6150; /* *avx512vl_vpternlogv4df_1 */
17957 :
17958 : case 11:
17959 : if (!(
17960 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17961 : ((16 == 64 || TARGET_AVX512VL
17962 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17963 : && ix86_pre_reload_split ()
17964 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17965 : STRIP_UNARY (operands[4]))
17966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17967 : STRIP_UNARY (operands[4]))
17968 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17969 : STRIP_UNARY (operands[3]))
17970 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17971 : STRIP_UNARY (operands[3])))) &&
17972 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17973 : (TARGET_SSE2)))
17974 : return -1;
17975 : return 6177; /* *avx512vl_vpternlogv2df_1 */
17976 :
17977 : case 12:
17978 : if (!(
17979 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17980 : ((64 == 64 || TARGET_AVX512VL
17981 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17982 : && ix86_pre_reload_split ()
17983 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17984 : STRIP_UNARY (operands[4]))
17985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17986 : STRIP_UNARY (operands[4]))
17987 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17988 : STRIP_UNARY (operands[3]))
17989 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17990 : STRIP_UNARY (operands[3])))) &&
17991 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17992 : (TARGET_AVX512F)))
17993 : return -1;
17994 : return 5883; /* *avx512bw_vpternlogv32hf_1 */
17995 :
17996 : case 13:
17997 : if (!(
17998 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17999 : ((32 == 64 || TARGET_AVX512VL
18000 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18001 : && ix86_pre_reload_split ()
18002 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18003 : STRIP_UNARY (operands[4]))
18004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18005 : STRIP_UNARY (operands[4]))
18006 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18007 : STRIP_UNARY (operands[3]))
18008 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18009 : STRIP_UNARY (operands[3])))) &&
18010 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18011 : (TARGET_AVX)))
18012 : return -1;
18013 : return 5910; /* *avx512vl_vpternlogv16hf_1 */
18014 :
18015 : case 14:
18016 : if (!
18017 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18018 : ((16 == 64 || TARGET_AVX512VL
18019 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18020 : && ix86_pre_reload_split ()
18021 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18022 : STRIP_UNARY (operands[4]))
18023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18024 : STRIP_UNARY (operands[4]))
18025 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18026 : STRIP_UNARY (operands[3]))
18027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18028 : STRIP_UNARY (operands[3])))))
18029 : return -1;
18030 : return 5937; /* *avx512fp16_vpternlogv8hf_1 */
18031 :
18032 : case 15:
18033 : if (!(
18034 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18035 : ((64 == 64 || TARGET_AVX512VL
18036 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18037 : && ix86_pre_reload_split ()
18038 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18039 : STRIP_UNARY (operands[4]))
18040 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18041 : STRIP_UNARY (operands[4]))
18042 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18043 : STRIP_UNARY (operands[3]))
18044 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18045 : STRIP_UNARY (operands[3])))) &&
18046 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18047 : (TARGET_AVX512F)))
18048 : return -1;
18049 : return 5964; /* *avx512bw_vpternlogv32bf_1 */
18050 :
18051 : case 16:
18052 : if (!(
18053 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18054 : ((32 == 64 || TARGET_AVX512VL
18055 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18056 : && ix86_pre_reload_split ()
18057 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18058 : STRIP_UNARY (operands[4]))
18059 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18060 : STRIP_UNARY (operands[4]))
18061 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18062 : STRIP_UNARY (operands[3]))
18063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18064 : STRIP_UNARY (operands[3])))) &&
18065 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18066 : (TARGET_AVX)))
18067 : return -1;
18068 : return 5991; /* *avx512vl_vpternlogv16bf_1 */
18069 :
18070 : case 17:
18071 : if (!
18072 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18073 : ((16 == 64 || TARGET_AVX512VL
18074 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18075 : && ix86_pre_reload_split ()
18076 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18077 : STRIP_UNARY (operands[4]))
18078 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18079 : STRIP_UNARY (operands[4]))
18080 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18081 : STRIP_UNARY (operands[3]))
18082 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18083 : STRIP_UNARY (operands[3])))))
18084 : return -1;
18085 : return 6018; /* *avx512vl_vpternlogv8bf_1 */
18086 :
18087 : case 18:
18088 : if (!(
18089 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18090 : ((64 == 64 || TARGET_AVX512VL
18091 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18092 : && ix86_pre_reload_split ()
18093 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18094 : STRIP_UNARY (operands[4]))
18095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18096 : STRIP_UNARY (operands[4]))
18097 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18098 : STRIP_UNARY (operands[3]))
18099 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18100 : STRIP_UNARY (operands[3])))) &&
18101 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18102 : (TARGET_AVX512F)))
18103 : return -1;
18104 : return 6045; /* *avx512f_vpternlogv16sf_1 */
18105 :
18106 : case 19:
18107 : if (!(
18108 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18109 : ((32 == 64 || TARGET_AVX512VL
18110 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18111 : && ix86_pre_reload_split ()
18112 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18113 : STRIP_UNARY (operands[4]))
18114 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18115 : STRIP_UNARY (operands[4]))
18116 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18117 : STRIP_UNARY (operands[3]))
18118 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18119 : STRIP_UNARY (operands[3])))) &&
18120 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18121 : (TARGET_AVX)))
18122 : return -1;
18123 : return 6072; /* *avx512vl_vpternlogv8sf_1 */
18124 :
18125 : case 20:
18126 : if (!
18127 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18128 : ((16 == 64 || TARGET_AVX512VL
18129 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18130 : && ix86_pre_reload_split ()
18131 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18132 : STRIP_UNARY (operands[4]))
18133 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18134 : STRIP_UNARY (operands[4]))
18135 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18136 : STRIP_UNARY (operands[3]))
18137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18138 : STRIP_UNARY (operands[3])))))
18139 : return -1;
18140 : return 6099; /* *avx512vl_vpternlogv4sf_1 */
18141 :
18142 : case 21:
18143 : if (!(
18144 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18145 : ((64 == 64 || TARGET_AVX512VL
18146 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18147 : && ix86_pre_reload_split ()
18148 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18149 : STRIP_UNARY (operands[4]))
18150 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18151 : STRIP_UNARY (operands[4]))
18152 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18153 : STRIP_UNARY (operands[3]))
18154 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18155 : STRIP_UNARY (operands[3])))) &&
18156 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18157 : (TARGET_AVX512F)))
18158 : return -1;
18159 : return 6126; /* *avx512f_vpternlogv8df_1 */
18160 :
18161 : case 22:
18162 : if (!(
18163 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18164 : ((32 == 64 || TARGET_AVX512VL
18165 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18166 : && ix86_pre_reload_split ()
18167 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18168 : STRIP_UNARY (operands[4]))
18169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18170 : STRIP_UNARY (operands[4]))
18171 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18172 : STRIP_UNARY (operands[3]))
18173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18174 : STRIP_UNARY (operands[3])))) &&
18175 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18176 : (TARGET_AVX)))
18177 : return -1;
18178 : return 6153; /* *avx512vl_vpternlogv4df_1 */
18179 :
18180 : case 23:
18181 : if (!(
18182 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18183 : ((16 == 64 || TARGET_AVX512VL
18184 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18185 : && ix86_pre_reload_split ()
18186 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18187 : STRIP_UNARY (operands[4]))
18188 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18189 : STRIP_UNARY (operands[4]))
18190 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18191 : STRIP_UNARY (operands[3]))
18192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18193 : STRIP_UNARY (operands[3])))) &&
18194 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18195 : (TARGET_SSE2)))
18196 : return -1;
18197 : return 6180; /* *avx512vl_vpternlogv2df_1 */
18198 :
18199 : case 24:
18200 : if (!(
18201 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18202 : ((64 == 64 || TARGET_AVX512VL
18203 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18204 : && ix86_pre_reload_split ()
18205 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18206 : STRIP_UNARY (operands[4]))
18207 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18208 : STRIP_UNARY (operands[4]))
18209 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18210 : STRIP_UNARY (operands[3]))
18211 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18212 : STRIP_UNARY (operands[3])))) &&
18213 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18214 : (TARGET_AVX512F)))
18215 : return -1;
18216 : return 5886; /* *avx512bw_vpternlogv32hf_1 */
18217 :
18218 : case 25:
18219 : if (!(
18220 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18221 : ((32 == 64 || TARGET_AVX512VL
18222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18223 : && ix86_pre_reload_split ()
18224 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18225 : STRIP_UNARY (operands[4]))
18226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18227 : STRIP_UNARY (operands[4]))
18228 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18229 : STRIP_UNARY (operands[3]))
18230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18231 : STRIP_UNARY (operands[3])))) &&
18232 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18233 : (TARGET_AVX)))
18234 : return -1;
18235 : return 5913; /* *avx512vl_vpternlogv16hf_1 */
18236 :
18237 : case 26:
18238 : if (!
18239 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18240 : ((16 == 64 || TARGET_AVX512VL
18241 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18242 : && ix86_pre_reload_split ()
18243 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18244 : STRIP_UNARY (operands[4]))
18245 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18246 : STRIP_UNARY (operands[4]))
18247 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18248 : STRIP_UNARY (operands[3]))
18249 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18250 : STRIP_UNARY (operands[3])))))
18251 : return -1;
18252 : return 5940; /* *avx512fp16_vpternlogv8hf_1 */
18253 :
18254 : case 27:
18255 : if (!(
18256 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18257 : ((64 == 64 || TARGET_AVX512VL
18258 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18259 : && ix86_pre_reload_split ()
18260 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18261 : STRIP_UNARY (operands[4]))
18262 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18263 : STRIP_UNARY (operands[4]))
18264 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18265 : STRIP_UNARY (operands[3]))
18266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18267 : STRIP_UNARY (operands[3])))) &&
18268 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18269 : (TARGET_AVX512F)))
18270 : return -1;
18271 : return 5967; /* *avx512bw_vpternlogv32bf_1 */
18272 :
18273 : case 28:
18274 : if (!(
18275 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18276 : ((32 == 64 || TARGET_AVX512VL
18277 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18278 : && ix86_pre_reload_split ()
18279 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18280 : STRIP_UNARY (operands[4]))
18281 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18282 : STRIP_UNARY (operands[4]))
18283 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18284 : STRIP_UNARY (operands[3]))
18285 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18286 : STRIP_UNARY (operands[3])))) &&
18287 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18288 : (TARGET_AVX)))
18289 : return -1;
18290 : return 5994; /* *avx512vl_vpternlogv16bf_1 */
18291 :
18292 : case 29:
18293 : if (!
18294 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18295 : ((16 == 64 || TARGET_AVX512VL
18296 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18297 : && ix86_pre_reload_split ()
18298 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18299 : STRIP_UNARY (operands[4]))
18300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18301 : STRIP_UNARY (operands[4]))
18302 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18303 : STRIP_UNARY (operands[3]))
18304 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18305 : STRIP_UNARY (operands[3])))))
18306 : return -1;
18307 : return 6021; /* *avx512vl_vpternlogv8bf_1 */
18308 :
18309 : case 30:
18310 : if (!(
18311 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18312 : ((64 == 64 || TARGET_AVX512VL
18313 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18314 : && ix86_pre_reload_split ()
18315 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18316 : STRIP_UNARY (operands[4]))
18317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18318 : STRIP_UNARY (operands[4]))
18319 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18320 : STRIP_UNARY (operands[3]))
18321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18322 : STRIP_UNARY (operands[3])))) &&
18323 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18324 : (TARGET_AVX512F)))
18325 : return -1;
18326 : return 6048; /* *avx512f_vpternlogv16sf_1 */
18327 :
18328 : case 31:
18329 : if (!(
18330 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18331 : ((32 == 64 || TARGET_AVX512VL
18332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18333 : && ix86_pre_reload_split ()
18334 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18335 : STRIP_UNARY (operands[4]))
18336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18337 : STRIP_UNARY (operands[4]))
18338 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18339 : STRIP_UNARY (operands[3]))
18340 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18341 : STRIP_UNARY (operands[3])))) &&
18342 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18343 : (TARGET_AVX)))
18344 : return -1;
18345 : return 6075; /* *avx512vl_vpternlogv8sf_1 */
18346 :
18347 : case 32:
18348 : if (!
18349 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18350 : ((16 == 64 || TARGET_AVX512VL
18351 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18352 : && ix86_pre_reload_split ()
18353 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18354 : STRIP_UNARY (operands[4]))
18355 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18356 : STRIP_UNARY (operands[4]))
18357 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18358 : STRIP_UNARY (operands[3]))
18359 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18360 : STRIP_UNARY (operands[3])))))
18361 : return -1;
18362 : return 6102; /* *avx512vl_vpternlogv4sf_1 */
18363 :
18364 : case 33:
18365 : if (!(
18366 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18367 : ((64 == 64 || TARGET_AVX512VL
18368 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18369 : && ix86_pre_reload_split ()
18370 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18371 : STRIP_UNARY (operands[4]))
18372 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18373 : STRIP_UNARY (operands[4]))
18374 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18375 : STRIP_UNARY (operands[3]))
18376 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18377 : STRIP_UNARY (operands[3])))) &&
18378 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18379 : (TARGET_AVX512F)))
18380 : return -1;
18381 : return 6129; /* *avx512f_vpternlogv8df_1 */
18382 :
18383 : case 34:
18384 : if (!(
18385 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18386 : ((32 == 64 || TARGET_AVX512VL
18387 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18388 : && ix86_pre_reload_split ()
18389 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18390 : STRIP_UNARY (operands[4]))
18391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18392 : STRIP_UNARY (operands[4]))
18393 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18394 : STRIP_UNARY (operands[3]))
18395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18396 : STRIP_UNARY (operands[3])))) &&
18397 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18398 : (TARGET_AVX)))
18399 : return -1;
18400 : return 6156; /* *avx512vl_vpternlogv4df_1 */
18401 :
18402 : case 35:
18403 : if (!(
18404 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18405 : ((16 == 64 || TARGET_AVX512VL
18406 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18407 : && ix86_pre_reload_split ()
18408 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18409 : STRIP_UNARY (operands[4]))
18410 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18411 : STRIP_UNARY (operands[4]))
18412 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18413 : STRIP_UNARY (operands[3]))
18414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18415 : STRIP_UNARY (operands[3])))) &&
18416 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18417 : (TARGET_SSE2)))
18418 : return -1;
18419 : return 6183; /* *avx512vl_vpternlogv2df_1 */
18420 :
18421 : case 36:
18422 : if (!(
18423 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18424 : ((64 == 64 || TARGET_AVX512VL
18425 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18426 : && ix86_pre_reload_split ()) &&
18427 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18428 : (TARGET_AVX512F)))
18429 : return -1;
18430 : return 6948; /* *avx512bw_vpternlogv32hf_3 */
18431 :
18432 : case 37:
18433 : if (!(
18434 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18435 : ((32 == 64 || TARGET_AVX512VL
18436 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18437 : && ix86_pre_reload_split ()) &&
18438 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18439 : (TARGET_AVX)))
18440 : return -1;
18441 : return 6957; /* *avx512vl_vpternlogv16hf_3 */
18442 :
18443 : case 38:
18444 : if (!
18445 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18446 : ((16 == 64 || TARGET_AVX512VL
18447 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18448 : && ix86_pre_reload_split ()))
18449 : return -1;
18450 : return 6966; /* *avx512fp16_vpternlogv8hf_3 */
18451 :
18452 : case 39:
18453 : if (!(
18454 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18455 : ((64 == 64 || TARGET_AVX512VL
18456 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18457 : && ix86_pre_reload_split ()) &&
18458 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18459 : (TARGET_AVX512F)))
18460 : return -1;
18461 : return 6975; /* *avx512bw_vpternlogv32bf_3 */
18462 :
18463 : case 40:
18464 : if (!(
18465 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18466 : ((32 == 64 || TARGET_AVX512VL
18467 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18468 : && ix86_pre_reload_split ()) &&
18469 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18470 : (TARGET_AVX)))
18471 : return -1;
18472 : return 6984; /* *avx512vl_vpternlogv16bf_3 */
18473 :
18474 : case 41:
18475 : if (!
18476 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18477 : ((16 == 64 || TARGET_AVX512VL
18478 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18479 : && ix86_pre_reload_split ()))
18480 : return -1;
18481 : return 6993; /* *avx512vl_vpternlogv8bf_3 */
18482 :
18483 : case 42:
18484 : if (!(
18485 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18486 : ((64 == 64 || TARGET_AVX512VL
18487 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18488 : && ix86_pre_reload_split ()) &&
18489 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18490 : (TARGET_AVX512F)))
18491 : return -1;
18492 : return 7002; /* *avx512f_vpternlogv16sf_3 */
18493 :
18494 : case 43:
18495 : if (!(
18496 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18497 : ((32 == 64 || TARGET_AVX512VL
18498 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18499 : && ix86_pre_reload_split ()) &&
18500 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18501 : (TARGET_AVX)))
18502 : return -1;
18503 : return 7011; /* *avx512vl_vpternlogv8sf_3 */
18504 :
18505 : case 44:
18506 : if (!
18507 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18508 : ((16 == 64 || TARGET_AVX512VL
18509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18510 : && ix86_pre_reload_split ()))
18511 : return -1;
18512 : return 7020; /* *avx512vl_vpternlogv4sf_3 */
18513 :
18514 : case 45:
18515 : if (!(
18516 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18517 : ((64 == 64 || TARGET_AVX512VL
18518 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18519 : && ix86_pre_reload_split ()) &&
18520 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18521 : (TARGET_AVX512F)))
18522 : return -1;
18523 : return 7029; /* *avx512f_vpternlogv8df_3 */
18524 :
18525 : case 46:
18526 : if (!(
18527 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18528 : ((32 == 64 || TARGET_AVX512VL
18529 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18530 : && ix86_pre_reload_split ()) &&
18531 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18532 : (TARGET_AVX)))
18533 : return -1;
18534 : return 7038; /* *avx512vl_vpternlogv4df_3 */
18535 :
18536 : case 47:
18537 : if (!(
18538 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18539 : ((16 == 64 || TARGET_AVX512VL
18540 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18541 : && ix86_pre_reload_split ()) &&
18542 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18543 : (TARGET_SSE2)))
18544 : return -1;
18545 : return 7047; /* *avx512vl_vpternlogv2df_3 */
18546 :
18547 : default:
18548 : return -1;
18549 : }
18550 :
18551 : case AND:
18552 : switch (pattern542 (x2))
18553 : {
18554 : case 0:
18555 : if (!(
18556 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18557 : ((64 == 64 || TARGET_AVX512VL
18558 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18559 : && ix86_pre_reload_split ()
18560 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18561 : STRIP_UNARY (operands[4]))
18562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18563 : STRIP_UNARY (operands[4]))
18564 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18565 : STRIP_UNARY (operands[3]))
18566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18567 : STRIP_UNARY (operands[3])))) &&
18568 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18569 : (TARGET_AVX512F)))
18570 : return -1;
18571 : return 6528; /* *avx512bw_vpternlogv32hf_2 */
18572 :
18573 : case 1:
18574 : if (!(
18575 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18576 : ((32 == 64 || TARGET_AVX512VL
18577 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18578 : && ix86_pre_reload_split ()
18579 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18580 : STRIP_UNARY (operands[4]))
18581 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18582 : STRIP_UNARY (operands[4]))
18583 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18584 : STRIP_UNARY (operands[3]))
18585 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18586 : STRIP_UNARY (operands[3])))) &&
18587 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18588 : (TARGET_AVX)))
18589 : return -1;
18590 : return 6555; /* *avx512vl_vpternlogv16hf_2 */
18591 :
18592 : case 2:
18593 : if (!
18594 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18595 : ((16 == 64 || TARGET_AVX512VL
18596 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18597 : && ix86_pre_reload_split ()
18598 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18599 : STRIP_UNARY (operands[4]))
18600 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18601 : STRIP_UNARY (operands[4]))
18602 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18603 : STRIP_UNARY (operands[3]))
18604 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18605 : STRIP_UNARY (operands[3])))))
18606 : return -1;
18607 : return 6582; /* *avx512fp16_vpternlogv8hf_2 */
18608 :
18609 : case 3:
18610 : if (!(
18611 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18612 : ((64 == 64 || TARGET_AVX512VL
18613 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18614 : && ix86_pre_reload_split ()
18615 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18616 : STRIP_UNARY (operands[4]))
18617 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18618 : STRIP_UNARY (operands[4]))
18619 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18620 : STRIP_UNARY (operands[3]))
18621 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18622 : STRIP_UNARY (operands[3])))) &&
18623 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18624 : (TARGET_AVX512F)))
18625 : return -1;
18626 : return 6609; /* *avx512bw_vpternlogv32bf_2 */
18627 :
18628 : case 4:
18629 : if (!(
18630 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18631 : ((32 == 64 || TARGET_AVX512VL
18632 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18633 : && ix86_pre_reload_split ()
18634 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18635 : STRIP_UNARY (operands[4]))
18636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18637 : STRIP_UNARY (operands[4]))
18638 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18639 : STRIP_UNARY (operands[3]))
18640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18641 : STRIP_UNARY (operands[3])))) &&
18642 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18643 : (TARGET_AVX)))
18644 : return -1;
18645 : return 6636; /* *avx512vl_vpternlogv16bf_2 */
18646 :
18647 : case 5:
18648 : if (!
18649 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18650 : ((16 == 64 || TARGET_AVX512VL
18651 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18652 : && ix86_pre_reload_split ()
18653 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18654 : STRIP_UNARY (operands[4]))
18655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18656 : STRIP_UNARY (operands[4]))
18657 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18658 : STRIP_UNARY (operands[3]))
18659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18660 : STRIP_UNARY (operands[3])))))
18661 : return -1;
18662 : return 6663; /* *avx512vl_vpternlogv8bf_2 */
18663 :
18664 : case 6:
18665 : if (!(
18666 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18667 : ((64 == 64 || TARGET_AVX512VL
18668 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18669 : && ix86_pre_reload_split ()
18670 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18671 : STRIP_UNARY (operands[4]))
18672 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18673 : STRIP_UNARY (operands[4]))
18674 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18675 : STRIP_UNARY (operands[3]))
18676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18677 : STRIP_UNARY (operands[3])))) &&
18678 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18679 : (TARGET_AVX512F)))
18680 : return -1;
18681 : return 6690; /* *avx512f_vpternlogv16sf_2 */
18682 :
18683 : case 7:
18684 : if (!(
18685 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18686 : ((32 == 64 || TARGET_AVX512VL
18687 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18688 : && ix86_pre_reload_split ()
18689 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18690 : STRIP_UNARY (operands[4]))
18691 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18692 : STRIP_UNARY (operands[4]))
18693 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18694 : STRIP_UNARY (operands[3]))
18695 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18696 : STRIP_UNARY (operands[3])))) &&
18697 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18698 : (TARGET_AVX)))
18699 : return -1;
18700 : return 6717; /* *avx512vl_vpternlogv8sf_2 */
18701 :
18702 : case 8:
18703 : if (!
18704 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18705 : ((16 == 64 || TARGET_AVX512VL
18706 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18707 : && ix86_pre_reload_split ()
18708 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18709 : STRIP_UNARY (operands[4]))
18710 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18711 : STRIP_UNARY (operands[4]))
18712 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18713 : STRIP_UNARY (operands[3]))
18714 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18715 : STRIP_UNARY (operands[3])))))
18716 : return -1;
18717 : return 6744; /* *avx512vl_vpternlogv4sf_2 */
18718 :
18719 : case 9:
18720 : if (!(
18721 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18722 : ((64 == 64 || TARGET_AVX512VL
18723 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18724 : && ix86_pre_reload_split ()
18725 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18726 : STRIP_UNARY (operands[4]))
18727 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18728 : STRIP_UNARY (operands[4]))
18729 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18730 : STRIP_UNARY (operands[3]))
18731 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18732 : STRIP_UNARY (operands[3])))) &&
18733 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18734 : (TARGET_AVX512F)))
18735 : return -1;
18736 : return 6771; /* *avx512f_vpternlogv8df_2 */
18737 :
18738 : case 10:
18739 : if (!(
18740 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18741 : ((32 == 64 || TARGET_AVX512VL
18742 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18743 : && ix86_pre_reload_split ()
18744 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18745 : STRIP_UNARY (operands[4]))
18746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18747 : STRIP_UNARY (operands[4]))
18748 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18749 : STRIP_UNARY (operands[3]))
18750 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18751 : STRIP_UNARY (operands[3])))) &&
18752 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18753 : (TARGET_AVX)))
18754 : return -1;
18755 : return 6798; /* *avx512vl_vpternlogv4df_2 */
18756 :
18757 : case 11:
18758 : if (!(
18759 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18760 : ((16 == 64 || TARGET_AVX512VL
18761 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18762 : && ix86_pre_reload_split ()
18763 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18764 : STRIP_UNARY (operands[4]))
18765 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18766 : STRIP_UNARY (operands[4]))
18767 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18768 : STRIP_UNARY (operands[3]))
18769 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18770 : STRIP_UNARY (operands[3])))) &&
18771 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18772 : (TARGET_SSE2)))
18773 : return -1;
18774 : return 6825; /* *avx512vl_vpternlogv2df_2 */
18775 :
18776 : default:
18777 : return -1;
18778 : }
18779 :
18780 : case IOR:
18781 : switch (pattern542 (x2))
18782 : {
18783 : case 0:
18784 : if (!(
18785 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18786 : ((64 == 64 || TARGET_AVX512VL
18787 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18788 : && ix86_pre_reload_split ()
18789 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18790 : STRIP_UNARY (operands[4]))
18791 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18792 : STRIP_UNARY (operands[4]))
18793 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18794 : STRIP_UNARY (operands[3]))
18795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18796 : STRIP_UNARY (operands[3])))) &&
18797 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18798 : (TARGET_AVX512F)))
18799 : return -1;
18800 : return 6531; /* *avx512bw_vpternlogv32hf_2 */
18801 :
18802 : case 1:
18803 : if (!(
18804 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18805 : ((32 == 64 || TARGET_AVX512VL
18806 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18807 : && ix86_pre_reload_split ()
18808 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18809 : STRIP_UNARY (operands[4]))
18810 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18811 : STRIP_UNARY (operands[4]))
18812 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18813 : STRIP_UNARY (operands[3]))
18814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18815 : STRIP_UNARY (operands[3])))) &&
18816 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18817 : (TARGET_AVX)))
18818 : return -1;
18819 : return 6558; /* *avx512vl_vpternlogv16hf_2 */
18820 :
18821 : case 2:
18822 : if (!
18823 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18824 : ((16 == 64 || TARGET_AVX512VL
18825 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18826 : && ix86_pre_reload_split ()
18827 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18828 : STRIP_UNARY (operands[4]))
18829 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18830 : STRIP_UNARY (operands[4]))
18831 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18832 : STRIP_UNARY (operands[3]))
18833 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18834 : STRIP_UNARY (operands[3])))))
18835 : return -1;
18836 : return 6585; /* *avx512fp16_vpternlogv8hf_2 */
18837 :
18838 : case 3:
18839 : if (!(
18840 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18841 : ((64 == 64 || TARGET_AVX512VL
18842 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18843 : && ix86_pre_reload_split ()
18844 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18845 : STRIP_UNARY (operands[4]))
18846 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18847 : STRIP_UNARY (operands[4]))
18848 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18849 : STRIP_UNARY (operands[3]))
18850 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18851 : STRIP_UNARY (operands[3])))) &&
18852 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18853 : (TARGET_AVX512F)))
18854 : return -1;
18855 : return 6612; /* *avx512bw_vpternlogv32bf_2 */
18856 :
18857 : case 4:
18858 : if (!(
18859 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18860 : ((32 == 64 || TARGET_AVX512VL
18861 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18862 : && ix86_pre_reload_split ()
18863 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18864 : STRIP_UNARY (operands[4]))
18865 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18866 : STRIP_UNARY (operands[4]))
18867 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18868 : STRIP_UNARY (operands[3]))
18869 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18870 : STRIP_UNARY (operands[3])))) &&
18871 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18872 : (TARGET_AVX)))
18873 : return -1;
18874 : return 6639; /* *avx512vl_vpternlogv16bf_2 */
18875 :
18876 : case 5:
18877 : if (!
18878 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18879 : ((16 == 64 || TARGET_AVX512VL
18880 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18881 : && ix86_pre_reload_split ()
18882 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18883 : STRIP_UNARY (operands[4]))
18884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18885 : STRIP_UNARY (operands[4]))
18886 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18887 : STRIP_UNARY (operands[3]))
18888 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18889 : STRIP_UNARY (operands[3])))))
18890 : return -1;
18891 : return 6666; /* *avx512vl_vpternlogv8bf_2 */
18892 :
18893 : case 6:
18894 : if (!(
18895 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18896 : ((64 == 64 || TARGET_AVX512VL
18897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18898 : && ix86_pre_reload_split ()
18899 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18900 : STRIP_UNARY (operands[4]))
18901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18902 : STRIP_UNARY (operands[4]))
18903 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18904 : STRIP_UNARY (operands[3]))
18905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18906 : STRIP_UNARY (operands[3])))) &&
18907 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18908 : (TARGET_AVX512F)))
18909 : return -1;
18910 : return 6693; /* *avx512f_vpternlogv16sf_2 */
18911 :
18912 : case 7:
18913 : if (!(
18914 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18915 : ((32 == 64 || TARGET_AVX512VL
18916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18917 : && ix86_pre_reload_split ()
18918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18919 : STRIP_UNARY (operands[4]))
18920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18921 : STRIP_UNARY (operands[4]))
18922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18923 : STRIP_UNARY (operands[3]))
18924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18925 : STRIP_UNARY (operands[3])))) &&
18926 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18927 : (TARGET_AVX)))
18928 : return -1;
18929 : return 6720; /* *avx512vl_vpternlogv8sf_2 */
18930 :
18931 : case 8:
18932 : if (!
18933 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18934 : ((16 == 64 || TARGET_AVX512VL
18935 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18936 : && ix86_pre_reload_split ()
18937 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18938 : STRIP_UNARY (operands[4]))
18939 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18940 : STRIP_UNARY (operands[4]))
18941 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18942 : STRIP_UNARY (operands[3]))
18943 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18944 : STRIP_UNARY (operands[3])))))
18945 : return -1;
18946 : return 6747; /* *avx512vl_vpternlogv4sf_2 */
18947 :
18948 : case 9:
18949 : if (!(
18950 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18951 : ((64 == 64 || TARGET_AVX512VL
18952 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18953 : && ix86_pre_reload_split ()
18954 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18955 : STRIP_UNARY (operands[4]))
18956 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18957 : STRIP_UNARY (operands[4]))
18958 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18959 : STRIP_UNARY (operands[3]))
18960 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18961 : STRIP_UNARY (operands[3])))) &&
18962 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18963 : (TARGET_AVX512F)))
18964 : return -1;
18965 : return 6774; /* *avx512f_vpternlogv8df_2 */
18966 :
18967 : case 10:
18968 : if (!(
18969 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18970 : ((32 == 64 || TARGET_AVX512VL
18971 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18972 : && ix86_pre_reload_split ()
18973 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18974 : STRIP_UNARY (operands[4]))
18975 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18976 : STRIP_UNARY (operands[4]))
18977 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18978 : STRIP_UNARY (operands[3]))
18979 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18980 : STRIP_UNARY (operands[3])))) &&
18981 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18982 : (TARGET_AVX)))
18983 : return -1;
18984 : return 6801; /* *avx512vl_vpternlogv4df_2 */
18985 :
18986 : case 11:
18987 : if (!(
18988 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18989 : ((16 == 64 || TARGET_AVX512VL
18990 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18991 : && ix86_pre_reload_split ()
18992 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18993 : STRIP_UNARY (operands[4]))
18994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18995 : STRIP_UNARY (operands[4]))
18996 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18997 : STRIP_UNARY (operands[3]))
18998 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18999 : STRIP_UNARY (operands[3])))) &&
19000 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19001 : (TARGET_SSE2)))
19002 : return -1;
19003 : return 6828; /* *avx512vl_vpternlogv2df_2 */
19004 :
19005 : default:
19006 : return -1;
19007 : }
19008 :
19009 : case XOR:
19010 : switch (pattern542 (x2))
19011 : {
19012 : case 0:
19013 : if (!(
19014 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19015 : ((64 == 64 || TARGET_AVX512VL
19016 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19017 : && ix86_pre_reload_split ()
19018 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19019 : STRIP_UNARY (operands[4]))
19020 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19021 : STRIP_UNARY (operands[4]))
19022 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19023 : STRIP_UNARY (operands[3]))
19024 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19025 : STRIP_UNARY (operands[3])))) &&
19026 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19027 : (TARGET_AVX512F)))
19028 : return -1;
19029 : return 6534; /* *avx512bw_vpternlogv32hf_2 */
19030 :
19031 : case 1:
19032 : if (!(
19033 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19034 : ((32 == 64 || TARGET_AVX512VL
19035 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19036 : && ix86_pre_reload_split ()
19037 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19038 : STRIP_UNARY (operands[4]))
19039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19040 : STRIP_UNARY (operands[4]))
19041 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19042 : STRIP_UNARY (operands[3]))
19043 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19044 : STRIP_UNARY (operands[3])))) &&
19045 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19046 : (TARGET_AVX)))
19047 : return -1;
19048 : return 6561; /* *avx512vl_vpternlogv16hf_2 */
19049 :
19050 : case 2:
19051 : if (!
19052 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19053 : ((16 == 64 || TARGET_AVX512VL
19054 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19055 : && ix86_pre_reload_split ()
19056 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19057 : STRIP_UNARY (operands[4]))
19058 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19059 : STRIP_UNARY (operands[4]))
19060 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19061 : STRIP_UNARY (operands[3]))
19062 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19063 : STRIP_UNARY (operands[3])))))
19064 : return -1;
19065 : return 6588; /* *avx512fp16_vpternlogv8hf_2 */
19066 :
19067 : case 3:
19068 : if (!(
19069 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19070 : ((64 == 64 || TARGET_AVX512VL
19071 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19072 : && ix86_pre_reload_split ()
19073 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19074 : STRIP_UNARY (operands[4]))
19075 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19076 : STRIP_UNARY (operands[4]))
19077 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19078 : STRIP_UNARY (operands[3]))
19079 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19080 : STRIP_UNARY (operands[3])))) &&
19081 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19082 : (TARGET_AVX512F)))
19083 : return -1;
19084 : return 6615; /* *avx512bw_vpternlogv32bf_2 */
19085 :
19086 : case 4:
19087 : if (!(
19088 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19089 : ((32 == 64 || TARGET_AVX512VL
19090 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19091 : && ix86_pre_reload_split ()
19092 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19093 : STRIP_UNARY (operands[4]))
19094 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19095 : STRIP_UNARY (operands[4]))
19096 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19097 : STRIP_UNARY (operands[3]))
19098 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19099 : STRIP_UNARY (operands[3])))) &&
19100 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19101 : (TARGET_AVX)))
19102 : return -1;
19103 : return 6642; /* *avx512vl_vpternlogv16bf_2 */
19104 :
19105 : case 5:
19106 : if (!
19107 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19108 : ((16 == 64 || TARGET_AVX512VL
19109 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19110 : && ix86_pre_reload_split ()
19111 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19112 : STRIP_UNARY (operands[4]))
19113 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19114 : STRIP_UNARY (operands[4]))
19115 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19116 : STRIP_UNARY (operands[3]))
19117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19118 : STRIP_UNARY (operands[3])))))
19119 : return -1;
19120 : return 6669; /* *avx512vl_vpternlogv8bf_2 */
19121 :
19122 : case 6:
19123 : if (!(
19124 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19125 : ((64 == 64 || TARGET_AVX512VL
19126 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19127 : && ix86_pre_reload_split ()
19128 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19129 : STRIP_UNARY (operands[4]))
19130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19131 : STRIP_UNARY (operands[4]))
19132 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19133 : STRIP_UNARY (operands[3]))
19134 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19135 : STRIP_UNARY (operands[3])))) &&
19136 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19137 : (TARGET_AVX512F)))
19138 : return -1;
19139 : return 6696; /* *avx512f_vpternlogv16sf_2 */
19140 :
19141 : case 7:
19142 : if (!(
19143 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19144 : ((32 == 64 || TARGET_AVX512VL
19145 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19146 : && ix86_pre_reload_split ()
19147 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19148 : STRIP_UNARY (operands[4]))
19149 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19150 : STRIP_UNARY (operands[4]))
19151 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19152 : STRIP_UNARY (operands[3]))
19153 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19154 : STRIP_UNARY (operands[3])))) &&
19155 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19156 : (TARGET_AVX)))
19157 : return -1;
19158 : return 6723; /* *avx512vl_vpternlogv8sf_2 */
19159 :
19160 : case 8:
19161 : if (!
19162 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19163 : ((16 == 64 || TARGET_AVX512VL
19164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19165 : && ix86_pre_reload_split ()
19166 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19167 : STRIP_UNARY (operands[4]))
19168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19169 : STRIP_UNARY (operands[4]))
19170 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19171 : STRIP_UNARY (operands[3]))
19172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19173 : STRIP_UNARY (operands[3])))))
19174 : return -1;
19175 : return 6750; /* *avx512vl_vpternlogv4sf_2 */
19176 :
19177 : case 9:
19178 : if (!(
19179 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19180 : ((64 == 64 || TARGET_AVX512VL
19181 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19182 : && ix86_pre_reload_split ()
19183 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19184 : STRIP_UNARY (operands[4]))
19185 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19186 : STRIP_UNARY (operands[4]))
19187 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19188 : STRIP_UNARY (operands[3]))
19189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19190 : STRIP_UNARY (operands[3])))) &&
19191 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19192 : (TARGET_AVX512F)))
19193 : return -1;
19194 : return 6777; /* *avx512f_vpternlogv8df_2 */
19195 :
19196 : case 10:
19197 : if (!(
19198 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19199 : ((32 == 64 || TARGET_AVX512VL
19200 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19201 : && ix86_pre_reload_split ()
19202 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19203 : STRIP_UNARY (operands[4]))
19204 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19205 : STRIP_UNARY (operands[4]))
19206 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19207 : STRIP_UNARY (operands[3]))
19208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19209 : STRIP_UNARY (operands[3])))) &&
19210 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19211 : (TARGET_AVX)))
19212 : return -1;
19213 : return 6804; /* *avx512vl_vpternlogv4df_2 */
19214 :
19215 : case 11:
19216 : if (!(
19217 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19218 : ((16 == 64 || TARGET_AVX512VL
19219 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19220 : && ix86_pre_reload_split ()
19221 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19222 : STRIP_UNARY (operands[4]))
19223 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19224 : STRIP_UNARY (operands[4]))
19225 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19226 : STRIP_UNARY (operands[3]))
19227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19228 : STRIP_UNARY (operands[3])))) &&
19229 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19230 : (TARGET_SSE2)))
19231 : return -1;
19232 : return 6831; /* *avx512vl_vpternlogv2df_2 */
19233 :
19234 : default:
19235 : return -1;
19236 : }
19237 :
19238 : default:
19239 : return -1;
19240 : }
19241 : }
19242 :
19243 : int
19244 : recog_323 (rtx x1 ATTRIBUTE_UNUSED,
19245 : rtx_insn *insn ATTRIBUTE_UNUSED,
19246 : int *pnum_clobbers ATTRIBUTE_UNUSED)
19247 : {
19248 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19249 : rtx x2, x3, x4, x5, x6;
19250 : int res ATTRIBUTE_UNUSED;
19251 : x2 = XEXP (x1, 1);
19252 : switch (XVECLEN (x2, 0))
19253 : {
19254 : case 1:
19255 : x3 = XEXP (x1, 0);
19256 : operands[0] = x3;
19257 : switch (XINT (x2, 1))
19258 : {
19259 : case 178:
19260 : return recog_220 (x1, insn, pnum_clobbers);
19261 :
19262 : case 119:
19263 : if (pnum_clobbers == NULL
19264 : || GET_MODE (x2) != E_V4SImode
19265 : || !register_operand (operands[0], E_V4SImode))
19266 : return -1;
19267 : x4 = XVECEXP (x2, 0, 0);
19268 : operands[1] = x4;
19269 : if (!nonimmediate_operand (operands[1], E_DImode)
19270 : || !
19271 : #line 1903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19272 : (!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
19273 : return -1;
19274 : *pnum_clobbers = 1;
19275 : return 2621; /* movdi_to_sse */
19276 :
19277 : case 120:
19278 : x4 = XVECEXP (x2, 0, 0);
19279 : operands[1] = x4;
19280 : switch (GET_MODE (operands[0]))
19281 : {
19282 : case E_V32QImode:
19283 : if (!register_operand (operands[0], E_V32QImode)
19284 : || GET_MODE (x2) != E_V32QImode
19285 : || !memory_operand (operands[1], E_V32QImode)
19286 : || !(
19287 : #line 2011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19288 : (TARGET_SSE3) &&
19289 : #line 597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19290 : (TARGET_AVX)))
19291 : return -1;
19292 : return 2622; /* avx_lddqu256 */
19293 :
19294 : case E_V16QImode:
19295 : if (!register_operand (operands[0], E_V16QImode)
19296 : || GET_MODE (x2) != E_V16QImode
19297 : || !memory_operand (operands[1], E_V16QImode)
19298 : || !
19299 : #line 2011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19300 : (TARGET_SSE3))
19301 : return -1;
19302 : return 2623; /* sse3_lddqu */
19303 :
19304 : default:
19305 : return -1;
19306 : }
19307 :
19308 : case 118:
19309 : return recog_216 (x1, insn, pnum_clobbers);
19310 :
19311 : case 55:
19312 : return recog_218 (x1, insn, pnum_clobbers);
19313 :
19314 : case 162:
19315 : switch (pattern325 (x2))
19316 : {
19317 : case 0:
19318 : if (!
19319 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19320 : (TARGET_AVX512F))
19321 : return -1;
19322 : return 2951; /* *rcp14v16sf */
19323 :
19324 : case 1:
19325 : if (!(
19326 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19327 : (TARGET_AVX512F) &&
19328 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19329 : (TARGET_AVX512VL)))
19330 : return -1;
19331 : return 2953; /* *rcp14v8sf */
19332 :
19333 : case 2:
19334 : if (!(
19335 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19336 : (TARGET_AVX512F) &&
19337 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19338 : (TARGET_AVX512VL)))
19339 : return -1;
19340 : return 2955; /* *rcp14v4sf */
19341 :
19342 : case 3:
19343 : if (!
19344 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19345 : (TARGET_AVX512F))
19346 : return -1;
19347 : return 2957; /* *rcp14v8df */
19348 :
19349 : case 4:
19350 : if (!(
19351 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19352 : (TARGET_AVX512F) &&
19353 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19354 : (TARGET_AVX512VL)))
19355 : return -1;
19356 : return 2959; /* *rcp14v4df */
19357 :
19358 : case 5:
19359 : if (!(
19360 : #line 3027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19361 : (TARGET_AVX512F) &&
19362 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19363 : (TARGET_AVX512VL)))
19364 : return -1;
19365 : return 2961; /* *rcp14v2df */
19366 :
19367 : default:
19368 : return -1;
19369 : }
19370 :
19371 : case 56:
19372 : return recog_217 (x1, insn, pnum_clobbers);
19373 :
19374 : case 163:
19375 : switch (pattern325 (x2))
19376 : {
19377 : case 0:
19378 : if (!
19379 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19380 : (TARGET_AVX512F))
19381 : return -1;
19382 : return 3023; /* *rsqrt14v16sf */
19383 :
19384 : case 1:
19385 : if (!(
19386 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19387 : (TARGET_AVX512F) &&
19388 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19389 : (TARGET_AVX512VL)))
19390 : return -1;
19391 : return 3025; /* *rsqrt14v8sf */
19392 :
19393 : case 2:
19394 : if (!(
19395 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19396 : (TARGET_AVX512F) &&
19397 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19398 : (TARGET_AVX512VL)))
19399 : return -1;
19400 : return 3027; /* *rsqrt14v4sf */
19401 :
19402 : case 3:
19403 : if (!
19404 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19405 : (TARGET_AVX512F))
19406 : return -1;
19407 : return 3029; /* *rsqrt14v8df */
19408 :
19409 : case 4:
19410 : if (!(
19411 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19412 : (TARGET_AVX512F) &&
19413 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19414 : (TARGET_AVX512VL)))
19415 : return -1;
19416 : return 3031; /* *rsqrt14v4df */
19417 :
19418 : case 5:
19419 : if (!(
19420 : #line 3181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19421 : (TARGET_AVX512F) &&
19422 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19423 : (TARGET_AVX512VL)))
19424 : return -1;
19425 : return 3033; /* *rsqrt14v2df */
19426 :
19427 : default:
19428 : return -1;
19429 : }
19430 :
19431 : case 157:
19432 : return recog_214 (x1, insn, pnum_clobbers);
19433 :
19434 : case 47:
19435 : return recog_210 (x1, insn, pnum_clobbers);
19436 :
19437 : case 173:
19438 : return recog_215 (x1, insn, pnum_clobbers);
19439 :
19440 : case 174:
19441 : return recog_213 (x1, insn, pnum_clobbers);
19442 :
19443 : case 166:
19444 : return recog_212 (x1, insn, pnum_clobbers);
19445 :
19446 : case 128:
19447 : x4 = XVECEXP (x2, 0, 0);
19448 : operands[1] = x4;
19449 : switch (GET_MODE (operands[0]))
19450 : {
19451 : case E_V8DImode:
19452 : if (!register_operand (operands[0], E_V8DImode)
19453 : || GET_MODE (x2) != E_V8DImode
19454 : || !memory_operand (operands[1], E_V8DImode)
19455 : || !(
19456 : #line 24127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19457 : (TARGET_SSE4_1) &&
19458 : #line 700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19459 : (TARGET_AVX512F)))
19460 : return -1;
19461 : return 8762; /* avx512f_movntdqa */
19462 :
19463 : case E_V4DImode:
19464 : if (!register_operand (operands[0], E_V4DImode)
19465 : || GET_MODE (x2) != E_V4DImode
19466 : || !memory_operand (operands[1], E_V4DImode)
19467 : || !(
19468 : #line 24127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19469 : (TARGET_SSE4_1) &&
19470 : #line 700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19471 : (TARGET_AVX2)))
19472 : return -1;
19473 : return 8763; /* avx2_movntdqa */
19474 :
19475 : case E_V2DImode:
19476 : if (!register_operand (operands[0], E_V2DImode)
19477 : || GET_MODE (x2) != E_V2DImode
19478 : || !memory_operand (operands[1], E_V2DImode)
19479 : || !
19480 : #line 24127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19481 : (TARGET_SSE4_1))
19482 : return -1;
19483 : return 8764; /* sse4_1_movntdqa */
19484 :
19485 : default:
19486 : return -1;
19487 : }
19488 :
19489 : case 130:
19490 : if (GET_MODE (x2) != E_V8HImode
19491 : || !register_operand (operands[0], E_V8HImode))
19492 : return -1;
19493 : x4 = XVECEXP (x2, 0, 0);
19494 : operands[1] = x4;
19495 : if (!vector_operand (operands[1], E_V8HImode)
19496 : || !
19497 : #line 24453 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19498 : (TARGET_SSE4_1))
19499 : return -1;
19500 : return 8797; /* sse4_1_phminposuw */
19501 :
19502 : case 137:
19503 : return recog_221 (x1, insn, pnum_clobbers);
19504 :
19505 : case 135:
19506 : x4 = XVECEXP (x2, 0, 0);
19507 : switch (GET_CODE (x4))
19508 : {
19509 : case NE:
19510 : case EQ:
19511 : case GEU:
19512 : case GTU:
19513 : case LEU:
19514 : case LTU:
19515 : operands[1] = x4;
19516 : x5 = XEXP (x4, 0);
19517 : operands[2] = x5;
19518 : x6 = XEXP (x4, 1);
19519 : operands[3] = x6;
19520 : switch (GET_MODE (operands[0]))
19521 : {
19522 : case E_V16QImode:
19523 : if (pattern1023 (x2,
19524 : E_V16QImode) != 0
19525 : || !
19526 : #line 27744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19527 : (TARGET_XOP))
19528 : return -1;
19529 : return 9124; /* xop_maskcmp_uns2v16qi3 */
19530 :
19531 : case E_V8HImode:
19532 : if (pattern1023 (x2,
19533 : E_V8HImode) != 0
19534 : || !
19535 : #line 27744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19536 : (TARGET_XOP))
19537 : return -1;
19538 : return 9125; /* xop_maskcmp_uns2v8hi3 */
19539 :
19540 : case E_V4SImode:
19541 : if (pattern1023 (x2,
19542 : E_V4SImode) != 0
19543 : || !
19544 : #line 27744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19545 : (TARGET_XOP))
19546 : return -1;
19547 : return 9126; /* xop_maskcmp_uns2v4si3 */
19548 :
19549 : case E_V2DImode:
19550 : if (pattern1023 (x2,
19551 : E_V2DImode) != 0
19552 : || !
19553 : #line 27744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19554 : (TARGET_XOP))
19555 : return -1;
19556 : return 9127; /* xop_maskcmp_uns2v2di3 */
19557 :
19558 : default:
19559 : return -1;
19560 : }
19561 :
19562 : default:
19563 : return -1;
19564 : }
19565 :
19566 : case 142:
19567 : if (GET_MODE (x2) != E_V2DImode
19568 : || !register_operand (operands[0], E_V2DImode))
19569 : return -1;
19570 : x4 = XVECEXP (x2, 0, 0);
19571 : operands[1] = x4;
19572 : if (!vector_operand (operands[1], E_V2DImode)
19573 : || !
19574 : #line 27858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19575 : (TARGET_AES))
19576 : return -1;
19577 : return 9140; /* aesimc */
19578 :
19579 : case 150:
19580 : x4 = XVECEXP (x2, 0, 0);
19581 : operands[1] = x4;
19582 : switch (GET_MODE (operands[0]))
19583 : {
19584 : case E_V4SFmode:
19585 : if (!register_operand (operands[0], E_V4SFmode)
19586 : || GET_MODE (x2) != E_V4SFmode
19587 : || !memory_operand (operands[1], E_V4HImode)
19588 : || !
19589 : #line 29788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19590 : (TARGET_F16C || TARGET_AVX512VL))
19591 : return -1;
19592 : return 9723; /* *vcvtph2ps_load */
19593 :
19594 : case E_V8SFmode:
19595 : if (!register_operand (operands[0], E_V8SFmode)
19596 : || GET_MODE (x2) != E_V8SFmode
19597 : || !nonimmediate_operand (operands[1], E_V8HImode)
19598 : || !
19599 : #line 29798 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19600 : (TARGET_F16C || TARGET_AVX512VL))
19601 : return -1;
19602 : return 9725; /* vcvtph2ps256 */
19603 :
19604 : case E_V16SFmode:
19605 : if (!register_operand (operands[0], E_V16SFmode)
19606 : || GET_MODE (x2) != E_V16SFmode
19607 : || !vector_operand (operands[1], E_V16HImode)
19608 : || !
19609 : #line 29810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19610 : (TARGET_AVX512F))
19611 : return -1;
19612 : return 9727; /* *avx512f_vcvtph2ps512 */
19613 :
19614 : default:
19615 : return -1;
19616 : }
19617 :
19618 : case 169:
19619 : return recog_219 (x1, insn, pnum_clobbers);
19620 :
19621 : case 254:
19622 : switch (pattern327 (x2))
19623 : {
19624 : case 0:
19625 : if (!
19626 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19627 : (TARGET_AVX10_2))
19628 : return -1;
19629 : return 10575; /* vcvtph2bf8v16hf */
19630 :
19631 : case 1:
19632 : if (!
19633 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19634 : (TARGET_AVX10_2))
19635 : return -1;
19636 : return 10583; /* vcvtph2bf8v32hf */
19637 :
19638 : default:
19639 : return -1;
19640 : }
19641 :
19642 : case 255:
19643 : switch (pattern327 (x2))
19644 : {
19645 : case 0:
19646 : if (!
19647 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19648 : (TARGET_AVX10_2))
19649 : return -1;
19650 : return 10577; /* vcvtph2bf8sv16hf */
19651 :
19652 : case 1:
19653 : if (!
19654 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19655 : (TARGET_AVX10_2))
19656 : return -1;
19657 : return 10585; /* vcvtph2bf8sv32hf */
19658 :
19659 : default:
19660 : return -1;
19661 : }
19662 :
19663 : case 256:
19664 : switch (pattern327 (x2))
19665 : {
19666 : case 0:
19667 : if (!
19668 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19669 : (TARGET_AVX10_2))
19670 : return -1;
19671 : return 10579; /* vcvtph2hf8v16hf */
19672 :
19673 : case 1:
19674 : if (!
19675 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19676 : (TARGET_AVX10_2))
19677 : return -1;
19678 : return 10587; /* vcvtph2hf8v32hf */
19679 :
19680 : default:
19681 : return -1;
19682 : }
19683 :
19684 : case 257:
19685 : switch (pattern327 (x2))
19686 : {
19687 : case 0:
19688 : if (!
19689 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19690 : (TARGET_AVX10_2))
19691 : return -1;
19692 : return 10581; /* vcvtph2hf8sv16hf */
19693 :
19694 : case 1:
19695 : if (!
19696 : #line 32619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19697 : (TARGET_AVX10_2))
19698 : return -1;
19699 : return 10589; /* vcvtph2hf8sv32hf */
19700 :
19701 : default:
19702 : return -1;
19703 : }
19704 :
19705 : case 258:
19706 : x4 = XVECEXP (x2, 0, 0);
19707 : operands[1] = x4;
19708 : switch (GET_MODE (operands[0]))
19709 : {
19710 : case E_V32HFmode:
19711 : if (!register_operand (operands[0], E_V32HFmode)
19712 : || GET_MODE (x2) != E_V32HFmode
19713 : || !nonimmediate_operand (operands[1], E_V32QImode)
19714 : || !
19715 : #line 32628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19716 : (TARGET_AVX10_2))
19717 : return -1;
19718 : return 10591; /* vcvthf82phv32hf */
19719 :
19720 : case E_V16HFmode:
19721 : if (!register_operand (operands[0], E_V16HFmode)
19722 : || GET_MODE (x2) != E_V16HFmode
19723 : || !nonimmediate_operand (operands[1], E_V16QImode)
19724 : || !(
19725 : #line 32628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19726 : (TARGET_AVX10_2) &&
19727 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19728 : (TARGET_AVX512VL)))
19729 : return -1;
19730 : return 10593; /* vcvthf82phv16hf */
19731 :
19732 : case E_V8HFmode:
19733 : if (!register_operand (operands[0], E_V8HFmode)
19734 : || GET_MODE (x2) != E_V8HFmode
19735 : || !nonimmediate_operand (operands[1], E_V16QImode)
19736 : || !(
19737 : #line 32628 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19738 : (TARGET_AVX10_2) &&
19739 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19740 : (TARGET_AVX512VL)))
19741 : return -1;
19742 : return 10595; /* vcvthf82phv8hf */
19743 :
19744 : default:
19745 : return -1;
19746 : }
19747 :
19748 : case 264:
19749 : switch (pattern328 (x2,
19750 : E_V32BFmode,
19751 : E_V16BFmode,
19752 : E_V8BFmode))
19753 : {
19754 : case 0:
19755 : if (!
19756 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19757 : (TARGET_AVX10_2))
19758 : return -1;
19759 : return 10804; /* avx10_2_cvtbf162ibsv32bf */
19760 :
19761 : case 1:
19762 : if (!
19763 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19764 : (TARGET_AVX10_2))
19765 : return -1;
19766 : return 10812; /* avx10_2_cvtbf162ibsv16bf */
19767 :
19768 : case 2:
19769 : if (!
19770 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19771 : (TARGET_AVX10_2))
19772 : return -1;
19773 : return 10820; /* avx10_2_cvtbf162ibsv8bf */
19774 :
19775 : default:
19776 : return -1;
19777 : }
19778 :
19779 : case 265:
19780 : switch (pattern328 (x2,
19781 : E_V32BFmode,
19782 : E_V16BFmode,
19783 : E_V8BFmode))
19784 : {
19785 : case 0:
19786 : if (!
19787 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19788 : (TARGET_AVX10_2))
19789 : return -1;
19790 : return 10806; /* avx10_2_cvtbf162iubsv32bf */
19791 :
19792 : case 1:
19793 : if (!
19794 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19795 : (TARGET_AVX10_2))
19796 : return -1;
19797 : return 10814; /* avx10_2_cvtbf162iubsv16bf */
19798 :
19799 : case 2:
19800 : if (!
19801 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19802 : (TARGET_AVX10_2))
19803 : return -1;
19804 : return 10822; /* avx10_2_cvtbf162iubsv8bf */
19805 :
19806 : default:
19807 : return -1;
19808 : }
19809 :
19810 : case 270:
19811 : switch (pattern328 (x2,
19812 : E_V32BFmode,
19813 : E_V16BFmode,
19814 : E_V8BFmode))
19815 : {
19816 : case 0:
19817 : if (!
19818 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19819 : (TARGET_AVX10_2))
19820 : return -1;
19821 : return 10808; /* avx10_2_cvttbf162ibsv32bf */
19822 :
19823 : case 1:
19824 : if (!
19825 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19826 : (TARGET_AVX10_2))
19827 : return -1;
19828 : return 10816; /* avx10_2_cvttbf162ibsv16bf */
19829 :
19830 : case 2:
19831 : if (!
19832 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19833 : (TARGET_AVX10_2))
19834 : return -1;
19835 : return 10824; /* avx10_2_cvttbf162ibsv8bf */
19836 :
19837 : default:
19838 : return -1;
19839 : }
19840 :
19841 : case 271:
19842 : switch (pattern328 (x2,
19843 : E_V32BFmode,
19844 : E_V16BFmode,
19845 : E_V8BFmode))
19846 : {
19847 : case 0:
19848 : if (!
19849 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19850 : (TARGET_AVX10_2))
19851 : return -1;
19852 : return 10810; /* avx10_2_cvttbf162iubsv32bf */
19853 :
19854 : case 1:
19855 : if (!
19856 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19857 : (TARGET_AVX10_2))
19858 : return -1;
19859 : return 10818; /* avx10_2_cvttbf162iubsv16bf */
19860 :
19861 : case 2:
19862 : if (!
19863 : #line 33201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19864 : (TARGET_AVX10_2))
19865 : return -1;
19866 : return 10826; /* avx10_2_cvttbf162iubsv8bf */
19867 :
19868 : default:
19869 : return -1;
19870 : }
19871 :
19872 : case 266:
19873 : switch (pattern328 (x2,
19874 : E_V32HFmode,
19875 : E_V16HFmode,
19876 : E_V8HFmode))
19877 : {
19878 : case 0:
19879 : if (!
19880 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19881 : (TARGET_AVX10_2 && 1))
19882 : return -1;
19883 : return 10828; /* avx10_2_cvtph2ibsv32hf */
19884 :
19885 : case 1:
19886 : if (!(
19887 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19888 : (TARGET_AVX10_2 && 1) &&
19889 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19890 : (TARGET_AVX512VL)))
19891 : return -1;
19892 : return 10836; /* avx10_2_cvtph2ibsv16hf */
19893 :
19894 : case 2:
19895 : if (!(
19896 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19897 : (TARGET_AVX10_2 && 1) &&
19898 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19899 : (TARGET_AVX512VL)))
19900 : return -1;
19901 : return 10840; /* avx10_2_cvtph2ibsv8hf */
19902 :
19903 : default:
19904 : return -1;
19905 : }
19906 :
19907 : case 267:
19908 : switch (pattern328 (x2,
19909 : E_V32HFmode,
19910 : E_V16HFmode,
19911 : E_V8HFmode))
19912 : {
19913 : case 0:
19914 : if (!
19915 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19916 : (TARGET_AVX10_2 && 1))
19917 : return -1;
19918 : return 10832; /* avx10_2_cvtph2iubsv32hf */
19919 :
19920 : case 1:
19921 : if (!(
19922 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19923 : (TARGET_AVX10_2 && 1) &&
19924 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19925 : (TARGET_AVX512VL)))
19926 : return -1;
19927 : return 10838; /* avx10_2_cvtph2iubsv16hf */
19928 :
19929 : case 2:
19930 : if (!(
19931 : #line 33216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19932 : (TARGET_AVX10_2 && 1) &&
19933 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19934 : (TARGET_AVX512VL)))
19935 : return -1;
19936 : return 10842; /* avx10_2_cvtph2iubsv8hf */
19937 :
19938 : default:
19939 : return -1;
19940 : }
19941 :
19942 : case 272:
19943 : switch (pattern328 (x2,
19944 : E_V32HFmode,
19945 : E_V16HFmode,
19946 : E_V8HFmode))
19947 : {
19948 : case 0:
19949 : if (!
19950 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19951 : (TARGET_AVX10_2 && 1))
19952 : return -1;
19953 : return 10844; /* avx10_2_cvttph2ibsv32hf */
19954 :
19955 : case 1:
19956 : if (!(
19957 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19958 : (TARGET_AVX10_2 && 1) &&
19959 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19960 : (TARGET_AVX512VL)))
19961 : return -1;
19962 : return 10852; /* avx10_2_cvttph2ibsv16hf */
19963 :
19964 : case 2:
19965 : if (!(
19966 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19967 : (TARGET_AVX10_2 && 1) &&
19968 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19969 : (TARGET_AVX512VL)))
19970 : return -1;
19971 : return 10856; /* avx10_2_cvttph2ibsv8hf */
19972 :
19973 : default:
19974 : return -1;
19975 : }
19976 :
19977 : case 273:
19978 : switch (pattern328 (x2,
19979 : E_V32HFmode,
19980 : E_V16HFmode,
19981 : E_V8HFmode))
19982 : {
19983 : case 0:
19984 : if (!
19985 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19986 : (TARGET_AVX10_2 && 1))
19987 : return -1;
19988 : return 10848; /* avx10_2_cvttph2iubsv32hf */
19989 :
19990 : case 1:
19991 : if (!(
19992 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19993 : (TARGET_AVX10_2 && 1) &&
19994 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19995 : (TARGET_AVX512VL)))
19996 : return -1;
19997 : return 10854; /* avx10_2_cvttph2iubsv16hf */
19998 :
19999 : case 2:
20000 : if (!(
20001 : #line 33231 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20002 : (TARGET_AVX10_2 && 1) &&
20003 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20004 : (TARGET_AVX512VL)))
20005 : return -1;
20006 : return 10858; /* avx10_2_cvttph2iubsv8hf */
20007 :
20008 : default:
20009 : return -1;
20010 : }
20011 :
20012 : case 268:
20013 : switch (pattern329 (x2))
20014 : {
20015 : case 0:
20016 : if (!
20017 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20018 : (TARGET_AVX10_2 && 1))
20019 : return -1;
20020 : return 10860; /* avx10_2_cvtps2ibsv16sf */
20021 :
20022 : case 1:
20023 : if (!(
20024 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20025 : (TARGET_AVX10_2 && 1) &&
20026 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20027 : (TARGET_AVX512VL)))
20028 : return -1;
20029 : return 10868; /* avx10_2_cvtps2ibsv8sf */
20030 :
20031 : case 2:
20032 : if (!(
20033 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20034 : (TARGET_AVX10_2 && 1) &&
20035 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20036 : (TARGET_AVX512VL)))
20037 : return -1;
20038 : return 10872; /* avx10_2_cvtps2ibsv4sf */
20039 :
20040 : default:
20041 : return -1;
20042 : }
20043 :
20044 : case 269:
20045 : switch (pattern329 (x2))
20046 : {
20047 : case 0:
20048 : if (!
20049 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20050 : (TARGET_AVX10_2 && 1))
20051 : return -1;
20052 : return 10864; /* avx10_2_cvtps2iubsv16sf */
20053 :
20054 : case 1:
20055 : if (!(
20056 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20057 : (TARGET_AVX10_2 && 1) &&
20058 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20059 : (TARGET_AVX512VL)))
20060 : return -1;
20061 : return 10870; /* avx10_2_cvtps2iubsv8sf */
20062 :
20063 : case 2:
20064 : if (!(
20065 : #line 33246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20066 : (TARGET_AVX10_2 && 1) &&
20067 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20068 : (TARGET_AVX512VL)))
20069 : return -1;
20070 : return 10874; /* avx10_2_cvtps2iubsv4sf */
20071 :
20072 : default:
20073 : return -1;
20074 : }
20075 :
20076 : case 274:
20077 : switch (pattern329 (x2))
20078 : {
20079 : case 0:
20080 : if (!
20081 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20082 : (TARGET_AVX10_2 && 1))
20083 : return -1;
20084 : return 10876; /* avx10_2_cvttps2ibsv16sf */
20085 :
20086 : case 1:
20087 : if (!(
20088 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20089 : (TARGET_AVX10_2 && 1) &&
20090 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20091 : (TARGET_AVX512VL)))
20092 : return -1;
20093 : return 10884; /* avx10_2_cvttps2ibsv8sf */
20094 :
20095 : case 2:
20096 : if (!(
20097 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20098 : (TARGET_AVX10_2 && 1) &&
20099 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20100 : (TARGET_AVX512VL)))
20101 : return -1;
20102 : return 10888; /* avx10_2_cvttps2ibsv4sf */
20103 :
20104 : default:
20105 : return -1;
20106 : }
20107 :
20108 : case 275:
20109 : switch (pattern329 (x2))
20110 : {
20111 : case 0:
20112 : if (!
20113 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20114 : (TARGET_AVX10_2 && 1))
20115 : return -1;
20116 : return 10880; /* avx10_2_cvttps2iubsv16sf */
20117 :
20118 : case 1:
20119 : if (!(
20120 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20121 : (TARGET_AVX10_2 && 1) &&
20122 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20123 : (TARGET_AVX512VL)))
20124 : return -1;
20125 : return 10886; /* avx10_2_cvttps2iubsv8sf */
20126 :
20127 : case 2:
20128 : if (!(
20129 : #line 33261 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20130 : (TARGET_AVX10_2 && 1) &&
20131 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20132 : (TARGET_AVX512VL)))
20133 : return -1;
20134 : return 10890; /* avx10_2_cvttps2iubsv4sf */
20135 :
20136 : default:
20137 : return -1;
20138 : }
20139 :
20140 : case 276:
20141 : switch (pattern330 (x2))
20142 : {
20143 : case 0:
20144 : if (!(
20145 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20146 : (TARGET_AVX10_2 && 1) &&
20147 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20148 : (TARGET_AVX512F)))
20149 : return -1;
20150 : return 10892; /* avx10_2_vcvttps2dqsv16sf */
20151 :
20152 : case 1:
20153 : if (!(
20154 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20155 : (TARGET_AVX10_2 && 1) &&
20156 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20157 : (TARGET_AVX)))
20158 : return -1;
20159 : return 10900; /* avx10_2_vcvttps2dqsv8sf */
20160 :
20161 : case 2:
20162 : if (!(
20163 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20164 : (TARGET_AVX10_2 && 1) &&
20165 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20166 : (TARGET_AVX512F)))
20167 : return -1;
20168 : return 10908; /* avx10_2_vcvttpd2dqsv8df */
20169 :
20170 : case 3:
20171 : if (!
20172 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20173 : (TARGET_AVX10_2 && 1))
20174 : return -1;
20175 : return 10904; /* avx10_2_vcvttps2dqsv4sf */
20176 :
20177 : case 4:
20178 : if (!(
20179 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20180 : (TARGET_AVX10_2 && 1) &&
20181 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20182 : (TARGET_AVX)))
20183 : return -1;
20184 : return 10916; /* avx10_2_vcvttpd2dqsv4df */
20185 :
20186 : case 5:
20187 : if (!(
20188 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20189 : (TARGET_AVX10_2 && 1) &&
20190 : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20191 : (TARGET_SSE2)))
20192 : return -1;
20193 : return 10920; /* avx10_2_vcvttpd2dqsv2df */
20194 :
20195 : case 6:
20196 : if (!(
20197 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20198 : (TARGET_AVX10_2 && 1) &&
20199 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20200 : (TARGET_AVX512F)))
20201 : return -1;
20202 : return 10924; /* avx10_2_vcvttpd2qqsv8df */
20203 :
20204 : case 7:
20205 : if (!(
20206 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20207 : (TARGET_AVX10_2 && 1) &&
20208 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20209 : (TARGET_AVX512F)))
20210 : return -1;
20211 : return 10940; /* avx10_2_vcvttps2qqsv8di */
20212 :
20213 : case 8:
20214 : if (!(
20215 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20216 : (TARGET_AVX10_2 && 1) &&
20217 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20218 : (TARGET_AVX)))
20219 : return -1;
20220 : return 10932; /* avx10_2_vcvttpd2qqsv4df */
20221 :
20222 : case 9:
20223 : if (!(
20224 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20225 : (TARGET_AVX10_2 && 1) &&
20226 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20227 : (TARGET_AVX)))
20228 : return -1;
20229 : return 10948; /* avx10_2_vcvttps2qqsv4di */
20230 :
20231 : case 10:
20232 : if (!
20233 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20234 : (TARGET_AVX10_2 && 1))
20235 : return -1;
20236 : return 10936; /* avx10_2_vcvttpd2qqsv2df */
20237 :
20238 : case 11:
20239 : if (!
20240 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20241 : (TARGET_AVX10_2 && 1))
20242 : return -1;
20243 : return 10952; /* avx10_2_vcvttps2qqsv2di */
20244 :
20245 : default:
20246 : return -1;
20247 : }
20248 :
20249 : case 277:
20250 : switch (pattern330 (x2))
20251 : {
20252 : case 0:
20253 : if (!(
20254 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20255 : (TARGET_AVX10_2 && 1) &&
20256 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20257 : (TARGET_AVX512F)))
20258 : return -1;
20259 : return 10896; /* avx10_2_vcvttps2udqsv16sf */
20260 :
20261 : case 1:
20262 : if (!(
20263 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20264 : (TARGET_AVX10_2 && 1) &&
20265 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20266 : (TARGET_AVX)))
20267 : return -1;
20268 : return 10902; /* avx10_2_vcvttps2udqsv8sf */
20269 :
20270 : case 2:
20271 : if (!(
20272 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20273 : (TARGET_AVX10_2 && 1) &&
20274 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20275 : (TARGET_AVX512F)))
20276 : return -1;
20277 : return 10912; /* avx10_2_vcvttpd2udqsv8df */
20278 :
20279 : case 3:
20280 : if (!
20281 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20282 : (TARGET_AVX10_2 && 1))
20283 : return -1;
20284 : return 10906; /* avx10_2_vcvttps2udqsv4sf */
20285 :
20286 : case 4:
20287 : if (!(
20288 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20289 : (TARGET_AVX10_2 && 1) &&
20290 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20291 : (TARGET_AVX)))
20292 : return -1;
20293 : return 10918; /* avx10_2_vcvttpd2udqsv4df */
20294 :
20295 : case 5:
20296 : if (!(
20297 : #line 33280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20298 : (TARGET_AVX10_2 && 1) &&
20299 : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20300 : (TARGET_SSE2)))
20301 : return -1;
20302 : return 10922; /* avx10_2_vcvttpd2udqsv2df */
20303 :
20304 : case 6:
20305 : if (!(
20306 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20307 : (TARGET_AVX10_2 && 1) &&
20308 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20309 : (TARGET_AVX512F)))
20310 : return -1;
20311 : return 10928; /* avx10_2_vcvttpd2uqqsv8df */
20312 :
20313 : case 7:
20314 : if (!(
20315 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20316 : (TARGET_AVX10_2 && 1) &&
20317 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20318 : (TARGET_AVX512F)))
20319 : return -1;
20320 : return 10944; /* avx10_2_vcvttps2uqqsv8di */
20321 :
20322 : case 8:
20323 : if (!(
20324 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20325 : (TARGET_AVX10_2 && 1) &&
20326 : #line 451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20327 : (TARGET_AVX)))
20328 : return -1;
20329 : return 10934; /* avx10_2_vcvttpd2uqqsv4df */
20330 :
20331 : case 9:
20332 : if (!(
20333 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20334 : (TARGET_AVX10_2 && 1) &&
20335 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20336 : (TARGET_AVX)))
20337 : return -1;
20338 : return 10950; /* avx10_2_vcvttps2uqqsv4di */
20339 :
20340 : case 10:
20341 : if (!
20342 : #line 33291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20343 : (TARGET_AVX10_2 && 1))
20344 : return -1;
20345 : return 10938; /* avx10_2_vcvttpd2uqqsv2df */
20346 :
20347 : case 11:
20348 : if (!
20349 : #line 33302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20350 : (TARGET_AVX10_2 && 1))
20351 : return -1;
20352 : return 10954; /* avx10_2_vcvttps2uqqsv2di */
20353 :
20354 : default:
20355 : return -1;
20356 : }
20357 :
20358 : case 283:
20359 : return recog_211 (x1, insn, pnum_clobbers);
20360 :
20361 : case 282:
20362 : x4 = XVECEXP (x2, 0, 0);
20363 : operands[1] = x4;
20364 : switch (GET_MODE (operands[0]))
20365 : {
20366 : case E_V64QImode:
20367 : if (!register_operand (operands[0], E_V64QImode)
20368 : || GET_MODE (x2) != E_V64QImode
20369 : || !nonimmediate_operand (operands[1], E_V64QImode)
20370 : || !
20371 : #line 33432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20372 : (TARGET_AVX512BMM))
20373 : return -1;
20374 : return 11057; /* avx512bmm_vbitrevb_v64qi */
20375 :
20376 : case E_V16QImode:
20377 : if (!register_operand (operands[0], E_V16QImode)
20378 : || GET_MODE (x2) != E_V16QImode
20379 : || !nonimmediate_operand (operands[1], E_V16QImode)
20380 : || !(
20381 : #line 33432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20382 : (TARGET_AVX512BMM) &&
20383 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20384 : (TARGET_AVX512VL)))
20385 : return -1;
20386 : return 11058; /* avx512bmm_vbitrevb_v16qi */
20387 :
20388 : case E_V32QImode:
20389 : if (!register_operand (operands[0], E_V32QImode)
20390 : || GET_MODE (x2) != E_V32QImode
20391 : || !nonimmediate_operand (operands[1], E_V32QImode)
20392 : || !(
20393 : #line 33432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : (TARGET_AVX512BMM) &&
20395 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20396 : (TARGET_AVX512VL)))
20397 : return -1;
20398 : return 11059; /* avx512bmm_vbitrevb_v32qi */
20399 :
20400 : default:
20401 : return -1;
20402 : }
20403 :
20404 : default:
20405 : return -1;
20406 : }
20407 :
20408 : case 2:
20409 : return recog_269 (x1, insn, pnum_clobbers);
20410 :
20411 : case 3:
20412 : return recog_270 (x1, insn, pnum_clobbers);
20413 :
20414 : case 4:
20415 : return recog_268 (x1, insn, pnum_clobbers);
20416 :
20417 : default:
20418 : return -1;
20419 : }
20420 : }
20421 :
20422 : int
20423 : recog_329 (rtx x1 ATTRIBUTE_UNUSED,
20424 : rtx_insn *insn ATTRIBUTE_UNUSED,
20425 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20426 : {
20427 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20428 : rtx x2;
20429 : int res ATTRIBUTE_UNUSED;
20430 : x2 = XEXP (x1, 1);
20431 : operands[1] = x2;
20432 : switch (GET_MODE (operands[0]))
20433 : {
20434 : case E_V64QImode:
20435 : if (nonimmediate_operand (operands[0], E_V64QImode)
20436 : && nonimmediate_or_sse_const_operand (operands[1], E_V64QImode)
20437 : && (
20438 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20439 : (TARGET_SSE
20440 : && (register_operand (operands[0], V64QImode)
20441 : || register_operand (operands[1], V64QImode))
20442 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20443 : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20444 : (TARGET_AVX512F)))
20445 : return 2452; /* movv64qi_internal */
20446 : if (!register_operand (operands[0], E_V64QImode)
20447 : || !ternlog_operand (operands[1], E_V64QImode)
20448 : || !(
20449 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20450 : ((64 == 64 || TARGET_AVX512VL
20451 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20452 : && ix86_pre_reload_split ()) &&
20453 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20454 : (TARGET_AVX512F)))
20455 : return -1;
20456 : return 5514; /* *avx512bw_vpternlogv64qi_0 */
20457 :
20458 : case E_V32QImode:
20459 : if (nonimmediate_operand (operands[0], E_V32QImode)
20460 : && nonimmediate_or_sse_const_operand (operands[1], E_V32QImode)
20461 : && (
20462 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20463 : (TARGET_SSE
20464 : && (register_operand (operands[0], V32QImode)
20465 : || register_operand (operands[1], V32QImode))
20466 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20467 : #line 287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20468 : (TARGET_AVX)))
20469 : return 2453; /* movv32qi_internal */
20470 : if (!register_operand (operands[0], E_V32QImode)
20471 : || !ternlog_operand (operands[1], E_V32QImode)
20472 : || !(
20473 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20474 : ((32 == 64 || TARGET_AVX512VL
20475 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20476 : && ix86_pre_reload_split ()) &&
20477 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20478 : (TARGET_AVX)))
20479 : return -1;
20480 : return 5515; /* *avx512vl_vpternlogv32qi_0 */
20481 :
20482 : case E_V16QImode:
20483 : if (nonimmediate_operand (operands[0], E_V16QImode)
20484 : && nonimmediate_or_sse_const_operand (operands[1], E_V16QImode)
20485 : &&
20486 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20487 : (TARGET_SSE
20488 : && (register_operand (operands[0], V16QImode)
20489 : || register_operand (operands[1], V16QImode))
20490 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20491 : return 2454; /* movv16qi_internal */
20492 : if (!register_operand (operands[0], E_V16QImode)
20493 : || !ternlog_operand (operands[1], E_V16QImode)
20494 : || !
20495 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20496 : ((16 == 64 || TARGET_AVX512VL
20497 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20498 : && ix86_pre_reload_split ()))
20499 : return -1;
20500 : return 5516; /* *avx512vl_vpternlogv16qi_0 */
20501 :
20502 : case E_V32HImode:
20503 : if (nonimmediate_operand (operands[0], E_V32HImode)
20504 : && nonimmediate_or_sse_const_operand (operands[1], E_V32HImode)
20505 : && (
20506 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20507 : (TARGET_SSE
20508 : && (register_operand (operands[0], V32HImode)
20509 : || register_operand (operands[1], V32HImode))
20510 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20511 : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20512 : (TARGET_AVX512F)))
20513 : return 2455; /* movv32hi_internal */
20514 : if (!register_operand (operands[0], E_V32HImode)
20515 : || !ternlog_operand (operands[1], E_V32HImode)
20516 : || !(
20517 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20518 : ((64 == 64 || TARGET_AVX512VL
20519 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20520 : && ix86_pre_reload_split ()) &&
20521 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20522 : (TARGET_AVX512F)))
20523 : return -1;
20524 : return 5517; /* *avx512bw_vpternlogv32hi_0 */
20525 :
20526 : case E_V16HImode:
20527 : if (nonimmediate_operand (operands[0], E_V16HImode)
20528 : && nonimmediate_or_sse_const_operand (operands[1], E_V16HImode)
20529 : && (
20530 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20531 : (TARGET_SSE
20532 : && (register_operand (operands[0], V16HImode)
20533 : || register_operand (operands[1], V16HImode))
20534 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20535 : #line 288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20536 : (TARGET_AVX)))
20537 : return 2456; /* movv16hi_internal */
20538 : if (!register_operand (operands[0], E_V16HImode)
20539 : || !ternlog_operand (operands[1], E_V16HImode)
20540 : || !(
20541 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20542 : ((32 == 64 || TARGET_AVX512VL
20543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20544 : && ix86_pre_reload_split ()) &&
20545 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20546 : (TARGET_AVX)))
20547 : return -1;
20548 : return 5518; /* *avx512vl_vpternlogv16hi_0 */
20549 :
20550 : case E_V8HImode:
20551 : if (nonimmediate_operand (operands[0], E_V8HImode)
20552 : && nonimmediate_or_sse_const_operand (operands[1], E_V8HImode)
20553 : &&
20554 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20555 : (TARGET_SSE
20556 : && (register_operand (operands[0], V8HImode)
20557 : || register_operand (operands[1], V8HImode))
20558 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20559 : return 2457; /* movv8hi_internal */
20560 : if (!register_operand (operands[0], E_V8HImode)
20561 : || !ternlog_operand (operands[1], E_V8HImode)
20562 : || !
20563 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20564 : ((16 == 64 || TARGET_AVX512VL
20565 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20566 : && ix86_pre_reload_split ()))
20567 : return -1;
20568 : return 5519; /* *avx512vl_vpternlogv8hi_0 */
20569 :
20570 : case E_V16SImode:
20571 : if (nonimmediate_operand (operands[0], E_V16SImode)
20572 : && nonimmediate_or_sse_const_operand (operands[1], E_V16SImode)
20573 : && (
20574 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20575 : (TARGET_SSE
20576 : && (register_operand (operands[0], V16SImode)
20577 : || register_operand (operands[1], V16SImode))
20578 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20579 : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20580 : (TARGET_AVX512F)))
20581 : return 2458; /* movv16si_internal */
20582 : if (!register_operand (operands[0], E_V16SImode)
20583 : || !ternlog_operand (operands[1], E_V16SImode)
20584 : || !(
20585 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20586 : ((64 == 64 || TARGET_AVX512VL
20587 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20588 : && ix86_pre_reload_split ()) &&
20589 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20590 : (TARGET_AVX512F)))
20591 : return -1;
20592 : return 5520; /* *avx512f_vpternlogv16si_0 */
20593 :
20594 : case E_V8SImode:
20595 : if (nonimmediate_operand (operands[0], E_V8SImode)
20596 : && nonimmediate_or_sse_const_operand (operands[1], E_V8SImode)
20597 : && (
20598 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20599 : (TARGET_SSE
20600 : && (register_operand (operands[0], V8SImode)
20601 : || register_operand (operands[1], V8SImode))
20602 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20603 : #line 289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20604 : (TARGET_AVX)))
20605 : return 2459; /* movv8si_internal */
20606 : if (!register_operand (operands[0], E_V8SImode)
20607 : || !ternlog_operand (operands[1], E_V8SImode)
20608 : || !(
20609 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20610 : ((32 == 64 || TARGET_AVX512VL
20611 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20612 : && ix86_pre_reload_split ()) &&
20613 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20614 : (TARGET_AVX)))
20615 : return -1;
20616 : return 5521; /* *avx512vl_vpternlogv8si_0 */
20617 :
20618 : case E_V4SImode:
20619 : if (nonimmediate_operand (operands[0], E_V4SImode)
20620 : && nonimmediate_or_sse_const_operand (operands[1], E_V4SImode)
20621 : &&
20622 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20623 : (TARGET_SSE
20624 : && (register_operand (operands[0], V4SImode)
20625 : || register_operand (operands[1], V4SImode))
20626 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20627 : return 2460; /* movv4si_internal */
20628 : if (!register_operand (operands[0], E_V4SImode)
20629 : || !ternlog_operand (operands[1], E_V4SImode)
20630 : || !
20631 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20632 : ((16 == 64 || TARGET_AVX512VL
20633 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20634 : && ix86_pre_reload_split ()))
20635 : return -1;
20636 : return 5522; /* *avx512vl_vpternlogv4si_0 */
20637 :
20638 : case E_V8DImode:
20639 : if (nonimmediate_operand (operands[0], E_V8DImode)
20640 : && nonimmediate_or_sse_const_operand (operands[1], E_V8DImode)
20641 : && (
20642 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20643 : (TARGET_SSE
20644 : && (register_operand (operands[0], V8DImode)
20645 : || register_operand (operands[1], V8DImode))
20646 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20647 : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20648 : (TARGET_AVX512F)))
20649 : return 2461; /* movv8di_internal */
20650 : if (!register_operand (operands[0], E_V8DImode)
20651 : || !ternlog_operand (operands[1], E_V8DImode)
20652 : || !(
20653 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20654 : ((64 == 64 || TARGET_AVX512VL
20655 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20656 : && ix86_pre_reload_split ()) &&
20657 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20658 : (TARGET_AVX512F)))
20659 : return -1;
20660 : return 5523; /* *avx512f_vpternlogv8di_0 */
20661 :
20662 : case E_V4DImode:
20663 : if (nonimmediate_operand (operands[0], E_V4DImode)
20664 : && nonimmediate_or_sse_const_operand (operands[1], E_V4DImode)
20665 : && (
20666 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20667 : (TARGET_SSE
20668 : && (register_operand (operands[0], V4DImode)
20669 : || register_operand (operands[1], V4DImode))
20670 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20671 : #line 290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20672 : (TARGET_AVX)))
20673 : return 2462; /* movv4di_internal */
20674 : if (!register_operand (operands[0], E_V4DImode)
20675 : || !ternlog_operand (operands[1], E_V4DImode)
20676 : || !(
20677 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20678 : ((32 == 64 || TARGET_AVX512VL
20679 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20680 : && ix86_pre_reload_split ()) &&
20681 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20682 : (TARGET_AVX)))
20683 : return -1;
20684 : return 5524; /* *avx512vl_vpternlogv4di_0 */
20685 :
20686 : case E_V2DImode:
20687 : if (nonimmediate_operand (operands[0], E_V2DImode)
20688 : && nonimmediate_or_sse_const_operand (operands[1], E_V2DImode)
20689 : &&
20690 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20691 : (TARGET_SSE
20692 : && (register_operand (operands[0], V2DImode)
20693 : || register_operand (operands[1], V2DImode))
20694 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20695 : return 2463; /* movv2di_internal */
20696 : if (!register_operand (operands[0], E_V2DImode)
20697 : || !ternlog_operand (operands[1], E_V2DImode)
20698 : || !
20699 : #line 14072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20700 : ((16 == 64 || TARGET_AVX512VL
20701 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20702 : && ix86_pre_reload_split ()))
20703 : return -1;
20704 : return 5525; /* *avx512vl_vpternlogv2di_0 */
20705 :
20706 : case E_V4TImode:
20707 : if (!nonimmediate_operand (operands[0], E_V4TImode)
20708 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4TImode)
20709 : || !(
20710 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20711 : (TARGET_SSE
20712 : && (register_operand (operands[0], V4TImode)
20713 : || register_operand (operands[1], V4TImode))
20714 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20715 : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20716 : (TARGET_AVX512F)))
20717 : return -1;
20718 : return 2464; /* movv4ti_internal */
20719 :
20720 : case E_V2TImode:
20721 : if (!nonimmediate_operand (operands[0], E_V2TImode)
20722 : || !nonimmediate_or_sse_const_operand (operands[1], E_V2TImode)
20723 : || !(
20724 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20725 : (TARGET_SSE
20726 : && (register_operand (operands[0], V2TImode)
20727 : || register_operand (operands[1], V2TImode))
20728 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20729 : #line 291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20730 : (TARGET_AVX)))
20731 : return -1;
20732 : return 2465; /* movv2ti_internal */
20733 :
20734 : case E_V1TImode:
20735 : if (!nonimmediate_operand (operands[0], E_V1TImode)
20736 : || !nonimmediate_or_sse_const_operand (operands[1], E_V1TImode)
20737 : || !
20738 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20739 : (TARGET_SSE
20740 : && (register_operand (operands[0], V1TImode)
20741 : || register_operand (operands[1], V1TImode))
20742 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20743 : return -1;
20744 : return 2466; /* movv1ti_internal */
20745 :
20746 : case E_V32HFmode:
20747 : if (!nonimmediate_operand (operands[0], E_V32HFmode)
20748 : || !nonimmediate_or_sse_const_operand (operands[1], E_V32HFmode)
20749 : || !(
20750 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20751 : (TARGET_SSE
20752 : && (register_operand (operands[0], V32HFmode)
20753 : || register_operand (operands[1], V32HFmode))
20754 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20755 : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20756 : (TARGET_AVX512F)))
20757 : return -1;
20758 : return 2467; /* movv32hf_internal */
20759 :
20760 : case E_V16HFmode:
20761 : if (!nonimmediate_operand (operands[0], E_V16HFmode)
20762 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16HFmode)
20763 : || !(
20764 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20765 : (TARGET_SSE
20766 : && (register_operand (operands[0], V16HFmode)
20767 : || register_operand (operands[1], V16HFmode))
20768 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20769 : #line 292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20770 : (TARGET_AVX)))
20771 : return -1;
20772 : return 2468; /* movv16hf_internal */
20773 :
20774 : case E_V8HFmode:
20775 : if (!nonimmediate_operand (operands[0], E_V8HFmode)
20776 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8HFmode)
20777 : || !
20778 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20779 : (TARGET_SSE
20780 : && (register_operand (operands[0], V8HFmode)
20781 : || register_operand (operands[1], V8HFmode))
20782 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20783 : return -1;
20784 : return 2469; /* movv8hf_internal */
20785 :
20786 : case E_V32BFmode:
20787 : if (!nonimmediate_operand (operands[0], E_V32BFmode)
20788 : || !nonimmediate_or_sse_const_operand (operands[1], E_V32BFmode)
20789 : || !(
20790 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20791 : (TARGET_SSE
20792 : && (register_operand (operands[0], V32BFmode)
20793 : || register_operand (operands[1], V32BFmode))
20794 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20795 : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20796 : (TARGET_AVX512F)))
20797 : return -1;
20798 : return 2470; /* movv32bf_internal */
20799 :
20800 : case E_V16BFmode:
20801 : if (!nonimmediate_operand (operands[0], E_V16BFmode)
20802 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16BFmode)
20803 : || !(
20804 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20805 : (TARGET_SSE
20806 : && (register_operand (operands[0], V16BFmode)
20807 : || register_operand (operands[1], V16BFmode))
20808 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20809 : #line 293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20810 : (TARGET_AVX)))
20811 : return -1;
20812 : return 2471; /* movv16bf_internal */
20813 :
20814 : case E_V8BFmode:
20815 : if (!nonimmediate_operand (operands[0], E_V8BFmode)
20816 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8BFmode)
20817 : || !
20818 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20819 : (TARGET_SSE
20820 : && (register_operand (operands[0], V8BFmode)
20821 : || register_operand (operands[1], V8BFmode))
20822 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20823 : return -1;
20824 : return 2472; /* movv8bf_internal */
20825 :
20826 : case E_V16SFmode:
20827 : if (!nonimmediate_operand (operands[0], E_V16SFmode)
20828 : || !nonimmediate_or_sse_const_operand (operands[1], E_V16SFmode)
20829 : || !(
20830 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20831 : (TARGET_SSE
20832 : && (register_operand (operands[0], V16SFmode)
20833 : || register_operand (operands[1], V16SFmode))
20834 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20835 : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20836 : (TARGET_AVX512F)))
20837 : return -1;
20838 : return 2473; /* movv16sf_internal */
20839 :
20840 : case E_V8SFmode:
20841 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
20842 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8SFmode)
20843 : || !(
20844 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20845 : (TARGET_SSE
20846 : && (register_operand (operands[0], V8SFmode)
20847 : || register_operand (operands[1], V8SFmode))
20848 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20849 : #line 294 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20850 : (TARGET_AVX)))
20851 : return -1;
20852 : return 2474; /* movv8sf_internal */
20853 :
20854 : case E_V4SFmode:
20855 : if (!nonimmediate_operand (operands[0], E_V4SFmode)
20856 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4SFmode)
20857 : || !
20858 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20859 : (TARGET_SSE
20860 : && (register_operand (operands[0], V4SFmode)
20861 : || register_operand (operands[1], V4SFmode))
20862 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20863 : return -1;
20864 : return 2475; /* movv4sf_internal */
20865 :
20866 : case E_V8DFmode:
20867 : if (!nonimmediate_operand (operands[0], E_V8DFmode)
20868 : || !nonimmediate_or_sse_const_operand (operands[1], E_V8DFmode)
20869 : || !(
20870 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20871 : (TARGET_SSE
20872 : && (register_operand (operands[0], V8DFmode)
20873 : || register_operand (operands[1], V8DFmode))
20874 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20875 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20876 : (TARGET_AVX512F)))
20877 : return -1;
20878 : return 2476; /* movv8df_internal */
20879 :
20880 : case E_V4DFmode:
20881 : if (!nonimmediate_operand (operands[0], E_V4DFmode)
20882 : || !nonimmediate_or_sse_const_operand (operands[1], E_V4DFmode)
20883 : || !(
20884 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20885 : (TARGET_SSE
20886 : && (register_operand (operands[0], V4DFmode)
20887 : || register_operand (operands[1], V4DFmode))
20888 : && ix86_hardreg_mov_ok (operands[0], operands[1])) &&
20889 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20890 : (TARGET_AVX)))
20891 : return -1;
20892 : return 2477; /* movv4df_internal */
20893 :
20894 : case E_V2DFmode:
20895 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
20896 : || !nonimmediate_or_sse_const_operand (operands[1], E_V2DFmode)
20897 : || !
20898 : #line 1491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20899 : (TARGET_SSE
20900 : && (register_operand (operands[0], V2DFmode)
20901 : || register_operand (operands[1], V2DFmode))
20902 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
20903 : return -1;
20904 : return 2478; /* movv2df_internal */
20905 :
20906 : default:
20907 : return -1;
20908 : }
20909 : }
20910 :
20911 : int
20912 : recog_337 (rtx x1 ATTRIBUTE_UNUSED,
20913 : rtx_insn *insn ATTRIBUTE_UNUSED,
20914 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20915 : {
20916 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20917 : rtx x2, x3, x4, x5;
20918 : int res ATTRIBUTE_UNUSED;
20919 : x2 = XEXP (x1, 0);
20920 : operands[0] = x2;
20921 : x3 = XEXP (x1, 1);
20922 : x4 = XEXP (x3, 0);
20923 : switch (GET_CODE (x4))
20924 : {
20925 : case REG:
20926 : case SUBREG:
20927 : case MEM:
20928 : case VEC_DUPLICATE:
20929 : operands[1] = x4;
20930 : x5 = XEXP (x3, 1);
20931 : operands[2] = x5;
20932 : switch (GET_MODE (operands[0]))
20933 : {
20934 : case E_V32HFmode:
20935 : if (pattern189 (x3,
20936 : E_V32HFmode) != 0
20937 : || !(
20938 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20939 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
20940 : && 1 && 1) &&
20941 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20942 : (TARGET_AVX512FP16)))
20943 : return -1;
20944 : return 2848; /* *mulv32hf3 */
20945 :
20946 : case E_V16HFmode:
20947 : if (pattern189 (x3,
20948 : E_V16HFmode) != 0
20949 : || !(
20950 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20951 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
20952 : && 1 && 1) &&
20953 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20954 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20955 : return -1;
20956 : return 2852; /* *mulv16hf3 */
20957 :
20958 : case E_V8HFmode:
20959 : if (pattern189 (x3,
20960 : E_V8HFmode) != 0
20961 : || !(
20962 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20963 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
20964 : && 1 && 1) &&
20965 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20966 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20967 : return -1;
20968 : return 2856; /* *mulv8hf3 */
20969 :
20970 : case E_V16SFmode:
20971 : if (pattern189 (x3,
20972 : E_V16SFmode) != 0
20973 : || !(
20974 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20975 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
20976 : && 1 && 1) &&
20977 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20978 : (TARGET_AVX512F)))
20979 : return -1;
20980 : return 2860; /* *mulv16sf3 */
20981 :
20982 : case E_V8SFmode:
20983 : if (pattern189 (x3,
20984 : E_V8SFmode) != 0
20985 : || !(
20986 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20987 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
20988 : && 1 && 1) &&
20989 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20990 : (TARGET_AVX)))
20991 : return -1;
20992 : return 2864; /* *mulv8sf3 */
20993 :
20994 : case E_V4SFmode:
20995 : if (pattern189 (x3,
20996 : E_V4SFmode) != 0
20997 : || !
20998 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20999 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
21000 : && 1 && 1))
21001 : return -1;
21002 : return 2868; /* *mulv4sf3 */
21003 :
21004 : case E_V8DFmode:
21005 : if (pattern189 (x3,
21006 : E_V8DFmode) != 0
21007 : || !(
21008 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21009 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
21010 : && 1 && 1) &&
21011 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21012 : (TARGET_AVX512F)))
21013 : return -1;
21014 : return 2872; /* *mulv8df3 */
21015 :
21016 : case E_V4DFmode:
21017 : if (pattern189 (x3,
21018 : E_V4DFmode) != 0
21019 : || !(
21020 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21021 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
21022 : && 1 && 1) &&
21023 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21024 : (TARGET_AVX)))
21025 : return -1;
21026 : return 2876; /* *mulv4df3 */
21027 :
21028 : case E_V2DFmode:
21029 : if (pattern189 (x3,
21030 : E_V2DFmode) != 0
21031 : || !(
21032 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21033 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
21034 : && 1 && 1) &&
21035 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21036 : (TARGET_SSE2)))
21037 : return -1;
21038 : return 2880; /* *mulv2df3 */
21039 :
21040 : case E_V32HImode:
21041 : if (pattern26 (x3,
21042 : E_V32HImode) != 0
21043 : || !(
21044 : #line 16710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21045 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21046 : && 1 && 1) &&
21047 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21048 : (TARGET_AVX512BW)))
21049 : return -1;
21050 : return 7595; /* *mulv32hi3 */
21051 :
21052 : case E_V16HImode:
21053 : if (pattern26 (x3,
21054 : E_V16HImode) != 0
21055 : || !(
21056 : #line 16710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21057 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21058 : && 1 && 1) &&
21059 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21060 : (TARGET_AVX2)))
21061 : return -1;
21062 : return 7597; /* *mulv16hi3 */
21063 :
21064 : case E_V8HImode:
21065 : if (pattern26 (x3,
21066 : E_V8HImode) != 0
21067 : || !
21068 : #line 16710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21069 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21070 : && 1 && 1))
21071 : return -1;
21072 : return 7599; /* *mulv8hi3 */
21073 :
21074 : case E_V8DImode:
21075 : if (pattern189 (x3,
21076 : E_V8DImode) != 0
21077 : || !
21078 : #line 17164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21079 : (TARGET_AVX512DQ && 1
21080 : && ix86_binary_operator_ok (MULT, V8DImode, operands)))
21081 : return -1;
21082 : return 7633; /* *avx512dq_mulv8di3 */
21083 :
21084 : case E_V4DImode:
21085 : if (pattern189 (x3,
21086 : E_V4DImode) != 0
21087 : || !(
21088 : #line 17164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21089 : (TARGET_AVX512DQ && 1
21090 : && ix86_binary_operator_ok (MULT, V4DImode, operands)) &&
21091 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21092 : (TARGET_AVX512VL)))
21093 : return -1;
21094 : return 7635; /* *avx512dq_mulv4di3 */
21095 :
21096 : case E_V2DImode:
21097 : if (pattern189 (x3,
21098 : E_V2DImode) != 0
21099 : || !(
21100 : #line 17164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21101 : (TARGET_AVX512DQ && 1
21102 : && ix86_binary_operator_ok (MULT, V2DImode, operands)) &&
21103 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21104 : (TARGET_AVX512VL)))
21105 : return -1;
21106 : return 7637; /* *avx512dq_mulv2di3 */
21107 :
21108 : case E_V16SImode:
21109 : if (pattern189 (x3,
21110 : E_V16SImode) != 0
21111 : || !(
21112 : #line 17223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21113 : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V16SImode, operands)
21114 : && 1) &&
21115 : #line 665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21116 : (TARGET_AVX512F)))
21117 : return -1;
21118 : return 7639; /* *avx512f_mulv16si3 */
21119 :
21120 : case E_V8SImode:
21121 : if (pattern189 (x3,
21122 : E_V8SImode) != 0
21123 : || !(
21124 : #line 17223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21125 : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V8SImode, operands)
21126 : && 1) &&
21127 : #line 665 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21128 : (TARGET_AVX2)))
21129 : return -1;
21130 : return 7641; /* *avx2_mulv8si3 */
21131 :
21132 : case E_V4SImode:
21133 : if (pattern189 (x3,
21134 : E_V4SImode) != 0
21135 : || !
21136 : #line 17223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21137 : (TARGET_SSE4_1 && ix86_binary_operator_ok (MULT, V4SImode, operands)
21138 : && 1))
21139 : return -1;
21140 : return 7643; /* *sse4_1_mulv4si3 */
21141 :
21142 : case E_V32BFmode:
21143 : if (pattern12 (x3,
21144 : E_V32BFmode) != 0
21145 : || !
21146 : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21147 : (TARGET_AVX10_2))
21148 : return -1;
21149 : return 10682; /* avx10_2_mulbf16_v32bf */
21150 :
21151 : case E_V16BFmode:
21152 : if (pattern12 (x3,
21153 : E_V16BFmode) != 0
21154 : || !
21155 : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21156 : (TARGET_AVX10_2))
21157 : return -1;
21158 : return 10690; /* avx10_2_mulbf16_v16bf */
21159 :
21160 : case E_V8BFmode:
21161 : if (pattern12 (x3,
21162 : E_V8BFmode) != 0
21163 : || !
21164 : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21165 : (TARGET_AVX10_2))
21166 : return -1;
21167 : return 10698; /* avx10_2_mulbf16_v8bf */
21168 :
21169 : default:
21170 : return -1;
21171 : }
21172 :
21173 : case ZERO_EXTEND:
21174 : switch (pattern201 (x3,
21175 : ZERO_EXTEND))
21176 : {
21177 : case 0:
21178 : if (!
21179 : #line 16793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21180 : (TARGET_AVX512F
21181 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21182 : return -1;
21183 : return 7613; /* *vec_widen_umult_even_v16si */
21184 :
21185 : case 1:
21186 : if (!
21187 : #line 16829 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21188 : (TARGET_AVX2 && 1
21189 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21190 : return -1;
21191 : return 7615; /* *vec_widen_umult_even_v8si */
21192 :
21193 : case 2:
21194 : if (!
21195 : #line 16861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21196 : (TARGET_SSE2 && 1
21197 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21198 : return -1;
21199 : return 7617; /* *vec_widen_umult_even_v4si */
21200 :
21201 : default:
21202 : return -1;
21203 : }
21204 :
21205 : case SIGN_EXTEND:
21206 : switch (pattern201 (x3,
21207 : SIGN_EXTEND))
21208 : {
21209 : case 0:
21210 : if (!
21211 : #line 16909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21212 : (TARGET_AVX512F
21213 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21214 : return -1;
21215 : return 7619; /* *vec_widen_smult_even_v16si */
21216 :
21217 : case 1:
21218 : if (!
21219 : #line 16945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21220 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21221 : return -1;
21222 : return 7621; /* *vec_widen_smult_even_v8si */
21223 :
21224 : case 2:
21225 : if (!
21226 : #line 16977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21227 : (TARGET_SSE4_1 && 1
21228 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21229 : return -1;
21230 : return 7623; /* *sse4_1_mulv2siv2di3 */
21231 :
21232 : default:
21233 : return -1;
21234 : }
21235 :
21236 : default:
21237 : return -1;
21238 : }
21239 : }
21240 :
21241 : int
21242 : recog_346 (rtx x1 ATTRIBUTE_UNUSED,
21243 : rtx_insn *insn ATTRIBUTE_UNUSED,
21244 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21245 : {
21246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21247 : int res ATTRIBUTE_UNUSED;
21248 : switch (pattern27 (x1))
21249 : {
21250 : case 0:
21251 : if (!(
21252 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21253 : (TARGET_SSE
21254 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21255 : && 1
21256 : && 1) &&
21257 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21258 : (TARGET_AVX512FP16)))
21259 : return -1;
21260 : return 3045; /* *smaxv32hf3 */
21261 :
21262 : case 1:
21263 : if (!(
21264 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21265 : (TARGET_SSE
21266 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21267 : && 1
21268 : && 1) &&
21269 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21270 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21271 : return -1;
21272 : return 3053; /* *smaxv16hf3 */
21273 :
21274 : case 2:
21275 : if (!(
21276 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21277 : (TARGET_SSE
21278 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21279 : && 1
21280 : && 1) &&
21281 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21282 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
21283 : return -1;
21284 : return 3057; /* *smaxv8hf3 */
21285 :
21286 : case 3:
21287 : if (!(
21288 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21289 : (TARGET_SSE
21290 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21291 : && 1
21292 : && 1) &&
21293 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21294 : (TARGET_AVX512F)))
21295 : return -1;
21296 : return 3061; /* *smaxv16sf3 */
21297 :
21298 : case 4:
21299 : if (!(
21300 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21301 : (TARGET_SSE
21302 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21303 : && 1
21304 : && 1) &&
21305 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21306 : (TARGET_AVX)))
21307 : return -1;
21308 : return 3069; /* *smaxv8sf3 */
21309 :
21310 : case 5:
21311 : if (!
21312 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21313 : (TARGET_SSE
21314 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21315 : && 1
21316 : && 1))
21317 : return -1;
21318 : return 3073; /* *smaxv4sf3 */
21319 :
21320 : case 6:
21321 : if (!(
21322 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21323 : (TARGET_SSE
21324 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21325 : && 1
21326 : && 1) &&
21327 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21328 : (TARGET_AVX512F)))
21329 : return -1;
21330 : return 3077; /* *smaxv8df3 */
21331 :
21332 : case 7:
21333 : if (!(
21334 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21335 : (TARGET_SSE
21336 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21337 : && 1
21338 : && 1) &&
21339 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21340 : (TARGET_AVX)))
21341 : return -1;
21342 : return 3085; /* *smaxv4df3 */
21343 :
21344 : case 8:
21345 : if (!(
21346 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21347 : (TARGET_SSE
21348 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
21349 : && 1
21350 : && 1) &&
21351 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21352 : (TARGET_SSE2)))
21353 : return -1;
21354 : return 3089; /* *smaxv2df3 */
21355 :
21356 : case 9:
21357 : if (
21358 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21359 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21360 : return 7795; /* *avx2_smaxv32qi3 */
21361 : if (!(
21362 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21363 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21364 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21365 : (TARGET_AVX512VL)))
21366 : return -1;
21367 : return 7871; /* *avx512bw_smaxv32qi3 */
21368 :
21369 : case 10:
21370 : if (
21371 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21372 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21373 : return 7799; /* *avx2_smaxv16hi3 */
21374 : if (!(
21375 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21376 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21377 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21378 : (TARGET_AVX512VL)))
21379 : return -1;
21380 : return 7887; /* *avx512bw_smaxv16hi3 */
21381 :
21382 : case 11:
21383 : if (
21384 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21385 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21386 : return 7803; /* *avx2_smaxv8si3 */
21387 : if (!(
21388 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21389 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21390 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21391 : (TARGET_AVX512VL)))
21392 : return -1;
21393 : return 7815; /* *avx512f_smaxv8si3 */
21394 :
21395 : case 12:
21396 : if (!
21397 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21398 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21399 : return -1;
21400 : return 7807; /* *avx512f_smaxv16si3 */
21401 :
21402 : case 13:
21403 : if (nonimmediate_operand (operands[1], E_V4SImode)
21404 : && nonimmediate_operand (operands[2], E_V4SImode)
21405 : && (
21406 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21407 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21408 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21409 : (TARGET_AVX512VL)))
21410 : return 7823; /* *avx512f_smaxv4si3 */
21411 : if (!vector_operand (operands[1], E_V4SImode)
21412 : || !vector_operand (operands[2], E_V4SImode)
21413 : || !
21414 : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21415 : (TARGET_SSE4_1
21416 : && 1
21417 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21418 : return -1;
21419 : return 7907; /* *sse4_1_smaxv4si3 */
21420 :
21421 : case 14:
21422 : if (!
21423 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21424 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21425 : return -1;
21426 : return 7831; /* *avx512f_smaxv8di3 */
21427 :
21428 : case 15:
21429 : if (!(
21430 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21431 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21432 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21433 : (TARGET_AVX512VL)))
21434 : return -1;
21435 : return 7839; /* *avx512f_smaxv4di3 */
21436 :
21437 : case 16:
21438 : if (!(
21439 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21440 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21441 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21442 : (TARGET_AVX512VL)))
21443 : return -1;
21444 : return 7847; /* *avx512f_smaxv2di3 */
21445 :
21446 : case 17:
21447 : if (!
21448 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21449 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21450 : return -1;
21451 : return 7855; /* *avx512bw_smaxv64qi3 */
21452 :
21453 : case 18:
21454 : if (nonimmediate_operand (operands[1], E_V16QImode)
21455 : && nonimmediate_operand (operands[2], E_V16QImode)
21456 : && (
21457 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21458 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21459 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21460 : (TARGET_AVX512VL)))
21461 : return 7863; /* *avx512bw_smaxv16qi3 */
21462 : if (!vector_operand (operands[1], E_V16QImode)
21463 : || !vector_operand (operands[2], E_V16QImode)
21464 : || !
21465 : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21466 : (TARGET_SSE4_1
21467 : && 1
21468 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21469 : return -1;
21470 : return 7903; /* *sse4_1_smaxv16qi3 */
21471 :
21472 : case 19:
21473 : if (!
21474 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21475 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21476 : return -1;
21477 : return 7879; /* *avx512bw_smaxv32hi3 */
21478 :
21479 : case 20:
21480 : if (nonimmediate_operand (operands[1], E_V8HImode)
21481 : && nonimmediate_operand (operands[2], E_V8HImode)
21482 : && (
21483 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21484 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21485 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21486 : (TARGET_AVX512VL)))
21487 : return 7895; /* *avx512bw_smaxv8hi3 */
21488 : if (!vector_operand (operands[1], E_V8HImode)
21489 : || !vector_operand (operands[2], E_V8HImode)
21490 : || !
21491 : #line 18155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21492 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21493 : return -1;
21494 : return 7911; /* *smaxv8hi3 */
21495 :
21496 : case 21:
21497 : if (!
21498 : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21499 : (TARGET_AVX10_2))
21500 : return -1;
21501 : return 10666; /* avx10_2_smaxbf16_v32bf */
21502 :
21503 : case 22:
21504 : if (!
21505 : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21506 : (TARGET_AVX10_2))
21507 : return -1;
21508 : return 10670; /* avx10_2_smaxbf16_v16bf */
21509 :
21510 : case 23:
21511 : if (!
21512 : #line 32818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21513 : (TARGET_AVX10_2))
21514 : return -1;
21515 : return 10674; /* avx10_2_smaxbf16_v8bf */
21516 :
21517 : default:
21518 : return -1;
21519 : }
21520 : }
21521 :
21522 : int
21523 : recog_352 (rtx x1 ATTRIBUTE_UNUSED,
21524 : rtx_insn *insn ATTRIBUTE_UNUSED,
21525 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21526 : {
21527 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21528 : int res ATTRIBUTE_UNUSED;
21529 : switch (pattern34 (x1))
21530 : {
21531 : case 0:
21532 : if (
21533 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21534 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21535 : return 7798; /* *avx2_uminv32qi3 */
21536 : if (!(
21537 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21538 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21539 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21540 : (TARGET_AVX512VL)))
21541 : return -1;
21542 : return 7877; /* *avx512bw_uminv32qi3 */
21543 :
21544 : case 1:
21545 : if (
21546 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21547 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21548 : return 7802; /* *avx2_uminv16hi3 */
21549 : if (!(
21550 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21551 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21552 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21553 : (TARGET_AVX512VL)))
21554 : return -1;
21555 : return 7893; /* *avx512bw_uminv16hi3 */
21556 :
21557 : case 2:
21558 : if (
21559 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21560 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21561 : return 7806; /* *avx2_uminv8si3 */
21562 : if (!(
21563 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21564 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21565 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21566 : (TARGET_AVX512VL)))
21567 : return -1;
21568 : return 7821; /* *avx512f_uminv8si3 */
21569 :
21570 : case 3:
21571 : if (!
21572 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21573 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21574 : return -1;
21575 : return 7813; /* *avx512f_uminv16si3 */
21576 :
21577 : case 4:
21578 : if (nonimmediate_operand (operands[1], E_V4SImode)
21579 : && nonimmediate_operand (operands[2], E_V4SImode)
21580 : && (
21581 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21582 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21583 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21584 : (TARGET_AVX512VL)))
21585 : return 7829; /* *avx512f_uminv4si3 */
21586 : if (!vector_operand (operands[1], E_V4SImode)
21587 : || !vector_operand (operands[2], E_V4SImode)
21588 : || !
21589 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21590 : (TARGET_SSE4_1
21591 : && 1
21592 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21593 : return -1;
21594 : return 7919; /* *sse4_1_uminv4si3 */
21595 :
21596 : case 5:
21597 : if (!
21598 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21599 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21600 : return -1;
21601 : return 7837; /* *avx512f_uminv8di3 */
21602 :
21603 : case 6:
21604 : if (!(
21605 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21606 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21607 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21608 : (TARGET_AVX512VL)))
21609 : return -1;
21610 : return 7845; /* *avx512f_uminv4di3 */
21611 :
21612 : case 7:
21613 : if (!(
21614 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21615 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21616 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21617 : (TARGET_AVX512VL)))
21618 : return -1;
21619 : return 7853; /* *avx512f_uminv2di3 */
21620 :
21621 : case 8:
21622 : if (!
21623 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21624 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21625 : return -1;
21626 : return 7861; /* *avx512bw_uminv64qi3 */
21627 :
21628 : case 9:
21629 : if (nonimmediate_operand (operands[1], E_V16QImode)
21630 : && nonimmediate_operand (operands[2], E_V16QImode)
21631 : && (
21632 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21633 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21634 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21635 : (TARGET_AVX512VL)))
21636 : return 7869; /* *avx512bw_uminv16qi3 */
21637 : if (!vector_operand (operands[1], E_V16QImode)
21638 : || !vector_operand (operands[2], E_V16QImode)
21639 : || !
21640 : #line 18239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21641 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21642 : return -1;
21643 : return 7922; /* *uminv16qi3 */
21644 :
21645 : case 10:
21646 : if (!
21647 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21648 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21649 : return -1;
21650 : return 7885; /* *avx512bw_uminv32hi3 */
21651 :
21652 : case 11:
21653 : if (nonimmediate_operand (operands[1], E_V8HImode)
21654 : && nonimmediate_operand (operands[2], E_V8HImode)
21655 : && (
21656 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21657 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21658 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21659 : (TARGET_AVX512VL)))
21660 : return 7901; /* *avx512bw_uminv8hi3 */
21661 : if (!vector_operand (operands[1], E_V8HImode)
21662 : || !vector_operand (operands[2], E_V8HImode)
21663 : || !
21664 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21665 : (TARGET_SSE4_1
21666 : && 1
21667 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21668 : return -1;
21669 : return 7915; /* *sse4_1_uminv8hi3 */
21670 :
21671 : default:
21672 : return -1;
21673 : }
21674 : }
21675 :
21676 : int
21677 : recog_359 (rtx x1 ATTRIBUTE_UNUSED,
21678 : rtx_insn *insn ATTRIBUTE_UNUSED,
21679 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21680 : {
21681 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21682 : rtx x2, x3, x4;
21683 : int res ATTRIBUTE_UNUSED;
21684 : x2 = XEXP (x1, 0);
21685 : operands[0] = x2;
21686 : x3 = XEXP (x1, 1);
21687 : x4 = XEXP (x3, 0);
21688 : operands[1] = x4;
21689 : switch (GET_MODE (operands[0]))
21690 : {
21691 : case E_XFmode:
21692 : if (!register_operand (operands[0], E_XFmode)
21693 : || GET_MODE (x3) != E_XFmode
21694 : || !register_operand (operands[1], E_XFmode)
21695 : || !
21696 : #line 24091 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21697 : (TARGET_USE_FANCY_MATH_387))
21698 : return -1;
21699 : return 1742; /* sqrtxf2 */
21700 :
21701 : case E_HFmode:
21702 : if (!register_operand (operands[0], E_HFmode)
21703 : || GET_MODE (x3) != E_HFmode
21704 : || !nonimmediate_operand (operands[1], E_HFmode)
21705 : || !
21706 : #line 24152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21707 : (TARGET_AVX512FP16))
21708 : return -1;
21709 : return 1745; /* sqrthf2 */
21710 :
21711 : case E_SFmode:
21712 : if (!register_operand (operands[0], E_SFmode)
21713 : || GET_MODE (x3) != E_SFmode
21714 : || !nonimmediate_operand (operands[1], E_SFmode)
21715 : || !
21716 : #line 24165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21717 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
21718 : return -1;
21719 : return 1746; /* *sqrtsf2_sse */
21720 :
21721 : case E_DFmode:
21722 : if (!register_operand (operands[0], E_DFmode)
21723 : || GET_MODE (x3) != E_DFmode
21724 : || !nonimmediate_operand (operands[1], E_DFmode)
21725 : || !
21726 : #line 24165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21727 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
21728 : return -1;
21729 : return 1747; /* *sqrtdf2_sse */
21730 :
21731 : default:
21732 : return -1;
21733 : }
21734 : }
21735 :
21736 : int
21737 : recog_363 (rtx x1 ATTRIBUTE_UNUSED,
21738 : rtx_insn *insn ATTRIBUTE_UNUSED,
21739 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21740 : {
21741 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21742 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21743 : rtx x10;
21744 : int res ATTRIBUTE_UNUSED;
21745 : x2 = XVECEXP (x1, 0, 0);
21746 : x3 = XEXP (x2, 0);
21747 : operands[0] = x3;
21748 : x4 = XVECEXP (x1, 0, 1);
21749 : switch (GET_CODE (x4))
21750 : {
21751 : case CLOBBER:
21752 : x5 = XEXP (x2, 1);
21753 : operands[1] = x5;
21754 : x6 = XEXP (x4, 0);
21755 : switch (GET_CODE (x6))
21756 : {
21757 : case MEM:
21758 : if (GET_MODE (x6) != E_BLKmode)
21759 : return -1;
21760 : x7 = XEXP (x6, 0);
21761 : if (GET_CODE (x7) != SCRATCH)
21762 : return -1;
21763 : switch (GET_MODE (operands[0]))
21764 : {
21765 : case E_SImode:
21766 : if (push_operand (operands[0], E_SImode)
21767 : && general_no_elim_operand (operands[1], E_SImode)
21768 : &&
21769 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21770 : (word_mode == SImode))
21771 : return 78; /* *pushsi2_prologue */
21772 : if (!nonimmediate_operand (operands[0], E_SImode)
21773 : || !pop_operand (operands[1], E_SImode)
21774 : || !
21775 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21776 : (word_mode == SImode))
21777 : return -1;
21778 : return 82; /* *popsi1_epilogue */
21779 :
21780 : case E_DImode:
21781 : if (push_operand (operands[0], E_DImode)
21782 : && general_no_elim_operand (operands[1], E_DImode)
21783 : &&
21784 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21785 : (word_mode == DImode))
21786 : return 79; /* *pushdi2_prologue */
21787 : if (!nonimmediate_operand (operands[0], E_DImode)
21788 : || !pop_operand (operands[1], E_DImode)
21789 : || !
21790 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21791 : (word_mode == DImode))
21792 : return -1;
21793 : return 83; /* *popdi1_epilogue */
21794 :
21795 : default:
21796 : return -1;
21797 : }
21798 :
21799 : case REG:
21800 : if (REGNO (x6) != 17
21801 : || GET_MODE (x6) != E_CCmode)
21802 : return -1;
21803 : switch (GET_MODE (operands[0]))
21804 : {
21805 : case E_SImode:
21806 : if (const0_operand (operands[1], E_SImode))
21807 : {
21808 : if (register_operand (operands[0], E_SImode)
21809 : &&
21810 : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21811 : (reload_completed))
21812 : return 88; /* *movsi_xor */
21813 : if (memory_operand (operands[0], E_SImode)
21814 : &&
21815 : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21816 : (reload_completed))
21817 : return 91; /* *movsi_and */
21818 : }
21819 : if (!nonimmediate_operand (operands[0], E_SImode)
21820 : || !constm1_operand (operands[1], E_SImode)
21821 : || !
21822 : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21823 : (reload_completed))
21824 : return -1;
21825 : return 94; /* *movsi_or */
21826 :
21827 : case E_DImode:
21828 : if (const0_operand (operands[1], E_DImode))
21829 : {
21830 : if (register_operand (operands[0], E_DImode)
21831 : && (
21832 : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21833 : (reload_completed) &&
21834 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21835 : (TARGET_64BIT)))
21836 : return 89; /* *movdi_xor */
21837 : if (memory_operand (operands[0], E_DImode)
21838 : && (
21839 : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21840 : (reload_completed) &&
21841 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21842 : (TARGET_64BIT)))
21843 : return 92; /* *movdi_and */
21844 : }
21845 : if (!nonimmediate_operand (operands[0], E_DImode)
21846 : || !constm1_operand (operands[1], E_DImode)
21847 : || !(
21848 : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21849 : (reload_completed) &&
21850 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21851 : (TARGET_64BIT)))
21852 : return -1;
21853 : return 95; /* *movdi_or */
21854 :
21855 : case E_HImode:
21856 : if (memory_operand (operands[0], E_HImode)
21857 : && const0_operand (operands[1], E_HImode)
21858 : &&
21859 : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21860 : (reload_completed))
21861 : return 90; /* *movhi_and */
21862 : if (!nonimmediate_operand (operands[0], E_HImode)
21863 : || !constm1_operand (operands[1], E_HImode)
21864 : || !
21865 : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21866 : (reload_completed))
21867 : return -1;
21868 : return 93; /* *movhi_or */
21869 :
21870 : default:
21871 : return -1;
21872 : }
21873 :
21874 : default:
21875 : return -1;
21876 : }
21877 :
21878 : case SET:
21879 : x8 = XEXP (x4, 1);
21880 : switch (GET_CODE (x8))
21881 : {
21882 : case REG:
21883 : case SUBREG:
21884 : if (!rtx_equal_p (x8, operands[0]))
21885 : return -1;
21886 : x5 = XEXP (x2, 1);
21887 : operands[1] = x5;
21888 : x6 = XEXP (x4, 0);
21889 : if (!rtx_equal_p (x6, operands[1]))
21890 : return -1;
21891 : switch (GET_MODE (operands[0]))
21892 : {
21893 : case E_SImode:
21894 : if (!register_operand (operands[0], E_SImode)
21895 : || !register_operand (operands[1], E_SImode))
21896 : return -1;
21897 : return 111; /* swapsi */
21898 :
21899 : case E_DImode:
21900 : if (!register_operand (operands[0], E_DImode)
21901 : || !register_operand (operands[1], E_DImode)
21902 : || !
21903 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21904 : (TARGET_64BIT))
21905 : return -1;
21906 : return 112; /* swapdi */
21907 :
21908 : case E_QImode:
21909 : if (!register_operand (operands[0], E_QImode)
21910 : || !register_operand (operands[1], E_QImode))
21911 : return -1;
21912 : return 113; /* *swapqi */
21913 :
21914 : case E_HImode:
21915 : if (!register_operand (operands[0], E_HImode)
21916 : || !register_operand (operands[1], E_HImode))
21917 : return -1;
21918 : return 114; /* *swaphi */
21919 :
21920 : case E_XFmode:
21921 : if (!register_operand (operands[0], E_XFmode)
21922 : || !register_operand (operands[1], E_XFmode)
21923 : || !
21924 : #line 4655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21925 : (TARGET_80387))
21926 : return -1;
21927 : return 177; /* *swapxf */
21928 :
21929 : default:
21930 : return -1;
21931 : }
21932 :
21933 : case UNSPEC:
21934 : if (XVECLEN (x8, 0) != 1
21935 : || XINT (x8, 1) != 73
21936 : || GET_MODE (x8) != E_XFmode
21937 : || !register_operand (operands[0], E_SFmode))
21938 : return -1;
21939 : x5 = XEXP (x2, 1);
21940 : operands[3] = x5;
21941 : if (!const1_operand (operands[3], E_SFmode))
21942 : return -1;
21943 : x6 = XEXP (x4, 0);
21944 : operands[1] = x6;
21945 : if (!register_operand (operands[1], E_XFmode))
21946 : return -1;
21947 : x9 = XVECEXP (x8, 0, 0);
21948 : operands[2] = x9;
21949 : if (!register_operand (operands[2], E_XFmode)
21950 : || !
21951 : #line 24470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21952 : (TARGET_USE_FANCY_MATH_387
21953 : && flag_unsafe_math_optimizations))
21954 : return -1;
21955 : return 1754; /* fptanxf4_i387 */
21956 :
21957 : default:
21958 : return -1;
21959 : }
21960 :
21961 : case UNSPEC:
21962 : if (XVECLEN (x4, 0) != 1
21963 : || XINT (x4, 1) != 109
21964 : || GET_MODE (x4) != E_DImode)
21965 : return -1;
21966 : x10 = XVECEXP (x4, 0, 0);
21967 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21968 : return -1;
21969 : x5 = XEXP (x2, 1);
21970 : operands[1] = x5;
21971 : if (register_operand (operands[1], E_DImode)
21972 : && push_operand (operands[0], E_DImode)
21973 : &&
21974 : #line 3921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21975 : (TARGET_64BIT))
21976 : return 165; /* pushp_di */
21977 : if (!pop_operand (operands[1], E_DImode)
21978 : || !register_operand (operands[0], E_DImode)
21979 : || !
21980 : #line 3929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21981 : (TARGET_APX_PPX))
21982 : return -1;
21983 : return 166; /* popp_di */
21984 :
21985 : default:
21986 : return -1;
21987 : }
21988 : }
21989 :
21990 : int
21991 : recog_376 (rtx x1 ATTRIBUTE_UNUSED,
21992 : rtx_insn *insn ATTRIBUTE_UNUSED,
21993 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21994 : {
21995 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21996 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21997 : int res ATTRIBUTE_UNUSED;
21998 : x2 = XVECEXP (x1, 0, 0);
21999 : x3 = XEXP (x2, 1);
22000 : switch (XINT (x3, 1))
22001 : {
22002 : case 107:
22003 : if (pattern546 (x1) != 0)
22004 : return -1;
22005 : x4 = XEXP (x2, 0);
22006 : operands[0] = x4;
22007 : if (!register_operand (operands[0], E_DImode))
22008 : return -1;
22009 : x5 = XVECEXP (x3, 0, 0);
22010 : operands[1] = x5;
22011 : if (!pop_operand (operands[1], E_TImode))
22012 : return -1;
22013 : x6 = XVECEXP (x1, 0, 1);
22014 : x7 = XEXP (x6, 0);
22015 : operands[2] = x7;
22016 : if (!register_operand (operands[2], E_DImode)
22017 : || !
22018 : #line 3912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22019 : (TARGET_APX_PUSH2POP2))
22020 : return -1;
22021 : return 164; /* pop2_di */
22022 :
22023 : case 15:
22024 : if (GET_MODE (x3) != E_SImode)
22025 : return -1;
22026 : x6 = XVECEXP (x1, 0, 1);
22027 : if (GET_CODE (x6) != CLOBBER
22028 : || pattern823 (x1,
22029 : E_SImode) != 0)
22030 : return -1;
22031 : x5 = XVECEXP (x3, 0, 0);
22032 : switch (GET_CODE (x5))
22033 : {
22034 : case CONST_INT:
22035 : if (XWINT (x5, 0) != 0L
22036 : || !
22037 : #line 21124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22038 : (!TARGET_64BIT))
22039 : return -1;
22040 : return 1530; /* *set_got */
22041 :
22042 : case LABEL_REF:
22043 : x8 = XEXP (x5, 0);
22044 : operands[1] = x8;
22045 : if (!
22046 : #line 21146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22047 : (!TARGET_64BIT))
22048 : return -1;
22049 : return 1531; /* *set_got_labelled */
22050 :
22051 : default:
22052 : return -1;
22053 : }
22054 :
22055 : case 98:
22056 : switch (pattern549 (x1))
22057 : {
22058 : case 0:
22059 : if (!
22060 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22061 : (TARGET_BMI))
22062 : return -1;
22063 : return 1584; /* tzcnt_si */
22064 :
22065 : case 1:
22066 : if (!(((
22067 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22068 : (TARGET_64BIT) &&
22069 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22070 : (TARGET_BMI)) &&
22071 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22072 : (TARGET_64BIT)) &&
22073 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22074 : (TARGET_BMI)))
22075 : return -1;
22076 : return 1586; /* tzcnt_di */
22077 :
22078 : case 2:
22079 : if (!(
22080 : #line 22090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22081 : (true) &&
22082 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22083 : (TARGET_BMI)))
22084 : return -1;
22085 : return 1597; /* tzcnt_hi */
22086 :
22087 : case 3:
22088 : if ((
22089 : #line 22064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22090 : (TARGET_APX_NF) &&
22091 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22092 : (TARGET_BMI)))
22093 : return 1588; /* *tzcnt_si_falsedep_nf */
22094 : if (pnum_clobbers == NULL
22095 : || !
22096 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22097 : (TARGET_BMI))
22098 : return -1;
22099 : *pnum_clobbers = 1;
22100 : return 1592; /* *tzcnt_si_falsedep */
22101 :
22102 : case 4:
22103 : if ((
22104 : #line 22064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22105 : (TARGET_APX_NF) && ((
22106 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22107 : (TARGET_64BIT) &&
22108 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22109 : (TARGET_BMI)) &&
22110 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22111 : (TARGET_64BIT))))
22112 : return 1590; /* *tzcnt_di_falsedep_nf */
22113 : if (pnum_clobbers == NULL
22114 : || !((
22115 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22116 : (TARGET_64BIT) &&
22117 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22118 : (TARGET_BMI)) &&
22119 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22120 : (TARGET_64BIT)))
22121 : return -1;
22122 : *pnum_clobbers = 1;
22123 : return 1594; /* *tzcnt_di_falsedep */
22124 :
22125 : default:
22126 : return -1;
22127 : }
22128 :
22129 : case 97:
22130 : switch (pattern549 (x1))
22131 : {
22132 : case 0:
22133 : if (!
22134 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22135 : (TARGET_LZCNT))
22136 : return -1;
22137 : return 1585; /* lzcnt_si */
22138 :
22139 : case 1:
22140 : if (!(((
22141 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22142 : (TARGET_64BIT) &&
22143 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22144 : (TARGET_LZCNT)) &&
22145 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22146 : (TARGET_64BIT)) &&
22147 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22148 : (TARGET_LZCNT)))
22149 : return -1;
22150 : return 1587; /* lzcnt_di */
22151 :
22152 : case 2:
22153 : if (!(
22154 : #line 22090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22155 : (true) &&
22156 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22157 : (TARGET_LZCNT)))
22158 : return -1;
22159 : return 1599; /* lzcnt_hi */
22160 :
22161 : case 3:
22162 : if ((
22163 : #line 22064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22164 : (TARGET_APX_NF) &&
22165 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22166 : (TARGET_LZCNT)))
22167 : return 1589; /* *lzcnt_si_falsedep_nf */
22168 : if (pnum_clobbers == NULL
22169 : || !
22170 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22171 : (TARGET_LZCNT))
22172 : return -1;
22173 : *pnum_clobbers = 1;
22174 : return 1593; /* *lzcnt_si_falsedep */
22175 :
22176 : case 4:
22177 : if ((
22178 : #line 22064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22179 : (TARGET_APX_NF) && ((
22180 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22181 : (TARGET_64BIT) &&
22182 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22183 : (TARGET_LZCNT)) &&
22184 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22185 : (TARGET_64BIT))))
22186 : return 1591; /* *lzcnt_di_falsedep_nf */
22187 : if (pnum_clobbers == NULL
22188 : || !((
22189 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22190 : (TARGET_64BIT) &&
22191 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22192 : (TARGET_LZCNT)) &&
22193 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22194 : (TARGET_64BIT)))
22195 : return -1;
22196 : *pnum_clobbers = 1;
22197 : return 1595; /* *lzcnt_di_falsedep */
22198 :
22199 : default:
22200 : return -1;
22201 : }
22202 :
22203 : case 28:
22204 : if (GET_MODE (x3) != E_CCmode
22205 : || pattern692 (x1,
22206 : CLOBBER,
22207 : E_CCmode) != 0)
22208 : return -1;
22209 : x5 = XVECEXP (x3, 0, 0);
22210 : operands[0] = x5;
22211 : if (!register_operand (operands[0], E_HImode))
22212 : return -1;
22213 : x6 = XVECEXP (x1, 0, 1);
22214 : x7 = XEXP (x6, 0);
22215 : if (!rtx_equal_p (x7, operands[0]))
22216 : return -1;
22217 : return 1681; /* parityhi2_cmp */
22218 :
22219 : case 81:
22220 : if (pattern550 (x1,
22221 : 82) != 0
22222 : || !
22223 : #line 24437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22224 : (TARGET_USE_FANCY_MATH_387
22225 : && flag_unsafe_math_optimizations))
22226 : return -1;
22227 : return 1753; /* sincosxf3 */
22228 :
22229 : case 83:
22230 : if (pattern550 (x1,
22231 : 84) != 0
22232 : || !
22233 : #line 24952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22234 : (TARGET_USE_FANCY_MATH_387
22235 : && flag_unsafe_math_optimizations))
22236 : return -1;
22237 : return 1758; /* fxtractxf3_i387 */
22238 :
22239 : case 71:
22240 : if (GET_MODE (x3) != E_DImode)
22241 : return -1;
22242 : x6 = XVECEXP (x1, 0, 1);
22243 : if (GET_CODE (x6) != CLOBBER)
22244 : return -1;
22245 : x4 = XEXP (x2, 0);
22246 : operands[0] = x4;
22247 : if (!nonimmediate_operand (operands[0], E_DImode))
22248 : return -1;
22249 : x5 = XVECEXP (x3, 0, 0);
22250 : operands[1] = x5;
22251 : if (!register_operand (operands[1], E_XFmode))
22252 : return -1;
22253 : x7 = XEXP (x6, 0);
22254 : operands[2] = x7;
22255 : if (!scratch_operand (operands[2], E_XFmode)
22256 : || !
22257 : #line 25498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22258 : (TARGET_USE_FANCY_MATH_387))
22259 : return -1;
22260 : return 1767; /* lrintxfdi2 */
22261 :
22262 : case 75:
22263 : if (pattern551 (x1) != 0
22264 : || !
22265 : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22266 : (TARGET_USE_FANCY_MATH_387
22267 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22268 : && ix86_pre_reload_split ()))
22269 : return -1;
22270 : return 1770; /* frndintxf2_roundeven */
22271 :
22272 : case 76:
22273 : if (pattern551 (x1) != 0
22274 : || !
22275 : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22276 : (TARGET_USE_FANCY_MATH_387
22277 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22278 : && ix86_pre_reload_split ()))
22279 : return -1;
22280 : return 1771; /* frndintxf2_floor */
22281 :
22282 : case 77:
22283 : if (pattern551 (x1) != 0
22284 : || !
22285 : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22286 : (TARGET_USE_FANCY_MATH_387
22287 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22288 : && ix86_pre_reload_split ()))
22289 : return -1;
22290 : return 1772; /* frndintxf2_ceil */
22291 :
22292 : case 78:
22293 : if (pattern551 (x1) != 0
22294 : || !
22295 : #line 25597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22296 : (TARGET_USE_FANCY_MATH_387
22297 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
22298 : && ix86_pre_reload_split ()))
22299 : return -1;
22300 : return 1773; /* frndintxf2_trunc */
22301 :
22302 : case 79:
22303 : switch (pattern553 (x1))
22304 : {
22305 : case 0:
22306 : if (!
22307 : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22308 : (TARGET_USE_FANCY_MATH_387
22309 : && flag_unsafe_math_optimizations
22310 : && ix86_pre_reload_split ()))
22311 : return -1;
22312 : return 1778; /* *fisthi2_floor_1 */
22313 :
22314 : case 1:
22315 : if (!
22316 : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22317 : (TARGET_USE_FANCY_MATH_387
22318 : && flag_unsafe_math_optimizations
22319 : && ix86_pre_reload_split ()))
22320 : return -1;
22321 : return 1780; /* *fistsi2_floor_1 */
22322 :
22323 : case 2:
22324 : if (!
22325 : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22326 : (TARGET_USE_FANCY_MATH_387
22327 : && flag_unsafe_math_optimizations
22328 : && ix86_pre_reload_split ()))
22329 : return -1;
22330 : return 1782; /* *fistdi2_floor_1 */
22331 :
22332 : default:
22333 : return -1;
22334 : }
22335 :
22336 : case 80:
22337 : switch (pattern553 (x1))
22338 : {
22339 : case 0:
22340 : if (!
22341 : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22342 : (TARGET_USE_FANCY_MATH_387
22343 : && flag_unsafe_math_optimizations
22344 : && ix86_pre_reload_split ()))
22345 : return -1;
22346 : return 1779; /* *fisthi2_ceil_1 */
22347 :
22348 : case 1:
22349 : if (!
22350 : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22351 : (TARGET_USE_FANCY_MATH_387
22352 : && flag_unsafe_math_optimizations
22353 : && ix86_pre_reload_split ()))
22354 : return -1;
22355 : return 1781; /* *fistsi2_ceil_1 */
22356 :
22357 : case 2:
22358 : if (!
22359 : #line 25714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22360 : (TARGET_USE_FANCY_MATH_387
22361 : && flag_unsafe_math_optimizations
22362 : && ix86_pre_reload_split ()))
22363 : return -1;
22364 : return 1783; /* *fistdi2_ceil_1 */
22365 :
22366 : default:
22367 : return -1;
22368 : }
22369 :
22370 : case 19:
22371 : if (pattern348 (x1) != 0)
22372 : return -1;
22373 : x5 = XVECEXP (x3, 0, 0);
22374 : operands[1] = x5;
22375 : switch (GET_MODE (operands[0]))
22376 : {
22377 : case E_SImode:
22378 : if (!memory_operand (operands[0], E_SImode)
22379 : || GET_MODE (x3) != E_SImode
22380 : || !const0_operand (operands[1], E_SImode)
22381 : || !
22382 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22383 : (word_mode == SImode))
22384 : return -1;
22385 : return 1915; /* probe_stack_1_si */
22386 :
22387 : case E_DImode:
22388 : if (!memory_operand (operands[0], E_DImode)
22389 : || GET_MODE (x3) != E_DImode
22390 : || !const0_operand (operands[1], E_DImode)
22391 : || !
22392 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22393 : (word_mode == DImode))
22394 : return -1;
22395 : return 1916; /* probe_stack_1_di */
22396 :
22397 : default:
22398 : return -1;
22399 : }
22400 :
22401 : case 93:
22402 : x6 = XVECEXP (x1, 0, 1);
22403 : if (GET_CODE (x6) != SET)
22404 : return -1;
22405 : if (pnum_clobbers != NULL)
22406 : {
22407 : res = recog_372 (x1, insn, pnum_clobbers);
22408 : if (res >= 0)
22409 : return res;
22410 : }
22411 : x4 = XEXP (x2, 0);
22412 : operands[0] = x4;
22413 : x5 = XVECEXP (x3, 0, 0);
22414 : operands[3] = x5;
22415 : x7 = XEXP (x6, 0);
22416 : operands[1] = x7;
22417 : x9 = XEXP (x6, 1);
22418 : operands[2] = x9;
22419 : switch (GET_MODE (operands[0]))
22420 : {
22421 : case E_SImode:
22422 : switch (pattern1245 (x3,
22423 : E_SImode))
22424 : {
22425 : case 0:
22426 : if (general_operand (operands[2], E_SImode)
22427 : && (
22428 : #line 28020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22429 : (reload_completed) &&
22430 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22431 : (ptr_mode == SImode)))
22432 : return 1925; /* *stack_protect_set_2_si_si */
22433 : if (address_no_seg_operand (operands[2], E_SImode)
22434 : &&
22435 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22436 : (ptr_mode == SImode))
22437 : return 1929; /* *stack_protect_set_3_si_si */
22438 : break;
22439 :
22440 : case 1:
22441 : if (general_operand (operands[2], E_DImode)
22442 : && (
22443 : #line 28039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22444 : (TARGET_64BIT && reload_completed) &&
22445 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22446 : (ptr_mode == SImode)))
22447 : return 1927; /* *stack_protect_set_2_si_di */
22448 : if (address_no_seg_operand (operands[2], E_DImode)
22449 : && ((
22450 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22451 : (ptr_mode == SImode) &&
22452 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22453 : (TARGET_64BIT)) &&
22454 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22455 : (TARGET_64BIT)))
22456 : return 1930; /* *stack_protect_set_3_si_di */
22457 : break;
22458 :
22459 : default:
22460 : break;
22461 : }
22462 : break;
22463 :
22464 : case E_DImode:
22465 : switch (pattern1245 (x3,
22466 : E_DImode))
22467 : {
22468 : case 0:
22469 : if (general_operand (operands[2], E_SImode)
22470 : && (
22471 : #line 28020 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22472 : (reload_completed) &&
22473 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22474 : (ptr_mode == DImode)))
22475 : return 1926; /* *stack_protect_set_2_di_si */
22476 : if (address_no_seg_operand (operands[2], E_SImode)
22477 : &&
22478 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22479 : (ptr_mode == DImode))
22480 : return 1931; /* *stack_protect_set_3_di_si */
22481 : break;
22482 :
22483 : case 1:
22484 : if (general_operand (operands[2], E_DImode)
22485 : && (
22486 : #line 28039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22487 : (TARGET_64BIT && reload_completed) &&
22488 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22489 : (ptr_mode == DImode)))
22490 : return 1928; /* *stack_protect_set_2_di_di */
22491 : if (address_no_seg_operand (operands[2], E_DImode)
22492 : && ((
22493 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22494 : (ptr_mode == DImode) &&
22495 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22496 : (TARGET_64BIT)) &&
22497 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22498 : (TARGET_64BIT)))
22499 : return 1932; /* *stack_protect_set_3_di_di */
22500 : break;
22501 :
22502 : default:
22503 : break;
22504 : }
22505 : break;
22506 :
22507 : default:
22508 : break;
22509 : }
22510 : if (!register_operand (operands[1], E_DImode)
22511 : || GET_MODE (x9) != E_DImode)
22512 : return -1;
22513 : switch (GET_CODE (x9))
22514 : {
22515 : case ZERO_EXTEND:
22516 : switch (pattern1327 (x1))
22517 : {
22518 : case 0:
22519 : if (!(
22520 : #line 28133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22521 : (TARGET_64BIT && reload_completed) &&
22522 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22523 : (ptr_mode == SImode)))
22524 : return -1;
22525 : return 1933; /* *stack_protect_set_4z_si_di */
22526 :
22527 : case 1:
22528 : if (!(
22529 : #line 28133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22530 : (TARGET_64BIT && reload_completed) &&
22531 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22532 : (ptr_mode == DImode)))
22533 : return -1;
22534 : return 1934; /* *stack_protect_set_4z_di_di */
22535 :
22536 : default:
22537 : return -1;
22538 : }
22539 :
22540 : case SIGN_EXTEND:
22541 : switch (pattern1327 (x1))
22542 : {
22543 : case 0:
22544 : if (!(
22545 : #line 28151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22546 : (TARGET_64BIT && reload_completed) &&
22547 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22548 : (ptr_mode == SImode)))
22549 : return -1;
22550 : return 1935; /* *stack_protect_set_4s_si_di */
22551 :
22552 : case 1:
22553 : if (!(
22554 : #line 28151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22555 : (TARGET_64BIT && reload_completed) &&
22556 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22557 : (ptr_mode == DImode)))
22558 : return -1;
22559 : return 1936; /* *stack_protect_set_4s_di_di */
22560 :
22561 : default:
22562 : return -1;
22563 : }
22564 :
22565 : default:
22566 : return -1;
22567 : }
22568 :
22569 : case 119:
22570 : if (GET_MODE (x3) != E_V4SImode)
22571 : return -1;
22572 : x6 = XVECEXP (x1, 0, 1);
22573 : if (GET_CODE (x6) != CLOBBER)
22574 : return -1;
22575 : x4 = XEXP (x2, 0);
22576 : operands[0] = x4;
22577 : if (!register_operand (operands[0], E_V4SImode))
22578 : return -1;
22579 : x5 = XVECEXP (x3, 0, 0);
22580 : operands[1] = x5;
22581 : if (!nonimmediate_operand (operands[1], E_DImode))
22582 : return -1;
22583 : x7 = XEXP (x6, 0);
22584 : operands[2] = x7;
22585 : if (!scratch_operand (operands[2], E_V4SImode)
22586 : || !
22587 : #line 1903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22588 : (!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
22589 : return -1;
22590 : return 2621; /* movdi_to_sse */
22591 :
22592 : case 286:
22593 : if (GET_MODE (x3) != E_BLKmode
22594 : || pattern344 (x1) != 0)
22595 : return -1;
22596 : x5 = XVECEXP (x3, 0, 0);
22597 : if (!rtx_equal_p (x5, operands[0]))
22598 : return -1;
22599 : return 11063; /* mfence_nosse */
22600 :
22601 : case 291:
22602 : if (pnum_clobbers == NULL
22603 : || GET_MODE (x3) != E_DImode)
22604 : return -1;
22605 : x6 = XVECEXP (x1, 0, 1);
22606 : if (GET_CODE (x6) != CLOBBER)
22607 : return -1;
22608 : x4 = XEXP (x2, 0);
22609 : operands[0] = x4;
22610 : if (!nonimmediate_operand (operands[0], E_DImode))
22611 : return -1;
22612 : x5 = XVECEXP (x3, 0, 0);
22613 : operands[1] = x5;
22614 : if (!memory_operand (operands[1], E_DImode))
22615 : return -1;
22616 : x7 = XEXP (x6, 0);
22617 : operands[2] = x7;
22618 : if (!memory_operand (operands[2], E_DImode)
22619 : || !
22620 : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22621 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22622 : return -1;
22623 : *pnum_clobbers = 1;
22624 : return 11064; /* atomic_loaddi_fpu */
22625 :
22626 : case 292:
22627 : if (pnum_clobbers == NULL
22628 : || GET_MODE (x3) != E_DImode)
22629 : return -1;
22630 : x6 = XVECEXP (x1, 0, 1);
22631 : if (GET_CODE (x6) != CLOBBER)
22632 : return -1;
22633 : x4 = XEXP (x2, 0);
22634 : operands[0] = x4;
22635 : if (!memory_operand (operands[0], E_DImode))
22636 : return -1;
22637 : x5 = XVECEXP (x3, 0, 0);
22638 : operands[1] = x5;
22639 : if (!nonimmediate_operand (operands[1], E_DImode))
22640 : return -1;
22641 : x7 = XEXP (x6, 0);
22642 : operands[2] = x7;
22643 : if (!memory_operand (operands[2], E_DImode)
22644 : || !
22645 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22646 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22647 : return -1;
22648 : *pnum_clobbers = 1;
22649 : return 11069; /* atomic_storedi_fpu */
22650 :
22651 : default:
22652 : return -1;
22653 : }
22654 : }
22655 :
22656 : int
22657 : recog_391 (rtx x1 ATTRIBUTE_UNUSED,
22658 : rtx_insn *insn ATTRIBUTE_UNUSED,
22659 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22660 : {
22661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22662 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22663 : rtx x10, x11;
22664 : int res ATTRIBUTE_UNUSED;
22665 : x2 = XVECEXP (x1, 0, 0);
22666 : x3 = XEXP (x2, 1);
22667 : x4 = XEXP (x3, 1);
22668 : x5 = XEXP (x4, 0);
22669 : x6 = XEXP (x5, 0);
22670 : if (GET_CODE (x6) != REG
22671 : || REGNO (x6) != 17
22672 : || GET_MODE (x6) != E_CCmode)
22673 : return -1;
22674 : x7 = XVECEXP (x1, 0, 1);
22675 : if (GET_CODE (x7) != CLOBBER)
22676 : return -1;
22677 : x8 = XEXP (x7, 0);
22678 : operands[0] = x8;
22679 : x9 = XEXP (x4, 1);
22680 : switch (GET_CODE (x9))
22681 : {
22682 : case ZERO_EXTEND:
22683 : x10 = XEXP (x9, 0);
22684 : operands[2] = x10;
22685 : x11 = XEXP (x3, 0);
22686 : switch (GET_MODE (x11))
22687 : {
22688 : case E_DImode:
22689 : if (pattern1781 (x4,
22690 : E_SImode,
22691 : E_DImode) != 0
22692 : || !
22693 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22694 : (!TARGET_64BIT))
22695 : return -1;
22696 : return 545; /* subsi3_carry_ccc */
22697 :
22698 : case E_TImode:
22699 : if (pattern1781 (x4,
22700 : E_DImode,
22701 : E_TImode) != 0
22702 : || !
22703 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22704 : (TARGET_64BIT))
22705 : return -1;
22706 : return 546; /* subdi3_carry_ccc */
22707 :
22708 : default:
22709 : return -1;
22710 : }
22711 :
22712 : case CONST_INT:
22713 : case CONST_WIDE_INT:
22714 : operands[2] = x9;
22715 : x11 = XEXP (x3, 0);
22716 : switch (GET_MODE (x11))
22717 : {
22718 : case E_DImode:
22719 : if (pattern1782 (x4,
22720 : E_SImode,
22721 : E_DImode) != 0
22722 : || !
22723 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22724 : (!TARGET_64BIT))
22725 : return -1;
22726 : return 547; /* *subsi3_carry_ccc_1 */
22727 :
22728 : case E_TImode:
22729 : if (pattern1782 (x4,
22730 : E_DImode,
22731 : E_TImode) != 0
22732 : || !
22733 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22734 : (TARGET_64BIT))
22735 : return -1;
22736 : return 548; /* *subdi3_carry_ccc_1 */
22737 :
22738 : default:
22739 : return -1;
22740 : }
22741 :
22742 : default:
22743 : return -1;
22744 : }
22745 : }
22746 :
22747 : int
22748 : recog_394 (rtx x1 ATTRIBUTE_UNUSED,
22749 : rtx_insn *insn ATTRIBUTE_UNUSED,
22750 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22751 : {
22752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22753 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22754 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22755 : rtx x18, x19;
22756 : int res ATTRIBUTE_UNUSED;
22757 : x2 = XVECEXP (x1, 0, 0);
22758 : x3 = XEXP (x2, 0);
22759 : if (GET_CODE (x3) != REG
22760 : || REGNO (x3) != 17)
22761 : return -1;
22762 : x4 = XEXP (x2, 1);
22763 : x5 = XEXP (x4, 0);
22764 : x6 = XEXP (x5, 0);
22765 : switch (GET_CODE (x6))
22766 : {
22767 : case REG:
22768 : case SUBREG:
22769 : case MEM:
22770 : operands[1] = x6;
22771 : x7 = XEXP (x5, 1);
22772 : operands[2] = x7;
22773 : x8 = XEXP (x4, 1);
22774 : switch (GET_CODE (x8))
22775 : {
22776 : case CONST_INT:
22777 : res = recog_388 (x1, insn, pnum_clobbers);
22778 : if (res >= 0)
22779 : return res;
22780 : break;
22781 :
22782 : case REG:
22783 : case SUBREG:
22784 : case MEM:
22785 : res = recog_389 (x1, insn, pnum_clobbers);
22786 : if (res >= 0)
22787 : return res;
22788 : break;
22789 :
22790 : default:
22791 : break;
22792 : }
22793 : if (GET_MODE (x3) != E_CCCmode
22794 : || GET_MODE (x4) != E_CCCmode)
22795 : return -1;
22796 : x9 = XVECEXP (x1, 0, 1);
22797 : switch (GET_CODE (x9))
22798 : {
22799 : case CLOBBER:
22800 : x10 = XEXP (x9, 0);
22801 : operands[0] = x10;
22802 : if (!rtx_equal_p (x8, operands[2]))
22803 : return -1;
22804 : switch (pattern1329 (x5))
22805 : {
22806 : case 0:
22807 : if (!
22808 : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22809 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
22810 : return -1;
22811 : return 571; /* *addqi3_cconly_overflow_2 */
22812 :
22813 : case 1:
22814 : if (!
22815 : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22816 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
22817 : return -1;
22818 : return 572; /* *addhi3_cconly_overflow_2 */
22819 :
22820 : case 2:
22821 : if (!
22822 : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22823 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
22824 : return -1;
22825 : return 573; /* *addsi3_cconly_overflow_2 */
22826 :
22827 : case 3:
22828 : if (!(
22829 : #line 10368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22830 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22831 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22832 : (TARGET_64BIT)))
22833 : return -1;
22834 : return 574; /* *adddi3_cconly_overflow_2 */
22835 :
22836 : default:
22837 : return -1;
22838 : }
22839 :
22840 : case SET:
22841 : x10 = XEXP (x9, 0);
22842 : operands[0] = x10;
22843 : x11 = XEXP (x9, 1);
22844 : switch (GET_CODE (x11))
22845 : {
22846 : case PLUS:
22847 : x12 = XEXP (x11, 0);
22848 : if (!rtx_equal_p (x12, operands[1]))
22849 : return -1;
22850 : x13 = XEXP (x11, 1);
22851 : if (!rtx_equal_p (x13, operands[2]))
22852 : return -1;
22853 : switch (GET_MODE (x5))
22854 : {
22855 : case E_QImode:
22856 : if (pattern1638 (x1,
22857 : E_QImode) != 0
22858 : || !
22859 : #line 10386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22860 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22861 : return -1;
22862 : return 575; /* *addqi3_cc_overflow_2 */
22863 :
22864 : case E_HImode:
22865 : if (pattern1638 (x1,
22866 : E_HImode) != 0
22867 : || !
22868 : #line 10386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22869 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22870 : return -1;
22871 : return 576; /* *addhi3_cc_overflow_2 */
22872 :
22873 : case E_SImode:
22874 : if (!nonimmediate_operand (operands[1], E_SImode)
22875 : || !x86_64_general_operand (operands[2], E_SImode)
22876 : || !nonimmediate_operand (operands[0], E_SImode)
22877 : || GET_MODE (x11) != E_SImode
22878 : || !rtx_equal_p (x8, operands[2])
22879 : || !
22880 : #line 10386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22881 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22882 : return -1;
22883 : return 577; /* *addsi3_cc_overflow_2 */
22884 :
22885 : case E_DImode:
22886 : if (!nonimmediate_operand (operands[1], E_DImode)
22887 : || !nonimmediate_operand (operands[0], E_DImode)
22888 : || GET_MODE (x11) != E_DImode)
22889 : return -1;
22890 : if (x86_64_general_operand (operands[2], E_DImode)
22891 : && rtx_equal_p (x8, operands[2])
22892 : && (
22893 : #line 10386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22894 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22895 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22896 : (TARGET_64BIT)))
22897 : return 578; /* *adddi3_cc_overflow_2 */
22898 : if (!x86_64_hilo_general_operand (operands[2], E_DImode)
22899 : || !rtx_equal_p (x8, operands[1])
22900 : || !(
22901 : #line 10424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22902 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22903 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22904 : (!TARGET_64BIT)))
22905 : return -1;
22906 : return 580; /* *adddi3_doubleword_cc_overflow_1 */
22907 :
22908 : default:
22909 : return -1;
22910 : }
22911 :
22912 : case ZERO_EXTEND:
22913 : if (GET_MODE (x11) != E_DImode)
22914 : return -1;
22915 : x12 = XEXP (x11, 0);
22916 : if (GET_CODE (x12) != PLUS
22917 : || GET_MODE (x12) != E_SImode
22918 : || GET_MODE (x5) != E_SImode
22919 : || !nonimmediate_operand (operands[1], E_SImode)
22920 : || !x86_64_general_operand (operands[2], E_SImode)
22921 : || !register_operand (operands[0], E_DImode)
22922 : || !rtx_equal_p (x8, operands[2]))
22923 : return -1;
22924 : x14 = XEXP (x12, 0);
22925 : if (!rtx_equal_p (x14, operands[1]))
22926 : return -1;
22927 : x15 = XEXP (x12, 1);
22928 : if (!rtx_equal_p (x15, operands[2])
22929 : || !
22930 : #line 10405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22931 : (TARGET_64BIT
22932 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22933 : return -1;
22934 : return 579; /* *addsi3_zext_cc_overflow_2 */
22935 :
22936 : default:
22937 : return -1;
22938 : }
22939 :
22940 : default:
22941 : return -1;
22942 : }
22943 :
22944 : case PLUS:
22945 : x16 = XEXP (x6, 0);
22946 : switch (GET_CODE (x16))
22947 : {
22948 : case LTU:
22949 : case UNLT:
22950 : operands[4] = x16;
22951 : x17 = XEXP (x16, 1);
22952 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22953 : return -1;
22954 : x8 = XEXP (x4, 1);
22955 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22956 : return -1;
22957 : x9 = XVECEXP (x1, 0, 1);
22958 : if (GET_CODE (x9) != SET)
22959 : return -1;
22960 : x11 = XEXP (x9, 1);
22961 : if (pattern1328 (x11) != 0)
22962 : return -1;
22963 : x18 = XEXP (x16, 0);
22964 : operands[3] = x18;
22965 : if (!flags_reg_operand (operands[3], E_VOIDmode))
22966 : return -1;
22967 : x19 = XEXP (x6, 1);
22968 : operands[1] = x19;
22969 : x7 = XEXP (x5, 1);
22970 : operands[2] = x7;
22971 : x10 = XEXP (x9, 0);
22972 : operands[0] = x10;
22973 : x12 = XEXP (x11, 0);
22974 : x15 = XEXP (x12, 1);
22975 : if (!rtx_equal_p (x15, operands[1]))
22976 : return -1;
22977 : x13 = XEXP (x11, 1);
22978 : if (!rtx_equal_p (x13, operands[2]))
22979 : return -1;
22980 : switch (GET_MODE (x5))
22981 : {
22982 : case E_QImode:
22983 : if (pattern1821 (x1,
22984 : E_QImode) != 0
22985 : || !
22986 : #line 8921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22987 : (ix86_match_ccmode (insn, CCGOCmode)
22988 : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
22989 : return -1;
22990 : return 461; /* *addqi3_carry_2 */
22991 :
22992 : case E_HImode:
22993 : if (pattern1821 (x1,
22994 : E_HImode) != 0
22995 : || !
22996 : #line 8921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22997 : (ix86_match_ccmode (insn, CCGOCmode)
22998 : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
22999 : return -1;
23000 : return 462; /* *addhi3_carry_2 */
23001 :
23002 : case E_SImode:
23003 : if (pattern1823 (x1,
23004 : E_SImode) != 0
23005 : || !
23006 : #line 8921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23007 : (ix86_match_ccmode (insn, CCGOCmode)
23008 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
23009 : return -1;
23010 : return 463; /* *addsi3_carry_2 */
23011 :
23012 : case E_DImode:
23013 : if (pattern1823 (x1,
23014 : E_DImode) != 0
23015 : || !(
23016 : #line 8921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23017 : (ix86_match_ccmode (insn, CCGOCmode)
23018 : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
23019 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23020 : (TARGET_64BIT)))
23021 : return -1;
23022 : return 464; /* *adddi3_carry_2 */
23023 :
23024 : default:
23025 : return -1;
23026 : }
23027 :
23028 : default:
23029 : return -1;
23030 : }
23031 :
23032 : case LTU:
23033 : case UNLT:
23034 : if (pattern826 (x1) != 0)
23035 : return -1;
23036 : x9 = XVECEXP (x1, 0, 1);
23037 : x11 = XEXP (x9, 1);
23038 : x12 = XEXP (x11, 0);
23039 : switch (GET_CODE (x12))
23040 : {
23041 : case LTU:
23042 : case UNLT:
23043 : switch (pattern1435 (x1))
23044 : {
23045 : case 0:
23046 : if (pattern1746 (x11,
23047 : E_QImode) != 0
23048 : || !
23049 : #line 8960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23050 : (ix86_match_ccmode (insn, CCGOCmode)
23051 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
23052 : return -1;
23053 : return 469; /* *addqi3_carry_0_cc */
23054 :
23055 : case 1:
23056 : if (pattern1746 (x11,
23057 : E_HImode) != 0
23058 : || !
23059 : #line 8960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23060 : (ix86_match_ccmode (insn, CCGOCmode)
23061 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
23062 : return -1;
23063 : return 470; /* *addhi3_carry_0_cc */
23064 :
23065 : case 2:
23066 : if (pattern1746 (x11,
23067 : E_SImode) != 0
23068 : || !
23069 : #line 8960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23070 : (ix86_match_ccmode (insn, CCGOCmode)
23071 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
23072 : return -1;
23073 : return 471; /* *addsi3_carry_0_cc */
23074 :
23075 : case 3:
23076 : if (pattern1746 (x11,
23077 : E_DImode) != 0
23078 : || !(
23079 : #line 8960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23080 : (ix86_match_ccmode (insn, CCGOCmode)
23081 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) &&
23082 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23083 : (TARGET_64BIT)))
23084 : return -1;
23085 : return 472; /* *adddi3_carry_0_cc */
23086 :
23087 : default:
23088 : return -1;
23089 : }
23090 :
23091 : default:
23092 : return -1;
23093 : }
23094 :
23095 : case GE:
23096 : case GEU:
23097 : if (pattern826 (x1) != 0)
23098 : return -1;
23099 : x9 = XVECEXP (x1, 0, 1);
23100 : x11 = XEXP (x9, 1);
23101 : x12 = XEXP (x11, 0);
23102 : switch (GET_CODE (x12))
23103 : {
23104 : case GE:
23105 : case GEU:
23106 : switch (pattern1435 (x1))
23107 : {
23108 : case 0:
23109 : if (pattern1747 (x11,
23110 : E_QImode) != 0
23111 : || !
23112 : #line 8994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23113 : (ix86_match_ccmode (insn, CCGOCmode)
23114 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
23115 : return -1;
23116 : return 477; /* *addqi3_carry_0r_cc */
23117 :
23118 : case 1:
23119 : if (pattern1747 (x11,
23120 : E_HImode) != 0
23121 : || !
23122 : #line 8994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23123 : (ix86_match_ccmode (insn, CCGOCmode)
23124 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
23125 : return -1;
23126 : return 478; /* *addhi3_carry_0r_cc */
23127 :
23128 : case 2:
23129 : if (pattern1747 (x11,
23130 : E_SImode) != 0
23131 : || !
23132 : #line 8994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23133 : (ix86_match_ccmode (insn, CCGOCmode)
23134 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
23135 : return -1;
23136 : return 479; /* *addsi3_carry_0r_cc */
23137 :
23138 : case 3:
23139 : if (pattern1747 (x11,
23140 : E_DImode) != 0
23141 : || !(
23142 : #line 8994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23143 : (ix86_match_ccmode (insn, CCGOCmode)
23144 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) &&
23145 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23146 : (TARGET_64BIT)))
23147 : return -1;
23148 : return 480; /* *adddi3_carry_0r_cc */
23149 :
23150 : default:
23151 : return -1;
23152 : }
23153 :
23154 : default:
23155 : return -1;
23156 : }
23157 :
23158 : case UNSPEC_VOLATILE:
23159 : if (XVECLEN (x6, 0) != 2
23160 : || XINT (x6, 1) != 110)
23161 : return -1;
23162 : x8 = XEXP (x4, 1);
23163 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23164 : return -1;
23165 : x9 = XVECEXP (x1, 0, 1);
23166 : if (GET_CODE (x9) != SET)
23167 : return -1;
23168 : switch (pattern1246 (x1,
23169 : PLUS))
23170 : {
23171 : case 0:
23172 : return 11129; /* atomic_add_fetch_cmp_0qi_1 */
23173 :
23174 : case 1:
23175 : return 11130; /* atomic_add_fetch_cmp_0hi_1 */
23176 :
23177 : case 2:
23178 : return 11131; /* atomic_add_fetch_cmp_0si_1 */
23179 :
23180 : case 3:
23181 : if (!
23182 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23183 : (TARGET_64BIT))
23184 : return -1;
23185 : return 11132; /* atomic_add_fetch_cmp_0di_1 */
23186 :
23187 : default:
23188 : return -1;
23189 : }
23190 :
23191 : default:
23192 : return -1;
23193 : }
23194 : }
23195 :
23196 : int
23197 : recog_403 (rtx x1 ATTRIBUTE_UNUSED,
23198 : rtx_insn *insn ATTRIBUTE_UNUSED,
23199 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23200 : {
23201 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23202 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23203 : rtx x10, x11, x12, x13;
23204 : int res ATTRIBUTE_UNUSED;
23205 : x2 = XVECEXP (x1, 0, 0);
23206 : x3 = XEXP (x2, 1);
23207 : x4 = XEXP (x3, 0);
23208 : switch (GET_CODE (x4))
23209 : {
23210 : case CONST_INT:
23211 : case CONST_WIDE_INT:
23212 : case CONST_POLY_INT:
23213 : case CONST_FIXED:
23214 : case CONST_DOUBLE:
23215 : case CONST_VECTOR:
23216 : case CONST:
23217 : case REG:
23218 : case SUBREG:
23219 : case MEM:
23220 : case LABEL_REF:
23221 : case SYMBOL_REF:
23222 : case HIGH:
23223 : operands[1] = x4;
23224 : res = recog_402 (x1, insn, pnum_clobbers);
23225 : if (res >= 0)
23226 : return res;
23227 : x5 = XVECEXP (x1, 0, 1);
23228 : if (GET_CODE (x5) != CLOBBER)
23229 : return -1;
23230 : x6 = XEXP (x5, 0);
23231 : if (GET_CODE (x6) != REG
23232 : || REGNO (x6) != 17
23233 : || GET_MODE (x6) != E_CCmode)
23234 : return -1;
23235 : switch (GET_CODE (x4))
23236 : {
23237 : case SUBREG:
23238 : switch (pattern1056 (x2))
23239 : {
23240 : case 0:
23241 : if (!
23242 : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23243 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23244 : return -1;
23245 : return 412; /* *subqi_exthi_2_slp */
23246 :
23247 : case 1:
23248 : if (!
23249 : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23250 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23251 : return -1;
23252 : return 413; /* *subqi_extsi_2_slp */
23253 :
23254 : case 2:
23255 : if (!(
23256 : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23257 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23258 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23259 : (TARGET_64BIT)))
23260 : return -1;
23261 : return 414; /* *subqi_extdi_2_slp */
23262 :
23263 : case 3:
23264 : return 423; /* *subqi_ext2hi_0 */
23265 :
23266 : case 4:
23267 : return 424; /* *subqi_ext2si_0 */
23268 :
23269 : case 5:
23270 : if (!
23271 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23272 : (TARGET_64BIT))
23273 : return -1;
23274 : return 425; /* *subqi_ext2di_0 */
23275 :
23276 : default:
23277 : return -1;
23278 : }
23279 :
23280 : case CONST_INT:
23281 : x7 = XEXP (x3, 1);
23282 : if (GET_CODE (x7) != CLZ)
23283 : return -1;
23284 : x8 = XEXP (x2, 0);
23285 : operands[0] = x8;
23286 : x9 = XEXP (x7, 0);
23287 : operands[1] = x9;
23288 : switch (XWINT (x4, 0))
23289 : {
23290 : case 63L:
23291 : if (pattern1441 (x3,
23292 : E_DImode) != 0
23293 : || !
23294 : #line 21606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23295 : (!TARGET_LZCNT && TARGET_64BIT))
23296 : return -1;
23297 : return 1557; /* bsr_rex64_1 */
23298 :
23299 : case 31L:
23300 : if (pattern1441 (x3,
23301 : E_SImode) != 0
23302 : || !
23303 : #line 21647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23304 : (!TARGET_LZCNT))
23305 : return -1;
23306 : return 1560; /* bsr_1 */
23307 :
23308 : default:
23309 : return -1;
23310 : }
23311 :
23312 : default:
23313 : return -1;
23314 : }
23315 :
23316 : case MINUS:
23317 : x5 = XVECEXP (x1, 0, 1);
23318 : if (pattern355 (x5) != 0)
23319 : return -1;
23320 : x8 = XEXP (x2, 0);
23321 : operands[0] = x8;
23322 : x10 = XEXP (x4, 0);
23323 : operands[1] = x10;
23324 : x7 = XEXP (x3, 1);
23325 : operands[2] = x7;
23326 : x11 = XEXP (x4, 1);
23327 : switch (GET_CODE (x11))
23328 : {
23329 : case LTU:
23330 : case UNLT:
23331 : operands[4] = x11;
23332 : x12 = XEXP (x11, 1);
23333 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23334 : return -1;
23335 : x13 = XEXP (x11, 0);
23336 : operands[3] = x13;
23337 : if (!flags_reg_operand (operands[3], E_VOIDmode))
23338 : return -1;
23339 : switch (GET_MODE (operands[0]))
23340 : {
23341 : case E_QImode:
23342 : if (pattern1640 (x3,
23343 : E_QImode) != 0
23344 : || !
23345 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23346 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
23347 : return -1;
23348 : return 503; /* subqi3_carry */
23349 :
23350 : case E_HImode:
23351 : if (pattern1640 (x3,
23352 : E_HImode) != 0
23353 : || !
23354 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23355 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
23356 : return -1;
23357 : return 504; /* subhi3_carry */
23358 :
23359 : case E_SImode:
23360 : if (pattern1641 (x3,
23361 : E_SImode) != 0
23362 : || !
23363 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23364 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
23365 : return -1;
23366 : return 505; /* subsi3_carry */
23367 :
23368 : case E_DImode:
23369 : if (pattern1641 (x3,
23370 : E_DImode) != 0
23371 : || !(
23372 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23373 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
23374 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23375 : (TARGET_64BIT)))
23376 : return -1;
23377 : return 506; /* subdi3_carry */
23378 :
23379 : default:
23380 : return -1;
23381 : }
23382 :
23383 : case EQ:
23384 : x12 = XEXP (x11, 1);
23385 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23386 : return -1;
23387 : x13 = XEXP (x11, 0);
23388 : operands[3] = x13;
23389 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
23390 : return -1;
23391 : switch (GET_MODE (operands[0]))
23392 : {
23393 : case E_QImode:
23394 : if (pattern1577 (x3,
23395 : E_QImode) != 0
23396 : || !
23397 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23398 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
23399 : && ix86_pre_reload_split ()))
23400 : return -1;
23401 : return 598; /* *subqi3_eq */
23402 :
23403 : case E_HImode:
23404 : if (pattern1577 (x3,
23405 : E_HImode) != 0
23406 : || !
23407 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23408 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
23409 : && ix86_pre_reload_split ()))
23410 : return -1;
23411 : return 599; /* *subhi3_eq */
23412 :
23413 : case E_SImode:
23414 : if (pattern1578 (x3,
23415 : E_SImode) != 0
23416 : || !
23417 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23418 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
23419 : && ix86_pre_reload_split ()))
23420 : return -1;
23421 : return 600; /* *subsi3_eq */
23422 :
23423 : case E_DImode:
23424 : if (pattern1578 (x3,
23425 : E_DImode) != 0
23426 : || !(
23427 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23428 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
23429 : && ix86_pre_reload_split ()) &&
23430 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23431 : (TARGET_64BIT)))
23432 : return -1;
23433 : return 601; /* *subdi3_eq */
23434 :
23435 : default:
23436 : return -1;
23437 : }
23438 :
23439 : default:
23440 : return -1;
23441 : }
23442 :
23443 : default:
23444 : return -1;
23445 : }
23446 : }
23447 :
23448 : int
23449 : recog_409 (rtx x1 ATTRIBUTE_UNUSED,
23450 : rtx_insn *insn ATTRIBUTE_UNUSED,
23451 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23452 : {
23453 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23454 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23455 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23456 : rtx x18, x19, x20;
23457 : int res ATTRIBUTE_UNUSED;
23458 : x2 = XVECEXP (x1, 0, 0);
23459 : x3 = XEXP (x2, 1);
23460 : x4 = XEXP (x3, 0);
23461 : switch (GET_CODE (x4))
23462 : {
23463 : case ASHIFT:
23464 : return recog_408 (x1, insn, pnum_clobbers);
23465 :
23466 : case REG:
23467 : case SUBREG:
23468 : case MEM:
23469 : operands[1] = x4;
23470 : switch (pattern572 (x1))
23471 : {
23472 : case 0:
23473 : if (
23474 : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23475 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23476 : return 754; /* *iorqi_1_slp */
23477 : break;
23478 :
23479 : case 1:
23480 : if (
23481 : #line 13083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23482 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23483 : return 757; /* *iorhi_1_slp */
23484 : break;
23485 :
23486 : case 2:
23487 : if (x86_64_hilo_general_operand (operands[2], E_DImode)
23488 : && (
23489 : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23490 : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
23491 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23492 : (!TARGET_64BIT)))
23493 : return 847; /* *iordi3_doubleword */
23494 : if (x86_64_general_operand (operands[2], E_DImode)
23495 : && (
23496 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23497 : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
23498 : && true) &&
23499 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23500 : (TARGET_64BIT)))
23501 : return 860; /* *iordi_1 */
23502 : if (const_int_operand (operands[2], E_DImode)
23503 : &&
23504 : #line 13953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23505 : (TARGET_64BIT && TARGET_USE_BT
23506 : && ix86_binary_operator_ok (IOR, DImode, operands)
23507 : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
23508 : return 866; /* *iordi_1_bts */
23509 : break;
23510 :
23511 : case 3:
23512 : if ((
23513 : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23514 : (ix86_binary_operator_ok (IOR, TImode, operands, TARGET_APX_NDD)) &&
23515 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23516 : (TARGET_64BIT)))
23517 : return 849; /* *iorti3_doubleword */
23518 : break;
23519 :
23520 : case 4:
23521 : if (
23522 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23523 : (ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)
23524 : && true))
23525 : return 852; /* *iorhi_1 */
23526 : break;
23527 :
23528 : case 5:
23529 : if (
23530 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23531 : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
23532 : && true))
23533 : return 856; /* *iorsi_1 */
23534 : break;
23535 :
23536 : case 6:
23537 : if (
23538 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23539 : (ix86_binary_operator_ok (IOR, V4QImode, operands)))
23540 : return 2341; /* *iorv4qi3 */
23541 : break;
23542 :
23543 : case 7:
23544 : if (
23545 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23546 : (ix86_binary_operator_ok (IOR, V2QImode, operands)))
23547 : return 2344; /* *iorv2qi3 */
23548 : break;
23549 :
23550 : case 8:
23551 : if (
23552 : #line 4741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23553 : (ix86_binary_operator_ok (IOR, V2HImode, operands)))
23554 : return 2347; /* *iorv2hi3 */
23555 : break;
23556 :
23557 : case 9:
23558 : if (
23559 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23560 : (TARGET_AVX512F))
23561 : return 2636; /* kiorqi */
23562 : break;
23563 :
23564 : case 10:
23565 : if (
23566 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23567 : (TARGET_AVX512F))
23568 : return 2639; /* kiorhi */
23569 : break;
23570 :
23571 : case 11:
23572 : if ((
23573 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23574 : (TARGET_AVX512F) &&
23575 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23576 : (TARGET_AVX512BW)))
23577 : return 2642; /* kiorsi */
23578 : break;
23579 :
23580 : case 12:
23581 : if ((
23582 : #line 2117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23583 : (TARGET_AVX512F) &&
23584 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23585 : (TARGET_AVX512BW)))
23586 : return 2645; /* kiordi */
23587 : break;
23588 :
23589 : default:
23590 : break;
23591 : }
23592 : x5 = XVECEXP (x1, 0, 1);
23593 : if (GET_CODE (x5) != CLOBBER
23594 : || pattern573 (x1) != 0)
23595 : return -1;
23596 : if (GET_CODE (x4) == SUBREG
23597 : && known_eq (SUBREG_BYTE (x4), 0)
23598 : && GET_MODE (x4) == E_QImode)
23599 : {
23600 : res = recog_407 (x1, insn, pnum_clobbers);
23601 : if (res >= 0)
23602 : return res;
23603 : }
23604 : x6 = XEXP (x2, 0);
23605 : operands[0] = x6;
23606 : if (!nonimmediate_operand (operands[0], E_QImode))
23607 : return -1;
23608 : operands[1] = x4;
23609 : if (!nonimmediate_operand (operands[1], E_QImode))
23610 : return -1;
23611 : x7 = XEXP (x3, 1);
23612 : operands[2] = x7;
23613 : if (!general_operand (operands[2], E_QImode)
23614 : || !
23615 : #line 14095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23616 : (ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)
23617 : && true))
23618 : return -1;
23619 : return 896; /* *iorqi_1 */
23620 :
23621 : case ZERO_EXTEND:
23622 : if (GET_MODE (x4) != E_DImode
23623 : || pattern574 (x1) != 0)
23624 : return -1;
23625 : x8 = XEXP (x4, 0);
23626 : operands[1] = x8;
23627 : if (!nonimmediate_operand (operands[1], E_SImode))
23628 : return -1;
23629 : x7 = XEXP (x3, 1);
23630 : operands[2] = x7;
23631 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
23632 : || !
23633 : #line 14082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23634 : (TARGET_64BIT
23635 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
23636 : return -1;
23637 : return 893; /* *iorsi_1_zext_imm */
23638 :
23639 : case LSHIFTRT:
23640 : if (pattern344 (x1) != 0)
23641 : return -1;
23642 : switch (pattern1058 (x3,
23643 : ASHIFT))
23644 : {
23645 : case 0:
23646 : x7 = XEXP (x3, 1);
23647 : x9 = XEXP (x7, 0);
23648 : x10 = XEXP (x9, 0);
23649 : x11 = XEXP (x10, 0);
23650 : operands[1] = x11;
23651 : if (nonimmediate_operand (operands[0], E_DImode))
23652 : {
23653 : x12 = XEXP (x4, 1);
23654 : x13 = XEXP (x12, 0);
23655 : operands[2] = x13;
23656 : x8 = XEXP (x4, 0);
23657 : if (rtx_equal_p (x8, operands[0]))
23658 : {
23659 : x14 = XEXP (x9, 1);
23660 : x15 = XEXP (x14, 1);
23661 : x16 = XEXP (x15, 0);
23662 : if (rtx_equal_p (x16, operands[2])
23663 : &&
23664 : #line 17122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23665 : (TARGET_64BIT && true))
23666 : return 1175; /* x86_64_shrd */
23667 : }
23668 : }
23669 : operands[2] = x11;
23670 : if (!register_operand (operands[0], E_DImode))
23671 : return -1;
23672 : x8 = XEXP (x4, 0);
23673 : operands[1] = x8;
23674 : if (!nonimmediate_operand (operands[1], E_DImode))
23675 : return -1;
23676 : x12 = XEXP (x4, 1);
23677 : x13 = XEXP (x12, 0);
23678 : operands[3] = x13;
23679 : x14 = XEXP (x9, 1);
23680 : x15 = XEXP (x14, 1);
23681 : x16 = XEXP (x15, 0);
23682 : if (!rtx_equal_p (x16, operands[3])
23683 : || !
23684 : #line 17143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23685 : (TARGET_APX_NDD && true))
23686 : return -1;
23687 : return 1177; /* x86_64_shrd_ndd */
23688 :
23689 : case 1:
23690 : if (pattern1057 (x3,
23691 : E_SImode,
23692 : E_DImode) != 0)
23693 : return -1;
23694 : x7 = XEXP (x3, 1);
23695 : x9 = XEXP (x7, 0);
23696 : x10 = XEXP (x9, 0);
23697 : x11 = XEXP (x10, 0);
23698 : operands[1] = x11;
23699 : if (nonimmediate_operand (operands[0], E_SImode))
23700 : {
23701 : x12 = XEXP (x4, 1);
23702 : x13 = XEXP (x12, 0);
23703 : operands[2] = x13;
23704 : x8 = XEXP (x4, 0);
23705 : if (rtx_equal_p (x8, operands[0]))
23706 : {
23707 : x14 = XEXP (x9, 1);
23708 : x15 = XEXP (x14, 1);
23709 : x16 = XEXP (x15, 0);
23710 : if (rtx_equal_p (x16, operands[2]))
23711 : return 1187; /* x86_shrd */
23712 : }
23713 : }
23714 : operands[2] = x11;
23715 : if (!register_operand (operands[0], E_SImode))
23716 : return -1;
23717 : x8 = XEXP (x4, 0);
23718 : operands[1] = x8;
23719 : if (!nonimmediate_operand (operands[1], E_SImode))
23720 : return -1;
23721 : x12 = XEXP (x4, 1);
23722 : x13 = XEXP (x12, 0);
23723 : operands[3] = x13;
23724 : x14 = XEXP (x9, 1);
23725 : x15 = XEXP (x14, 1);
23726 : x16 = XEXP (x15, 0);
23727 : if (!rtx_equal_p (x16, operands[3])
23728 : || !
23729 : #line 17374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23730 : (TARGET_APX_NDD && true))
23731 : return -1;
23732 : return 1189; /* x86_shrd_ndd */
23733 :
23734 : case 2:
23735 : x7 = XEXP (x3, 1);
23736 : switch (GET_CODE (x7))
23737 : {
23738 : case SUBREG:
23739 : switch (pattern1251 (x3,
23740 : ASHIFT))
23741 : {
23742 : case 0:
23743 : x12 = XEXP (x4, 1);
23744 : operands[2] = x12;
23745 : if (pattern1700 (x3) == 0
23746 : &&
23747 : #line 17158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23748 : (TARGET_64BIT
23749 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
23750 : && true))
23751 : return 1179; /* x86_64_shrd_1 */
23752 : operands[3] = x12;
23753 : if (pattern1701 (x3) != 0
23754 : || !
23755 : #line 17180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23756 : (TARGET_APX_NDD
23757 : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
23758 : && true))
23759 : return -1;
23760 : return 1181; /* x86_64_shrd_ndd_1 */
23761 :
23762 : case 1:
23763 : x12 = XEXP (x4, 1);
23764 : operands[2] = x12;
23765 : if (pattern1702 (x3) == 0
23766 : &&
23767 : #line 17389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23768 : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
23769 : && true))
23770 : return 1191; /* x86_shrd_1 */
23771 : operands[3] = x12;
23772 : if (pattern1703 (x3) != 0
23773 : || !
23774 : #line 17411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23775 : (TARGET_APX_NDD
23776 : && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
23777 : && true))
23778 : return -1;
23779 : return 1193; /* x86_shrd_ndd_1 */
23780 :
23781 : default:
23782 : return -1;
23783 : }
23784 :
23785 : case ASHIFT:
23786 : switch (pattern1253 (x3))
23787 : {
23788 : case 0:
23789 : if (!
23790 : #line 17252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23791 : (TARGET_64BIT
23792 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
23793 : && ix86_pre_reload_split ()))
23794 : return -1;
23795 : return 1183; /* *x86_64_shrd_shld_1_nozext */
23796 :
23797 : case 1:
23798 : if (!
23799 : #line 17483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23800 : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
23801 : && ix86_pre_reload_split ()))
23802 : return -1;
23803 : return 1195; /* *x86_shrd_shld_1_nozext */
23804 :
23805 : case 2:
23806 : x9 = XEXP (x7, 0);
23807 : operands[1] = x9;
23808 : if (nonimmediate_operand (operands[0], E_DImode))
23809 : {
23810 : x12 = XEXP (x4, 1);
23811 : operands[2] = x12;
23812 : x8 = XEXP (x4, 0);
23813 : if (rtx_equal_p (x8, operands[0]))
23814 : {
23815 : x17 = XEXP (x7, 1);
23816 : x18 = XEXP (x17, 1);
23817 : if (rtx_equal_p (x18, operands[2])
23818 : &&
23819 : #line 17305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23820 : (TARGET_64BIT && ix86_pre_reload_split ()))
23821 : return 1184; /* *x86_64_shrd_2 */
23822 : }
23823 : }
23824 : operands[2] = x9;
23825 : if (!register_operand (operands[0], E_DImode))
23826 : return -1;
23827 : x8 = XEXP (x4, 0);
23828 : operands[1] = x8;
23829 : if (!nonimmediate_operand (operands[1], E_DImode))
23830 : return -1;
23831 : x12 = XEXP (x4, 1);
23832 : operands[3] = x12;
23833 : x17 = XEXP (x7, 1);
23834 : x18 = XEXP (x17, 1);
23835 : if (!rtx_equal_p (x18, operands[2])
23836 : || !
23837 : #line 17326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23838 : (TARGET_APX_NDD
23839 : && ix86_pre_reload_split ()))
23840 : return -1;
23841 : return 1185; /* *x86_64_shrd_ndd_2 */
23842 :
23843 : case 3:
23844 : x9 = XEXP (x7, 0);
23845 : operands[1] = x9;
23846 : if (nonimmediate_operand (operands[0], E_SImode))
23847 : {
23848 : x12 = XEXP (x4, 1);
23849 : operands[2] = x12;
23850 : x8 = XEXP (x4, 0);
23851 : if (rtx_equal_p (x8, operands[0]))
23852 : {
23853 : x17 = XEXP (x7, 1);
23854 : x18 = XEXP (x17, 1);
23855 : if (rtx_equal_p (x18, operands[2])
23856 : &&
23857 : #line 17535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23858 : (TARGET_64BIT && ix86_pre_reload_split ()))
23859 : return 1196; /* *x86_shrd_2 */
23860 : }
23861 : }
23862 : operands[2] = x9;
23863 : if (!register_operand (operands[0], E_SImode))
23864 : return -1;
23865 : x8 = XEXP (x4, 0);
23866 : operands[1] = x8;
23867 : if (!nonimmediate_operand (operands[1], E_SImode))
23868 : return -1;
23869 : x12 = XEXP (x4, 1);
23870 : operands[3] = x12;
23871 : x17 = XEXP (x7, 1);
23872 : x18 = XEXP (x17, 1);
23873 : if (!rtx_equal_p (x18, operands[3])
23874 : || !
23875 : #line 17556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23876 : (TARGET_APX_NDD
23877 : && ix86_pre_reload_split ()))
23878 : return -1;
23879 : return 1197; /* *x86_shrd_ndd_2 */
23880 :
23881 : default:
23882 : return -1;
23883 : }
23884 :
23885 : default:
23886 : return -1;
23887 : }
23888 :
23889 : default:
23890 : return -1;
23891 : }
23892 :
23893 : case NOT:
23894 : x8 = XEXP (x4, 0);
23895 : if (GET_CODE (x8) != PLUS)
23896 : return -1;
23897 : x19 = XEXP (x8, 1);
23898 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23899 : || pattern344 (x1) != 0)
23900 : return -1;
23901 : x20 = XEXP (x8, 0);
23902 : operands[1] = x20;
23903 : x7 = XEXP (x3, 1);
23904 : if (!rtx_equal_p (x7, operands[1]))
23905 : return -1;
23906 : switch (GET_MODE (operands[0]))
23907 : {
23908 : case E_SImode:
23909 : if (!register_operand (operands[0], E_SImode)
23910 : || GET_MODE (x3) != E_SImode
23911 : || GET_MODE (x4) != E_SImode
23912 : || GET_MODE (x8) != E_SImode
23913 : || !nonimmediate_operand (operands[1], E_SImode)
23914 : || !
23915 : #line 22554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23916 : (TARGET_TBM))
23917 : return -1;
23918 : return 1642; /* *tbm_blci_si */
23919 :
23920 : case E_DImode:
23921 : if (!register_operand (operands[0], E_DImode)
23922 : || GET_MODE (x3) != E_DImode
23923 : || GET_MODE (x4) != E_DImode
23924 : || GET_MODE (x8) != E_DImode
23925 : || !nonimmediate_operand (operands[1], E_DImode)
23926 : || !(
23927 : #line 22554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23928 : (TARGET_TBM) &&
23929 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23930 : (TARGET_64BIT)))
23931 : return -1;
23932 : return 1643; /* *tbm_blci_di */
23933 :
23934 : default:
23935 : return -1;
23936 : }
23937 :
23938 : case PLUS:
23939 : x12 = XEXP (x4, 1);
23940 : if (GET_CODE (x12) != CONST_INT
23941 : || pattern349 (x1) != 0)
23942 : return -1;
23943 : switch (XWINT (x12, 0))
23944 : {
23945 : case 1L:
23946 : switch (pattern1337 (x3))
23947 : {
23948 : case 0:
23949 : if (!
23950 : #line 22594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23951 : (TARGET_TBM))
23952 : return -1;
23953 : return 1648; /* *tbm_blcs_si */
23954 :
23955 : case 1:
23956 : if (!(
23957 : #line 22594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23958 : (TARGET_TBM) &&
23959 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23960 : (TARGET_64BIT)))
23961 : return -1;
23962 : return 1649; /* *tbm_blcs_di */
23963 :
23964 : case 2:
23965 : if (!
23966 : #line 22635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23967 : (TARGET_TBM))
23968 : return -1;
23969 : return 1654; /* *tbm_t1mskc_si */
23970 :
23971 : case 3:
23972 : if (!(
23973 : #line 22635 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23974 : (TARGET_TBM) &&
23975 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23976 : (TARGET_64BIT)))
23977 : return -1;
23978 : return 1655; /* *tbm_t1mskc_di */
23979 :
23980 : default:
23981 : return -1;
23982 : }
23983 :
23984 : case -1L:
23985 : switch (pattern1337 (x3))
23986 : {
23987 : case 0:
23988 : if (!
23989 : #line 22607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23990 : (TARGET_TBM))
23991 : return -1;
23992 : return 1650; /* *tbm_blsfill_si */
23993 :
23994 : case 1:
23995 : if (!(
23996 : #line 22607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23997 : (TARGET_TBM) &&
23998 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23999 : (TARGET_64BIT)))
24000 : return -1;
24001 : return 1651; /* *tbm_blsfill_di */
24002 :
24003 : case 2:
24004 : if (!
24005 : #line 22621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24006 : (TARGET_TBM))
24007 : return -1;
24008 : return 1652; /* *tbm_blsic_si */
24009 :
24010 : case 3:
24011 : if (!(
24012 : #line 22621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24013 : (TARGET_TBM) &&
24014 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24015 : (TARGET_64BIT)))
24016 : return -1;
24017 : return 1653; /* *tbm_blsic_di */
24018 :
24019 : default:
24020 : return -1;
24021 : }
24022 :
24023 : default:
24024 : return -1;
24025 : }
24026 :
24027 : default:
24028 : return -1;
24029 : }
24030 : }
24031 :
24032 : int
24033 : recog_426 (rtx x1 ATTRIBUTE_UNUSED,
24034 : rtx_insn *insn ATTRIBUTE_UNUSED,
24035 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24036 : {
24037 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24038 : rtx x2, x3, x4, x5, x6, x7;
24039 : int res ATTRIBUTE_UNUSED;
24040 : x2 = XVECEXP (x1, 0, 0);
24041 : x3 = XEXP (x2, 1);
24042 : x4 = XEXP (x3, 0);
24043 : if (GET_CODE (x4) != ZERO_EXTEND)
24044 : return -1;
24045 : x5 = XVECEXP (x1, 0, 1);
24046 : if (pattern384 (x5,
24047 : 175,
24048 : 0) != 0)
24049 : return -1;
24050 : x6 = XEXP (x2, 0);
24051 : operands[0] = x6;
24052 : x7 = XEXP (x4, 0);
24053 : operands[1] = x7;
24054 : switch (GET_MODE (operands[0]))
24055 : {
24056 : case E_V8DImode:
24057 : if (pattern1258 (x3,
24058 : E_V8DImode,
24059 : E_QImode,
24060 : E_DImode) != 0
24061 : || !
24062 : #line 28801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24063 : (TARGET_AVX512CD))
24064 : return -1;
24065 : return 9420; /* avx512cd_maskb_vec_dupv8di */
24066 :
24067 : case E_V4DImode:
24068 : if (pattern1258 (x3,
24069 : E_V4DImode,
24070 : E_QImode,
24071 : E_DImode) != 0
24072 : || !(
24073 : #line 28801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24074 : (TARGET_AVX512CD) &&
24075 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24076 : (TARGET_AVX512VL)))
24077 : return -1;
24078 : return 9421; /* avx512cd_maskb_vec_dupv4di */
24079 :
24080 : case E_V2DImode:
24081 : if (pattern1258 (x3,
24082 : E_V2DImode,
24083 : E_QImode,
24084 : E_DImode) != 0
24085 : || !(
24086 : #line 28801 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24087 : (TARGET_AVX512CD) &&
24088 : #line 617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24089 : (TARGET_AVX512VL)))
24090 : return -1;
24091 : return 9422; /* avx512cd_maskb_vec_dupv2di */
24092 :
24093 : case E_V16SImode:
24094 : if (pattern1258 (x3,
24095 : E_V16SImode,
24096 : E_HImode,
24097 : E_SImode) != 0
24098 : || !
24099 : #line 28813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24100 : (TARGET_AVX512CD))
24101 : return -1;
24102 : return 9423; /* avx512cd_maskw_vec_dupv16si */
24103 :
24104 : case E_V8SImode:
24105 : if (pattern1258 (x3,
24106 : E_V8SImode,
24107 : E_HImode,
24108 : E_SImode) != 0
24109 : || !(
24110 : #line 28813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24111 : (TARGET_AVX512CD) &&
24112 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24113 : (TARGET_AVX512VL)))
24114 : return -1;
24115 : return 9424; /* avx512cd_maskw_vec_dupv8si */
24116 :
24117 : case E_V4SImode:
24118 : if (pattern1258 (x3,
24119 : E_V4SImode,
24120 : E_HImode,
24121 : E_SImode) != 0
24122 : || !(
24123 : #line 28813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24124 : (TARGET_AVX512CD) &&
24125 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24126 : (TARGET_AVX512VL)))
24127 : return -1;
24128 : return 9425; /* avx512cd_maskw_vec_dupv4si */
24129 :
24130 : default:
24131 : return -1;
24132 : }
24133 : }
24134 :
24135 : int
24136 : recog_431 (rtx x1 ATTRIBUTE_UNUSED,
24137 : rtx_insn *insn ATTRIBUTE_UNUSED,
24138 : int *pnum_clobbers ATTRIBUTE_UNUSED)
24139 : {
24140 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24141 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24142 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
24143 : int res ATTRIBUTE_UNUSED;
24144 : x2 = XVECEXP (x1, 0, 0);
24145 : x3 = XEXP (x2, 1);
24146 : switch (XVECLEN (x3, 0))
24147 : {
24148 : case 1:
24149 : x4 = XEXP (x2, 0);
24150 : operands[0] = x4;
24151 : x5 = XVECEXP (x3, 0, 0);
24152 : operands[1] = x5;
24153 : switch (XINT (x3, 1))
24154 : {
24155 : case 107:
24156 : if (pattern546 (x1) != 0)
24157 : return -1;
24158 : x6 = XVECEXP (x1, 0, 2);
24159 : if (GET_CODE (x6) != UNSPEC
24160 : || XVECLEN (x6, 0) != 1
24161 : || XINT (x6, 1) != 109
24162 : || GET_MODE (x6) != E_DImode)
24163 : return -1;
24164 : x7 = XVECEXP (x6, 0, 0);
24165 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
24166 : || !register_operand (operands[0], E_DImode)
24167 : || !pop_operand (operands[1], E_TImode))
24168 : return -1;
24169 : x8 = XVECEXP (x1, 0, 1);
24170 : x9 = XEXP (x8, 0);
24171 : operands[2] = x9;
24172 : if (!register_operand (operands[2], E_DImode)
24173 : || !
24174 : #line 3952 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24175 : (TARGET_APX_PUSH2POP2 && TARGET_APX_PPX))
24176 : return -1;
24177 : return 168; /* pop2p_di */
24178 :
24179 : case 98:
24180 : switch (pattern832 (x1))
24181 : {
24182 : case 0:
24183 : if (!
24184 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24185 : (TARGET_BMI))
24186 : return -1;
24187 : return 1592; /* *tzcnt_si_falsedep */
24188 :
24189 : case 1:
24190 : if (!((
24191 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24192 : (TARGET_64BIT) &&
24193 : #line 22000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24194 : (TARGET_BMI)) &&
24195 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24196 : (TARGET_64BIT)))
24197 : return -1;
24198 : return 1594; /* *tzcnt_di_falsedep */
24199 :
24200 : default:
24201 : return -1;
24202 : }
24203 :
24204 : case 97:
24205 : switch (pattern832 (x1))
24206 : {
24207 : case 0:
24208 : if (!
24209 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24210 : (TARGET_LZCNT))
24211 : return -1;
24212 : return 1593; /* *lzcnt_si_falsedep */
24213 :
24214 : case 1:
24215 : if (!((
24216 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24217 : (TARGET_64BIT) &&
24218 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24219 : (TARGET_LZCNT)) &&
24220 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24221 : (TARGET_64BIT)))
24222 : return -1;
24223 : return 1595; /* *lzcnt_di_falsedep */
24224 :
24225 : default:
24226 : return -1;
24227 : }
24228 :
24229 : case 75:
24230 : if (pattern833 (x1) != 0
24231 : || !
24232 : #line 25623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24233 : (TARGET_USE_FANCY_MATH_387
24234 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
24235 : return -1;
24236 : return 1774; /* frndintxf2_roundeven_i387 */
24237 :
24238 : case 76:
24239 : if (pattern833 (x1) != 0
24240 : || !
24241 : #line 25623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24242 : (TARGET_USE_FANCY_MATH_387
24243 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
24244 : return -1;
24245 : return 1775; /* frndintxf2_floor_i387 */
24246 :
24247 : case 77:
24248 : if (pattern833 (x1) != 0
24249 : || !
24250 : #line 25623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24251 : (TARGET_USE_FANCY_MATH_387
24252 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
24253 : return -1;
24254 : return 1776; /* frndintxf2_ceil_i387 */
24255 :
24256 : case 78:
24257 : if (pattern833 (x1) != 0
24258 : || !
24259 : #line 25623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24260 : (TARGET_USE_FANCY_MATH_387
24261 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)))
24262 : return -1;
24263 : return 1777; /* frndintxf2_trunc_i387 */
24264 :
24265 : case 79:
24266 : switch (pattern835 (x1, pnum_clobbers))
24267 : {
24268 : case 0:
24269 : if (!
24270 : #line 25741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24271 : (TARGET_USE_FANCY_MATH_387
24272 : && flag_unsafe_math_optimizations))
24273 : return -1;
24274 : *pnum_clobbers = 1;
24275 : return 1784; /* fistdi2_floor */
24276 :
24277 : case 1:
24278 : if (!
24279 : #line 25754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24280 : (TARGET_USE_FANCY_MATH_387
24281 : && flag_unsafe_math_optimizations))
24282 : return -1;
24283 : return 1786; /* fisthi2_floor */
24284 :
24285 : case 2:
24286 : if (!
24287 : #line 25754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24288 : (TARGET_USE_FANCY_MATH_387
24289 : && flag_unsafe_math_optimizations))
24290 : return -1;
24291 : return 1788; /* fistsi2_floor */
24292 :
24293 : default:
24294 : return -1;
24295 : }
24296 :
24297 : case 80:
24298 : switch (pattern835 (x1, pnum_clobbers))
24299 : {
24300 : case 0:
24301 : if (!
24302 : #line 25741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24303 : (TARGET_USE_FANCY_MATH_387
24304 : && flag_unsafe_math_optimizations))
24305 : return -1;
24306 : *pnum_clobbers = 1;
24307 : return 1785; /* fistdi2_ceil */
24308 :
24309 : case 1:
24310 : if (!
24311 : #line 25754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24312 : (TARGET_USE_FANCY_MATH_387
24313 : && flag_unsafe_math_optimizations))
24314 : return -1;
24315 : return 1787; /* fisthi2_ceil */
24316 :
24317 : case 2:
24318 : if (!
24319 : #line 25754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24320 : (TARGET_USE_FANCY_MATH_387
24321 : && flag_unsafe_math_optimizations))
24322 : return -1;
24323 : return 1789; /* fistsi2_ceil */
24324 :
24325 : default:
24326 : return -1;
24327 : }
24328 :
24329 : case 93:
24330 : x8 = XVECEXP (x1, 0, 1);
24331 : if (GET_CODE (x8) != SET)
24332 : return -1;
24333 : x10 = XEXP (x8, 1);
24334 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24335 : return -1;
24336 : x6 = XVECEXP (x1, 0, 2);
24337 : if (pattern953 (x6,
24338 : E_CCmode,
24339 : 17) != 0)
24340 : return -1;
24341 : switch (pattern1159 (x1))
24342 : {
24343 : case 0:
24344 : if (!(
24345 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24346 : (ptr_mode == SImode) &&
24347 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24348 : (word_mode == SImode)))
24349 : return -1;
24350 : return 1921; /* stack_protect_set_1_si_si */
24351 :
24352 : case 1:
24353 : if (!(
24354 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24355 : (ptr_mode == SImode) &&
24356 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24357 : (word_mode == DImode)))
24358 : return -1;
24359 : return 1923; /* stack_protect_set_1_si_di */
24360 :
24361 : case 2:
24362 : if (!(
24363 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24364 : (ptr_mode == DImode) &&
24365 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24366 : (word_mode == SImode)))
24367 : return -1;
24368 : return 1922; /* stack_protect_set_1_di_si */
24369 :
24370 : case 3:
24371 : if (!(
24372 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24373 : (ptr_mode == DImode) &&
24374 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24375 : (word_mode == DImode)))
24376 : return -1;
24377 : return 1924; /* stack_protect_set_1_di_di */
24378 :
24379 : default:
24380 : return -1;
24381 : }
24382 :
24383 : case 291:
24384 : if (GET_MODE (x3) != E_DImode)
24385 : return -1;
24386 : x8 = XVECEXP (x1, 0, 1);
24387 : if (GET_CODE (x8) != CLOBBER)
24388 : return -1;
24389 : x6 = XVECEXP (x1, 0, 2);
24390 : if (GET_CODE (x6) != CLOBBER
24391 : || !nonimmediate_operand (operands[0], E_DImode)
24392 : || !memory_operand (operands[1], E_DImode))
24393 : return -1;
24394 : x9 = XEXP (x8, 0);
24395 : operands[2] = x9;
24396 : if (!memory_operand (operands[2], E_DImode))
24397 : return -1;
24398 : x11 = XEXP (x6, 0);
24399 : operands[3] = x11;
24400 : if (!scratch_operand (operands[3], E_DFmode)
24401 : || !
24402 : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24403 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
24404 : return -1;
24405 : return 11064; /* atomic_loaddi_fpu */
24406 :
24407 : case 292:
24408 : if (GET_MODE (x3) != E_DImode)
24409 : return -1;
24410 : x8 = XVECEXP (x1, 0, 1);
24411 : if (GET_CODE (x8) != CLOBBER)
24412 : return -1;
24413 : x6 = XVECEXP (x1, 0, 2);
24414 : if (GET_CODE (x6) != CLOBBER
24415 : || !memory_operand (operands[0], E_DImode)
24416 : || !nonimmediate_operand (operands[1], E_DImode))
24417 : return -1;
24418 : x9 = XEXP (x8, 0);
24419 : operands[2] = x9;
24420 : if (!memory_operand (operands[2], E_DImode))
24421 : return -1;
24422 : x11 = XEXP (x6, 0);
24423 : operands[3] = x11;
24424 : if (!scratch_operand (operands[3], E_DFmode)
24425 : || !
24426 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
24427 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
24428 : return -1;
24429 : return 11069; /* atomic_storedi_fpu */
24430 :
24431 : default:
24432 : return -1;
24433 : }
24434 :
24435 : case 2:
24436 : x8 = XVECEXP (x1, 0, 1);
24437 : if (GET_CODE (x8) != SET)
24438 : return -1;
24439 : x10 = XEXP (x8, 1);
24440 : if (GET_CODE (x10) != UNSPEC
24441 : || XVECLEN (x10, 0) != 2
24442 : || GET_MODE (x10) != E_XFmode)
24443 : return -1;
24444 : x6 = XVECEXP (x1, 0, 2);
24445 : if (GET_CODE (x6) != SET)
24446 : return -1;
24447 : x12 = XEXP (x6, 1);
24448 : if (GET_CODE (x12) != UNSPEC
24449 : || XVECLEN (x12, 0) != 2
24450 : || XINT (x12, 1) != 91
24451 : || GET_MODE (x12) != E_CCFPmode)
24452 : return -1;
24453 : x11 = XEXP (x6, 0);
24454 : if (GET_CODE (x11) != REG
24455 : || REGNO (x11) != 18
24456 : || GET_MODE (x11) != E_CCFPmode)
24457 : return -1;
24458 : x4 = XEXP (x2, 0);
24459 : operands[0] = x4;
24460 : if (!register_operand (operands[0], E_XFmode)
24461 : || GET_MODE (x3) != E_XFmode
24462 : || pattern1431 (x1) != 0)
24463 : return -1;
24464 : x13 = XVECEXP (x12, 0, 0);
24465 : if (!rtx_equal_p (x13, operands[2]))
24466 : return -1;
24467 : x14 = XVECEXP (x12, 0, 1);
24468 : if (!rtx_equal_p (x14, operands[3]))
24469 : return -1;
24470 : switch (XINT (x3, 1))
24471 : {
24472 : case 87:
24473 : if (XINT (x10, 1) != 88
24474 : || !
24475 : #line 24260 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24476 : (TARGET_USE_FANCY_MATH_387))
24477 : return -1;
24478 : return 1749; /* fpremxf4_i387 */
24479 :
24480 : case 89:
24481 : if (XINT (x10, 1) != 90
24482 : || !
24483 : #line 24332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24484 : (TARGET_USE_FANCY_MATH_387))
24485 : return -1;
24486 : return 1750; /* fprem1xf4_i387 */
24487 :
24488 : default:
24489 : return -1;
24490 : }
24491 :
24492 : case 4:
24493 : if (XINT (x3, 1) != 24)
24494 : return -1;
24495 : x5 = XVECEXP (x3, 0, 0);
24496 : if (GET_CODE (x5) != MEM
24497 : || GET_MODE (x5) != E_BLKmode)
24498 : return -1;
24499 : x8 = XVECEXP (x1, 0, 1);
24500 : if (GET_CODE (x8) != CLOBBER
24501 : || pattern838 (x1) != 0)
24502 : return -1;
24503 : switch (pattern1161 (x1))
24504 : {
24505 : case 0:
24506 : if (!(
24507 : #line 26574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24508 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24509 : && ix86_check_no_addr_space (insn)) &&
24510 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24511 : (Pmode == SImode)))
24512 : return -1;
24513 : return 1827; /* *strlenqi_1 */
24514 :
24515 : case 1:
24516 : if (!(
24517 : #line 26574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24518 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24519 : && ix86_check_no_addr_space (insn)) &&
24520 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24521 : (Pmode == DImode)))
24522 : return -1;
24523 : return 1828; /* *strlenqi_1 */
24524 :
24525 : default:
24526 : return -1;
24527 : }
24528 :
24529 : case 5:
24530 : if (XINT (x3, 1) != 132)
24531 : return -1;
24532 : if (GET_MODE (x3) == E_SImode
24533 : && pattern717 (x1,
24534 : 132,
24535 : 5) == 0
24536 : && pattern1748 (x1) == 0
24537 : &&
24538 : #line 26459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24539 : (TARGET_SSE4_2
24540 : && ix86_pre_reload_split ()))
24541 : return 9032; /* sse4_2_pcmpestr */
24542 : if (GET_MODE (x3) != E_CCmode
24543 : || pattern718 (x1) != 0
24544 : || !register_operand (operands[3], E_SImode))
24545 : return -1;
24546 : x15 = XVECEXP (x3, 0, 2);
24547 : operands[4] = x15;
24548 : if (!nonimmediate_operand (operands[4], E_V16QImode))
24549 : return -1;
24550 : x16 = XVECEXP (x3, 0, 3);
24551 : operands[5] = x16;
24552 : if (!register_operand (operands[5], E_SImode))
24553 : return -1;
24554 : x17 = XVECEXP (x3, 0, 4);
24555 : operands[6] = x17;
24556 : if (!const_0_to_255_operand (operands[6], E_SImode))
24557 : return -1;
24558 : x8 = XVECEXP (x1, 0, 1);
24559 : x9 = XEXP (x8, 0);
24560 : operands[0] = x9;
24561 : if (!scratch_operand (operands[0], E_V16QImode))
24562 : return -1;
24563 : x6 = XVECEXP (x1, 0, 2);
24564 : x11 = XEXP (x6, 0);
24565 : operands[1] = x11;
24566 : if (!scratch_operand (operands[1], E_SImode)
24567 : || !
24568 : #line 26562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24569 : (TARGET_SSE4_2))
24570 : return -1;
24571 : return 9035; /* sse4_2_pcmpestr_cconly */
24572 :
24573 : case 3:
24574 : if (XINT (x3, 1) != 133)
24575 : return -1;
24576 : if (GET_MODE (x3) == E_SImode
24577 : && pattern717 (x1,
24578 : 133,
24579 : 3) == 0
24580 : && pattern1749 (x1) == 0
24581 : &&
24582 : #line 26596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24583 : (TARGET_SSE4_2
24584 : && ix86_pre_reload_split ()))
24585 : return 9036; /* sse4_2_pcmpistr */
24586 : if (GET_MODE (x3) != E_CCmode
24587 : || pattern718 (x1) != 0
24588 : || !nonimmediate_operand (operands[3], E_V16QImode))
24589 : return -1;
24590 : x15 = XVECEXP (x3, 0, 2);
24591 : operands[4] = x15;
24592 : if (!const_0_to_255_operand (operands[4], E_SImode))
24593 : return -1;
24594 : x8 = XVECEXP (x1, 0, 1);
24595 : x9 = XEXP (x8, 0);
24596 : operands[0] = x9;
24597 : if (!scratch_operand (operands[0], E_V16QImode))
24598 : return -1;
24599 : x6 = XVECEXP (x1, 0, 2);
24600 : x11 = XEXP (x6, 0);
24601 : operands[1] = x11;
24602 : if (!scratch_operand (operands[1], E_SImode)
24603 : || !
24604 : #line 26687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
24605 : (TARGET_SSE4_2))
24606 : return -1;
24607 : return 9039; /* sse4_2_pcmpistr_cconly */
24608 :
24609 : default:
24610 : return -1;
24611 : }
24612 : }
24613 :
24614 : rtx_insn *
24615 : split_1 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24616 : {
24617 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24618 : rtx x2;
24619 : rtx_insn *res ATTRIBUTE_UNUSED;
24620 : x2 = XEXP (x1, 0);
24621 : operands[0] = x2;
24622 : switch (GET_CODE (operands[0]))
24623 : {
24624 : case MEM:
24625 : switch (GET_MODE (operands[0]))
24626 : {
24627 : case E_V1TImode:
24628 : if (push_operand (operands[0], E_V1TImode)
24629 : && register_operand (operands[1], E_V1TImode))
24630 : {
24631 : if (((
24632 : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24633 : (TARGET_64BIT && TARGET_STV) &&
24634 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24635 : (Pmode == SImode)) &&
24636 : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24637 : ( reload_completed)))
24638 : return gen_split_3 (insn, operands);
24639 : if (((
24640 : #line 2180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24641 : (TARGET_64BIT && TARGET_STV) &&
24642 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24643 : (Pmode == DImode)) &&
24644 : #line 2182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24645 : ( reload_completed)))
24646 : return gen_split_4 (insn, operands);
24647 : }
24648 : break;
24649 :
24650 : case E_DImode:
24651 : if (push_operand (operands[0], E_DImode))
24652 : {
24653 : if (general_gr_operand (operands[1], E_DImode)
24654 : && (
24655 : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24656 : (reload_completed) &&
24657 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24658 : (!TARGET_64BIT)))
24659 : return gen_split_5 (insn, operands);
24660 : if (immediate_operand (operands[1], E_DImode)
24661 : &&
24662 : #line 2237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24663 : (TARGET_64BIT && epilogue_completed
24664 : && !symbolic_operand (operands[1], DImode)
24665 : && !x86_64_immediate_operand (operands[1], DImode)))
24666 : return gen_split_7 (insn, operands);
24667 : if (sse_reg_operand (operands[1], E_DImode))
24668 : {
24669 : if ((
24670 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24671 : (TARGET_SSE && reload_completed) &&
24672 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24673 : (Pmode == SImode)))
24674 : return gen_split_9 (insn, operands);
24675 : if ((
24676 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24677 : (TARGET_SSE && reload_completed) &&
24678 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24679 : (Pmode == DImode)))
24680 : return gen_split_12 (insn, operands);
24681 : }
24682 : }
24683 : break;
24684 :
24685 : case E_TImode:
24686 : if (push_operand (operands[0], E_TImode))
24687 : {
24688 : if (general_gr_operand (operands[1], E_TImode)
24689 : && (
24690 : #line 2204 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24691 : (reload_completed) &&
24692 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24693 : (TARGET_64BIT)))
24694 : return gen_split_6 (insn, operands);
24695 : if (sse_reg_operand (operands[1], E_TImode))
24696 : {
24697 : if ((
24698 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24699 : (TARGET_SSE && reload_completed) && (((
24700 : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24701 : (TARGET_64BIT) &&
24702 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24703 : (Pmode == SImode)) &&
24704 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24705 : (Pmode == SImode)) &&
24706 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24707 : (Pmode == SImode))))
24708 : return gen_split_10 (insn, operands);
24709 : if ((
24710 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24711 : (TARGET_SSE && reload_completed) && (((
24712 : #line 1203 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24713 : (TARGET_64BIT) &&
24714 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24715 : (Pmode == DImode)) &&
24716 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24717 : (Pmode == DImode)) &&
24718 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24719 : (Pmode == DImode))))
24720 : return gen_split_13 (insn, operands);
24721 : }
24722 : }
24723 : break;
24724 :
24725 : case E_SImode:
24726 : if (push_operand (operands[0], E_SImode)
24727 : && sse_reg_operand (operands[1], E_SImode))
24728 : {
24729 : if ((
24730 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24731 : (TARGET_SSE && reload_completed) &&
24732 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24733 : (Pmode == SImode)))
24734 : return gen_split_8 (insn, operands);
24735 : if ((
24736 : #line 2274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24737 : (TARGET_SSE && reload_completed) &&
24738 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24739 : (Pmode == DImode)))
24740 : return gen_split_11 (insn, operands);
24741 : }
24742 : break;
24743 :
24744 : case E_TFmode:
24745 : if (push_operand (operands[0], E_TFmode)
24746 : && sse_reg_operand (operands[1], E_TFmode))
24747 : {
24748 : if ((
24749 : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24750 : (TARGET_SSE && reload_completed) &&
24751 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24752 : (Pmode == SImode)))
24753 : return gen_split_37 (insn, operands);
24754 : if ((
24755 : #line 3790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24756 : (TARGET_SSE && reload_completed) &&
24757 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24758 : (Pmode == DImode)))
24759 : return gen_split_38 (insn, operands);
24760 : }
24761 : break;
24762 :
24763 : case E_XFmode:
24764 : if (push_operand (operands[0], E_XFmode)
24765 : && fp_register_operand (operands[1], E_XFmode))
24766 : {
24767 : if ((
24768 : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24769 : (reload_completed) &&
24770 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24771 : (Pmode == SImode)))
24772 : return gen_split_39 (insn, operands);
24773 : if ((
24774 : #line 3825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24775 : (reload_completed) &&
24776 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24777 : (Pmode == DImode)))
24778 : return gen_split_40 (insn, operands);
24779 : }
24780 : break;
24781 :
24782 : case E_DFmode:
24783 : if (push_operand (operands[0], E_DFmode)
24784 : && any_fp_register_operand (operands[1], E_DFmode))
24785 : {
24786 : if ((
24787 : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24788 : (reload_completed) &&
24789 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24790 : (Pmode == SImode)))
24791 : return gen_split_41 (insn, operands);
24792 : if ((
24793 : #line 3859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24794 : (reload_completed) &&
24795 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24796 : (Pmode == DImode)))
24797 : return gen_split_42 (insn, operands);
24798 : }
24799 : break;
24800 :
24801 : case E_SFmode:
24802 : if (push_operand (operands[0], E_SFmode))
24803 : {
24804 : if (any_fp_register_operand (operands[1], E_SFmode))
24805 : {
24806 : if ((
24807 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24808 : (reload_completed) &&
24809 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24810 : (Pmode == SImode)))
24811 : return gen_split_43 (insn, operands);
24812 : if ((
24813 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24814 : (reload_completed) &&
24815 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24816 : (Pmode == DImode)))
24817 : return gen_split_46 (insn, operands);
24818 : }
24819 : if (memory_operand (operands[1], E_SFmode)
24820 : &&
24821 : #line 4013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24822 : (reload_completed
24823 : && find_constant_src (insn)))
24824 : return gen_split_49 (insn, operands);
24825 : }
24826 : break;
24827 :
24828 : case E_HFmode:
24829 : if (push_operand (operands[0], E_HFmode)
24830 : && any_fp_register_operand (operands[1], E_HFmode))
24831 : {
24832 : if ((
24833 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24834 : (reload_completed) &&
24835 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24836 : (Pmode == SImode)))
24837 : return gen_split_44 (insn, operands);
24838 : if ((
24839 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24840 : (reload_completed) &&
24841 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24842 : (Pmode == DImode)))
24843 : return gen_split_47 (insn, operands);
24844 : }
24845 : break;
24846 :
24847 : case E_BFmode:
24848 : if (push_operand (operands[0], E_BFmode)
24849 : && any_fp_register_operand (operands[1], E_BFmode))
24850 : {
24851 : if ((
24852 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24853 : (reload_completed) &&
24854 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24855 : (Pmode == SImode)))
24856 : return gen_split_45 (insn, operands);
24857 : if ((
24858 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24859 : (reload_completed) &&
24860 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24861 : (Pmode == DImode)))
24862 : return gen_split_48 (insn, operands);
24863 : }
24864 : break;
24865 :
24866 : default:
24867 : break;
24868 : }
24869 : break;
24870 :
24871 : case REG:
24872 : switch (GET_MODE (operands[0]))
24873 : {
24874 : case E_TImode:
24875 : if (sse_reg_operand (operands[0], E_TImode)
24876 : && general_reg_operand (operands[1], E_TImode)
24877 : &&
24878 : #line 2579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24879 : (TARGET_64BIT && TARGET_SSE4_1
24880 : && reload_completed))
24881 : return gen_split_20 (insn, operands);
24882 : if (general_reg_operand (operands[0], E_TImode)
24883 : && sse_reg_operand (operands[1], E_TImode)
24884 : && (
24885 : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24886 : (TARGET_SSE4_1
24887 : && reload_completed) &&
24888 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24889 : (TARGET_64BIT)))
24890 : return gen_split_22 (insn, operands);
24891 : break;
24892 :
24893 : case E_DImode:
24894 : if (general_reg_operand (operands[0], E_DImode)
24895 : && sse_reg_operand (operands[1], E_DImode)
24896 : && (
24897 : #line 2770 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24898 : (TARGET_SSE4_1
24899 : && reload_completed) &&
24900 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24901 : (!TARGET_64BIT)))
24902 : return gen_split_21 (insn, operands);
24903 : break;
24904 :
24905 : default:
24906 : break;
24907 : }
24908 : break;
24909 :
24910 : default:
24911 : break;
24912 : }
24913 : switch (GET_MODE (operands[0]))
24914 : {
24915 : case E_DImode:
24916 : if (nonimmediate_gr_operand (operands[0], E_DImode)
24917 : && general_gr_operand (operands[1], E_DImode)
24918 : && (
24919 : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24920 : (reload_completed) &&
24921 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24922 : (!TARGET_64BIT)))
24923 : return gen_split_23 (insn, operands);
24924 : if (sse_reg_operand (operands[0], E_DImode)
24925 : && general_reg_operand (operands[1], E_DImode)
24926 : &&
24927 : #line 2794 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24928 : (!TARGET_64BIT && TARGET_SSE4_1
24929 : && reload_completed))
24930 : return gen_split_25 (insn, operands);
24931 : break;
24932 :
24933 : case E_TImode:
24934 : if (nonimmediate_gr_operand (operands[0], E_TImode)
24935 : && general_gr_operand (operands[1], E_TImode)
24936 : && (
24937 : #line 2787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24938 : (reload_completed) &&
24939 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24940 : (TARGET_64BIT)))
24941 : return gen_split_24 (insn, operands);
24942 : break;
24943 :
24944 : default:
24945 : break;
24946 : }
24947 : if (push_operand (operands[0], E_VOIDmode)
24948 : && general_gr_operand (operands[1], E_VOIDmode)
24949 : &&
24950 : #line 4021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24951 : (reload_completed
24952 : && (GET_MODE (operands[0]) == TFmode
24953 : || GET_MODE (operands[0]) == XFmode
24954 : || GET_MODE (operands[0]) == DFmode)))
24955 : return gen_split_50 (insn, operands);
24956 : switch (GET_MODE (operands[0]))
24957 : {
24958 : case E_TFmode:
24959 : if (nonimmediate_gr_operand (operands[0], E_TFmode)
24960 : && general_gr_operand (operands[1], E_TFmode)
24961 : &&
24962 : #line 4094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24963 : (reload_completed))
24964 : return gen_split_51 (insn, operands);
24965 : break;
24966 :
24967 : case E_XFmode:
24968 : if (nonimmediate_gr_operand (operands[0], E_XFmode)
24969 : && general_gr_operand (operands[1], E_XFmode)
24970 : &&
24971 : #line 4167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24972 : (reload_completed))
24973 : return gen_split_52 (insn, operands);
24974 : break;
24975 :
24976 : case E_DFmode:
24977 : if (nonimmediate_gr_operand (operands[0], E_DFmode)
24978 : && general_gr_operand (operands[1], E_DFmode)
24979 : &&
24980 : #line 4345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24981 : (!TARGET_64BIT && reload_completed))
24982 : return gen_split_53 (insn, operands);
24983 : break;
24984 :
24985 : default:
24986 : break;
24987 : }
24988 : if (any_fp_register_operand (operands[0], E_VOIDmode)
24989 : && memory_operand (operands[1], E_VOIDmode)
24990 : &&
24991 : #line 4613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24992 : (reload_completed
24993 : && (GET_MODE (operands[0]) == TFmode
24994 : || GET_MODE (operands[0]) == XFmode
24995 : || GET_MODE (operands[0]) == DFmode
24996 : || GET_MODE (operands[0]) == SFmode)
24997 : && ix86_standard_x87sse_constant_load_p (insn, operands[0])))
24998 : return gen_split_54 (insn, operands);
24999 : if (fp_register_operand (operands[0], E_SFmode)
25000 : && immediate_operand (operands[1], E_SFmode)
25001 : &&
25002 : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25003 : (reload_completed
25004 : && (standard_80387_constant_p (operands[1]) == 8
25005 : || standard_80387_constant_p (operands[1]) == 9)))
25006 : return gen_split_56 (insn, operands);
25007 : if (fp_register_operand (operands[0], E_DFmode)
25008 : && immediate_operand (operands[1], E_DFmode)
25009 : &&
25010 : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25011 : (reload_completed
25012 : && (standard_80387_constant_p (operands[1]) == 8
25013 : || standard_80387_constant_p (operands[1]) == 9)))
25014 : return gen_split_57 (insn, operands);
25015 : if (!fp_register_operand (operands[0], E_XFmode)
25016 : || !immediate_operand (operands[1], E_XFmode)
25017 : || !
25018 : #line 4637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25019 : (reload_completed
25020 : && (standard_80387_constant_p (operands[1]) == 8
25021 : || standard_80387_constant_p (operands[1]) == 9)))
25022 : return NULL;
25023 : return gen_split_58 (insn, operands);
25024 : }
25025 :
25026 : rtx_insn *
25027 : split_10 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25028 : {
25029 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25030 : rtx x2, x3, x4, x5;
25031 : rtx_insn *res ATTRIBUTE_UNUSED;
25032 : x2 = XEXP (x1, 0);
25033 : operands[0] = x2;
25034 : x3 = XEXP (x1, 1);
25035 : x4 = XEXP (x3, 0);
25036 : operands[1] = x4;
25037 : switch (GET_CODE (operands[1]))
25038 : {
25039 : case CONST_INT:
25040 : switch (pattern584 (x3))
25041 : {
25042 : case 0:
25043 : if (!
25044 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25045 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
25046 : == GET_MODE_BITSIZE (QImode) - 1))
25047 : return NULL;
25048 : return gen_split_693 (insn, operands);
25049 :
25050 : case 1:
25051 : if (!
25052 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25053 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
25054 : == GET_MODE_BITSIZE (HImode) - 1))
25055 : return NULL;
25056 : return gen_split_695 (insn, operands);
25057 :
25058 : case 2:
25059 : if (!
25060 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25061 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
25062 : == GET_MODE_BITSIZE (SImode) - 1))
25063 : return NULL;
25064 : return gen_split_697 (insn, operands);
25065 :
25066 : case 3:
25067 : if (!(
25068 : #line 18515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25069 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
25070 : == GET_MODE_BITSIZE (DImode) - 1) &&
25071 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25072 : (TARGET_64BIT)))
25073 : return NULL;
25074 : return gen_split_699 (insn, operands);
25075 :
25076 : case 4:
25077 : if (!
25078 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25079 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25080 : return NULL;
25081 : return gen_split_725 (insn, operands);
25082 :
25083 : case 5:
25084 : if (!
25085 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25086 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25087 : return NULL;
25088 : return gen_split_727 (insn, operands);
25089 :
25090 : case 6:
25091 : if (!
25092 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25093 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25094 : return NULL;
25095 : return gen_split_729 (insn, operands);
25096 :
25097 : case 7:
25098 : if (!(
25099 : #line 18599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25100 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25101 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25102 : (TARGET_64BIT)))
25103 : return NULL;
25104 : return gen_split_731 (insn, operands);
25105 :
25106 : case 8:
25107 : if (!
25108 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25109 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25110 : return NULL;
25111 : return gen_split_757 (insn, operands);
25112 :
25113 : case 9:
25114 : if (!
25115 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25116 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25117 : return NULL;
25118 : return gen_split_759 (insn, operands);
25119 :
25120 : case 10:
25121 : if (!
25122 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25123 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25124 : return NULL;
25125 : return gen_split_761 (insn, operands);
25126 :
25127 : case 11:
25128 : if (!(
25129 : #line 18668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25130 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25131 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25132 : (TARGET_64BIT)))
25133 : return NULL;
25134 : return gen_split_763 (insn, operands);
25135 :
25136 : case 12:
25137 : if (!
25138 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25139 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
25140 : == GET_MODE_BITSIZE (QImode) - 1))
25141 : return NULL;
25142 : return gen_split_709 (insn, operands);
25143 :
25144 : case 13:
25145 : if (!
25146 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25147 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
25148 : == GET_MODE_BITSIZE (HImode) - 1))
25149 : return NULL;
25150 : return gen_split_711 (insn, operands);
25151 :
25152 : case 14:
25153 : if (!
25154 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25155 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
25156 : == GET_MODE_BITSIZE (SImode) - 1))
25157 : return NULL;
25158 : return gen_split_713 (insn, operands);
25159 :
25160 : case 15:
25161 : if (!(
25162 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25163 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
25164 : == GET_MODE_BITSIZE (DImode) - 1) &&
25165 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25166 : (TARGET_64BIT)))
25167 : return NULL;
25168 : return gen_split_715 (insn, operands);
25169 :
25170 : case 16:
25171 : if (!
25172 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25173 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25174 : return NULL;
25175 : return gen_split_741 (insn, operands);
25176 :
25177 : case 17:
25178 : if (!
25179 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25180 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25181 : return NULL;
25182 : return gen_split_743 (insn, operands);
25183 :
25184 : case 18:
25185 : if (!
25186 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25187 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25188 : return NULL;
25189 : return gen_split_745 (insn, operands);
25190 :
25191 : case 19:
25192 : if (!(
25193 : #line 18631 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25194 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25195 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25196 : (TARGET_64BIT)))
25197 : return NULL;
25198 : return gen_split_747 (insn, operands);
25199 :
25200 : case 20:
25201 : if (!
25202 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25203 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
25204 : return NULL;
25205 : return gen_split_773 (insn, operands);
25206 :
25207 : case 21:
25208 : if (!
25209 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25210 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
25211 : return NULL;
25212 : return gen_split_775 (insn, operands);
25213 :
25214 : case 22:
25215 : if (!
25216 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25217 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
25218 : return NULL;
25219 : return gen_split_777 (insn, operands);
25220 :
25221 : case 23:
25222 : if (!(
25223 : #line 18700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25224 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
25225 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25226 : (TARGET_64BIT)))
25227 : return NULL;
25228 : return gen_split_779 (insn, operands);
25229 :
25230 : default:
25231 : return NULL;
25232 : }
25233 :
25234 : case REG:
25235 : case SUBREG:
25236 : x5 = XEXP (x3, 1);
25237 : if (GET_CODE (x5) != CONST_INT)
25238 : return NULL;
25239 : switch (XWINT (x5, 0))
25240 : {
25241 : case 32L:
25242 : if (!register_operand (operands[0], E_DImode)
25243 : || GET_MODE (x3) != E_DImode
25244 : || !register_operand (operands[1], E_DImode)
25245 : || !(
25246 : #line 18787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25247 : (!TARGET_64BIT) &&
25248 : #line 18789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25249 : ( reload_completed)))
25250 : return NULL;
25251 : return gen_split_785 (insn, operands);
25252 :
25253 : case 64L:
25254 : if (!register_operand (operands[0], E_TImode)
25255 : || GET_MODE (x3) != E_TImode
25256 : || !register_operand (operands[1], E_TImode)
25257 : || !(
25258 : #line 18805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25259 : (TARGET_64BIT) &&
25260 : #line 18807 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25261 : ( reload_completed)))
25262 : return NULL;
25263 : return gen_split_787 (insn, operands);
25264 :
25265 : default:
25266 : return NULL;
25267 : }
25268 :
25269 : default:
25270 : return NULL;
25271 : }
25272 : }
25273 :
25274 : rtx_insn *
25275 : split_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25276 : {
25277 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25278 : rtx x2, x3, x4;
25279 : rtx_insn *res ATTRIBUTE_UNUSED;
25280 : x2 = XEXP (x1, 0);
25281 : operands[0] = x2;
25282 : x3 = XEXP (x1, 1);
25283 : x4 = XEXP (x3, 0);
25284 : operands[1] = x4;
25285 : switch (GET_MODE (operands[0]))
25286 : {
25287 : case E_SFmode:
25288 : if (GET_MODE (x3) != E_SFmode)
25289 : return NULL;
25290 : if (sse_reg_operand (operands[0], E_SFmode)
25291 : && nonimmediate_operand (operands[1], E_SImode))
25292 : {
25293 : if (
25294 : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25295 : (TARGET_SSE2
25296 : && TARGET_USE_VECTOR_CONVERTS
25297 : && optimize_function_for_speed_p (cfun)
25298 : && reload_completed
25299 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
25300 : && (!EXT_REX_SSE_REG_P (operands[0])
25301 : || TARGET_AVX512VL)))
25302 : return gen_split_85 (insn, operands);
25303 : if (
25304 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25305 : (!TARGET_AVX
25306 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25307 : && epilogue_completed
25308 : && optimize_function_for_speed_p (cfun)
25309 : && (!EXT_REX_SSE_REG_P (operands[0])
25310 : || TARGET_AVX512VL)))
25311 : return gen_split_93 (insn, operands);
25312 : }
25313 : if (register_operand (operands[0], E_SFmode)
25314 : && register_operand (operands[1], E_DImode)
25315 : &&
25316 : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25317 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25318 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
25319 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25320 : && can_create_pseudo_p ()))
25321 : return gen_split_87 (insn, operands);
25322 : if (!sse_reg_operand (operands[0], E_SFmode)
25323 : || !nonimmediate_operand (operands[1], E_DImode)
25324 : || !(
25325 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25326 : (!TARGET_AVX
25327 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25328 : && epilogue_completed
25329 : && optimize_function_for_speed_p (cfun)
25330 : && (!EXT_REX_SSE_REG_P (operands[0])
25331 : || TARGET_AVX512VL)) &&
25332 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25333 : (TARGET_64BIT)))
25334 : return NULL;
25335 : return gen_split_94 (insn, operands);
25336 :
25337 : case E_DFmode:
25338 : if (GET_MODE (x3) != E_DFmode)
25339 : return NULL;
25340 : if (sse_reg_operand (operands[0], E_DFmode)
25341 : && nonimmediate_operand (operands[1], E_SImode))
25342 : {
25343 : if (
25344 : #line 6168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25345 : (TARGET_SSE2
25346 : && TARGET_USE_VECTOR_CONVERTS
25347 : && optimize_function_for_speed_p (cfun)
25348 : && reload_completed
25349 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
25350 : && (!EXT_REX_SSE_REG_P (operands[0])
25351 : || TARGET_AVX512VL)))
25352 : return gen_split_86 (insn, operands);
25353 : if (
25354 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25355 : (!TARGET_AVX
25356 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25357 : && epilogue_completed
25358 : && optimize_function_for_speed_p (cfun)
25359 : && (!EXT_REX_SSE_REG_P (operands[0])
25360 : || TARGET_AVX512VL)))
25361 : return gen_split_95 (insn, operands);
25362 : }
25363 : if (register_operand (operands[0], E_DFmode)
25364 : && register_operand (operands[1], E_DImode)
25365 : &&
25366 : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25367 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25368 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
25369 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25370 : && can_create_pseudo_p ()))
25371 : return gen_split_88 (insn, operands);
25372 : if (!sse_reg_operand (operands[0], E_DFmode)
25373 : || !nonimmediate_operand (operands[1], E_DImode)
25374 : || !(
25375 : #line 6253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25376 : (!TARGET_AVX
25377 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
25378 : && epilogue_completed
25379 : && optimize_function_for_speed_p (cfun)
25380 : && (!EXT_REX_SSE_REG_P (operands[0])
25381 : || TARGET_AVX512VL)) &&
25382 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25383 : (TARGET_64BIT)))
25384 : return NULL;
25385 : return gen_split_96 (insn, operands);
25386 :
25387 : case E_XFmode:
25388 : if (!register_operand (operands[0], E_XFmode)
25389 : || GET_MODE (x3) != E_XFmode
25390 : || !register_operand (operands[1], E_DImode)
25391 : || !
25392 : #line 6197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25393 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
25394 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
25395 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
25396 : && can_create_pseudo_p ()))
25397 : return NULL;
25398 : return gen_split_89 (insn, operands);
25399 :
25400 : default:
25401 : return NULL;
25402 : }
25403 : }
25404 :
25405 : rtx_insn *
25406 : split_20 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25407 : {
25408 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25409 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25410 : rtx_insn *res ATTRIBUTE_UNUSED;
25411 : x2 = XVECEXP (x1, 0, 0);
25412 : x3 = XEXP (x2, 1);
25413 : x4 = XEXP (x3, 1);
25414 : switch (GET_CODE (x4))
25415 : {
25416 : case CONST_INT:
25417 : case CONST_WIDE_INT:
25418 : case CONST_POLY_INT:
25419 : case CONST_FIXED:
25420 : case CONST_DOUBLE:
25421 : case CONST_VECTOR:
25422 : case CONST:
25423 : case REG:
25424 : case SUBREG:
25425 : case MEM:
25426 : case LABEL_REF:
25427 : case SYMBOL_REF:
25428 : case HIGH:
25429 : operands[2] = x4;
25430 : x5 = XEXP (x2, 0);
25431 : switch (GET_CODE (x5))
25432 : {
25433 : case REG:
25434 : case SUBREG:
25435 : case MEM:
25436 : operands[0] = x5;
25437 : switch (GET_MODE (operands[0]))
25438 : {
25439 : case E_DImode:
25440 : if (pattern566 (x3,
25441 : E_DImode) == 0
25442 : && ((
25443 : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25444 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
25445 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25446 : (!TARGET_64BIT)) &&
25447 : #line 8104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25448 : ( reload_completed)))
25449 : return gen_split_174 (insn, operands);
25450 : break;
25451 :
25452 : case E_TImode:
25453 : if (pattern566 (x3,
25454 : E_TImode) == 0
25455 : && ((
25456 : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25457 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
25458 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25459 : (TARGET_64BIT)) &&
25460 : #line 8104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25461 : ( reload_completed)))
25462 : return gen_split_175 (insn, operands);
25463 : break;
25464 :
25465 : default:
25466 : break;
25467 : }
25468 : break;
25469 :
25470 : case STRICT_LOW_PART:
25471 : switch (pattern1334 (x2))
25472 : {
25473 : case 0:
25474 : if ((
25475 : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25476 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25477 : #line 8226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25478 : ( reload_completed
25479 : && !(rtx_equal_p (operands[0], operands[1])))))
25480 : return gen_split_178 (insn, operands);
25481 : break;
25482 :
25483 : case 1:
25484 : if ((
25485 : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25486 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25487 : #line 8226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25488 : ( reload_completed
25489 : && !(rtx_equal_p (operands[0], operands[1])))))
25490 : return gen_split_179 (insn, operands);
25491 : break;
25492 :
25493 : default:
25494 : break;
25495 : }
25496 : break;
25497 :
25498 : default:
25499 : break;
25500 : }
25501 : if (GET_CODE (x4) != SUBREG
25502 : || maybe_ne (SUBREG_BYTE (x4), 0)
25503 : || GET_MODE (x4) != E_QImode)
25504 : return NULL;
25505 : x6 = XEXP (x4, 0);
25506 : switch (GET_CODE (x6))
25507 : {
25508 : case ASHIFTRT:
25509 : case LSHIFTRT:
25510 : case SIGN_EXTRACT:
25511 : case ZERO_EXTRACT:
25512 : operands[3] = x6;
25513 : if (GET_CODE (x5) != STRICT_LOW_PART)
25514 : return NULL;
25515 : x7 = XEXP (x5, 0);
25516 : operands[0] = x7;
25517 : if (!register_operand (operands[0], E_QImode)
25518 : || GET_MODE (x3) != E_QImode
25519 : || !nonimmediate_operand (operands[1], E_QImode))
25520 : return NULL;
25521 : x8 = XEXP (x6, 0);
25522 : operands[2] = x8;
25523 : if (!int248_register_operand (operands[2], E_VOIDmode))
25524 : return NULL;
25525 : switch (pattern1784 ())
25526 : {
25527 : case 0:
25528 : if (!(
25529 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25530 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25531 : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25532 : ( reload_completed
25533 : && !rtx_equal_p (operands[0], operands[1]))))
25534 : return NULL;
25535 : return gen_split_180 (insn, operands);
25536 :
25537 : case 1:
25538 : if (!(
25539 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25540 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25541 : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25542 : ( reload_completed
25543 : && !rtx_equal_p (operands[0], operands[1]))))
25544 : return NULL;
25545 : return gen_split_181 (insn, operands);
25546 :
25547 : case 2:
25548 : if (!((
25549 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25550 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25551 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25552 : (TARGET_64BIT)) &&
25553 : #line 8250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25554 : ( reload_completed
25555 : && !rtx_equal_p (operands[0], operands[1]))))
25556 : return NULL;
25557 : return gen_split_182 (insn, operands);
25558 :
25559 : default:
25560 : return NULL;
25561 : }
25562 :
25563 : default:
25564 : return NULL;
25565 : }
25566 :
25567 : case ZERO_EXTEND:
25568 : switch (pattern1175 (x2))
25569 : {
25570 : case 0:
25571 : if (!((
25572 : #line 8136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25573 : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
25574 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25575 : (!TARGET_64BIT)) &&
25576 : #line 8138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25577 : ( reload_completed)))
25578 : return NULL;
25579 : return gen_split_176 (insn, operands);
25580 :
25581 : case 1:
25582 : if (!((
25583 : #line 8136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25584 : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
25585 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25586 : (TARGET_64BIT)) &&
25587 : #line 8138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25588 : ( reload_completed)))
25589 : return NULL;
25590 : return gen_split_177 (insn, operands);
25591 :
25592 : default:
25593 : return NULL;
25594 : }
25595 :
25596 : case EQ:
25597 : x9 = XEXP (x4, 1);
25598 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25599 : return NULL;
25600 : switch (pattern701 (x2))
25601 : {
25602 : case 0:
25603 : if (!(
25604 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25605 : (ix86_unary_operator_ok (MINUS, QImode, operands)
25606 : && ix86_pre_reload_split ()) &&
25607 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25608 : ( 1)))
25609 : return NULL;
25610 : return gen_split_236 (insn, operands);
25611 :
25612 : case 1:
25613 : if (!(
25614 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25615 : (ix86_unary_operator_ok (MINUS, HImode, operands)
25616 : && ix86_pre_reload_split ()) &&
25617 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25618 : ( 1)))
25619 : return NULL;
25620 : return gen_split_237 (insn, operands);
25621 :
25622 : case 2:
25623 : if (!(
25624 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25625 : (ix86_unary_operator_ok (MINUS, SImode, operands)
25626 : && ix86_pre_reload_split ()) &&
25627 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25628 : ( 1)))
25629 : return NULL;
25630 : return gen_split_238 (insn, operands);
25631 :
25632 : case 3:
25633 : if (!((
25634 : #line 10650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25635 : (ix86_unary_operator_ok (MINUS, DImode, operands)
25636 : && ix86_pre_reload_split ()) &&
25637 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25638 : (TARGET_64BIT)) &&
25639 : #line 10653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25640 : ( 1)))
25641 : return NULL;
25642 : return gen_split_239 (insn, operands);
25643 :
25644 : default:
25645 : return NULL;
25646 : }
25647 :
25648 : case NE:
25649 : x9 = XEXP (x4, 1);
25650 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
25651 : return NULL;
25652 : switch (pattern701 (x2))
25653 : {
25654 : case 0:
25655 : if (!(
25656 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25657 : (ix86_unary_operator_ok (MINUS, QImode, operands)
25658 : && ix86_pre_reload_split ()) &&
25659 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25660 : ( 1)))
25661 : return NULL;
25662 : return gen_split_240 (insn, operands);
25663 :
25664 : case 1:
25665 : if (!(
25666 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25667 : (ix86_unary_operator_ok (MINUS, HImode, operands)
25668 : && ix86_pre_reload_split ()) &&
25669 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25670 : ( 1)))
25671 : return NULL;
25672 : return gen_split_241 (insn, operands);
25673 :
25674 : case 2:
25675 : if (!(
25676 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25677 : (ix86_unary_operator_ok (MINUS, SImode, operands)
25678 : && ix86_pre_reload_split ()) &&
25679 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25680 : ( 1)))
25681 : return NULL;
25682 : return gen_split_242 (insn, operands);
25683 :
25684 : case 3:
25685 : if (!((
25686 : #line 10671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25687 : (ix86_unary_operator_ok (MINUS, DImode, operands)
25688 : && ix86_pre_reload_split ()) &&
25689 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25690 : (TARGET_64BIT)) &&
25691 : #line 10674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25692 : ( 1)))
25693 : return NULL;
25694 : return gen_split_243 (insn, operands);
25695 :
25696 : default:
25697 : return NULL;
25698 : }
25699 :
25700 : default:
25701 : return NULL;
25702 : }
25703 : }
25704 :
25705 : rtx_insn *
25706 : split_29 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25707 : {
25708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25709 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
25710 : rtx_insn *res ATTRIBUTE_UNUSED;
25711 : x2 = XVECEXP (x1, 0, 1);
25712 : if (pattern236 (x2,
25713 : E_CCmode,
25714 : 17) != 0)
25715 : return NULL;
25716 : x3 = XVECEXP (x1, 0, 0);
25717 : x4 = XEXP (x3, 1);
25718 : x5 = XEXP (x4, 0);
25719 : switch (GET_CODE (x5))
25720 : {
25721 : case REG:
25722 : case SUBREG:
25723 : case MEM:
25724 : operands[1] = x5;
25725 : res = split_19 (x1, insn);
25726 : if (res != NULL_RTX)
25727 : return res;
25728 : if (GET_CODE (x5) != SUBREG
25729 : || pattern1187 (x4) != 0)
25730 : return NULL;
25731 : x6 = XEXP (x5, 0);
25732 : x7 = XEXP (x6, 0);
25733 : operands[2] = x7;
25734 : switch (pattern1644 (x3))
25735 : {
25736 : case 0:
25737 : if ((
25738 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25739 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25740 : #line 7048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25741 : ( reload_completed
25742 : && !rtx_equal_p (operands[0], operands[1]))))
25743 : return gen_split_122 (insn, operands);
25744 : break;
25745 :
25746 : case 1:
25747 : if ((
25748 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25749 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25750 : #line 7048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25751 : ( reload_completed
25752 : && !rtx_equal_p (operands[0], operands[1]))))
25753 : return gen_split_123 (insn, operands);
25754 : break;
25755 :
25756 : case 2:
25757 : if (((
25758 : #line 7044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25759 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25760 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25761 : (TARGET_64BIT)) &&
25762 : #line 7048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25763 : ( reload_completed
25764 : && !rtx_equal_p (operands[0], operands[1]))))
25765 : return gen_split_124 (insn, operands);
25766 : break;
25767 :
25768 : default:
25769 : break;
25770 : }
25771 : operands[1] = x7;
25772 : switch (pattern1645 (x3))
25773 : {
25774 : case 0:
25775 : if (!(
25776 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25777 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25778 : #line 7075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25779 : ( reload_completed)))
25780 : return NULL;
25781 : return gen_split_125 (insn, operands);
25782 :
25783 : case 1:
25784 : if (!(
25785 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25786 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25787 : #line 7075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25788 : ( reload_completed)))
25789 : return NULL;
25790 : return gen_split_126 (insn, operands);
25791 :
25792 : case 2:
25793 : if (!((
25794 : #line 7073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25795 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25796 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25797 : (TARGET_64BIT)) &&
25798 : #line 7075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25799 : ( reload_completed)))
25800 : return NULL;
25801 : return gen_split_127 (insn, operands);
25802 :
25803 : case 3:
25804 : if (!
25805 : #line 7522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25806 : ( reload_completed))
25807 : return NULL;
25808 : return gen_split_140 (insn, operands);
25809 :
25810 : case 4:
25811 : if (!
25812 : #line 7522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25813 : ( reload_completed))
25814 : return NULL;
25815 : return gen_split_141 (insn, operands);
25816 :
25817 : case 5:
25818 : if (!(
25819 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25820 : (TARGET_64BIT) &&
25821 : #line 7522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25822 : ( reload_completed)))
25823 : return NULL;
25824 : return gen_split_142 (insn, operands);
25825 :
25826 : default:
25827 : return NULL;
25828 : }
25829 :
25830 : case ZERO_EXTEND:
25831 : switch (pattern942 (x3))
25832 : {
25833 : case 0:
25834 : if (!((
25835 : #line 6562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25836 : (ix86_binary_operator_ok (UNKNOWN, DImode, operands, TARGET_APX_NDD)) &&
25837 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25838 : (!TARGET_64BIT)) &&
25839 : #line 6564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25840 : ( reload_completed)))
25841 : return NULL;
25842 : return gen_split_106 (insn, operands);
25843 :
25844 : case 1:
25845 : if (!((
25846 : #line 6562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25847 : (ix86_binary_operator_ok (UNKNOWN, TImode, operands, TARGET_APX_NDD)) &&
25848 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25849 : (TARGET_64BIT)) &&
25850 : #line 6564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25851 : ( reload_completed)))
25852 : return NULL;
25853 : return gen_split_107 (insn, operands);
25854 :
25855 : default:
25856 : return NULL;
25857 : }
25858 :
25859 : case PLUS:
25860 : x8 = XEXP (x3, 0);
25861 : operands[0] = x8;
25862 : x6 = XEXP (x5, 0);
25863 : switch (GET_CODE (x6))
25864 : {
25865 : case ASHIFT:
25866 : switch (pattern1167 (x4))
25867 : {
25868 : case 0:
25869 : if (!((
25870 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25871 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25872 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25873 : (!TARGET_64BIT)) &&
25874 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25875 : ( reload_completed)))
25876 : return NULL;
25877 : return gen_split_108 (insn, operands);
25878 :
25879 : case 1:
25880 : if (!((
25881 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25882 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25883 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25884 : (TARGET_64BIT)) &&
25885 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25886 : ( reload_completed)))
25887 : return NULL;
25888 : return gen_split_111 (insn, operands);
25889 :
25890 : case 2:
25891 : if (!((
25892 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25893 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
25894 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25895 : (!TARGET_64BIT)) &&
25896 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25897 : ( reload_completed)))
25898 : return NULL;
25899 : return gen_split_114 (insn, operands);
25900 :
25901 : case 3:
25902 : if (!((
25903 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25904 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
25905 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25906 : (TARGET_64BIT)) &&
25907 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25908 : ( reload_completed)))
25909 : return NULL;
25910 : return gen_split_117 (insn, operands);
25911 :
25912 : default:
25913 : return NULL;
25914 : }
25915 :
25916 : case EQ:
25917 : switch (pattern1170 (x4))
25918 : {
25919 : case 0:
25920 : if (!(
25921 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25922 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
25923 : && ix86_pre_reload_split ()) &&
25924 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25925 : ( 1)))
25926 : return NULL;
25927 : return gen_split_208 (insn, operands);
25928 :
25929 : case 1:
25930 : if (!(
25931 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25932 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
25933 : && ix86_pre_reload_split ()) &&
25934 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25935 : ( 1)))
25936 : return NULL;
25937 : return gen_split_209 (insn, operands);
25938 :
25939 : case 2:
25940 : if (!(
25941 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25942 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
25943 : && ix86_pre_reload_split ()) &&
25944 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25945 : ( 1)))
25946 : return NULL;
25947 : return gen_split_210 (insn, operands);
25948 :
25949 : case 3:
25950 : if (!((
25951 : #line 10479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25952 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
25953 : && ix86_pre_reload_split ()) &&
25954 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25955 : (TARGET_64BIT)) &&
25956 : #line 10482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25957 : ( 1)))
25958 : return NULL;
25959 : return gen_split_211 (insn, operands);
25960 :
25961 : default:
25962 : return NULL;
25963 : }
25964 :
25965 : case NE:
25966 : switch (pattern1173 (x4))
25967 : {
25968 : case 0:
25969 : if (!(
25970 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25971 : (CONST_INT_P (operands[2])
25972 : && (QImode != DImode
25973 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25974 : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)
25975 : && ix86_pre_reload_split ()) &&
25976 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25977 : ( 1)))
25978 : return NULL;
25979 : return gen_split_212 (insn, operands);
25980 :
25981 : case 1:
25982 : if (!(
25983 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25984 : (CONST_INT_P (operands[2])
25985 : && (HImode != DImode
25986 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
25987 : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)
25988 : && ix86_pre_reload_split ()) &&
25989 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25990 : ( 1)))
25991 : return NULL;
25992 : return gen_split_213 (insn, operands);
25993 :
25994 : case 2:
25995 : if (!(
25996 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25997 : (CONST_INT_P (operands[2])
25998 : && (SImode != DImode
25999 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26000 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
26001 : && ix86_pre_reload_split ()) &&
26002 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26003 : ( 1)))
26004 : return NULL;
26005 : return gen_split_214 (insn, operands);
26006 :
26007 : case 3:
26008 : if (!((
26009 : #line 10500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26010 : (CONST_INT_P (operands[2])
26011 : && (DImode != DImode
26012 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26013 : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
26014 : && ix86_pre_reload_split ()) &&
26015 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26016 : (TARGET_64BIT)) &&
26017 : #line 10506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26018 : ( 1)))
26019 : return NULL;
26020 : return gen_split_215 (insn, operands);
26021 :
26022 : default:
26023 : return NULL;
26024 : }
26025 :
26026 : default:
26027 : return NULL;
26028 : }
26029 :
26030 : case IOR:
26031 : switch (pattern1066 (x3))
26032 : {
26033 : case 0:
26034 : if (!((
26035 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26036 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
26037 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26038 : (!TARGET_64BIT)) &&
26039 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26040 : ( reload_completed)))
26041 : return NULL;
26042 : return gen_split_109 (insn, operands);
26043 :
26044 : case 1:
26045 : if (!((
26046 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26047 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
26048 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26049 : (TARGET_64BIT)) &&
26050 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26051 : ( reload_completed)))
26052 : return NULL;
26053 : return gen_split_112 (insn, operands);
26054 :
26055 : case 2:
26056 : if (!((
26057 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26058 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
26059 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26060 : (!TARGET_64BIT)) &&
26061 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26062 : ( reload_completed)))
26063 : return NULL;
26064 : return gen_split_115 (insn, operands);
26065 :
26066 : case 3:
26067 : if (!((
26068 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26069 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
26070 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26071 : (TARGET_64BIT)) &&
26072 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26073 : ( reload_completed)))
26074 : return NULL;
26075 : return gen_split_118 (insn, operands);
26076 :
26077 : default:
26078 : return NULL;
26079 : }
26080 :
26081 : case XOR:
26082 : switch (pattern1066 (x3))
26083 : {
26084 : case 0:
26085 : if (!((
26086 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26087 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
26088 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26089 : (!TARGET_64BIT)) &&
26090 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26091 : ( reload_completed)))
26092 : return NULL;
26093 : return gen_split_110 (insn, operands);
26094 :
26095 : case 1:
26096 : if (!((
26097 : #line 6593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26098 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
26099 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26100 : (TARGET_64BIT)) &&
26101 : #line 6595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26102 : ( reload_completed)))
26103 : return NULL;
26104 : return gen_split_113 (insn, operands);
26105 :
26106 : case 2:
26107 : if (!((
26108 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26109 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
26110 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26111 : (!TARGET_64BIT)) &&
26112 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26113 : ( reload_completed)))
26114 : return NULL;
26115 : return gen_split_116 (insn, operands);
26116 :
26117 : case 3:
26118 : if (!((
26119 : #line 6624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26120 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
26121 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26122 : (TARGET_64BIT)) &&
26123 : #line 6626 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26124 : ( reload_completed)))
26125 : return NULL;
26126 : return gen_split_119 (insn, operands);
26127 :
26128 : default:
26129 : return NULL;
26130 : }
26131 :
26132 : case EQ:
26133 : x9 = XEXP (x5, 1);
26134 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26135 : return NULL;
26136 : switch (pattern363 (x3))
26137 : {
26138 : case 0:
26139 : if (!(
26140 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26141 : (ix86_unary_operator_ok (PLUS, QImode, operands)
26142 : && ix86_pre_reload_split ()) &&
26143 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26144 : ( 1)))
26145 : return NULL;
26146 : return gen_split_216 (insn, operands);
26147 :
26148 : case 1:
26149 : if (!(
26150 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26151 : (ix86_unary_operator_ok (PLUS, HImode, operands)
26152 : && ix86_pre_reload_split ()) &&
26153 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26154 : ( 1)))
26155 : return NULL;
26156 : return gen_split_217 (insn, operands);
26157 :
26158 : case 2:
26159 : if (!(
26160 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26161 : (ix86_unary_operator_ok (PLUS, SImode, operands)
26162 : && ix86_pre_reload_split ()) &&
26163 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26164 : ( 1)))
26165 : return NULL;
26166 : return gen_split_218 (insn, operands);
26167 :
26168 : case 3:
26169 : if (!((
26170 : #line 10526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26171 : (ix86_unary_operator_ok (PLUS, DImode, operands)
26172 : && ix86_pre_reload_split ()) &&
26173 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26174 : (TARGET_64BIT)) &&
26175 : #line 10529 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26176 : ( 1)))
26177 : return NULL;
26178 : return gen_split_219 (insn, operands);
26179 :
26180 : default:
26181 : return NULL;
26182 : }
26183 :
26184 : case NE:
26185 : x9 = XEXP (x5, 1);
26186 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
26187 : return NULL;
26188 : switch (pattern363 (x3))
26189 : {
26190 : case 0:
26191 : if (!(
26192 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26193 : (ix86_unary_operator_ok (PLUS, QImode, operands)
26194 : && ix86_pre_reload_split ()) &&
26195 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26196 : ( 1)))
26197 : return NULL;
26198 : return gen_split_220 (insn, operands);
26199 :
26200 : case 1:
26201 : if (!(
26202 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26203 : (ix86_unary_operator_ok (PLUS, HImode, operands)
26204 : && ix86_pre_reload_split ()) &&
26205 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26206 : ( 1)))
26207 : return NULL;
26208 : return gen_split_221 (insn, operands);
26209 :
26210 : case 2:
26211 : if (!(
26212 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26213 : (ix86_unary_operator_ok (PLUS, SImode, operands)
26214 : && ix86_pre_reload_split ()) &&
26215 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26216 : ( 1)))
26217 : return NULL;
26218 : return gen_split_222 (insn, operands);
26219 :
26220 : case 3:
26221 : if (!((
26222 : #line 10547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26223 : (ix86_unary_operator_ok (PLUS, DImode, operands)
26224 : && ix86_pre_reload_split ()) &&
26225 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26226 : (TARGET_64BIT)) &&
26227 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26228 : ( 1)))
26229 : return NULL;
26230 : return gen_split_223 (insn, operands);
26231 :
26232 : default:
26233 : return NULL;
26234 : }
26235 :
26236 : case MINUS:
26237 : switch (pattern946 (x3))
26238 : {
26239 : case 0:
26240 : if (!(
26241 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26242 : (CONST_INT_P (operands[2])
26243 : && (QImode != DImode
26244 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26245 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
26246 : && ix86_pre_reload_split ()) &&
26247 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26248 : ( 1)))
26249 : return NULL;
26250 : return gen_split_228 (insn, operands);
26251 :
26252 : case 1:
26253 : if (!(
26254 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26255 : (CONST_INT_P (operands[2])
26256 : && (HImode != DImode
26257 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26258 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
26259 : && ix86_pre_reload_split ()) &&
26260 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26261 : ( 1)))
26262 : return NULL;
26263 : return gen_split_229 (insn, operands);
26264 :
26265 : case 2:
26266 : if (!(
26267 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26268 : (CONST_INT_P (operands[2])
26269 : && (SImode != DImode
26270 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26271 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
26272 : && ix86_pre_reload_split ()) &&
26273 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26274 : ( 1)))
26275 : return NULL;
26276 : return gen_split_230 (insn, operands);
26277 :
26278 : case 3:
26279 : if (!((
26280 : #line 10595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26281 : (CONST_INT_P (operands[2])
26282 : && (DImode != DImode
26283 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26284 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
26285 : && ix86_pre_reload_split ()) &&
26286 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26287 : (TARGET_64BIT)) &&
26288 : #line 10601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26289 : ( 1)))
26290 : return NULL;
26291 : return gen_split_231 (insn, operands);
26292 :
26293 : case 4:
26294 : if (!(
26295 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26296 : (CONST_INT_P (operands[2])
26297 : && (QImode != DImode
26298 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26299 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
26300 : && ix86_pre_reload_split ()) &&
26301 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26302 : ( 1)))
26303 : return NULL;
26304 : return gen_split_232 (insn, operands);
26305 :
26306 : case 5:
26307 : if (!(
26308 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26309 : (CONST_INT_P (operands[2])
26310 : && (HImode != DImode
26311 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26312 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
26313 : && ix86_pre_reload_split ()) &&
26314 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26315 : ( 1)))
26316 : return NULL;
26317 : return gen_split_233 (insn, operands);
26318 :
26319 : case 6:
26320 : if (!(
26321 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26322 : (CONST_INT_P (operands[2])
26323 : && (SImode != DImode
26324 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26325 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
26326 : && ix86_pre_reload_split ()) &&
26327 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26328 : ( 1)))
26329 : return NULL;
26330 : return gen_split_234 (insn, operands);
26331 :
26332 : case 7:
26333 : if (!((
26334 : #line 10624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26335 : (CONST_INT_P (operands[2])
26336 : && (DImode != DImode
26337 : || INTVAL (operands[2]) != HOST_WIDE_INT_C (-0x80000000))
26338 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
26339 : && ix86_pre_reload_split ()) &&
26340 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26341 : (TARGET_64BIT)) &&
26342 : #line 10630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26343 : ( 1)))
26344 : return NULL;
26345 : return gen_split_235 (insn, operands);
26346 :
26347 : default:
26348 : return NULL;
26349 : }
26350 :
26351 : case UNSPEC:
26352 : switch (pattern950 (x3))
26353 : {
26354 : case 0:
26355 : if (!
26356 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26357 : (ptr_mode == SImode))
26358 : return NULL;
26359 : return gen_split_930 (insn, operands);
26360 :
26361 : case 1:
26362 : if (!
26363 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26364 : (ptr_mode == DImode))
26365 : return NULL;
26366 : return gen_split_931 (insn, operands);
26367 :
26368 : case 2:
26369 : if (!(
26370 : #line 23686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26371 : (!TARGET_64BIT && TARGET_GNU2_TLS) &&
26372 : #line 23688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26373 : ( 1)))
26374 : return NULL;
26375 : return gen_split_933 (insn, operands);
26376 :
26377 : case 3:
26378 : if (!((
26379 : #line 23749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26380 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
26381 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26382 : (ptr_mode == SImode)) &&
26383 : #line 23751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26384 : ( 1)))
26385 : return NULL;
26386 : return gen_split_934 (insn, operands);
26387 :
26388 : case 4:
26389 : if (!((
26390 : #line 23749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26391 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
26392 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26393 : (ptr_mode == DImode)) &&
26394 : #line 23751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26395 : ( 1)))
26396 : return NULL;
26397 : return gen_split_935 (insn, operands);
26398 :
26399 : default:
26400 : return NULL;
26401 : }
26402 :
26403 : default:
26404 : return NULL;
26405 : }
26406 : }
26407 :
26408 : rtx_insn *
26409 : split_44 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26410 : {
26411 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26412 : rtx x2, x3, x4, x5, x6, x7, x8;
26413 : rtx_insn *res ATTRIBUTE_UNUSED;
26414 : x2 = XEXP (x1, 1);
26415 : switch (XVECLEN (x2, 0))
26416 : {
26417 : case 3:
26418 : x3 = XEXP (x1, 0);
26419 : operands[0] = x3;
26420 : switch (XINT (x2, 1))
26421 : {
26422 : case 52:
26423 : x4 = XVECEXP (x2, 0, 0);
26424 : operands[1] = x4;
26425 : x5 = XVECEXP (x2, 0, 1);
26426 : operands[2] = x5;
26427 : x6 = XVECEXP (x2, 0, 2);
26428 : switch (GET_CODE (x6))
26429 : {
26430 : case LT:
26431 : switch (pattern741 (x2))
26432 : {
26433 : case 0:
26434 : if ((
26435 : #line 27245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26436 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
26437 : && (rtx_equal_p (operands[1], operands[3])
26438 : && rtx_equal_p (operands[2], operands[4]))
26439 : && ix86_pre_reload_split ()) &&
26440 : #line 27250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26441 : ( 1)))
26442 : return gen_split_965 (insn, operands);
26443 : if (!(
26444 : #line 27266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26445 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
26446 : && (rtx_equal_p (operands[1], operands[4])
26447 : && rtx_equal_p (operands[2], operands[3]))
26448 : && ix86_pre_reload_split ()) &&
26449 : #line 27271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26450 : ( 1)))
26451 : return NULL;
26452 : return gen_split_967 (insn, operands);
26453 :
26454 : case 1:
26455 : if ((
26456 : #line 27245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26457 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
26458 : && (rtx_equal_p (operands[1], operands[3])
26459 : && rtx_equal_p (operands[2], operands[4]))
26460 : && ix86_pre_reload_split ()) &&
26461 : #line 27250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26462 : ( 1)))
26463 : return gen_split_966 (insn, operands);
26464 : if (!(
26465 : #line 27266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26466 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
26467 : && (rtx_equal_p (operands[1], operands[4])
26468 : && rtx_equal_p (operands[2], operands[3]))
26469 : && ix86_pre_reload_split ()) &&
26470 : #line 27271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26471 : ( 1)))
26472 : return NULL;
26473 : return gen_split_968 (insn, operands);
26474 :
26475 : default:
26476 : return NULL;
26477 : }
26478 :
26479 : case EQ:
26480 : switch (pattern743 (x2))
26481 : {
26482 : case 0:
26483 : if (!(
26484 : #line 4366 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26485 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
26486 : #line 4368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26487 : ( 1)))
26488 : return NULL;
26489 : return gen_split_1106 (insn, operands);
26490 :
26491 : case 1:
26492 : if (!(
26493 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26494 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26495 : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26496 : ( 1)))
26497 : return NULL;
26498 : return gen_split_1109 (insn, operands);
26499 :
26500 : case 2:
26501 : if (!(
26502 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26503 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26504 : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26505 : ( 1)))
26506 : return NULL;
26507 : return gen_split_1110 (insn, operands);
26508 :
26509 : case 3:
26510 : if (!(
26511 : #line 4442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26512 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26513 : #line 4444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26514 : ( 1)))
26515 : return NULL;
26516 : return gen_split_1111 (insn, operands);
26517 :
26518 : default:
26519 : return NULL;
26520 : }
26521 :
26522 : case SUBREG:
26523 : switch (pattern857 (x2))
26524 : {
26525 : case 0:
26526 : if (!(
26527 : #line 4394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26528 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
26529 : #line 4396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26530 : ( 1)))
26531 : return NULL;
26532 : return gen_split_1107 (insn, operands);
26533 :
26534 : case 1:
26535 : if (!(
26536 : #line 4394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26537 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()) &&
26538 : #line 4396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26539 : ( 1)))
26540 : return NULL;
26541 : return gen_split_1108 (insn, operands);
26542 :
26543 : case 2:
26544 : if (!(
26545 : #line 4470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26546 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
26547 : #line 4472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26548 : ( 1)))
26549 : return NULL;
26550 : return gen_split_1112 (insn, operands);
26551 :
26552 : default:
26553 : return NULL;
26554 : }
26555 :
26556 : default:
26557 : return NULL;
26558 : }
26559 :
26560 : case 60:
26561 : switch (pattern600 (x2))
26562 : {
26563 : case 0:
26564 : if (!((
26565 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26566 : (TARGET_AVX512F && ix86_pre_reload_split ()
26567 : && rtx_equal_p (operands[1], operands[2])
26568 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26569 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26570 : (TARGET_AVX512BW)) &&
26571 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26572 : ( 1)))
26573 : return NULL;
26574 : return gen_split_1492 (insn, operands);
26575 :
26576 : case 1:
26577 : if (!((
26578 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26579 : (TARGET_AVX512F && ix86_pre_reload_split ()
26580 : && rtx_equal_p (operands[1], operands[2])
26581 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26582 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26583 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26584 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26585 : ( 1)))
26586 : return NULL;
26587 : return gen_split_1494 (insn, operands);
26588 :
26589 : case 2:
26590 : if (!((
26591 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26592 : (TARGET_AVX512F && ix86_pre_reload_split ()
26593 : && rtx_equal_p (operands[1], operands[2])
26594 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26595 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26596 : (TARGET_AVX512BW)) &&
26597 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26598 : ( 1)))
26599 : return NULL;
26600 : return gen_split_1498 (insn, operands);
26601 :
26602 : case 3:
26603 : if (!((
26604 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26605 : (TARGET_AVX512F && ix86_pre_reload_split ()
26606 : && rtx_equal_p (operands[1], operands[2])
26607 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26608 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26609 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26610 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26611 : ( 1)))
26612 : return NULL;
26613 : return gen_split_1496 (insn, operands);
26614 :
26615 : case 4:
26616 : if (!((
26617 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26618 : (TARGET_AVX512F && ix86_pre_reload_split ()
26619 : && rtx_equal_p (operands[1], operands[2])
26620 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26621 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26622 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26623 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26624 : ( 1)))
26625 : return NULL;
26626 : return gen_split_1500 (insn, operands);
26627 :
26628 : case 5:
26629 : if (!(
26630 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26631 : (TARGET_AVX512F && ix86_pre_reload_split ()
26632 : && rtx_equal_p (operands[1], operands[2])
26633 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26634 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26635 : ( 1)))
26636 : return NULL;
26637 : return gen_split_1504 (insn, operands);
26638 :
26639 : case 6:
26640 : if (!((
26641 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26642 : (TARGET_AVX512F && ix86_pre_reload_split ()
26643 : && rtx_equal_p (operands[1], operands[2])
26644 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26645 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26646 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26647 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26648 : ( 1)))
26649 : return NULL;
26650 : return gen_split_1502 (insn, operands);
26651 :
26652 : case 7:
26653 : if (!((
26654 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26655 : (TARGET_AVX512F && ix86_pre_reload_split ()
26656 : && rtx_equal_p (operands[1], operands[2])
26657 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26658 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26659 : (TARGET_AVX512VL)) &&
26660 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26661 : ( 1)))
26662 : return NULL;
26663 : return gen_split_1506 (insn, operands);
26664 :
26665 : case 8:
26666 : if (!((
26667 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26668 : (TARGET_AVX512F && ix86_pre_reload_split ()
26669 : && rtx_equal_p (operands[1], operands[2])
26670 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26671 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26672 : (TARGET_AVX512VL)) &&
26673 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26674 : ( 1)))
26675 : return NULL;
26676 : return gen_split_1508 (insn, operands);
26677 :
26678 : case 9:
26679 : if (!(
26680 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26681 : (TARGET_AVX512F && ix86_pre_reload_split ()
26682 : && rtx_equal_p (operands[1], operands[2])
26683 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26684 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26685 : ( 1)))
26686 : return NULL;
26687 : return gen_split_1510 (insn, operands);
26688 :
26689 : case 10:
26690 : if (!((
26691 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26692 : (TARGET_AVX512F && ix86_pre_reload_split ()
26693 : && rtx_equal_p (operands[1], operands[2])
26694 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26695 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26696 : (TARGET_AVX512VL)) &&
26697 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26698 : ( 1)))
26699 : return NULL;
26700 : return gen_split_1512 (insn, operands);
26701 :
26702 : case 11:
26703 : if (!((
26704 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26705 : (TARGET_AVX512F && ix86_pre_reload_split ()
26706 : && rtx_equal_p (operands[1], operands[2])
26707 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26708 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26709 : (TARGET_AVX512VL)) &&
26710 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26711 : ( 1)))
26712 : return NULL;
26713 : return gen_split_1514 (insn, operands);
26714 :
26715 : case 12:
26716 : if (!(
26717 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26718 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26719 : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
26720 : && (INTVAL (operands[4]) & 3) == 0) &&
26721 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26722 : ( 1)))
26723 : return NULL;
26724 : return gen_split_1558 (insn, operands);
26725 :
26726 : case 13:
26727 : if (!((
26728 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26729 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26730 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
26731 : && (INTVAL (operands[4]) & 3) == 0) &&
26732 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26733 : (TARGET_AVX512VL)) &&
26734 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26735 : ( 1)))
26736 : return NULL;
26737 : return gen_split_1560 (insn, operands);
26738 :
26739 : case 14:
26740 : if (!((
26741 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26742 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26743 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
26744 : && (INTVAL (operands[4]) & 3) == 0) &&
26745 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26746 : (TARGET_AVX512VL)) &&
26747 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26748 : ( 1)))
26749 : return NULL;
26750 : return gen_split_1566 (insn, operands);
26751 :
26752 : case 15:
26753 : if (!((
26754 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26755 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26756 : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
26757 : && (INTVAL (operands[4]) & 3) == 0) &&
26758 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26759 : (TARGET_AVX512VL)) &&
26760 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26761 : ( 1)))
26762 : return NULL;
26763 : return gen_split_1562 (insn, operands);
26764 :
26765 : case 16:
26766 : if (!(
26767 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26768 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26769 : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
26770 : && (INTVAL (operands[4]) & 3) == 0) &&
26771 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26772 : ( 1)))
26773 : return NULL;
26774 : return gen_split_1564 (insn, operands);
26775 :
26776 : case 17:
26777 : if (!((
26778 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26779 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26780 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
26781 : && (INTVAL (operands[4]) & 3) == 0) &&
26782 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26783 : (TARGET_AVX512VL)) &&
26784 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26785 : ( 1)))
26786 : return NULL;
26787 : return gen_split_1568 (insn, operands);
26788 :
26789 : default:
26790 : return NULL;
26791 : }
26792 :
26793 : case 158:
26794 : switch (pattern600 (x2))
26795 : {
26796 : case 0:
26797 : if (!((
26798 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26799 : (TARGET_AVX512F && ix86_pre_reload_split ()
26800 : && rtx_equal_p (operands[1], operands[2])
26801 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26802 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26803 : (TARGET_AVX512BW)) &&
26804 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26805 : ( 1)))
26806 : return NULL;
26807 : return gen_split_1493 (insn, operands);
26808 :
26809 : case 1:
26810 : if (!((
26811 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26812 : (TARGET_AVX512F && ix86_pre_reload_split ()
26813 : && rtx_equal_p (operands[1], operands[2])
26814 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26815 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26816 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26817 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26818 : ( 1)))
26819 : return NULL;
26820 : return gen_split_1495 (insn, operands);
26821 :
26822 : case 2:
26823 : if (!((
26824 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26825 : (TARGET_AVX512F && ix86_pre_reload_split ()
26826 : && rtx_equal_p (operands[1], operands[2])
26827 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26828 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26829 : (TARGET_AVX512BW)) &&
26830 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26831 : ( 1)))
26832 : return NULL;
26833 : return gen_split_1499 (insn, operands);
26834 :
26835 : case 3:
26836 : if (!((
26837 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26838 : (TARGET_AVX512F && ix86_pre_reload_split ()
26839 : && rtx_equal_p (operands[1], operands[2])
26840 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26841 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26842 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26843 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26844 : ( 1)))
26845 : return NULL;
26846 : return gen_split_1497 (insn, operands);
26847 :
26848 : case 4:
26849 : if (!((
26850 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26851 : (TARGET_AVX512F && ix86_pre_reload_split ()
26852 : && rtx_equal_p (operands[1], operands[2])
26853 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26854 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26855 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26856 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26857 : ( 1)))
26858 : return NULL;
26859 : return gen_split_1501 (insn, operands);
26860 :
26861 : case 5:
26862 : if (!(
26863 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26864 : (TARGET_AVX512F && ix86_pre_reload_split ()
26865 : && rtx_equal_p (operands[1], operands[2])
26866 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26867 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26868 : ( 1)))
26869 : return NULL;
26870 : return gen_split_1505 (insn, operands);
26871 :
26872 : case 6:
26873 : if (!((
26874 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26875 : (TARGET_AVX512F && ix86_pre_reload_split ()
26876 : && rtx_equal_p (operands[1], operands[2])
26877 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26878 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26879 : (TARGET_AVX512VL && TARGET_AVX512BW)) &&
26880 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26881 : ( 1)))
26882 : return NULL;
26883 : return gen_split_1503 (insn, operands);
26884 :
26885 : case 7:
26886 : if (!((
26887 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26888 : (TARGET_AVX512F && ix86_pre_reload_split ()
26889 : && rtx_equal_p (operands[1], operands[2])
26890 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26891 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26892 : (TARGET_AVX512VL)) &&
26893 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26894 : ( 1)))
26895 : return NULL;
26896 : return gen_split_1507 (insn, operands);
26897 :
26898 : case 8:
26899 : if (!((
26900 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26901 : (TARGET_AVX512F && ix86_pre_reload_split ()
26902 : && rtx_equal_p (operands[1], operands[2])
26903 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26904 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26905 : (TARGET_AVX512VL)) &&
26906 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26907 : ( 1)))
26908 : return NULL;
26909 : return gen_split_1509 (insn, operands);
26910 :
26911 : case 9:
26912 : if (!(
26913 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26914 : (TARGET_AVX512F && ix86_pre_reload_split ()
26915 : && rtx_equal_p (operands[1], operands[2])
26916 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26917 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26918 : ( 1)))
26919 : return NULL;
26920 : return gen_split_1511 (insn, operands);
26921 :
26922 : case 10:
26923 : if (!((
26924 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26925 : (TARGET_AVX512F && ix86_pre_reload_split ()
26926 : && rtx_equal_p (operands[1], operands[2])
26927 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26928 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26929 : (TARGET_AVX512VL)) &&
26930 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26931 : ( 1)))
26932 : return NULL;
26933 : return gen_split_1513 (insn, operands);
26934 :
26935 : case 11:
26936 : if (!((
26937 : #line 4907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26938 : (TARGET_AVX512F && ix86_pre_reload_split ()
26939 : && rtx_equal_p (operands[1], operands[2])
26940 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
26941 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26942 : (TARGET_AVX512VL)) &&
26943 : #line 4911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26944 : ( 1)))
26945 : return NULL;
26946 : return gen_split_1515 (insn, operands);
26947 :
26948 : case 12:
26949 : if (!(
26950 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26951 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26952 : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)
26953 : && (INTVAL (operands[4]) & 1) == 0) &&
26954 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26955 : ( 1)))
26956 : return NULL;
26957 : return gen_split_1559 (insn, operands);
26958 :
26959 : case 13:
26960 : if (!((
26961 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26962 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26963 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
26964 : && (INTVAL (operands[4]) & 1) == 0) &&
26965 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26966 : (TARGET_AVX512VL)) &&
26967 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26968 : ( 1)))
26969 : return NULL;
26970 : return gen_split_1561 (insn, operands);
26971 :
26972 : case 14:
26973 : if (!((
26974 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26975 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26976 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
26977 : && (INTVAL (operands[4]) & 1) == 0) &&
26978 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26979 : (TARGET_AVX512VL)) &&
26980 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26981 : ( 1)))
26982 : return NULL;
26983 : return gen_split_1567 (insn, operands);
26984 :
26985 : case 15:
26986 : if (!((
26987 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26988 : (TARGET_AVX512BW && ix86_pre_reload_split ()
26989 : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)
26990 : && (INTVAL (operands[4]) & 1) == 0) &&
26991 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26992 : (TARGET_AVX512VL)) &&
26993 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26994 : ( 1)))
26995 : return NULL;
26996 : return gen_split_1563 (insn, operands);
26997 :
26998 : case 16:
26999 : if (!(
27000 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27001 : (TARGET_AVX512BW && ix86_pre_reload_split ()
27002 : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)
27003 : && (INTVAL (operands[4]) & 1) == 0) &&
27004 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27005 : ( 1)))
27006 : return NULL;
27007 : return gen_split_1565 (insn, operands);
27008 :
27009 : case 17:
27010 : if (!((
27011 : #line 5143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27012 : (TARGET_AVX512BW && ix86_pre_reload_split ()
27013 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
27014 : && (INTVAL (operands[4]) & 1) == 0) &&
27015 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27016 : (TARGET_AVX512VL)) &&
27017 : #line 5147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27018 : ( 1)))
27019 : return NULL;
27020 : return gen_split_1569 (insn, operands);
27021 :
27022 : default:
27023 : return NULL;
27024 : }
27025 :
27026 : case 122:
27027 : if (pattern306 (x2) != 0
27028 : || !
27029 : #line 23639 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27030 : ((TARGET_SSSE3 && reload_completed
27031 : && SSE_REGNO_P (REGNO (operands[0])))
27032 : || operands[3] == const0_rtx
27033 : || INTVAL (operands[3]) == 64))
27034 : return NULL;
27035 : return gen_split_3563 (insn, operands);
27036 :
27037 : default:
27038 : return NULL;
27039 : }
27040 :
27041 : case 2:
27042 : switch (XINT (x2, 1))
27043 : {
27044 : case 58:
27045 : switch (pattern68 (x1))
27046 : {
27047 : case 0:
27048 : if (!(
27049 : #line 4820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
27050 : (TARGET_MMX || TARGET_MMX_WITH_SSE) &&
27051 : #line 4825 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
27052 : ( reload_completed
27053 : && SSE_REGNO_P (REGNO (operands[0])))))
27054 : return NULL;
27055 : return gen_split_1147 (insn, operands);
27056 :
27057 : case 1:
27058 : if (!(
27059 : #line 4859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
27060 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE) &&
27061 : #line 4861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
27062 : ( reload_completed)))
27063 : return NULL;
27064 : return gen_split_1149 (insn, operands);
27065 :
27066 : default:
27067 : return NULL;
27068 : }
27069 :
27070 : case 131:
27071 : x3 = XEXP (x1, 0);
27072 : if (GET_CODE (x3) != REG
27073 : || REGNO (x3) != 17)
27074 : return NULL;
27075 : x4 = XVECEXP (x2, 0, 0);
27076 : switch (GET_CODE (x4))
27077 : {
27078 : case AND:
27079 : switch (pattern611 (x1))
27080 : {
27081 : case 0:
27082 : if (!(
27083 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27084 : (TARGET_SSE4_1
27085 : && ix86_pre_reload_split ()) &&
27086 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27087 : ( 1)))
27088 : return NULL;
27089 : return gen_split_3671 (insn, operands);
27090 :
27091 : case 1:
27092 : if (!(
27093 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27094 : (TARGET_SSE4_1
27095 : && ix86_pre_reload_split ()) &&
27096 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27097 : ( 1)))
27098 : return NULL;
27099 : return gen_split_3672 (insn, operands);
27100 :
27101 : case 2:
27102 : if (!(
27103 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27104 : (TARGET_SSE4_1
27105 : && ix86_pre_reload_split ()) &&
27106 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27107 : ( 1)))
27108 : return NULL;
27109 : return gen_split_3673 (insn, operands);
27110 :
27111 : case 3:
27112 : if (!(
27113 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27114 : (TARGET_SSE4_1
27115 : && ix86_pre_reload_split ()) &&
27116 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27117 : ( 1)))
27118 : return NULL;
27119 : return gen_split_3674 (insn, operands);
27120 :
27121 : case 4:
27122 : if (!(
27123 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27124 : (TARGET_SSE4_1
27125 : && ix86_pre_reload_split ()) &&
27126 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27127 : ( 1)))
27128 : return NULL;
27129 : return gen_split_3675 (insn, operands);
27130 :
27131 : case 5:
27132 : if (!(
27133 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27134 : (TARGET_SSE4_1
27135 : && ix86_pre_reload_split ()) &&
27136 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27137 : ( 1)))
27138 : return NULL;
27139 : return gen_split_3676 (insn, operands);
27140 :
27141 : case 6:
27142 : if (!(
27143 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27144 : (TARGET_SSE4_1
27145 : && ix86_pre_reload_split ()) &&
27146 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27147 : ( 1)))
27148 : return NULL;
27149 : return gen_split_3677 (insn, operands);
27150 :
27151 : case 7:
27152 : if (!((
27153 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27154 : (TARGET_SSE4_1
27155 : && ix86_pre_reload_split ()) &&
27156 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27157 : (TARGET_AVX)) &&
27158 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27159 : ( 1)))
27160 : return NULL;
27161 : return gen_split_3678 (insn, operands);
27162 :
27163 : case 8:
27164 : if (!((
27165 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27166 : (TARGET_SSE4_1
27167 : && ix86_pre_reload_split ()) &&
27168 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27169 : (TARGET_AVX)) &&
27170 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27171 : ( 1)))
27172 : return NULL;
27173 : return gen_split_3679 (insn, operands);
27174 :
27175 : case 9:
27176 : if (!((
27177 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27178 : (TARGET_SSE4_1
27179 : && ix86_pre_reload_split ()) &&
27180 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27181 : (TARGET_AVX)) &&
27182 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27183 : ( 1)))
27184 : return NULL;
27185 : return gen_split_3680 (insn, operands);
27186 :
27187 : case 10:
27188 : if (!((
27189 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27190 : (TARGET_SSE4_1
27191 : && ix86_pre_reload_split ()) &&
27192 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27193 : (TARGET_AVX)) &&
27194 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27195 : ( 1)))
27196 : return NULL;
27197 : return gen_split_3681 (insn, operands);
27198 :
27199 : case 11:
27200 : if (!((
27201 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27202 : (TARGET_SSE4_1
27203 : && ix86_pre_reload_split ()) &&
27204 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27205 : (TARGET_AVX)) &&
27206 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27207 : ( 1)))
27208 : return NULL;
27209 : return gen_split_3682 (insn, operands);
27210 :
27211 : case 12:
27212 : if (!((
27213 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27214 : (TARGET_SSE4_1
27215 : && ix86_pre_reload_split ()) &&
27216 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : (TARGET_AVX)) &&
27218 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27219 : ( 1)))
27220 : return NULL;
27221 : return gen_split_3683 (insn, operands);
27222 :
27223 : case 13:
27224 : if (!((
27225 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27226 : (TARGET_SSE4_1
27227 : && ix86_pre_reload_split ()) &&
27228 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27229 : (TARGET_AVX)) &&
27230 : #line 25963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27231 : ( 1)))
27232 : return NULL;
27233 : return gen_split_3684 (insn, operands);
27234 :
27235 : default:
27236 : return NULL;
27237 : }
27238 :
27239 : case REG:
27240 : case SUBREG:
27241 : operands[0] = x4;
27242 : if (GET_MODE (x3) != E_CCCmode
27243 : || GET_MODE (x2) != E_CCCmode)
27244 : return NULL;
27245 : x5 = XVECEXP (x2, 0, 1);
27246 : operands[1] = x5;
27247 : switch (GET_MODE (operands[0]))
27248 : {
27249 : case E_V16QImode:
27250 : if (!register_operand (operands[0], E_V16QImode)
27251 : || !register_operand (operands[1], E_V16QImode)
27252 : || !
27253 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27254 : (TARGET_SSE4_1
27255 : && rtx_equal_p (operands[0], operands[1])))
27256 : return NULL;
27257 : return gen_split_3685 (insn, operands);
27258 :
27259 : case E_V8HImode:
27260 : if (!register_operand (operands[0], E_V8HImode)
27261 : || !register_operand (operands[1], E_V8HImode)
27262 : || !
27263 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27264 : (TARGET_SSE4_1
27265 : && rtx_equal_p (operands[0], operands[1])))
27266 : return NULL;
27267 : return gen_split_3686 (insn, operands);
27268 :
27269 : case E_V4SImode:
27270 : if (!register_operand (operands[0], E_V4SImode)
27271 : || !register_operand (operands[1], E_V4SImode)
27272 : || !
27273 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27274 : (TARGET_SSE4_1
27275 : && rtx_equal_p (operands[0], operands[1])))
27276 : return NULL;
27277 : return gen_split_3687 (insn, operands);
27278 :
27279 : case E_V2DImode:
27280 : if (!register_operand (operands[0], E_V2DImode)
27281 : || !register_operand (operands[1], E_V2DImode)
27282 : || !
27283 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27284 : (TARGET_SSE4_1
27285 : && rtx_equal_p (operands[0], operands[1])))
27286 : return NULL;
27287 : return gen_split_3688 (insn, operands);
27288 :
27289 : case E_V1TImode:
27290 : if (!register_operand (operands[0], E_V1TImode)
27291 : || !register_operand (operands[1], E_V1TImode)
27292 : || !
27293 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27294 : (TARGET_SSE4_1
27295 : && rtx_equal_p (operands[0], operands[1])))
27296 : return NULL;
27297 : return gen_split_3689 (insn, operands);
27298 :
27299 : case E_V4SFmode:
27300 : if (!register_operand (operands[0], E_V4SFmode)
27301 : || !register_operand (operands[1], E_V4SFmode)
27302 : || !
27303 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27304 : (TARGET_SSE4_1
27305 : && rtx_equal_p (operands[0], operands[1])))
27306 : return NULL;
27307 : return gen_split_3690 (insn, operands);
27308 :
27309 : case E_V2DFmode:
27310 : if (!register_operand (operands[0], E_V2DFmode)
27311 : || !register_operand (operands[1], E_V2DFmode)
27312 : || !
27313 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27314 : (TARGET_SSE4_1
27315 : && rtx_equal_p (operands[0], operands[1])))
27316 : return NULL;
27317 : return gen_split_3691 (insn, operands);
27318 :
27319 : case E_V32QImode:
27320 : if (!register_operand (operands[0], E_V32QImode)
27321 : || !register_operand (operands[1], E_V32QImode)
27322 : || !(
27323 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27324 : (TARGET_SSE4_1
27325 : && rtx_equal_p (operands[0], operands[1])) &&
27326 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27327 : (TARGET_AVX)))
27328 : return NULL;
27329 : return gen_split_3692 (insn, operands);
27330 :
27331 : case E_V16HImode:
27332 : if (!register_operand (operands[0], E_V16HImode)
27333 : || !register_operand (operands[1], E_V16HImode)
27334 : || !(
27335 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27336 : (TARGET_SSE4_1
27337 : && rtx_equal_p (operands[0], operands[1])) &&
27338 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27339 : (TARGET_AVX)))
27340 : return NULL;
27341 : return gen_split_3693 (insn, operands);
27342 :
27343 : case E_V8SImode:
27344 : if (!register_operand (operands[0], E_V8SImode)
27345 : || !register_operand (operands[1], E_V8SImode)
27346 : || !(
27347 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27348 : (TARGET_SSE4_1
27349 : && rtx_equal_p (operands[0], operands[1])) &&
27350 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27351 : (TARGET_AVX)))
27352 : return NULL;
27353 : return gen_split_3694 (insn, operands);
27354 :
27355 : case E_V4DImode:
27356 : if (!register_operand (operands[0], E_V4DImode)
27357 : || !register_operand (operands[1], E_V4DImode)
27358 : || !(
27359 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27360 : (TARGET_SSE4_1
27361 : && rtx_equal_p (operands[0], operands[1])) &&
27362 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27363 : (TARGET_AVX)))
27364 : return NULL;
27365 : return gen_split_3695 (insn, operands);
27366 :
27367 : case E_V2TImode:
27368 : if (!register_operand (operands[0], E_V2TImode)
27369 : || !register_operand (operands[1], E_V2TImode)
27370 : || !(
27371 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27372 : (TARGET_SSE4_1
27373 : && rtx_equal_p (operands[0], operands[1])) &&
27374 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27375 : (TARGET_AVX)))
27376 : return NULL;
27377 : return gen_split_3696 (insn, operands);
27378 :
27379 : case E_V8SFmode:
27380 : if (!register_operand (operands[0], E_V8SFmode)
27381 : || !register_operand (operands[1], E_V8SFmode)
27382 : || !(
27383 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27384 : (TARGET_SSE4_1
27385 : && rtx_equal_p (operands[0], operands[1])) &&
27386 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27387 : (TARGET_AVX)))
27388 : return NULL;
27389 : return gen_split_3697 (insn, operands);
27390 :
27391 : case E_V4DFmode:
27392 : if (!register_operand (operands[0], E_V4DFmode)
27393 : || !register_operand (operands[1], E_V4DFmode)
27394 : || !(
27395 : #line 25973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27396 : (TARGET_SSE4_1
27397 : && rtx_equal_p (operands[0], operands[1])) &&
27398 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27399 : (TARGET_AVX)))
27400 : return NULL;
27401 : return gen_split_3698 (insn, operands);
27402 :
27403 : default:
27404 : return NULL;
27405 : }
27406 :
27407 : case EQ:
27408 : switch (pattern613 (x1))
27409 : {
27410 : case 0:
27411 : if (!((
27412 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27413 : (TARGET_SSE4_1
27414 : && ix86_pre_reload_split ()) &&
27415 : #line 578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27416 : (TARGET_AVX)) &&
27417 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27418 : ( 1)))
27419 : return NULL;
27420 : return gen_split_3783 (insn, operands);
27421 :
27422 : case 1:
27423 : if (!(
27424 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27425 : (TARGET_SSE4_1
27426 : && ix86_pre_reload_split ()) &&
27427 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27428 : ( 1)))
27429 : return NULL;
27430 : return gen_split_3784 (insn, operands);
27431 :
27432 : case 2:
27433 : if (!((
27434 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27435 : (TARGET_SSE4_1
27436 : && ix86_pre_reload_split ()) &&
27437 : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27438 : (TARGET_AVX)) &&
27439 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27440 : ( 1)))
27441 : return NULL;
27442 : return gen_split_3785 (insn, operands);
27443 :
27444 : case 3:
27445 : if (!(
27446 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27447 : (TARGET_SSE4_1
27448 : && ix86_pre_reload_split ()) &&
27449 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27450 : ( 1)))
27451 : return NULL;
27452 : return gen_split_3786 (insn, operands);
27453 :
27454 : case 4:
27455 : if (!((
27456 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27457 : (TARGET_SSE4_1
27458 : && ix86_pre_reload_split ()) &&
27459 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27460 : (TARGET_AVX)) &&
27461 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27462 : ( 1)))
27463 : return NULL;
27464 : return gen_split_3787 (insn, operands);
27465 :
27466 : case 5:
27467 : if (!(
27468 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27469 : (TARGET_SSE4_1
27470 : && ix86_pre_reload_split ()) &&
27471 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27472 : ( 1)))
27473 : return NULL;
27474 : return gen_split_3788 (insn, operands);
27475 :
27476 : case 6:
27477 : if (!((
27478 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27479 : (TARGET_SSE4_1
27480 : && ix86_pre_reload_split ()) &&
27481 : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27482 : (TARGET_AVX)) &&
27483 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27484 : ( 1)))
27485 : return NULL;
27486 : return gen_split_3789 (insn, operands);
27487 :
27488 : case 7:
27489 : if (!(
27490 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27491 : (TARGET_SSE4_1
27492 : && ix86_pre_reload_split ()) &&
27493 : #line 26049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27494 : ( 1)))
27495 : return NULL;
27496 : return gen_split_3790 (insn, operands);
27497 :
27498 : default:
27499 : return NULL;
27500 : }
27501 :
27502 : default:
27503 : return NULL;
27504 : }
27505 :
27506 : default:
27507 : return NULL;
27508 : }
27509 :
27510 : case 1:
27511 : x3 = XEXP (x1, 0);
27512 : operands[0] = x3;
27513 : switch (XINT (x2, 1))
27514 : {
27515 : case 50:
27516 : if (GET_MODE (x2) != E_SImode
27517 : || !register_operand (operands[0], E_SImode))
27518 : return NULL;
27519 : x4 = XVECEXP (x2, 0, 0);
27520 : switch (GET_CODE (x4))
27521 : {
27522 : case REG:
27523 : case SUBREG:
27524 : operands[1] = x4;
27525 : if (register_operand (operands[1], E_V8QImode)
27526 : &&
27527 : #line 6857 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
27528 : (TARGET_SSE2 && reload_completed
27529 : && SSE_REGNO_P (REGNO (operands[1]))))
27530 : return gen_split_1172 (insn, operands);
27531 : if (GET_CODE (x4) != SUBREG
27532 : || maybe_ne (SUBREG_BYTE (x4), 0))
27533 : return NULL;
27534 : x7 = XEXP (x4, 0);
27535 : switch (GET_CODE (x7))
27536 : {
27537 : case VEC_MERGE:
27538 : switch (pattern1106 (x4))
27539 : {
27540 : case 0:
27541 : if (!((
27542 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27543 : (TARGET_SSE) &&
27544 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27545 : (TARGET_AVX)) &&
27546 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27547 : ( reload_completed)))
27548 : return NULL;
27549 : return gen_split_3499 (insn, operands);
27550 :
27551 : case 1:
27552 : if (!(
27553 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27554 : (TARGET_SSE) &&
27555 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27556 : ( reload_completed)))
27557 : return NULL;
27558 : return gen_split_3500 (insn, operands);
27559 :
27560 : case 2:
27561 : if (!((
27562 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27563 : (TARGET_SSE) &&
27564 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27565 : (TARGET_AVX)) &&
27566 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27567 : ( reload_completed)))
27568 : return NULL;
27569 : return gen_split_3501 (insn, operands);
27570 :
27571 : case 3:
27572 : if (!((
27573 : #line 22337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27574 : (TARGET_SSE) &&
27575 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27576 : (TARGET_SSE2)) &&
27577 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27578 : ( reload_completed)))
27579 : return NULL;
27580 : return gen_split_3502 (insn, operands);
27581 :
27582 : default:
27583 : return NULL;
27584 : }
27585 :
27586 : case ASHIFTRT:
27587 : switch (pattern1107 (x4))
27588 : {
27589 : case 0:
27590 : if (!((
27591 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27592 : (TARGET_SSE) &&
27593 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27594 : (TARGET_AVX)) &&
27595 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27596 : ( reload_completed)))
27597 : return NULL;
27598 : return gen_split_3519 (insn, operands);
27599 :
27600 : case 1:
27601 : if (!(
27602 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27603 : (TARGET_SSE) &&
27604 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27605 : ( reload_completed)))
27606 : return NULL;
27607 : return gen_split_3520 (insn, operands);
27608 :
27609 : case 2:
27610 : if (!((
27611 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27612 : (TARGET_SSE) &&
27613 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27614 : (TARGET_AVX)) &&
27615 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27616 : ( reload_completed)))
27617 : return NULL;
27618 : return gen_split_3521 (insn, operands);
27619 :
27620 : case 3:
27621 : if (!((
27622 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27623 : (TARGET_SSE) &&
27624 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27625 : (TARGET_SSE2)) &&
27626 : #line 22402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27627 : ( reload_completed)))
27628 : return NULL;
27629 : return gen_split_3522 (insn, operands);
27630 :
27631 : default:
27632 : return NULL;
27633 : }
27634 :
27635 : case NOT:
27636 : x8 = XEXP (x7, 0);
27637 : operands[1] = x8;
27638 : if (!register_operand (operands[1], E_VOIDmode))
27639 : return NULL;
27640 : switch (GET_MODE (x4))
27641 : {
27642 : case E_V32QImode:
27643 : if (!(
27644 : #line 22539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27645 : (TARGET_SSE2
27646 : && GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_VECTOR_INT
27647 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 32) &&
27648 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27649 : (TARGET_AVX2)))
27650 : return NULL;
27651 : return gen_split_3535 (insn, operands);
27652 :
27653 : case E_V16QImode:
27654 : if (!
27655 : #line 22539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27656 : (TARGET_SSE2
27657 : && GET_MODE_CLASS (GET_MODE (operands[1])) == MODE_VECTOR_INT
27658 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 16))
27659 : return NULL;
27660 : return gen_split_3536 (insn, operands);
27661 :
27662 : default:
27663 : return NULL;
27664 : }
27665 :
27666 : default:
27667 : return NULL;
27668 : }
27669 :
27670 : case LT:
27671 : switch (pattern769 (x4))
27672 : {
27673 : case 0:
27674 : if (!((
27675 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27676 : (TARGET_SSE) &&
27677 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27678 : (TARGET_AVX)) &&
27679 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27680 : ( reload_completed)))
27681 : return NULL;
27682 : return gen_split_3495 (insn, operands);
27683 :
27684 : case 1:
27685 : if (!(
27686 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27687 : (TARGET_SSE) &&
27688 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27689 : ( reload_completed)))
27690 : return NULL;
27691 : return gen_split_3496 (insn, operands);
27692 :
27693 : case 2:
27694 : if (!((
27695 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27696 : (TARGET_SSE) &&
27697 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27698 : (TARGET_AVX)) &&
27699 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27700 : ( reload_completed)))
27701 : return NULL;
27702 : return gen_split_3497 (insn, operands);
27703 :
27704 : case 3:
27705 : if (!((
27706 : #line 22313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27707 : (TARGET_SSE) &&
27708 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27709 : (TARGET_SSE2)) &&
27710 : #line 22315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27711 : ( reload_completed)))
27712 : return NULL;
27713 : return gen_split_3498 (insn, operands);
27714 :
27715 : case 4:
27716 : if (!((
27717 : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27718 : (TARGET_SSE2) &&
27719 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27720 : (TARGET_AVX2)) &&
27721 : #line 22567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27722 : ( 1)))
27723 : return NULL;
27724 : return gen_split_3537 (insn, operands);
27725 :
27726 : case 5:
27727 : if (!(
27728 : #line 22565 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27729 : (TARGET_SSE2) &&
27730 : #line 22567 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27731 : ( 1)))
27732 : return NULL;
27733 : return gen_split_3538 (insn, operands);
27734 :
27735 : default:
27736 : return NULL;
27737 : }
27738 :
27739 : case NOT:
27740 : x7 = XEXP (x4, 0);
27741 : operands[1] = x7;
27742 : switch (GET_MODE (x4))
27743 : {
27744 : case E_V32QImode:
27745 : if (!register_operand (operands[1], E_V32QImode)
27746 : || !(
27747 : #line 22517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27748 : (TARGET_SSE2) &&
27749 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27750 : (TARGET_AVX2)))
27751 : return NULL;
27752 : return gen_split_3533 (insn, operands);
27753 :
27754 : case E_V16QImode:
27755 : if (!register_operand (operands[1], E_V16QImode)
27756 : || !
27757 : #line 22517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27758 : (TARGET_SSE2))
27759 : return NULL;
27760 : return gen_split_3534 (insn, operands);
27761 :
27762 : default:
27763 : return NULL;
27764 : }
27765 :
27766 : case VEC_MERGE:
27767 : switch (pattern771 (x4))
27768 : {
27769 : case 0:
27770 : if (!((
27771 : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27772 : (TARGET_SSE2) &&
27773 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27774 : (TARGET_AVX2)) &&
27775 : #line 22595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27776 : ( 1)))
27777 : return NULL;
27778 : return gen_split_3539 (insn, operands);
27779 :
27780 : case 1:
27781 : if (!(
27782 : #line 22593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27783 : (TARGET_SSE2) &&
27784 : #line 22595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27785 : ( 1)))
27786 : return NULL;
27787 : return gen_split_3540 (insn, operands);
27788 :
27789 : case 2:
27790 : if (!(
27791 : #line 22721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27792 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27793 : #line 22723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27794 : ( 1)))
27795 : return NULL;
27796 : return gen_split_3548 (insn, operands);
27797 :
27798 : case 3:
27799 : if (!(
27800 : #line 22735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27801 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
27802 : #line 22737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27803 : ( 1)))
27804 : return NULL;
27805 : return gen_split_3549 (insn, operands);
27806 :
27807 : default:
27808 : return NULL;
27809 : }
27810 :
27811 : default:
27812 : return NULL;
27813 : }
27814 :
27815 : case 173:
27816 : if (GET_MODE (x2) != E_V2SImode
27817 : || !register_operand (operands[0], E_V2SImode))
27818 : return NULL;
27819 : x4 = XVECEXP (x2, 0, 0);
27820 : operands[1] = x4;
27821 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
27822 : || !
27823 : #line 8788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27824 : (TARGET_SSE2 && reload_completed
27825 : && SSE_REG_P (operands[0])))
27826 : return NULL;
27827 : return gen_split_1602 (insn, operands);
27828 :
27829 : default:
27830 : return NULL;
27831 : }
27832 :
27833 : default:
27834 : return NULL;
27835 : }
27836 : }
27837 :
27838 : rtx_insn *
27839 : split_71 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
27840 : {
27841 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
27842 : rtx x2, x3, x4;
27843 : rtx_insn *res ATTRIBUTE_UNUSED;
27844 : x2 = XEXP (x1, 1);
27845 : x3 = XEXP (x2, 0);
27846 : switch (GET_CODE (x3))
27847 : {
27848 : case AND:
27849 : x4 = XEXP (x3, 0);
27850 : switch (GET_CODE (x4))
27851 : {
27852 : case REG:
27853 : case SUBREG:
27854 : case MEM:
27855 : case NOT:
27856 : switch (pattern535 (x2))
27857 : {
27858 : case 0:
27859 : if (!((
27860 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27861 : ((64 == 64 || TARGET_AVX512VL
27862 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27863 : && ix86_pre_reload_split ()
27864 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27865 : STRIP_UNARY (operands[4]))
27866 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27867 : STRIP_UNARY (operands[4]))
27868 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27869 : STRIP_UNARY (operands[3]))
27870 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27871 : STRIP_UNARY (operands[3])))) &&
27872 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27873 : (TARGET_AVX512F)) &&
27874 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27875 : ( 1)))
27876 : return NULL;
27877 : return gen_split_1742 (insn, operands);
27878 :
27879 : case 1:
27880 : if (!((
27881 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27882 : ((32 == 64 || TARGET_AVX512VL
27883 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27884 : && ix86_pre_reload_split ()
27885 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27886 : STRIP_UNARY (operands[4]))
27887 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27888 : STRIP_UNARY (operands[4]))
27889 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27890 : STRIP_UNARY (operands[3]))
27891 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27892 : STRIP_UNARY (operands[3])))) &&
27893 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27894 : (TARGET_AVX)) &&
27895 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27896 : ( 1)))
27897 : return NULL;
27898 : return gen_split_1769 (insn, operands);
27899 :
27900 : case 2:
27901 : if (!(
27902 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27903 : ((16 == 64 || TARGET_AVX512VL
27904 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27905 : && ix86_pre_reload_split ()
27906 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27907 : STRIP_UNARY (operands[4]))
27908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27909 : STRIP_UNARY (operands[4]))
27910 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27911 : STRIP_UNARY (operands[3]))
27912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27913 : STRIP_UNARY (operands[3])))) &&
27914 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27915 : ( 1)))
27916 : return NULL;
27917 : return gen_split_1796 (insn, operands);
27918 :
27919 : case 3:
27920 : if (!((
27921 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27922 : ((64 == 64 || TARGET_AVX512VL
27923 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27924 : && ix86_pre_reload_split ()
27925 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27926 : STRIP_UNARY (operands[4]))
27927 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27928 : STRIP_UNARY (operands[4]))
27929 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27930 : STRIP_UNARY (operands[3]))
27931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27932 : STRIP_UNARY (operands[3])))) &&
27933 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27934 : (TARGET_AVX512F)) &&
27935 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27936 : ( 1)))
27937 : return NULL;
27938 : return gen_split_1823 (insn, operands);
27939 :
27940 : case 4:
27941 : if (!((
27942 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27943 : ((32 == 64 || TARGET_AVX512VL
27944 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27945 : && ix86_pre_reload_split ()
27946 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27947 : STRIP_UNARY (operands[4]))
27948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27949 : STRIP_UNARY (operands[4]))
27950 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27951 : STRIP_UNARY (operands[3]))
27952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27953 : STRIP_UNARY (operands[3])))) &&
27954 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27955 : (TARGET_AVX)) &&
27956 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27957 : ( 1)))
27958 : return NULL;
27959 : return gen_split_1850 (insn, operands);
27960 :
27961 : case 5:
27962 : if (!(
27963 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27964 : ((16 == 64 || TARGET_AVX512VL
27965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27966 : && ix86_pre_reload_split ()
27967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27968 : STRIP_UNARY (operands[4]))
27969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27970 : STRIP_UNARY (operands[4]))
27971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27972 : STRIP_UNARY (operands[3]))
27973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27974 : STRIP_UNARY (operands[3])))) &&
27975 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27976 : ( 1)))
27977 : return NULL;
27978 : return gen_split_1877 (insn, operands);
27979 :
27980 : case 6:
27981 : if (!((
27982 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27983 : ((64 == 64 || TARGET_AVX512VL
27984 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27985 : && ix86_pre_reload_split ()
27986 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27987 : STRIP_UNARY (operands[4]))
27988 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27989 : STRIP_UNARY (operands[4]))
27990 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27991 : STRIP_UNARY (operands[3]))
27992 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27993 : STRIP_UNARY (operands[3])))) &&
27994 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27995 : (TARGET_AVX512F)) &&
27996 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27997 : ( 1)))
27998 : return NULL;
27999 : return gen_split_1904 (insn, operands);
28000 :
28001 : case 7:
28002 : if (!((
28003 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28004 : ((32 == 64 || TARGET_AVX512VL
28005 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28006 : && ix86_pre_reload_split ()
28007 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28008 : STRIP_UNARY (operands[4]))
28009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28010 : STRIP_UNARY (operands[4]))
28011 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28012 : STRIP_UNARY (operands[3]))
28013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28014 : STRIP_UNARY (operands[3])))) &&
28015 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28016 : (TARGET_AVX)) &&
28017 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28018 : ( 1)))
28019 : return NULL;
28020 : return gen_split_1931 (insn, operands);
28021 :
28022 : case 8:
28023 : if (!(
28024 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28025 : ((16 == 64 || TARGET_AVX512VL
28026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28027 : && ix86_pre_reload_split ()
28028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28029 : STRIP_UNARY (operands[4]))
28030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28031 : STRIP_UNARY (operands[4]))
28032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28033 : STRIP_UNARY (operands[3]))
28034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28035 : STRIP_UNARY (operands[3])))) &&
28036 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28037 : ( 1)))
28038 : return NULL;
28039 : return gen_split_1958 (insn, operands);
28040 :
28041 : case 9:
28042 : if (!((
28043 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28044 : ((64 == 64 || TARGET_AVX512VL
28045 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28046 : && ix86_pre_reload_split ()
28047 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28048 : STRIP_UNARY (operands[4]))
28049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28050 : STRIP_UNARY (operands[4]))
28051 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28052 : STRIP_UNARY (operands[3]))
28053 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28054 : STRIP_UNARY (operands[3])))) &&
28055 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28056 : (TARGET_AVX512F)) &&
28057 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28058 : ( 1)))
28059 : return NULL;
28060 : return gen_split_1985 (insn, operands);
28061 :
28062 : case 10:
28063 : if (!((
28064 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28065 : ((32 == 64 || TARGET_AVX512VL
28066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28067 : && ix86_pre_reload_split ()
28068 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28069 : STRIP_UNARY (operands[4]))
28070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28071 : STRIP_UNARY (operands[4]))
28072 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28073 : STRIP_UNARY (operands[3]))
28074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28075 : STRIP_UNARY (operands[3])))) &&
28076 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28077 : (TARGET_AVX)) &&
28078 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28079 : ( 1)))
28080 : return NULL;
28081 : return gen_split_2012 (insn, operands);
28082 :
28083 : case 11:
28084 : if (!(
28085 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28086 : ((16 == 64 || TARGET_AVX512VL
28087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28088 : && ix86_pre_reload_split ()
28089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28090 : STRIP_UNARY (operands[4]))
28091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28092 : STRIP_UNARY (operands[4]))
28093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28094 : STRIP_UNARY (operands[3]))
28095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28096 : STRIP_UNARY (operands[3])))) &&
28097 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28098 : ( 1)))
28099 : return NULL;
28100 : return gen_split_2039 (insn, operands);
28101 :
28102 : case 12:
28103 : if (!((
28104 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28105 : ((64 == 64 || TARGET_AVX512VL
28106 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28107 : && ix86_pre_reload_split ()
28108 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28109 : STRIP_UNARY (operands[4]))
28110 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28111 : STRIP_UNARY (operands[4]))
28112 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28113 : STRIP_UNARY (operands[3]))
28114 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28115 : STRIP_UNARY (operands[3])))) &&
28116 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28117 : (TARGET_AVX512F)) &&
28118 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28119 : ( 1)))
28120 : return NULL;
28121 : return gen_split_1745 (insn, operands);
28122 :
28123 : case 13:
28124 : if (!((
28125 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28126 : ((32 == 64 || TARGET_AVX512VL
28127 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28128 : && ix86_pre_reload_split ()
28129 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28130 : STRIP_UNARY (operands[4]))
28131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28132 : STRIP_UNARY (operands[4]))
28133 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28134 : STRIP_UNARY (operands[3]))
28135 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28136 : STRIP_UNARY (operands[3])))) &&
28137 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28138 : (TARGET_AVX)) &&
28139 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28140 : ( 1)))
28141 : return NULL;
28142 : return gen_split_1772 (insn, operands);
28143 :
28144 : case 14:
28145 : if (!(
28146 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28147 : ((16 == 64 || TARGET_AVX512VL
28148 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28149 : && ix86_pre_reload_split ()
28150 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28151 : STRIP_UNARY (operands[4]))
28152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28153 : STRIP_UNARY (operands[4]))
28154 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28155 : STRIP_UNARY (operands[3]))
28156 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28157 : STRIP_UNARY (operands[3])))) &&
28158 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28159 : ( 1)))
28160 : return NULL;
28161 : return gen_split_1799 (insn, operands);
28162 :
28163 : case 15:
28164 : if (!((
28165 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28166 : ((64 == 64 || TARGET_AVX512VL
28167 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28168 : && ix86_pre_reload_split ()
28169 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28170 : STRIP_UNARY (operands[4]))
28171 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28172 : STRIP_UNARY (operands[4]))
28173 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28174 : STRIP_UNARY (operands[3]))
28175 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28176 : STRIP_UNARY (operands[3])))) &&
28177 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28178 : (TARGET_AVX512F)) &&
28179 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28180 : ( 1)))
28181 : return NULL;
28182 : return gen_split_1826 (insn, operands);
28183 :
28184 : case 16:
28185 : if (!((
28186 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28187 : ((32 == 64 || TARGET_AVX512VL
28188 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28189 : && ix86_pre_reload_split ()
28190 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28191 : STRIP_UNARY (operands[4]))
28192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28193 : STRIP_UNARY (operands[4]))
28194 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28195 : STRIP_UNARY (operands[3]))
28196 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28197 : STRIP_UNARY (operands[3])))) &&
28198 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28199 : (TARGET_AVX)) &&
28200 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28201 : ( 1)))
28202 : return NULL;
28203 : return gen_split_1853 (insn, operands);
28204 :
28205 : case 17:
28206 : if (!(
28207 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28208 : ((16 == 64 || TARGET_AVX512VL
28209 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28210 : && ix86_pre_reload_split ()
28211 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28212 : STRIP_UNARY (operands[4]))
28213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28214 : STRIP_UNARY (operands[4]))
28215 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28216 : STRIP_UNARY (operands[3]))
28217 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28218 : STRIP_UNARY (operands[3])))) &&
28219 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28220 : ( 1)))
28221 : return NULL;
28222 : return gen_split_1880 (insn, operands);
28223 :
28224 : case 18:
28225 : if (!((
28226 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28227 : ((64 == 64 || TARGET_AVX512VL
28228 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28229 : && ix86_pre_reload_split ()
28230 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28231 : STRIP_UNARY (operands[4]))
28232 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28233 : STRIP_UNARY (operands[4]))
28234 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28235 : STRIP_UNARY (operands[3]))
28236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28237 : STRIP_UNARY (operands[3])))) &&
28238 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28239 : (TARGET_AVX512F)) &&
28240 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28241 : ( 1)))
28242 : return NULL;
28243 : return gen_split_1907 (insn, operands);
28244 :
28245 : case 19:
28246 : if (!((
28247 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28248 : ((32 == 64 || TARGET_AVX512VL
28249 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28250 : && ix86_pre_reload_split ()
28251 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28252 : STRIP_UNARY (operands[4]))
28253 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28254 : STRIP_UNARY (operands[4]))
28255 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28256 : STRIP_UNARY (operands[3]))
28257 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28258 : STRIP_UNARY (operands[3])))) &&
28259 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28260 : (TARGET_AVX)) &&
28261 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28262 : ( 1)))
28263 : return NULL;
28264 : return gen_split_1934 (insn, operands);
28265 :
28266 : case 20:
28267 : if (!(
28268 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28269 : ((16 == 64 || TARGET_AVX512VL
28270 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28271 : && ix86_pre_reload_split ()
28272 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28273 : STRIP_UNARY (operands[4]))
28274 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28275 : STRIP_UNARY (operands[4]))
28276 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28277 : STRIP_UNARY (operands[3]))
28278 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28279 : STRIP_UNARY (operands[3])))) &&
28280 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28281 : ( 1)))
28282 : return NULL;
28283 : return gen_split_1961 (insn, operands);
28284 :
28285 : case 21:
28286 : if (!((
28287 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28288 : ((64 == 64 || TARGET_AVX512VL
28289 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28290 : && ix86_pre_reload_split ()
28291 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28292 : STRIP_UNARY (operands[4]))
28293 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28294 : STRIP_UNARY (operands[4]))
28295 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28296 : STRIP_UNARY (operands[3]))
28297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28298 : STRIP_UNARY (operands[3])))) &&
28299 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28300 : (TARGET_AVX512F)) &&
28301 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28302 : ( 1)))
28303 : return NULL;
28304 : return gen_split_1988 (insn, operands);
28305 :
28306 : case 22:
28307 : if (!((
28308 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28309 : ((32 == 64 || TARGET_AVX512VL
28310 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28311 : && ix86_pre_reload_split ()
28312 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28313 : STRIP_UNARY (operands[4]))
28314 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28315 : STRIP_UNARY (operands[4]))
28316 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28317 : STRIP_UNARY (operands[3]))
28318 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28319 : STRIP_UNARY (operands[3])))) &&
28320 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28321 : (TARGET_AVX)) &&
28322 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28323 : ( 1)))
28324 : return NULL;
28325 : return gen_split_2015 (insn, operands);
28326 :
28327 : case 23:
28328 : if (!(
28329 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28330 : ((16 == 64 || TARGET_AVX512VL
28331 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28332 : && ix86_pre_reload_split ()
28333 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28334 : STRIP_UNARY (operands[4]))
28335 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28336 : STRIP_UNARY (operands[4]))
28337 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28338 : STRIP_UNARY (operands[3]))
28339 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28340 : STRIP_UNARY (operands[3])))) &&
28341 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28342 : ( 1)))
28343 : return NULL;
28344 : return gen_split_2042 (insn, operands);
28345 :
28346 : case 24:
28347 : if (!((
28348 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28349 : ((64 == 64 || TARGET_AVX512VL
28350 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28351 : && ix86_pre_reload_split ()
28352 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28353 : STRIP_UNARY (operands[4]))
28354 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28355 : STRIP_UNARY (operands[4]))
28356 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28357 : STRIP_UNARY (operands[3]))
28358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28359 : STRIP_UNARY (operands[3])))) &&
28360 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28361 : (TARGET_AVX512F)) &&
28362 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28363 : ( 1)))
28364 : return NULL;
28365 : return gen_split_1748 (insn, operands);
28366 :
28367 : case 25:
28368 : if (!((
28369 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28370 : ((32 == 64 || TARGET_AVX512VL
28371 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28372 : && ix86_pre_reload_split ()
28373 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28374 : STRIP_UNARY (operands[4]))
28375 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28376 : STRIP_UNARY (operands[4]))
28377 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28378 : STRIP_UNARY (operands[3]))
28379 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28380 : STRIP_UNARY (operands[3])))) &&
28381 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28382 : (TARGET_AVX)) &&
28383 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28384 : ( 1)))
28385 : return NULL;
28386 : return gen_split_1775 (insn, operands);
28387 :
28388 : case 26:
28389 : if (!(
28390 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28391 : ((16 == 64 || TARGET_AVX512VL
28392 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28393 : && ix86_pre_reload_split ()
28394 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28395 : STRIP_UNARY (operands[4]))
28396 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28397 : STRIP_UNARY (operands[4]))
28398 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28399 : STRIP_UNARY (operands[3]))
28400 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28401 : STRIP_UNARY (operands[3])))) &&
28402 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28403 : ( 1)))
28404 : return NULL;
28405 : return gen_split_1802 (insn, operands);
28406 :
28407 : case 27:
28408 : if (!((
28409 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28410 : ((64 == 64 || TARGET_AVX512VL
28411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28412 : && ix86_pre_reload_split ()
28413 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28414 : STRIP_UNARY (operands[4]))
28415 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28416 : STRIP_UNARY (operands[4]))
28417 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28418 : STRIP_UNARY (operands[3]))
28419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28420 : STRIP_UNARY (operands[3])))) &&
28421 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28422 : (TARGET_AVX512F)) &&
28423 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28424 : ( 1)))
28425 : return NULL;
28426 : return gen_split_1829 (insn, operands);
28427 :
28428 : case 28:
28429 : if (!((
28430 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28431 : ((32 == 64 || TARGET_AVX512VL
28432 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28433 : && ix86_pre_reload_split ()
28434 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28435 : STRIP_UNARY (operands[4]))
28436 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28437 : STRIP_UNARY (operands[4]))
28438 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28439 : STRIP_UNARY (operands[3]))
28440 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28441 : STRIP_UNARY (operands[3])))) &&
28442 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28443 : (TARGET_AVX)) &&
28444 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28445 : ( 1)))
28446 : return NULL;
28447 : return gen_split_1856 (insn, operands);
28448 :
28449 : case 29:
28450 : if (!(
28451 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28452 : ((16 == 64 || TARGET_AVX512VL
28453 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28454 : && ix86_pre_reload_split ()
28455 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28456 : STRIP_UNARY (operands[4]))
28457 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28458 : STRIP_UNARY (operands[4]))
28459 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28460 : STRIP_UNARY (operands[3]))
28461 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28462 : STRIP_UNARY (operands[3])))) &&
28463 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28464 : ( 1)))
28465 : return NULL;
28466 : return gen_split_1883 (insn, operands);
28467 :
28468 : case 30:
28469 : if (!((
28470 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28471 : ((64 == 64 || TARGET_AVX512VL
28472 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28473 : && ix86_pre_reload_split ()
28474 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28475 : STRIP_UNARY (operands[4]))
28476 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28477 : STRIP_UNARY (operands[4]))
28478 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28479 : STRIP_UNARY (operands[3]))
28480 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28481 : STRIP_UNARY (operands[3])))) &&
28482 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28483 : (TARGET_AVX512F)) &&
28484 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28485 : ( 1)))
28486 : return NULL;
28487 : return gen_split_1910 (insn, operands);
28488 :
28489 : case 31:
28490 : if (!((
28491 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28492 : ((32 == 64 || TARGET_AVX512VL
28493 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28494 : && ix86_pre_reload_split ()
28495 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28496 : STRIP_UNARY (operands[4]))
28497 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28498 : STRIP_UNARY (operands[4]))
28499 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28500 : STRIP_UNARY (operands[3]))
28501 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28502 : STRIP_UNARY (operands[3])))) &&
28503 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28504 : (TARGET_AVX)) &&
28505 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28506 : ( 1)))
28507 : return NULL;
28508 : return gen_split_1937 (insn, operands);
28509 :
28510 : case 32:
28511 : if (!(
28512 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28513 : ((16 == 64 || TARGET_AVX512VL
28514 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28515 : && ix86_pre_reload_split ()
28516 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28517 : STRIP_UNARY (operands[4]))
28518 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28519 : STRIP_UNARY (operands[4]))
28520 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28521 : STRIP_UNARY (operands[3]))
28522 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28523 : STRIP_UNARY (operands[3])))) &&
28524 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28525 : ( 1)))
28526 : return NULL;
28527 : return gen_split_1964 (insn, operands);
28528 :
28529 : case 33:
28530 : if (!((
28531 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : ((64 == 64 || TARGET_AVX512VL
28533 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28534 : && ix86_pre_reload_split ()
28535 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28536 : STRIP_UNARY (operands[4]))
28537 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28538 : STRIP_UNARY (operands[4]))
28539 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28540 : STRIP_UNARY (operands[3]))
28541 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28542 : STRIP_UNARY (operands[3])))) &&
28543 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28544 : (TARGET_AVX512F)) &&
28545 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28546 : ( 1)))
28547 : return NULL;
28548 : return gen_split_1991 (insn, operands);
28549 :
28550 : case 34:
28551 : if (!((
28552 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28553 : ((32 == 64 || TARGET_AVX512VL
28554 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28555 : && ix86_pre_reload_split ()
28556 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28557 : STRIP_UNARY (operands[4]))
28558 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28559 : STRIP_UNARY (operands[4]))
28560 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28561 : STRIP_UNARY (operands[3]))
28562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28563 : STRIP_UNARY (operands[3])))) &&
28564 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28565 : (TARGET_AVX)) &&
28566 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28567 : ( 1)))
28568 : return NULL;
28569 : return gen_split_2018 (insn, operands);
28570 :
28571 : case 35:
28572 : if (!(
28573 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28574 : ((16 == 64 || TARGET_AVX512VL
28575 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28576 : && ix86_pre_reload_split ()
28577 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28578 : STRIP_UNARY (operands[4]))
28579 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28580 : STRIP_UNARY (operands[4]))
28581 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28582 : STRIP_UNARY (operands[3]))
28583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28584 : STRIP_UNARY (operands[3])))) &&
28585 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28586 : ( 1)))
28587 : return NULL;
28588 : return gen_split_2045 (insn, operands);
28589 :
28590 : case 36:
28591 : if (!((
28592 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28593 : ((64 == 64 || TARGET_AVX512VL
28594 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28595 : && ix86_pre_reload_split ()) &&
28596 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28597 : (TARGET_AVX512F)) &&
28598 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28599 : ( 1)))
28600 : return NULL;
28601 : return gen_split_3038 (insn, operands);
28602 :
28603 : case 37:
28604 : if (!((
28605 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28606 : ((32 == 64 || TARGET_AVX512VL
28607 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28608 : && ix86_pre_reload_split ()) &&
28609 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28610 : (TARGET_AVX)) &&
28611 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28612 : ( 1)))
28613 : return NULL;
28614 : return gen_split_3047 (insn, operands);
28615 :
28616 : case 38:
28617 : if (!(
28618 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28619 : ((16 == 64 || TARGET_AVX512VL
28620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28621 : && ix86_pre_reload_split ()) &&
28622 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28623 : ( 1)))
28624 : return NULL;
28625 : return gen_split_3056 (insn, operands);
28626 :
28627 : case 39:
28628 : if (!((
28629 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28630 : ((64 == 64 || TARGET_AVX512VL
28631 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28632 : && ix86_pre_reload_split ()) &&
28633 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28634 : (TARGET_AVX512F)) &&
28635 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28636 : ( 1)))
28637 : return NULL;
28638 : return gen_split_3065 (insn, operands);
28639 :
28640 : case 40:
28641 : if (!((
28642 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28643 : ((32 == 64 || TARGET_AVX512VL
28644 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28645 : && ix86_pre_reload_split ()) &&
28646 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28647 : (TARGET_AVX)) &&
28648 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28649 : ( 1)))
28650 : return NULL;
28651 : return gen_split_3074 (insn, operands);
28652 :
28653 : case 41:
28654 : if (!(
28655 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28656 : ((16 == 64 || TARGET_AVX512VL
28657 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28658 : && ix86_pre_reload_split ()) &&
28659 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28660 : ( 1)))
28661 : return NULL;
28662 : return gen_split_3083 (insn, operands);
28663 :
28664 : case 42:
28665 : if (!((
28666 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28667 : ((64 == 64 || TARGET_AVX512VL
28668 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28669 : && ix86_pre_reload_split ()) &&
28670 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28671 : (TARGET_AVX512F)) &&
28672 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28673 : ( 1)))
28674 : return NULL;
28675 : return gen_split_3092 (insn, operands);
28676 :
28677 : case 43:
28678 : if (!((
28679 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28680 : ((32 == 64 || TARGET_AVX512VL
28681 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28682 : && ix86_pre_reload_split ()) &&
28683 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28684 : (TARGET_AVX)) &&
28685 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28686 : ( 1)))
28687 : return NULL;
28688 : return gen_split_3101 (insn, operands);
28689 :
28690 : case 44:
28691 : if (!(
28692 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28693 : ((16 == 64 || TARGET_AVX512VL
28694 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28695 : && ix86_pre_reload_split ()) &&
28696 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28697 : ( 1)))
28698 : return NULL;
28699 : return gen_split_3110 (insn, operands);
28700 :
28701 : case 45:
28702 : if (!((
28703 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28704 : ((64 == 64 || TARGET_AVX512VL
28705 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28706 : && ix86_pre_reload_split ()) &&
28707 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28708 : (TARGET_AVX512F)) &&
28709 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28710 : ( 1)))
28711 : return NULL;
28712 : return gen_split_3119 (insn, operands);
28713 :
28714 : case 46:
28715 : if (!((
28716 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28717 : ((32 == 64 || TARGET_AVX512VL
28718 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28719 : && ix86_pre_reload_split ()) &&
28720 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28721 : (TARGET_AVX)) &&
28722 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28723 : ( 1)))
28724 : return NULL;
28725 : return gen_split_3128 (insn, operands);
28726 :
28727 : case 47:
28728 : if (!(
28729 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28730 : ((16 == 64 || TARGET_AVX512VL
28731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28732 : && ix86_pre_reload_split ()) &&
28733 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28734 : ( 1)))
28735 : return NULL;
28736 : return gen_split_3137 (insn, operands);
28737 :
28738 : default:
28739 : return NULL;
28740 : }
28741 :
28742 : case AND:
28743 : switch (pattern537 (x2))
28744 : {
28745 : case 0:
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 345 "/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_2390 (insn, operands);
28765 :
28766 : case 1:
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 345 "/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_2417 (insn, operands);
28786 :
28787 : case 2:
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_2444 (insn, operands);
28805 :
28806 : case 3:
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 346 "/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_2471 (insn, operands);
28826 :
28827 : case 4:
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 346 "/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_2498 (insn, operands);
28847 :
28848 : case 5:
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_2525 (insn, operands);
28866 :
28867 : case 6:
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 347 "/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_2552 (insn, operands);
28887 :
28888 : case 7:
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 347 "/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_2579 (insn, operands);
28908 :
28909 : case 8:
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_2606 (insn, operands);
28927 :
28928 : case 9:
28929 : if (!((
28930 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28931 : ((64 == 64 || TARGET_AVX512VL
28932 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28933 : && ix86_pre_reload_split ()
28934 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28935 : STRIP_UNARY (operands[4]))
28936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28937 : STRIP_UNARY (operands[4]))
28938 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28939 : STRIP_UNARY (operands[3]))
28940 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28941 : STRIP_UNARY (operands[3])))) &&
28942 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28943 : (TARGET_AVX512F)) &&
28944 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28945 : ( 1)))
28946 : return NULL;
28947 : return gen_split_2633 (insn, operands);
28948 :
28949 : case 10:
28950 : if (!((
28951 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28952 : ((32 == 64 || TARGET_AVX512VL
28953 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28954 : && ix86_pre_reload_split ()
28955 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28956 : STRIP_UNARY (operands[4]))
28957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28958 : STRIP_UNARY (operands[4]))
28959 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28960 : STRIP_UNARY (operands[3]))
28961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28962 : STRIP_UNARY (operands[3])))) &&
28963 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28964 : (TARGET_AVX)) &&
28965 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28966 : ( 1)))
28967 : return NULL;
28968 : return gen_split_2660 (insn, operands);
28969 :
28970 : case 11:
28971 : if (!(
28972 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28973 : ((16 == 64 || TARGET_AVX512VL
28974 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28975 : && ix86_pre_reload_split ()
28976 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28977 : STRIP_UNARY (operands[4]))
28978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28979 : STRIP_UNARY (operands[4]))
28980 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28981 : STRIP_UNARY (operands[3]))
28982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28983 : STRIP_UNARY (operands[3])))) &&
28984 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28985 : ( 1)))
28986 : return NULL;
28987 : return gen_split_2687 (insn, operands);
28988 :
28989 : default:
28990 : return NULL;
28991 : }
28992 :
28993 : case IOR:
28994 : switch (pattern537 (x2))
28995 : {
28996 : case 0:
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 345 "/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_2393 (insn, operands);
29016 :
29017 : case 1:
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 345 "/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_2420 (insn, operands);
29037 :
29038 : case 2:
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_2447 (insn, operands);
29056 :
29057 : case 3:
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 346 "/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_2474 (insn, operands);
29077 :
29078 : case 4:
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 346 "/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_2501 (insn, operands);
29098 :
29099 : case 5:
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_2528 (insn, operands);
29117 :
29118 : case 6:
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 347 "/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_2555 (insn, operands);
29138 :
29139 : case 7:
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 347 "/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_2582 (insn, operands);
29159 :
29160 : case 8:
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_2609 (insn, operands);
29178 :
29179 : case 9:
29180 : if (!((
29181 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29182 : ((64 == 64 || TARGET_AVX512VL
29183 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29184 : && ix86_pre_reload_split ()
29185 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29186 : STRIP_UNARY (operands[4]))
29187 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29188 : STRIP_UNARY (operands[4]))
29189 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29190 : STRIP_UNARY (operands[3]))
29191 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29192 : STRIP_UNARY (operands[3])))) &&
29193 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29194 : (TARGET_AVX512F)) &&
29195 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29196 : ( 1)))
29197 : return NULL;
29198 : return gen_split_2636 (insn, operands);
29199 :
29200 : case 10:
29201 : if (!((
29202 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29203 : ((32 == 64 || TARGET_AVX512VL
29204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29205 : && ix86_pre_reload_split ()
29206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29207 : STRIP_UNARY (operands[4]))
29208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29209 : STRIP_UNARY (operands[4]))
29210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29211 : STRIP_UNARY (operands[3]))
29212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29213 : STRIP_UNARY (operands[3])))) &&
29214 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29215 : (TARGET_AVX)) &&
29216 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29217 : ( 1)))
29218 : return NULL;
29219 : return gen_split_2663 (insn, operands);
29220 :
29221 : case 11:
29222 : if (!(
29223 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29224 : ((16 == 64 || TARGET_AVX512VL
29225 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29226 : && ix86_pre_reload_split ()
29227 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29228 : STRIP_UNARY (operands[4]))
29229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29230 : STRIP_UNARY (operands[4]))
29231 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29232 : STRIP_UNARY (operands[3]))
29233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29234 : STRIP_UNARY (operands[3])))) &&
29235 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29236 : ( 1)))
29237 : return NULL;
29238 : return gen_split_2690 (insn, operands);
29239 :
29240 : default:
29241 : return NULL;
29242 : }
29243 :
29244 : case XOR:
29245 : switch (pattern537 (x2))
29246 : {
29247 : case 0:
29248 : if (!((
29249 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29250 : ((64 == 64 || TARGET_AVX512VL
29251 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29252 : && ix86_pre_reload_split ()
29253 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29254 : STRIP_UNARY (operands[4]))
29255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29256 : STRIP_UNARY (operands[4]))
29257 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29258 : STRIP_UNARY (operands[3]))
29259 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29260 : STRIP_UNARY (operands[3])))) &&
29261 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29262 : (TARGET_AVX512F)) &&
29263 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29264 : ( 1)))
29265 : return NULL;
29266 : return gen_split_2396 (insn, operands);
29267 :
29268 : case 1:
29269 : if (!((
29270 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29271 : ((32 == 64 || TARGET_AVX512VL
29272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29273 : && ix86_pre_reload_split ()
29274 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29275 : STRIP_UNARY (operands[4]))
29276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29277 : STRIP_UNARY (operands[4]))
29278 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29279 : STRIP_UNARY (operands[3]))
29280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29281 : STRIP_UNARY (operands[3])))) &&
29282 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29283 : (TARGET_AVX)) &&
29284 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29285 : ( 1)))
29286 : return NULL;
29287 : return gen_split_2423 (insn, operands);
29288 :
29289 : case 2:
29290 : if (!(
29291 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29292 : ((16 == 64 || TARGET_AVX512VL
29293 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29294 : && ix86_pre_reload_split ()
29295 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29296 : STRIP_UNARY (operands[4]))
29297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29298 : STRIP_UNARY (operands[4]))
29299 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29300 : STRIP_UNARY (operands[3]))
29301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29302 : STRIP_UNARY (operands[3])))) &&
29303 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29304 : ( 1)))
29305 : return NULL;
29306 : return gen_split_2450 (insn, operands);
29307 :
29308 : case 3:
29309 : if (!((
29310 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29311 : ((64 == 64 || TARGET_AVX512VL
29312 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29313 : && ix86_pre_reload_split ()
29314 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29315 : STRIP_UNARY (operands[4]))
29316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29317 : STRIP_UNARY (operands[4]))
29318 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29319 : STRIP_UNARY (operands[3]))
29320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29321 : STRIP_UNARY (operands[3])))) &&
29322 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29323 : (TARGET_AVX512F)) &&
29324 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29325 : ( 1)))
29326 : return NULL;
29327 : return gen_split_2477 (insn, operands);
29328 :
29329 : case 4:
29330 : if (!((
29331 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29332 : ((32 == 64 || TARGET_AVX512VL
29333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29334 : && ix86_pre_reload_split ()
29335 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29336 : STRIP_UNARY (operands[4]))
29337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29338 : STRIP_UNARY (operands[4]))
29339 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29340 : STRIP_UNARY (operands[3]))
29341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29342 : STRIP_UNARY (operands[3])))) &&
29343 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29344 : (TARGET_AVX)) &&
29345 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29346 : ( 1)))
29347 : return NULL;
29348 : return gen_split_2504 (insn, operands);
29349 :
29350 : case 5:
29351 : if (!(
29352 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29353 : ((16 == 64 || TARGET_AVX512VL
29354 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29355 : && ix86_pre_reload_split ()
29356 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29357 : STRIP_UNARY (operands[4]))
29358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29359 : STRIP_UNARY (operands[4]))
29360 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29361 : STRIP_UNARY (operands[3]))
29362 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29363 : STRIP_UNARY (operands[3])))) &&
29364 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29365 : ( 1)))
29366 : return NULL;
29367 : return gen_split_2531 (insn, operands);
29368 :
29369 : case 6:
29370 : if (!((
29371 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29372 : ((64 == 64 || TARGET_AVX512VL
29373 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29374 : && ix86_pre_reload_split ()
29375 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29376 : STRIP_UNARY (operands[4]))
29377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29378 : STRIP_UNARY (operands[4]))
29379 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29380 : STRIP_UNARY (operands[3]))
29381 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29382 : STRIP_UNARY (operands[3])))) &&
29383 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29384 : (TARGET_AVX512F)) &&
29385 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29386 : ( 1)))
29387 : return NULL;
29388 : return gen_split_2558 (insn, operands);
29389 :
29390 : case 7:
29391 : if (!((
29392 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29393 : ((32 == 64 || TARGET_AVX512VL
29394 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29395 : && ix86_pre_reload_split ()
29396 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29397 : STRIP_UNARY (operands[4]))
29398 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29399 : STRIP_UNARY (operands[4]))
29400 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29401 : STRIP_UNARY (operands[3]))
29402 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29403 : STRIP_UNARY (operands[3])))) &&
29404 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29405 : (TARGET_AVX)) &&
29406 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29407 : ( 1)))
29408 : return NULL;
29409 : return gen_split_2585 (insn, operands);
29410 :
29411 : case 8:
29412 : if (!(
29413 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29414 : ((16 == 64 || TARGET_AVX512VL
29415 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29416 : && ix86_pre_reload_split ()
29417 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29418 : STRIP_UNARY (operands[4]))
29419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29420 : STRIP_UNARY (operands[4]))
29421 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29422 : STRIP_UNARY (operands[3]))
29423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29424 : STRIP_UNARY (operands[3])))) &&
29425 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29426 : ( 1)))
29427 : return NULL;
29428 : return gen_split_2612 (insn, operands);
29429 :
29430 : case 9:
29431 : if (!((
29432 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29433 : ((64 == 64 || TARGET_AVX512VL
29434 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29435 : && ix86_pre_reload_split ()
29436 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29437 : STRIP_UNARY (operands[4]))
29438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29439 : STRIP_UNARY (operands[4]))
29440 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29441 : STRIP_UNARY (operands[3]))
29442 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29443 : STRIP_UNARY (operands[3])))) &&
29444 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29445 : (TARGET_AVX512F)) &&
29446 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29447 : ( 1)))
29448 : return NULL;
29449 : return gen_split_2639 (insn, operands);
29450 :
29451 : case 10:
29452 : if (!((
29453 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29454 : ((32 == 64 || TARGET_AVX512VL
29455 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29456 : && ix86_pre_reload_split ()
29457 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29458 : STRIP_UNARY (operands[4]))
29459 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29460 : STRIP_UNARY (operands[4]))
29461 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29462 : STRIP_UNARY (operands[3]))
29463 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29464 : STRIP_UNARY (operands[3])))) &&
29465 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29466 : (TARGET_AVX)) &&
29467 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29468 : ( 1)))
29469 : return NULL;
29470 : return gen_split_2666 (insn, operands);
29471 :
29472 : case 11:
29473 : if (!(
29474 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29475 : ((16 == 64 || TARGET_AVX512VL
29476 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29477 : && ix86_pre_reload_split ()
29478 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29479 : STRIP_UNARY (operands[4]))
29480 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29481 : STRIP_UNARY (operands[4]))
29482 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29483 : STRIP_UNARY (operands[3]))
29484 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29485 : STRIP_UNARY (operands[3])))) &&
29486 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29487 : ( 1)))
29488 : return NULL;
29489 : return gen_split_2693 (insn, operands);
29490 :
29491 : default:
29492 : return NULL;
29493 : }
29494 :
29495 : default:
29496 : return NULL;
29497 : }
29498 :
29499 : case IOR:
29500 : x4 = XEXP (x3, 0);
29501 : switch (GET_CODE (x4))
29502 : {
29503 : case REG:
29504 : case SUBREG:
29505 : case MEM:
29506 : case NOT:
29507 : switch (pattern535 (x2))
29508 : {
29509 : case 0:
29510 : if (!((
29511 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29512 : ((64 == 64 || TARGET_AVX512VL
29513 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29514 : && ix86_pre_reload_split ()
29515 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29516 : STRIP_UNARY (operands[4]))
29517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29518 : STRIP_UNARY (operands[4]))
29519 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29520 : STRIP_UNARY (operands[3]))
29521 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29522 : STRIP_UNARY (operands[3])))) &&
29523 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29524 : (TARGET_AVX512F)) &&
29525 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29526 : ( 1)))
29527 : return NULL;
29528 : return gen_split_1751 (insn, operands);
29529 :
29530 : case 1:
29531 : if (!((
29532 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29533 : ((32 == 64 || TARGET_AVX512VL
29534 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29535 : && ix86_pre_reload_split ()
29536 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29537 : STRIP_UNARY (operands[4]))
29538 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29539 : STRIP_UNARY (operands[4]))
29540 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29541 : STRIP_UNARY (operands[3]))
29542 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29543 : STRIP_UNARY (operands[3])))) &&
29544 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29545 : (TARGET_AVX)) &&
29546 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29547 : ( 1)))
29548 : return NULL;
29549 : return gen_split_1778 (insn, operands);
29550 :
29551 : case 2:
29552 : if (!(
29553 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29554 : ((16 == 64 || TARGET_AVX512VL
29555 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29556 : && ix86_pre_reload_split ()
29557 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29558 : STRIP_UNARY (operands[4]))
29559 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29560 : STRIP_UNARY (operands[4]))
29561 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29562 : STRIP_UNARY (operands[3]))
29563 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29564 : STRIP_UNARY (operands[3])))) &&
29565 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29566 : ( 1)))
29567 : return NULL;
29568 : return gen_split_1805 (insn, operands);
29569 :
29570 : case 3:
29571 : if (!((
29572 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29573 : ((64 == 64 || TARGET_AVX512VL
29574 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29575 : && ix86_pre_reload_split ()
29576 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29577 : STRIP_UNARY (operands[4]))
29578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29579 : STRIP_UNARY (operands[4]))
29580 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29581 : STRIP_UNARY (operands[3]))
29582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29583 : STRIP_UNARY (operands[3])))) &&
29584 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29585 : (TARGET_AVX512F)) &&
29586 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29587 : ( 1)))
29588 : return NULL;
29589 : return gen_split_1832 (insn, operands);
29590 :
29591 : case 4:
29592 : if (!((
29593 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29594 : ((32 == 64 || TARGET_AVX512VL
29595 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29596 : && ix86_pre_reload_split ()
29597 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29598 : STRIP_UNARY (operands[4]))
29599 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29600 : STRIP_UNARY (operands[4]))
29601 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29602 : STRIP_UNARY (operands[3]))
29603 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29604 : STRIP_UNARY (operands[3])))) &&
29605 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29606 : (TARGET_AVX)) &&
29607 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29608 : ( 1)))
29609 : return NULL;
29610 : return gen_split_1859 (insn, operands);
29611 :
29612 : case 5:
29613 : if (!(
29614 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29615 : ((16 == 64 || TARGET_AVX512VL
29616 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29617 : && ix86_pre_reload_split ()
29618 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29619 : STRIP_UNARY (operands[4]))
29620 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29621 : STRIP_UNARY (operands[4]))
29622 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29623 : STRIP_UNARY (operands[3]))
29624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29625 : STRIP_UNARY (operands[3])))) &&
29626 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29627 : ( 1)))
29628 : return NULL;
29629 : return gen_split_1886 (insn, operands);
29630 :
29631 : case 6:
29632 : if (!((
29633 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29634 : ((64 == 64 || TARGET_AVX512VL
29635 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29636 : && ix86_pre_reload_split ()
29637 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29638 : STRIP_UNARY (operands[4]))
29639 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29640 : STRIP_UNARY (operands[4]))
29641 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29642 : STRIP_UNARY (operands[3]))
29643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29644 : STRIP_UNARY (operands[3])))) &&
29645 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29646 : (TARGET_AVX512F)) &&
29647 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29648 : ( 1)))
29649 : return NULL;
29650 : return gen_split_1913 (insn, operands);
29651 :
29652 : case 7:
29653 : if (!((
29654 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29655 : ((32 == 64 || TARGET_AVX512VL
29656 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29657 : && ix86_pre_reload_split ()
29658 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29659 : STRIP_UNARY (operands[4]))
29660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29661 : STRIP_UNARY (operands[4]))
29662 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29663 : STRIP_UNARY (operands[3]))
29664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29665 : STRIP_UNARY (operands[3])))) &&
29666 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29667 : (TARGET_AVX)) &&
29668 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29669 : ( 1)))
29670 : return NULL;
29671 : return gen_split_1940 (insn, operands);
29672 :
29673 : case 8:
29674 : if (!(
29675 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29676 : ((16 == 64 || TARGET_AVX512VL
29677 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29678 : && ix86_pre_reload_split ()
29679 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29680 : STRIP_UNARY (operands[4]))
29681 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29682 : STRIP_UNARY (operands[4]))
29683 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29684 : STRIP_UNARY (operands[3]))
29685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29686 : STRIP_UNARY (operands[3])))) &&
29687 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29688 : ( 1)))
29689 : return NULL;
29690 : return gen_split_1967 (insn, operands);
29691 :
29692 : case 9:
29693 : if (!((
29694 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29695 : ((64 == 64 || TARGET_AVX512VL
29696 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29697 : && ix86_pre_reload_split ()
29698 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29699 : STRIP_UNARY (operands[4]))
29700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29701 : STRIP_UNARY (operands[4]))
29702 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29703 : STRIP_UNARY (operands[3]))
29704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29705 : STRIP_UNARY (operands[3])))) &&
29706 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29707 : (TARGET_AVX512F)) &&
29708 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29709 : ( 1)))
29710 : return NULL;
29711 : return gen_split_1994 (insn, operands);
29712 :
29713 : case 10:
29714 : if (!((
29715 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29716 : ((32 == 64 || TARGET_AVX512VL
29717 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29718 : && ix86_pre_reload_split ()
29719 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29720 : STRIP_UNARY (operands[4]))
29721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29722 : STRIP_UNARY (operands[4]))
29723 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29724 : STRIP_UNARY (operands[3]))
29725 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29726 : STRIP_UNARY (operands[3])))) &&
29727 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29728 : (TARGET_AVX)) &&
29729 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29730 : ( 1)))
29731 : return NULL;
29732 : return gen_split_2021 (insn, operands);
29733 :
29734 : case 11:
29735 : if (!(
29736 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29737 : ((16 == 64 || TARGET_AVX512VL
29738 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29739 : && ix86_pre_reload_split ()
29740 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29741 : STRIP_UNARY (operands[4]))
29742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29743 : STRIP_UNARY (operands[4]))
29744 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29745 : STRIP_UNARY (operands[3]))
29746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29747 : STRIP_UNARY (operands[3])))) &&
29748 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29749 : ( 1)))
29750 : return NULL;
29751 : return gen_split_2048 (insn, operands);
29752 :
29753 : case 12:
29754 : if (!((
29755 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29756 : ((64 == 64 || TARGET_AVX512VL
29757 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29758 : && ix86_pre_reload_split ()
29759 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29760 : STRIP_UNARY (operands[4]))
29761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29762 : STRIP_UNARY (operands[4]))
29763 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29764 : STRIP_UNARY (operands[3]))
29765 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29766 : STRIP_UNARY (operands[3])))) &&
29767 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29768 : (TARGET_AVX512F)) &&
29769 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29770 : ( 1)))
29771 : return NULL;
29772 : return gen_split_1754 (insn, operands);
29773 :
29774 : case 13:
29775 : if (!((
29776 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29777 : ((32 == 64 || TARGET_AVX512VL
29778 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29779 : && ix86_pre_reload_split ()
29780 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29781 : STRIP_UNARY (operands[4]))
29782 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29783 : STRIP_UNARY (operands[4]))
29784 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29785 : STRIP_UNARY (operands[3]))
29786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29787 : STRIP_UNARY (operands[3])))) &&
29788 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29789 : (TARGET_AVX)) &&
29790 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29791 : ( 1)))
29792 : return NULL;
29793 : return gen_split_1781 (insn, operands);
29794 :
29795 : case 14:
29796 : if (!(
29797 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29798 : ((16 == 64 || TARGET_AVX512VL
29799 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29800 : && ix86_pre_reload_split ()
29801 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29802 : STRIP_UNARY (operands[4]))
29803 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29804 : STRIP_UNARY (operands[4]))
29805 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29806 : STRIP_UNARY (operands[3]))
29807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29808 : STRIP_UNARY (operands[3])))) &&
29809 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29810 : ( 1)))
29811 : return NULL;
29812 : return gen_split_1808 (insn, operands);
29813 :
29814 : case 15:
29815 : if (!((
29816 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29817 : ((64 == 64 || TARGET_AVX512VL
29818 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29819 : && ix86_pre_reload_split ()
29820 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29821 : STRIP_UNARY (operands[4]))
29822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29823 : STRIP_UNARY (operands[4]))
29824 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29825 : STRIP_UNARY (operands[3]))
29826 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29827 : STRIP_UNARY (operands[3])))) &&
29828 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29829 : (TARGET_AVX512F)) &&
29830 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29831 : ( 1)))
29832 : return NULL;
29833 : return gen_split_1835 (insn, operands);
29834 :
29835 : case 16:
29836 : if (!((
29837 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29838 : ((32 == 64 || TARGET_AVX512VL
29839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29840 : && ix86_pre_reload_split ()
29841 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29842 : STRIP_UNARY (operands[4]))
29843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29844 : STRIP_UNARY (operands[4]))
29845 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29846 : STRIP_UNARY (operands[3]))
29847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29848 : STRIP_UNARY (operands[3])))) &&
29849 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29850 : (TARGET_AVX)) &&
29851 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29852 : ( 1)))
29853 : return NULL;
29854 : return gen_split_1862 (insn, operands);
29855 :
29856 : case 17:
29857 : if (!(
29858 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29859 : ((16 == 64 || TARGET_AVX512VL
29860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29861 : && ix86_pre_reload_split ()
29862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29863 : STRIP_UNARY (operands[4]))
29864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29865 : STRIP_UNARY (operands[4]))
29866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29867 : STRIP_UNARY (operands[3]))
29868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29869 : STRIP_UNARY (operands[3])))) &&
29870 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29871 : ( 1)))
29872 : return NULL;
29873 : return gen_split_1889 (insn, operands);
29874 :
29875 : case 18:
29876 : if (!((
29877 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29878 : ((64 == 64 || TARGET_AVX512VL
29879 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29880 : && ix86_pre_reload_split ()
29881 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29882 : STRIP_UNARY (operands[4]))
29883 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29884 : STRIP_UNARY (operands[4]))
29885 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29886 : STRIP_UNARY (operands[3]))
29887 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29888 : STRIP_UNARY (operands[3])))) &&
29889 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29890 : (TARGET_AVX512F)) &&
29891 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29892 : ( 1)))
29893 : return NULL;
29894 : return gen_split_1916 (insn, operands);
29895 :
29896 : case 19:
29897 : if (!((
29898 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29899 : ((32 == 64 || TARGET_AVX512VL
29900 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29901 : && ix86_pre_reload_split ()
29902 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29903 : STRIP_UNARY (operands[4]))
29904 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29905 : STRIP_UNARY (operands[4]))
29906 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29907 : STRIP_UNARY (operands[3]))
29908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29909 : STRIP_UNARY (operands[3])))) &&
29910 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29911 : (TARGET_AVX)) &&
29912 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29913 : ( 1)))
29914 : return NULL;
29915 : return gen_split_1943 (insn, operands);
29916 :
29917 : case 20:
29918 : if (!(
29919 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29920 : ((16 == 64 || TARGET_AVX512VL
29921 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29922 : && ix86_pre_reload_split ()
29923 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29924 : STRIP_UNARY (operands[4]))
29925 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29926 : STRIP_UNARY (operands[4]))
29927 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29928 : STRIP_UNARY (operands[3]))
29929 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29930 : STRIP_UNARY (operands[3])))) &&
29931 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29932 : ( 1)))
29933 : return NULL;
29934 : return gen_split_1970 (insn, operands);
29935 :
29936 : case 21:
29937 : if (!((
29938 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29939 : ((64 == 64 || TARGET_AVX512VL
29940 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29941 : && ix86_pre_reload_split ()
29942 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29943 : STRIP_UNARY (operands[4]))
29944 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29945 : STRIP_UNARY (operands[4]))
29946 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29947 : STRIP_UNARY (operands[3]))
29948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29949 : STRIP_UNARY (operands[3])))) &&
29950 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29951 : (TARGET_AVX512F)) &&
29952 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29953 : ( 1)))
29954 : return NULL;
29955 : return gen_split_1997 (insn, operands);
29956 :
29957 : case 22:
29958 : if (!((
29959 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29960 : ((32 == 64 || TARGET_AVX512VL
29961 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29962 : && ix86_pre_reload_split ()
29963 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29964 : STRIP_UNARY (operands[4]))
29965 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29966 : STRIP_UNARY (operands[4]))
29967 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29968 : STRIP_UNARY (operands[3]))
29969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29970 : STRIP_UNARY (operands[3])))) &&
29971 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29972 : (TARGET_AVX)) &&
29973 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29974 : ( 1)))
29975 : return NULL;
29976 : return gen_split_2024 (insn, operands);
29977 :
29978 : case 23:
29979 : if (!(
29980 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29981 : ((16 == 64 || TARGET_AVX512VL
29982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29983 : && ix86_pre_reload_split ()
29984 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29985 : STRIP_UNARY (operands[4]))
29986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29987 : STRIP_UNARY (operands[4]))
29988 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29989 : STRIP_UNARY (operands[3]))
29990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29991 : STRIP_UNARY (operands[3])))) &&
29992 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29993 : ( 1)))
29994 : return NULL;
29995 : return gen_split_2051 (insn, operands);
29996 :
29997 : case 24:
29998 : if (!((
29999 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30000 : ((64 == 64 || TARGET_AVX512VL
30001 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30002 : && ix86_pre_reload_split ()
30003 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30004 : STRIP_UNARY (operands[4]))
30005 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30006 : STRIP_UNARY (operands[4]))
30007 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30008 : STRIP_UNARY (operands[3]))
30009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30010 : STRIP_UNARY (operands[3])))) &&
30011 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30012 : (TARGET_AVX512F)) &&
30013 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30014 : ( 1)))
30015 : return NULL;
30016 : return gen_split_1757 (insn, operands);
30017 :
30018 : case 25:
30019 : if (!((
30020 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30021 : ((32 == 64 || TARGET_AVX512VL
30022 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30023 : && ix86_pre_reload_split ()
30024 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30025 : STRIP_UNARY (operands[4]))
30026 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30027 : STRIP_UNARY (operands[4]))
30028 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30029 : STRIP_UNARY (operands[3]))
30030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30031 : STRIP_UNARY (operands[3])))) &&
30032 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30033 : (TARGET_AVX)) &&
30034 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30035 : ( 1)))
30036 : return NULL;
30037 : return gen_split_1784 (insn, operands);
30038 :
30039 : case 26:
30040 : if (!(
30041 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30042 : ((16 == 64 || TARGET_AVX512VL
30043 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30044 : && ix86_pre_reload_split ()
30045 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30046 : STRIP_UNARY (operands[4]))
30047 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30048 : STRIP_UNARY (operands[4]))
30049 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30050 : STRIP_UNARY (operands[3]))
30051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30052 : STRIP_UNARY (operands[3])))) &&
30053 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30054 : ( 1)))
30055 : return NULL;
30056 : return gen_split_1811 (insn, operands);
30057 :
30058 : case 27:
30059 : if (!((
30060 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30061 : ((64 == 64 || TARGET_AVX512VL
30062 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30063 : && ix86_pre_reload_split ()
30064 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30065 : STRIP_UNARY (operands[4]))
30066 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30067 : STRIP_UNARY (operands[4]))
30068 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30069 : STRIP_UNARY (operands[3]))
30070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30071 : STRIP_UNARY (operands[3])))) &&
30072 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30073 : (TARGET_AVX512F)) &&
30074 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30075 : ( 1)))
30076 : return NULL;
30077 : return gen_split_1838 (insn, operands);
30078 :
30079 : case 28:
30080 : if (!((
30081 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30082 : ((32 == 64 || TARGET_AVX512VL
30083 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30084 : && ix86_pre_reload_split ()
30085 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30086 : STRIP_UNARY (operands[4]))
30087 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30088 : STRIP_UNARY (operands[4]))
30089 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30090 : STRIP_UNARY (operands[3]))
30091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30092 : STRIP_UNARY (operands[3])))) &&
30093 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30094 : (TARGET_AVX)) &&
30095 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30096 : ( 1)))
30097 : return NULL;
30098 : return gen_split_1865 (insn, operands);
30099 :
30100 : case 29:
30101 : if (!(
30102 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30103 : ((16 == 64 || TARGET_AVX512VL
30104 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30105 : && ix86_pre_reload_split ()
30106 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30107 : STRIP_UNARY (operands[4]))
30108 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30109 : STRIP_UNARY (operands[4]))
30110 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30111 : STRIP_UNARY (operands[3]))
30112 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30113 : STRIP_UNARY (operands[3])))) &&
30114 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30115 : ( 1)))
30116 : return NULL;
30117 : return gen_split_1892 (insn, operands);
30118 :
30119 : case 30:
30120 : if (!((
30121 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30122 : ((64 == 64 || TARGET_AVX512VL
30123 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30124 : && ix86_pre_reload_split ()
30125 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30126 : STRIP_UNARY (operands[4]))
30127 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30128 : STRIP_UNARY (operands[4]))
30129 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30130 : STRIP_UNARY (operands[3]))
30131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30132 : STRIP_UNARY (operands[3])))) &&
30133 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30134 : (TARGET_AVX512F)) &&
30135 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30136 : ( 1)))
30137 : return NULL;
30138 : return gen_split_1919 (insn, operands);
30139 :
30140 : case 31:
30141 : if (!((
30142 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30143 : ((32 == 64 || TARGET_AVX512VL
30144 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30145 : && ix86_pre_reload_split ()
30146 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30147 : STRIP_UNARY (operands[4]))
30148 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30149 : STRIP_UNARY (operands[4]))
30150 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30151 : STRIP_UNARY (operands[3]))
30152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30153 : STRIP_UNARY (operands[3])))) &&
30154 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30155 : (TARGET_AVX)) &&
30156 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30157 : ( 1)))
30158 : return NULL;
30159 : return gen_split_1946 (insn, operands);
30160 :
30161 : case 32:
30162 : if (!(
30163 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30164 : ((16 == 64 || TARGET_AVX512VL
30165 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30166 : && ix86_pre_reload_split ()
30167 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30168 : STRIP_UNARY (operands[4]))
30169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30170 : STRIP_UNARY (operands[4]))
30171 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30172 : STRIP_UNARY (operands[3]))
30173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30174 : STRIP_UNARY (operands[3])))) &&
30175 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30176 : ( 1)))
30177 : return NULL;
30178 : return gen_split_1973 (insn, operands);
30179 :
30180 : case 33:
30181 : if (!((
30182 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30183 : ((64 == 64 || TARGET_AVX512VL
30184 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30185 : && ix86_pre_reload_split ()
30186 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30187 : STRIP_UNARY (operands[4]))
30188 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30189 : STRIP_UNARY (operands[4]))
30190 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30191 : STRIP_UNARY (operands[3]))
30192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30193 : STRIP_UNARY (operands[3])))) &&
30194 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30195 : (TARGET_AVX512F)) &&
30196 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30197 : ( 1)))
30198 : return NULL;
30199 : return gen_split_2000 (insn, operands);
30200 :
30201 : case 34:
30202 : if (!((
30203 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30204 : ((32 == 64 || TARGET_AVX512VL
30205 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30206 : && ix86_pre_reload_split ()
30207 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30208 : STRIP_UNARY (operands[4]))
30209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30210 : STRIP_UNARY (operands[4]))
30211 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30212 : STRIP_UNARY (operands[3]))
30213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30214 : STRIP_UNARY (operands[3])))) &&
30215 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30216 : (TARGET_AVX)) &&
30217 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30218 : ( 1)))
30219 : return NULL;
30220 : return gen_split_2027 (insn, operands);
30221 :
30222 : case 35:
30223 : if (!(
30224 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30225 : ((16 == 64 || TARGET_AVX512VL
30226 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30227 : && ix86_pre_reload_split ()
30228 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30229 : STRIP_UNARY (operands[4]))
30230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30231 : STRIP_UNARY (operands[4]))
30232 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30233 : STRIP_UNARY (operands[3]))
30234 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30235 : STRIP_UNARY (operands[3])))) &&
30236 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30237 : ( 1)))
30238 : return NULL;
30239 : return gen_split_2054 (insn, operands);
30240 :
30241 : case 36:
30242 : if (!((
30243 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30244 : ((64 == 64 || TARGET_AVX512VL
30245 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30246 : && ix86_pre_reload_split ()) &&
30247 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30248 : (TARGET_AVX512F)) &&
30249 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30250 : ( 1)))
30251 : return NULL;
30252 : return gen_split_3041 (insn, operands);
30253 :
30254 : case 37:
30255 : if (!((
30256 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30257 : ((32 == 64 || TARGET_AVX512VL
30258 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30259 : && ix86_pre_reload_split ()) &&
30260 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30261 : (TARGET_AVX)) &&
30262 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30263 : ( 1)))
30264 : return NULL;
30265 : return gen_split_3050 (insn, operands);
30266 :
30267 : case 38:
30268 : if (!(
30269 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30270 : ((16 == 64 || TARGET_AVX512VL
30271 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30272 : && ix86_pre_reload_split ()) &&
30273 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30274 : ( 1)))
30275 : return NULL;
30276 : return gen_split_3059 (insn, operands);
30277 :
30278 : case 39:
30279 : if (!((
30280 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30281 : ((64 == 64 || TARGET_AVX512VL
30282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30283 : && ix86_pre_reload_split ()) &&
30284 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30285 : (TARGET_AVX512F)) &&
30286 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30287 : ( 1)))
30288 : return NULL;
30289 : return gen_split_3068 (insn, operands);
30290 :
30291 : case 40:
30292 : if (!((
30293 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30294 : ((32 == 64 || TARGET_AVX512VL
30295 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30296 : && ix86_pre_reload_split ()) &&
30297 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30298 : (TARGET_AVX)) &&
30299 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30300 : ( 1)))
30301 : return NULL;
30302 : return gen_split_3077 (insn, operands);
30303 :
30304 : case 41:
30305 : if (!(
30306 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30307 : ((16 == 64 || TARGET_AVX512VL
30308 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30309 : && ix86_pre_reload_split ()) &&
30310 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30311 : ( 1)))
30312 : return NULL;
30313 : return gen_split_3086 (insn, operands);
30314 :
30315 : case 42:
30316 : if (!((
30317 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30318 : ((64 == 64 || TARGET_AVX512VL
30319 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30320 : && ix86_pre_reload_split ()) &&
30321 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30322 : (TARGET_AVX512F)) &&
30323 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30324 : ( 1)))
30325 : return NULL;
30326 : return gen_split_3095 (insn, operands);
30327 :
30328 : case 43:
30329 : if (!((
30330 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30331 : ((32 == 64 || TARGET_AVX512VL
30332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30333 : && ix86_pre_reload_split ()) &&
30334 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30335 : (TARGET_AVX)) &&
30336 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30337 : ( 1)))
30338 : return NULL;
30339 : return gen_split_3104 (insn, operands);
30340 :
30341 : case 44:
30342 : if (!(
30343 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30344 : ((16 == 64 || TARGET_AVX512VL
30345 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30346 : && ix86_pre_reload_split ()) &&
30347 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30348 : ( 1)))
30349 : return NULL;
30350 : return gen_split_3113 (insn, operands);
30351 :
30352 : case 45:
30353 : if (!((
30354 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30355 : ((64 == 64 || TARGET_AVX512VL
30356 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30357 : && ix86_pre_reload_split ()) &&
30358 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30359 : (TARGET_AVX512F)) &&
30360 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30361 : ( 1)))
30362 : return NULL;
30363 : return gen_split_3122 (insn, operands);
30364 :
30365 : case 46:
30366 : if (!((
30367 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30368 : ((32 == 64 || TARGET_AVX512VL
30369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30370 : && ix86_pre_reload_split ()) &&
30371 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30372 : (TARGET_AVX)) &&
30373 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30374 : ( 1)))
30375 : return NULL;
30376 : return gen_split_3131 (insn, operands);
30377 :
30378 : case 47:
30379 : if (!(
30380 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30381 : ((16 == 64 || TARGET_AVX512VL
30382 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30383 : && ix86_pre_reload_split ()) &&
30384 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30385 : ( 1)))
30386 : return NULL;
30387 : return gen_split_3140 (insn, operands);
30388 :
30389 : default:
30390 : return NULL;
30391 : }
30392 :
30393 : case AND:
30394 : switch (pattern537 (x2))
30395 : {
30396 : case 0:
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 345 "/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_2399 (insn, operands);
30416 :
30417 : case 1:
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 345 "/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_2426 (insn, operands);
30437 :
30438 : case 2:
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_2453 (insn, operands);
30456 :
30457 : case 3:
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 346 "/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_2480 (insn, operands);
30477 :
30478 : case 4:
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 346 "/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_2507 (insn, operands);
30498 :
30499 : case 5:
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_2534 (insn, operands);
30517 :
30518 : case 6:
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 347 "/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_2561 (insn, operands);
30538 :
30539 : case 7:
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 347 "/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_2588 (insn, operands);
30559 :
30560 : case 8:
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_2615 (insn, operands);
30578 :
30579 : case 9:
30580 : if (!((
30581 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30582 : ((64 == 64 || TARGET_AVX512VL
30583 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30584 : && ix86_pre_reload_split ()
30585 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30586 : STRIP_UNARY (operands[4]))
30587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30588 : STRIP_UNARY (operands[4]))
30589 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30590 : STRIP_UNARY (operands[3]))
30591 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30592 : STRIP_UNARY (operands[3])))) &&
30593 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30594 : (TARGET_AVX512F)) &&
30595 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30596 : ( 1)))
30597 : return NULL;
30598 : return gen_split_2642 (insn, operands);
30599 :
30600 : case 10:
30601 : if (!((
30602 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30603 : ((32 == 64 || TARGET_AVX512VL
30604 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30605 : && ix86_pre_reload_split ()
30606 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30607 : STRIP_UNARY (operands[4]))
30608 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30609 : STRIP_UNARY (operands[4]))
30610 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30611 : STRIP_UNARY (operands[3]))
30612 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30613 : STRIP_UNARY (operands[3])))) &&
30614 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30615 : (TARGET_AVX)) &&
30616 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30617 : ( 1)))
30618 : return NULL;
30619 : return gen_split_2669 (insn, operands);
30620 :
30621 : case 11:
30622 : if (!(
30623 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30624 : ((16 == 64 || TARGET_AVX512VL
30625 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30626 : && ix86_pre_reload_split ()
30627 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30628 : STRIP_UNARY (operands[4]))
30629 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30630 : STRIP_UNARY (operands[4]))
30631 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30632 : STRIP_UNARY (operands[3]))
30633 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30634 : STRIP_UNARY (operands[3])))) &&
30635 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30636 : ( 1)))
30637 : return NULL;
30638 : return gen_split_2696 (insn, operands);
30639 :
30640 : default:
30641 : return NULL;
30642 : }
30643 :
30644 : case IOR:
30645 : switch (pattern537 (x2))
30646 : {
30647 : case 0:
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 345 "/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_2402 (insn, operands);
30667 :
30668 : case 1:
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 345 "/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_2429 (insn, operands);
30688 :
30689 : case 2:
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_2456 (insn, operands);
30707 :
30708 : case 3:
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 346 "/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_2483 (insn, operands);
30728 :
30729 : case 4:
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 346 "/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_2510 (insn, operands);
30749 :
30750 : case 5:
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_2537 (insn, operands);
30768 :
30769 : case 6:
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 347 "/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_2564 (insn, operands);
30789 :
30790 : case 7:
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 347 "/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_2591 (insn, operands);
30810 :
30811 : case 8:
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_2618 (insn, operands);
30829 :
30830 : case 9:
30831 : if (!((
30832 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30833 : ((64 == 64 || TARGET_AVX512VL
30834 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30835 : && ix86_pre_reload_split ()
30836 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30837 : STRIP_UNARY (operands[4]))
30838 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30839 : STRIP_UNARY (operands[4]))
30840 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30841 : STRIP_UNARY (operands[3]))
30842 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30843 : STRIP_UNARY (operands[3])))) &&
30844 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30845 : (TARGET_AVX512F)) &&
30846 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30847 : ( 1)))
30848 : return NULL;
30849 : return gen_split_2645 (insn, operands);
30850 :
30851 : case 10:
30852 : if (!((
30853 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30854 : ((32 == 64 || TARGET_AVX512VL
30855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30856 : && ix86_pre_reload_split ()
30857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30858 : STRIP_UNARY (operands[4]))
30859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30860 : STRIP_UNARY (operands[4]))
30861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30862 : STRIP_UNARY (operands[3]))
30863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30864 : STRIP_UNARY (operands[3])))) &&
30865 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30866 : (TARGET_AVX)) &&
30867 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30868 : ( 1)))
30869 : return NULL;
30870 : return gen_split_2672 (insn, operands);
30871 :
30872 : case 11:
30873 : if (!(
30874 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30875 : ((16 == 64 || TARGET_AVX512VL
30876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30877 : && ix86_pre_reload_split ()
30878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30879 : STRIP_UNARY (operands[4]))
30880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30881 : STRIP_UNARY (operands[4]))
30882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30883 : STRIP_UNARY (operands[3]))
30884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30885 : STRIP_UNARY (operands[3])))) &&
30886 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : ( 1)))
30888 : return NULL;
30889 : return gen_split_2699 (insn, operands);
30890 :
30891 : default:
30892 : return NULL;
30893 : }
30894 :
30895 : case XOR:
30896 : switch (pattern537 (x2))
30897 : {
30898 : case 0:
30899 : if (!((
30900 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30901 : ((64 == 64 || TARGET_AVX512VL
30902 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30903 : && ix86_pre_reload_split ()
30904 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30905 : STRIP_UNARY (operands[4]))
30906 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30907 : STRIP_UNARY (operands[4]))
30908 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30909 : STRIP_UNARY (operands[3]))
30910 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30911 : STRIP_UNARY (operands[3])))) &&
30912 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30913 : (TARGET_AVX512F)) &&
30914 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30915 : ( 1)))
30916 : return NULL;
30917 : return gen_split_2405 (insn, operands);
30918 :
30919 : case 1:
30920 : if (!((
30921 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30922 : ((32 == 64 || TARGET_AVX512VL
30923 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30924 : && ix86_pre_reload_split ()
30925 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30926 : STRIP_UNARY (operands[4]))
30927 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30928 : STRIP_UNARY (operands[4]))
30929 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30930 : STRIP_UNARY (operands[3]))
30931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30932 : STRIP_UNARY (operands[3])))) &&
30933 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30934 : (TARGET_AVX)) &&
30935 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : ( 1)))
30937 : return NULL;
30938 : return gen_split_2432 (insn, operands);
30939 :
30940 : case 2:
30941 : if (!(
30942 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30943 : ((16 == 64 || TARGET_AVX512VL
30944 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30945 : && ix86_pre_reload_split ()
30946 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30947 : STRIP_UNARY (operands[4]))
30948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30949 : STRIP_UNARY (operands[4]))
30950 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30951 : STRIP_UNARY (operands[3]))
30952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30953 : STRIP_UNARY (operands[3])))) &&
30954 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30955 : ( 1)))
30956 : return NULL;
30957 : return gen_split_2459 (insn, operands);
30958 :
30959 : case 3:
30960 : if (!((
30961 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30962 : ((64 == 64 || TARGET_AVX512VL
30963 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30964 : && ix86_pre_reload_split ()
30965 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30966 : STRIP_UNARY (operands[4]))
30967 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30968 : STRIP_UNARY (operands[4]))
30969 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30970 : STRIP_UNARY (operands[3]))
30971 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30972 : STRIP_UNARY (operands[3])))) &&
30973 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30974 : (TARGET_AVX512F)) &&
30975 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30976 : ( 1)))
30977 : return NULL;
30978 : return gen_split_2486 (insn, operands);
30979 :
30980 : case 4:
30981 : if (!((
30982 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30983 : ((32 == 64 || TARGET_AVX512VL
30984 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30985 : && ix86_pre_reload_split ()
30986 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30987 : STRIP_UNARY (operands[4]))
30988 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30989 : STRIP_UNARY (operands[4]))
30990 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30991 : STRIP_UNARY (operands[3]))
30992 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30993 : STRIP_UNARY (operands[3])))) &&
30994 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30995 : (TARGET_AVX)) &&
30996 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30997 : ( 1)))
30998 : return NULL;
30999 : return gen_split_2513 (insn, operands);
31000 :
31001 : case 5:
31002 : if (!(
31003 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31004 : ((16 == 64 || TARGET_AVX512VL
31005 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31006 : && ix86_pre_reload_split ()
31007 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31008 : STRIP_UNARY (operands[4]))
31009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31010 : STRIP_UNARY (operands[4]))
31011 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31012 : STRIP_UNARY (operands[3]))
31013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31014 : STRIP_UNARY (operands[3])))) &&
31015 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31016 : ( 1)))
31017 : return NULL;
31018 : return gen_split_2540 (insn, operands);
31019 :
31020 : case 6:
31021 : if (!((
31022 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31023 : ((64 == 64 || TARGET_AVX512VL
31024 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31025 : && ix86_pre_reload_split ()
31026 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31027 : STRIP_UNARY (operands[4]))
31028 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31029 : STRIP_UNARY (operands[4]))
31030 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31031 : STRIP_UNARY (operands[3]))
31032 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31033 : STRIP_UNARY (operands[3])))) &&
31034 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31035 : (TARGET_AVX512F)) &&
31036 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31037 : ( 1)))
31038 : return NULL;
31039 : return gen_split_2567 (insn, operands);
31040 :
31041 : case 7:
31042 : if (!((
31043 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31044 : ((32 == 64 || TARGET_AVX512VL
31045 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31046 : && ix86_pre_reload_split ()
31047 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31048 : STRIP_UNARY (operands[4]))
31049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31050 : STRIP_UNARY (operands[4]))
31051 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31052 : STRIP_UNARY (operands[3]))
31053 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31054 : STRIP_UNARY (operands[3])))) &&
31055 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31056 : (TARGET_AVX)) &&
31057 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31058 : ( 1)))
31059 : return NULL;
31060 : return gen_split_2594 (insn, operands);
31061 :
31062 : case 8:
31063 : if (!(
31064 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31065 : ((16 == 64 || TARGET_AVX512VL
31066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31067 : && ix86_pre_reload_split ()
31068 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31069 : STRIP_UNARY (operands[4]))
31070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31071 : STRIP_UNARY (operands[4]))
31072 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31073 : STRIP_UNARY (operands[3]))
31074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31075 : STRIP_UNARY (operands[3])))) &&
31076 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31077 : ( 1)))
31078 : return NULL;
31079 : return gen_split_2621 (insn, operands);
31080 :
31081 : case 9:
31082 : if (!((
31083 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31084 : ((64 == 64 || TARGET_AVX512VL
31085 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31086 : && ix86_pre_reload_split ()
31087 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31088 : STRIP_UNARY (operands[4]))
31089 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31090 : STRIP_UNARY (operands[4]))
31091 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31092 : STRIP_UNARY (operands[3]))
31093 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31094 : STRIP_UNARY (operands[3])))) &&
31095 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31096 : (TARGET_AVX512F)) &&
31097 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31098 : ( 1)))
31099 : return NULL;
31100 : return gen_split_2648 (insn, operands);
31101 :
31102 : case 10:
31103 : if (!((
31104 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31105 : ((32 == 64 || TARGET_AVX512VL
31106 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31107 : && ix86_pre_reload_split ()
31108 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31109 : STRIP_UNARY (operands[4]))
31110 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31111 : STRIP_UNARY (operands[4]))
31112 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31113 : STRIP_UNARY (operands[3]))
31114 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31115 : STRIP_UNARY (operands[3])))) &&
31116 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31117 : (TARGET_AVX)) &&
31118 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31119 : ( 1)))
31120 : return NULL;
31121 : return gen_split_2675 (insn, operands);
31122 :
31123 : case 11:
31124 : if (!(
31125 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31126 : ((16 == 64 || TARGET_AVX512VL
31127 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31128 : && ix86_pre_reload_split ()
31129 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31130 : STRIP_UNARY (operands[4]))
31131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31132 : STRIP_UNARY (operands[4]))
31133 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31134 : STRIP_UNARY (operands[3]))
31135 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31136 : STRIP_UNARY (operands[3])))) &&
31137 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31138 : ( 1)))
31139 : return NULL;
31140 : return gen_split_2702 (insn, operands);
31141 :
31142 : default:
31143 : return NULL;
31144 : }
31145 :
31146 : default:
31147 : return NULL;
31148 : }
31149 :
31150 : case XOR:
31151 : return split_65 (x1, insn);
31152 :
31153 : case VEC_DUPLICATE:
31154 : switch (pattern605 (x2))
31155 : {
31156 : case 0:
31157 : if (!(
31158 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31159 : (64 == 64 || TARGET_AVX512VL
31160 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31161 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31162 : (TARGET_AVX512F)))
31163 : return NULL;
31164 : return gen_split_3450 (insn, operands);
31165 :
31166 : case 1:
31167 : if (!(
31168 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31169 : (64 == 64 || TARGET_AVX512VL
31170 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31171 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31172 : (TARGET_AVX512F)))
31173 : return NULL;
31174 : return gen_split_3451 (insn, operands);
31175 :
31176 : case 2:
31177 : if (!(
31178 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31179 : (64 == 64 || TARGET_AVX512VL
31180 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31181 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31182 : (TARGET_AVX512BW)))
31183 : return NULL;
31184 : return gen_split_3452 (insn, operands);
31185 :
31186 : case 3:
31187 : if (!(
31188 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31189 : (32 == 64 || TARGET_AVX512VL
31190 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31191 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31192 : (TARGET_AVX)))
31193 : return NULL;
31194 : return gen_split_3453 (insn, operands);
31195 :
31196 : case 4:
31197 : if (!
31198 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31199 : (16 == 64 || TARGET_AVX512VL
31200 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31201 : return NULL;
31202 : return gen_split_3454 (insn, operands);
31203 :
31204 : case 5:
31205 : if (!(
31206 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31207 : (64 == 64 || TARGET_AVX512VL
31208 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31209 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31210 : (TARGET_AVX512BW)))
31211 : return NULL;
31212 : return gen_split_3455 (insn, operands);
31213 :
31214 : case 6:
31215 : if (!(
31216 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31217 : (32 == 64 || TARGET_AVX512VL
31218 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31219 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31220 : (TARGET_AVX)))
31221 : return NULL;
31222 : return gen_split_3456 (insn, operands);
31223 :
31224 : case 7:
31225 : if (!
31226 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31227 : (16 == 64 || TARGET_AVX512VL
31228 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31229 : return NULL;
31230 : return gen_split_3457 (insn, operands);
31231 :
31232 : case 8:
31233 : if (!(
31234 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31235 : (32 == 64 || TARGET_AVX512VL
31236 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31237 : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31238 : (TARGET_AVX)))
31239 : return NULL;
31240 : return gen_split_3458 (insn, operands);
31241 :
31242 : case 9:
31243 : if (!
31244 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31245 : (16 == 64 || TARGET_AVX512VL
31246 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31247 : return NULL;
31248 : return gen_split_3459 (insn, operands);
31249 :
31250 : case 10:
31251 : if (!(
31252 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31253 : (32 == 64 || TARGET_AVX512VL
31254 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)) &&
31255 : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31256 : (TARGET_AVX)))
31257 : return NULL;
31258 : return gen_split_3460 (insn, operands);
31259 :
31260 : case 11:
31261 : if (!
31262 : #line 18986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31263 : (16 == 64 || TARGET_AVX512VL
31264 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256)))
31265 : return NULL;
31266 : return gen_split_3461 (insn, operands);
31267 :
31268 : default:
31269 : return NULL;
31270 : }
31271 :
31272 : default:
31273 : return NULL;
31274 : }
31275 : }
31276 :
31277 : rtx_insn *
31278 : peephole2_16 (rtx x1 ATTRIBUTE_UNUSED,
31279 : rtx_insn *insn ATTRIBUTE_UNUSED,
31280 : int *pmatch_len_ ATTRIBUTE_UNUSED)
31281 : {
31282 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31283 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31284 : rtx x10, x11, x12, x13;
31285 : rtx_insn *res ATTRIBUTE_UNUSED;
31286 : x2 = XEXP (x1, 1);
31287 : operands[1] = x2;
31288 : if (register_operand (operands[0], E_DImode))
31289 : {
31290 : res = peephole2_15 (x1, insn, pmatch_len_);
31291 : if (res != NULL_RTX)
31292 : return res;
31293 : }
31294 : if (peep2_current_count < 2
31295 : || peep2_current_count < 3
31296 : || !general_reg_operand (operands[0], E_DImode))
31297 : return NULL;
31298 : x3 = PATTERN (peep2_next_insn (1));
31299 : if (GET_CODE (x3) == PARALLEL
31300 : && XVECLEN (x3, 0) == 2)
31301 : {
31302 : x4 = XVECEXP (x3, 0, 0);
31303 : if (GET_CODE (x4) == SET)
31304 : {
31305 : if (memory_operand (operands[1], E_DImode))
31306 : {
31307 : switch (pattern1205 (x3,
31308 : E_DImode,
31309 : E_TImode))
31310 : {
31311 : case 0:
31312 : if ((
31313 : #line 8720 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31314 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31315 : && peep2_reg_dead_p (3, operands[0])
31316 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31317 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31318 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31319 : (TARGET_64BIT)))
31320 : {
31321 : *pmatch_len_ = 2;
31322 : res = gen_peephole2_77 (insn, operands);
31323 : if (res != NULL_RTX)
31324 : return res;
31325 : }
31326 : break;
31327 :
31328 : case 1:
31329 : if ((
31330 : #line 8747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31331 : (TARGET_APX_NDD
31332 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31333 : && peep2_reg_dead_p (3, operands[0])
31334 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31335 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31336 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31337 : (TARGET_64BIT)))
31338 : {
31339 : *pmatch_len_ = 2;
31340 : res = gen_peephole2_81 (insn, operands);
31341 : if (res != NULL_RTX)
31342 : return res;
31343 : }
31344 : break;
31345 :
31346 : case 2:
31347 : if ((
31348 : #line 9250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31349 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31350 : && peep2_reg_dead_p (3, operands[0])
31351 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31352 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31353 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31354 : (TARGET_64BIT)))
31355 : {
31356 : *pmatch_len_ = 2;
31357 : res = gen_peephole2_97 (insn, operands);
31358 : if (res != NULL_RTX)
31359 : return res;
31360 : }
31361 : break;
31362 :
31363 : case 3:
31364 : x5 = PATTERN (peep2_next_insn (2));
31365 : x6 = XEXP (x5, 0);
31366 : if (rtx_equal_p (x6, operands[1])
31367 : && (
31368 : #line 9306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31369 : (TARGET_APX_NDD
31370 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31371 : && peep2_reg_dead_p (3, operands[0])
31372 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31373 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31374 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31375 : (TARGET_64BIT)))
31376 : {
31377 : *pmatch_len_ = 2;
31378 : res = gen_peephole2_99 (insn, operands);
31379 : if (res != NULL_RTX)
31380 : return res;
31381 : }
31382 : if (rtx_equal_p (x6, operands[2])
31383 : && (
31384 : #line 9361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31385 : (TARGET_APX_NDD
31386 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31387 : && peep2_reg_dead_p (3, operands[0])
31388 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31389 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31390 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31391 : (TARGET_64BIT)))
31392 : {
31393 : *pmatch_len_ = 2;
31394 : res = gen_peephole2_101 (insn, operands);
31395 : if (res != NULL_RTX)
31396 : return res;
31397 : }
31398 : break;
31399 :
31400 : case 4:
31401 : if ((
31402 : #line 9918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31403 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31404 : && peep2_reg_dead_p (3, operands[0])
31405 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31406 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31407 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31408 : (TARGET_64BIT)))
31409 : {
31410 : *pmatch_len_ = 2;
31411 : res = gen_peephole2_113 (insn, operands);
31412 : if (res != NULL_RTX)
31413 : return res;
31414 : }
31415 : break;
31416 :
31417 : case 5:
31418 : if ((
31419 : #line 9963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31420 : (TARGET_APX_NDD
31421 : && (TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31422 : && peep2_reg_dead_p (3, operands[0])
31423 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31424 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31425 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31426 : (TARGET_64BIT)))
31427 : {
31428 : *pmatch_len_ = 2;
31429 : res = gen_peephole2_115 (insn, operands);
31430 : if (res != NULL_RTX)
31431 : return res;
31432 : }
31433 : break;
31434 :
31435 : case 6:
31436 : if ((
31437 : #line 10330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31438 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31439 : && peep2_reg_dead_p (3, operands[0])
31440 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31441 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31442 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31443 : (TARGET_64BIT)))
31444 : {
31445 : *pmatch_len_ = 2;
31446 : res = gen_peephole2_127 (insn, operands);
31447 : if (res != NULL_RTX)
31448 : return res;
31449 : }
31450 : break;
31451 :
31452 : case 7:
31453 : if ((
31454 : #line 8865 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31455 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31456 : && peep2_reg_dead_p (3, operands[0])
31457 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31458 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31459 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31460 : (TARGET_64BIT)))
31461 : {
31462 : *pmatch_len_ = 2;
31463 : res = gen_peephole2_89 (insn, operands);
31464 : if (res != NULL_RTX)
31465 : return res;
31466 : }
31467 : break;
31468 :
31469 : case 8:
31470 : if ((
31471 : #line 8891 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31472 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31473 : && peep2_reg_dead_p (3, operands[0])
31474 : && peep2_reg_dead_p (4, operands[5])
31475 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31476 : && !reg_overlap_mentioned_p (operands[0], operands[2])
31477 : && !reg_overlap_mentioned_p (operands[5], operands[1])) &&
31478 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31479 : (TARGET_64BIT)))
31480 : {
31481 : *pmatch_len_ = 3;
31482 : res = gen_peephole2_93 (insn, operands);
31483 : if (res != NULL_RTX)
31484 : return res;
31485 : }
31486 : break;
31487 :
31488 : case 9:
31489 : if ((
31490 : #line 9530 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31491 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31492 : && peep2_reg_dead_p (3, operands[0])
31493 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31494 : && !reg_overlap_mentioned_p (operands[0], operands[2])) &&
31495 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31496 : (TARGET_64BIT)))
31497 : {
31498 : *pmatch_len_ = 2;
31499 : res = gen_peephole2_107 (insn, operands);
31500 : if (res != NULL_RTX)
31501 : return res;
31502 : }
31503 : break;
31504 :
31505 : case 10:
31506 : if ((
31507 : #line 9556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31508 : ((TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())
31509 : && peep2_reg_dead_p (3, operands[0])
31510 : && peep2_reg_dead_p (4, operands[5])
31511 : && !reg_overlap_mentioned_p (operands[0], operands[1])
31512 : && !reg_overlap_mentioned_p (operands[0], operands[2])
31513 : && !reg_overlap_mentioned_p (operands[5], operands[1])) &&
31514 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31515 : (TARGET_64BIT)))
31516 : {
31517 : *pmatch_len_ = 3;
31518 : res = gen_peephole2_111 (insn, operands);
31519 : if (res != NULL_RTX)
31520 : return res;
31521 : }
31522 : break;
31523 :
31524 : default:
31525 : break;
31526 : }
31527 : }
31528 : if (peep2_current_count >= 4
31529 : && pattern1207 (x3,
31530 : E_DImode) == 0
31531 : && (
31532 : #line 14622 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31533 : (REGNO (operands[0]) != REGNO (operands[2])
31534 : && !reg_mentioned_p (operands[0], operands[1])
31535 : && !reg_mentioned_p (operands[2], operands[1])) &&
31536 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31537 : (TARGET_64BIT)))
31538 : {
31539 : *pmatch_len_ = 3;
31540 : res = gen_peephole2_168 (insn, operands);
31541 : if (res != NULL_RTX)
31542 : return res;
31543 : }
31544 : if (general_reg_operand (operands[1], E_DImode))
31545 : {
31546 : x5 = PATTERN (peep2_next_insn (2));
31547 : if (GET_CODE (x5) == SET)
31548 : {
31549 : x7 = XEXP (x4, 1);
31550 : if (GET_CODE (x7) == NEG
31551 : && pattern1355 (x3,
31552 : E_DImode) == 0
31553 : &&
31554 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31555 : (TARGET_64BIT))
31556 : {
31557 : *pmatch_len_ = 2;
31558 : res = gen_peephole2_174 (insn, operands);
31559 : if (res != NULL_RTX)
31560 : return res;
31561 : }
31562 : if (peep2_current_count >= 4
31563 : && pattern1357 (x3,
31564 : E_DImode) == 0
31565 : && (
31566 : #line 26950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31567 : (TARGET_CMOVE
31568 : && REGNO (operands[2]) != REGNO (operands[0])
31569 : && REGNO (operands[2]) != REGNO (operands[1])
31570 : && peep2_reg_dead_p (1, operands[1])
31571 : && peep2_reg_dead_p (4, operands[2])
31572 : && !reg_overlap_mentioned_p (operands[0], operands[3])) &&
31573 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31574 : (TARGET_64BIT)))
31575 : {
31576 : *pmatch_len_ = 3;
31577 : res = gen_peephole2_225 (insn, operands);
31578 : if (res != NULL_RTX)
31579 : return res;
31580 : }
31581 : }
31582 : }
31583 : }
31584 : }
31585 : if (!immediate_operand (operands[1], E_DImode)
31586 : || GET_CODE (x3) != SET)
31587 : return NULL;
31588 : switch (pattern961 (x3,
31589 : E_TImode,
31590 : E_DImode))
31591 : {
31592 : case 0:
31593 : if (!(
31594 : #line 11428 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31595 : (REGNO (operands[3]) != AX_REG
31596 : && REGNO (operands[0]) != REGNO (operands[2])
31597 : && REGNO (operands[0]) != REGNO (operands[3])
31598 : && (REGNO (operands[0]) == REGNO (operands[4])
31599 : || REGNO (operands[0]) == DX_REG
31600 : || peep2_reg_dead_p (3, operands[0]))) &&
31601 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31602 : (TARGET_64BIT)))
31603 : return NULL;
31604 : *pmatch_len_ = 2;
31605 : return gen_peephole2_131 (insn, operands);
31606 :
31607 : case 1:
31608 : if (!(
31609 : #line 11450 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31610 : (REGNO (operands[3]) != DX_REG
31611 : && REGNO (operands[0]) != REGNO (operands[2])
31612 : && REGNO (operands[0]) != REGNO (operands[3])
31613 : && (REGNO (operands[0]) == REGNO (operands[4])
31614 : || REGNO (operands[0]) == REGNO (operands[5])
31615 : || peep2_reg_dead_p (3, operands[0]))
31616 : && (REGNO (operands[2]) == REGNO (operands[4])
31617 : || REGNO (operands[2]) == REGNO (operands[5])
31618 : || peep2_reg_dead_p (3, operands[2]))) &&
31619 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31620 : (TARGET_64BIT)))
31621 : return NULL;
31622 : *pmatch_len_ = 2;
31623 : return gen_peephole2_133 (insn, operands);
31624 :
31625 : case 2:
31626 : if (!general_reg_operand (operands[4], E_DImode))
31627 : return NULL;
31628 : x5 = PATTERN (peep2_next_insn (2));
31629 : x8 = XVECEXP (x5, 0, 0);
31630 : x9 = XEXP (x8, 1);
31631 : if (GET_MODE (x9) != E_DImode)
31632 : return NULL;
31633 : x10 = XVECEXP (x5, 0, 1);
31634 : x11 = XEXP (x10, 0);
31635 : if (!rtx_equal_p (x11, operands[2]))
31636 : return NULL;
31637 : switch (GET_CODE (x9))
31638 : {
31639 : case SMUL_HIGHPART:
31640 : x12 = XEXP (x9, 0);
31641 : if (!rtx_equal_p (x12, operands[2]))
31642 : return NULL;
31643 : x13 = XEXP (x9, 1);
31644 : if (!rtx_equal_p (x13, operands[0])
31645 : || !(
31646 : #line 11589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31647 : (REGNO (operands[3]) != AX_REG
31648 : && REGNO (operands[0]) != REGNO (operands[2])
31649 : && REGNO (operands[0]) != REGNO (operands[3])
31650 : && (REGNO (operands[0]) == REGNO (operands[4])
31651 : || peep2_reg_dead_p (3, operands[0]))) &&
31652 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31653 : (TARGET_64BIT)))
31654 : return NULL;
31655 : *pmatch_len_ = 2;
31656 : return gen_peephole2_136 (insn, operands);
31657 :
31658 : case UMUL_HIGHPART:
31659 : x12 = XEXP (x9, 0);
31660 : if (!rtx_equal_p (x12, operands[2]))
31661 : return NULL;
31662 : x13 = XEXP (x9, 1);
31663 : if (!rtx_equal_p (x13, operands[0])
31664 : || !(
31665 : #line 11589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31666 : (REGNO (operands[3]) != AX_REG
31667 : && REGNO (operands[0]) != REGNO (operands[2])
31668 : && REGNO (operands[0]) != REGNO (operands[3])
31669 : && (REGNO (operands[0]) == REGNO (operands[4])
31670 : || peep2_reg_dead_p (3, operands[0]))) &&
31671 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31672 : (TARGET_64BIT)))
31673 : return NULL;
31674 : *pmatch_len_ = 2;
31675 : return gen_peephole2_137 (insn, operands);
31676 :
31677 : default:
31678 : return NULL;
31679 : }
31680 :
31681 : default:
31682 : return NULL;
31683 : }
31684 : }
31685 :
31686 : rtx_insn *
31687 : peephole2_36 (rtx x1 ATTRIBUTE_UNUSED,
31688 : rtx_insn *insn ATTRIBUTE_UNUSED,
31689 : int *pmatch_len_ ATTRIBUTE_UNUSED)
31690 : {
31691 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31692 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31693 : rtx x10, x11, x12;
31694 : rtx_insn *res ATTRIBUTE_UNUSED;
31695 : if (peep2_current_count < 3)
31696 : return NULL;
31697 : x2 = XEXP (x1, 0);
31698 : operands[0] = x2;
31699 : if (!register_operand (operands[0], E_QImode))
31700 : return NULL;
31701 : x3 = PATTERN (peep2_next_insn (1));
31702 : if (pattern421 (x3,
31703 : UNSPEC_VOLATILE,
31704 : 3) != 0)
31705 : return NULL;
31706 : x4 = XVECEXP (x3, 0, 0);
31707 : x5 = XEXP (x4, 1);
31708 : if (XVECLEN (x5, 0) == 4
31709 : && XINT (x5, 1) == 109
31710 : && GET_MODE (x5) == E_QImode)
31711 : {
31712 : res = peephole2_35 (x1, insn, pmatch_len_);
31713 : if (res != NULL_RTX)
31714 : return res;
31715 : }
31716 : if (XVECLEN (x5, 0) != 2
31717 : || XINT (x5, 1) != 110
31718 : || GET_MODE (x5) != E_QImode)
31719 : return NULL;
31720 : x6 = XEXP (x1, 1);
31721 : operands[2] = x6;
31722 : if (!const_int_operand (operands[2], E_QImode))
31723 : return NULL;
31724 : x7 = XVECEXP (x3, 0, 1);
31725 : if (GET_CODE (x7) != SET)
31726 : return NULL;
31727 : x8 = XEXP (x7, 1);
31728 : if (GET_CODE (x8) != PLUS
31729 : || GET_MODE (x8) != E_QImode
31730 : || pattern1518 (x3) != 0
31731 : || !memory_operand (operands[1], E_QImode)
31732 : || pattern1712 (x3) != 0)
31733 : return NULL;
31734 : x9 = PATTERN (peep2_next_insn (2));
31735 : x10 = XEXP (x9, 1);
31736 : x11 = XEXP (x10, 1);
31737 : operands[3] = x11;
31738 : if (!const_int_operand (operands[3], E_QImode))
31739 : return NULL;
31740 : x12 = XEXP (x10, 0);
31741 : if (!rtx_equal_p (x12, operands[0])
31742 : || !
31743 : #line 724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
31744 : (peep2_reg_dead_p (3, operands[0])
31745 : && (unsigned HOST_WIDE_INT) INTVAL (operands[2])
31746 : == -(unsigned HOST_WIDE_INT) INTVAL (operands[3])
31747 : && !reg_overlap_mentioned_p (operands[0], operands[1])))
31748 : return NULL;
31749 : *pmatch_len_ = 2;
31750 : return gen_peephole2_447 (insn, operands);
31751 : }
31752 :
31753 : rtx_insn *
31754 : peephole2_42 (rtx x1 ATTRIBUTE_UNUSED,
31755 : rtx_insn *insn ATTRIBUTE_UNUSED,
31756 : int *pmatch_len_ ATTRIBUTE_UNUSED)
31757 : {
31758 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31759 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
31760 : rtx x10, x11, x12, x13, x14, x15, x16;
31761 : rtx_insn *res ATTRIBUTE_UNUSED;
31762 : if (peep2_current_count < 2)
31763 : return NULL;
31764 : x2 = XVECEXP (x1, 0, 1);
31765 : if (GET_CODE (x2) != CLOBBER)
31766 : return NULL;
31767 : x3 = XEXP (x2, 0);
31768 : if (GET_CODE (x3) != REG
31769 : || REGNO (x3) != 17)
31770 : return NULL;
31771 : x4 = XVECEXP (x1, 0, 0);
31772 : x5 = XEXP (x4, 0);
31773 : operands[0] = x5;
31774 : x6 = XEXP (x4, 1);
31775 : x7 = XEXP (x6, 0);
31776 : if (!rtx_equal_p (x7, operands[0]))
31777 : return NULL;
31778 : x8 = XEXP (x6, 1);
31779 : switch (GET_CODE (x8))
31780 : {
31781 : case REG:
31782 : case SUBREG:
31783 : operands[1] = x8;
31784 : if (!register_operand (operands[1], E_VOIDmode)
31785 : || GET_MODE (x3) != E_CCmode)
31786 : return NULL;
31787 : switch (GET_MODE (operands[0]))
31788 : {
31789 : case E_SImode:
31790 : switch (pattern1519 (x6,
31791 : E_SImode))
31792 : {
31793 : case 0:
31794 : x9 = PATTERN (peep2_next_insn (1));
31795 : x10 = XVECEXP (x9, 0, 0);
31796 : x11 = XEXP (x10, 0);
31797 : if (rtx_equal_p (x11, operands[0])
31798 : &&
31799 : #line 6451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31800 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)))
31801 : {
31802 : *pmatch_len_ = 1;
31803 : res = gen_peephole2_62 (insn, operands);
31804 : if (res != NULL_RTX)
31805 : return res;
31806 : }
31807 : operands[3] = x11;
31808 : if (!register_operand (operands[3], E_SImode)
31809 : || !
31810 : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31811 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31812 : && peep2_reg_dead_p (2, operands[0])))
31813 : return NULL;
31814 : *pmatch_len_ = 1;
31815 : return gen_peephole2_66 (insn, operands);
31816 :
31817 : case 1:
31818 : x9 = PATTERN (peep2_next_insn (1));
31819 : x12 = XEXP (x9, 0);
31820 : if (rtx_equal_p (x12, operands[0])
31821 : &&
31822 : #line 6464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31823 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)))
31824 : {
31825 : *pmatch_len_ = 1;
31826 : res = gen_peephole2_64 (insn, operands);
31827 : if (res != NULL_RTX)
31828 : return res;
31829 : }
31830 : operands[3] = x12;
31831 : if (!register_operand (operands[3], E_SImode)
31832 : || !
31833 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31834 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31835 : && peep2_reg_dead_p (2, operands[0])))
31836 : return NULL;
31837 : *pmatch_len_ = 1;
31838 : return gen_peephole2_68 (insn, operands);
31839 :
31840 : default:
31841 : return NULL;
31842 : }
31843 :
31844 : case E_DImode:
31845 : switch (pattern1519 (x6,
31846 : E_DImode))
31847 : {
31848 : case 0:
31849 : x9 = PATTERN (peep2_next_insn (1));
31850 : x10 = XVECEXP (x9, 0, 0);
31851 : x11 = XEXP (x10, 0);
31852 : if (rtx_equal_p (x11, operands[0])
31853 : && (
31854 : #line 6451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31855 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)) &&
31856 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31857 : (TARGET_64BIT)))
31858 : {
31859 : *pmatch_len_ = 1;
31860 : res = gen_peephole2_63 (insn, operands);
31861 : if (res != NULL_RTX)
31862 : return res;
31863 : }
31864 : operands[3] = x11;
31865 : if (!register_operand (operands[3], E_DImode)
31866 : || !(
31867 : #line 6478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31868 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31869 : && peep2_reg_dead_p (2, operands[0])) &&
31870 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31871 : (TARGET_64BIT)))
31872 : return NULL;
31873 : *pmatch_len_ = 1;
31874 : return gen_peephole2_67 (insn, operands);
31875 :
31876 : case 1:
31877 : x9 = PATTERN (peep2_next_insn (1));
31878 : x12 = XEXP (x9, 0);
31879 : if (rtx_equal_p (x12, operands[0])
31880 : && (
31881 : #line 6464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31882 : (!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun)) &&
31883 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31884 : (TARGET_64BIT)))
31885 : {
31886 : *pmatch_len_ = 1;
31887 : res = gen_peephole2_65 (insn, operands);
31888 : if (res != NULL_RTX)
31889 : return res;
31890 : }
31891 : operands[3] = x12;
31892 : if (!register_operand (operands[3], E_DImode)
31893 : || !(
31894 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31895 : ((!TARGET_AVOID_LEA_FOR_ADDR || optimize_function_for_size_p (cfun))
31896 : && peep2_reg_dead_p (2, operands[0])) &&
31897 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31898 : (TARGET_64BIT)))
31899 : return NULL;
31900 : *pmatch_len_ = 1;
31901 : return gen_peephole2_69 (insn, operands);
31902 :
31903 : default:
31904 : return NULL;
31905 : }
31906 :
31907 : default:
31908 : return NULL;
31909 : }
31910 :
31911 : case CONST_INT:
31912 : if (peep2_current_count < 3
31913 : || XWINT (x8, 0) != -1L)
31914 : return NULL;
31915 : x9 = PATTERN (peep2_next_insn (1));
31916 : if (pattern1265 (x9,
31917 : -1) != 0)
31918 : return NULL;
31919 : x13 = PATTERN (peep2_next_insn (2));
31920 : x14 = XEXP (x13, 1);
31921 : x15 = XEXP (x14, 0);
31922 : operands[1] = x15;
31923 : if (pattern1805 (x13) != 0)
31924 : return NULL;
31925 : x16 = XEXP (x14, 1);
31926 : operands[2] = x16;
31927 : switch (GET_MODE (operands[0]))
31928 : {
31929 : case E_QImode:
31930 : if (!general_reg_operand (operands[0], E_QImode)
31931 : || GET_MODE (x6) != E_QImode
31932 : || !
31933 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31934 : (peep2_regno_dead_p (3, FLAGS_REG)))
31935 : return NULL;
31936 : *pmatch_len_ = 2;
31937 : return gen_peephole2_82 (insn, operands);
31938 :
31939 : case E_HImode:
31940 : if (!general_reg_operand (operands[0], E_HImode)
31941 : || GET_MODE (x6) != E_HImode
31942 : || !
31943 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31944 : (peep2_regno_dead_p (3, FLAGS_REG)))
31945 : return NULL;
31946 : *pmatch_len_ = 2;
31947 : return gen_peephole2_83 (insn, operands);
31948 :
31949 : case E_SImode:
31950 : if (!general_reg_operand (operands[0], E_SImode)
31951 : || GET_MODE (x6) != E_SImode
31952 : || !
31953 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31954 : (peep2_regno_dead_p (3, FLAGS_REG)))
31955 : return NULL;
31956 : *pmatch_len_ = 2;
31957 : return gen_peephole2_84 (insn, operands);
31958 :
31959 : case E_DImode:
31960 : if (!general_reg_operand (operands[0], E_DImode)
31961 : || GET_MODE (x6) != E_DImode
31962 : || !(
31963 : #line 8772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31964 : (peep2_regno_dead_p (3, FLAGS_REG)) &&
31965 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
31966 : (TARGET_64BIT)))
31967 : return NULL;
31968 : *pmatch_len_ = 2;
31969 : return gen_peephole2_85 (insn, operands);
31970 :
31971 : default:
31972 : return NULL;
31973 : }
31974 :
31975 : default:
31976 : return NULL;
31977 : }
31978 : }
31979 :
31980 : rtx_insn *
31981 : peephole2_50 (rtx x1 ATTRIBUTE_UNUSED,
31982 : rtx_insn *insn ATTRIBUTE_UNUSED,
31983 : int *pmatch_len_ ATTRIBUTE_UNUSED)
31984 : {
31985 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
31986 : rtx x2, x3, x4, x5, x6, x7;
31987 : rtx_insn *res ATTRIBUTE_UNUSED;
31988 : x2 = XVECEXP (x1, 0, 0);
31989 : x3 = XEXP (x2, 1);
31990 : if (GET_CODE (x3) == PLUS)
31991 : {
31992 : res = peephole2_49 (x1, insn, pmatch_len_);
31993 : if (res != NULL_RTX)
31994 : return res;
31995 : }
31996 : x4 = XVECEXP (x1, 0, 1);
31997 : x5 = XEXP (x4, 0);
31998 : if (GET_CODE (x5) != REG
31999 : || REGNO (x5) != 17
32000 : || GET_MODE (x5) != E_CCmode)
32001 : return NULL;
32002 : operands[3] = x3;
32003 : switch (GET_MODE (operands[0]))
32004 : {
32005 : case E_QImode:
32006 : if (!arith_or_logical_operator (operands[3], E_QImode))
32007 : return NULL;
32008 : if (register_operand (operands[0], E_QImode))
32009 : {
32010 : x6 = XEXP (x3, 1);
32011 : operands[1] = x6;
32012 : if (memory_operand (operands[1], E_QImode))
32013 : {
32014 : x7 = XEXP (x3, 0);
32015 : if (rtx_equal_p (x7, operands[0])
32016 : &&
32017 : #line 28513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32018 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
32019 : {
32020 : *pmatch_len_ = 0;
32021 : res = gen_peephole2_293 (insn, operands);
32022 : if (res != NULL_RTX)
32023 : return res;
32024 : }
32025 : }
32026 : x7 = XEXP (x3, 0);
32027 : operands[1] = x7;
32028 : if (memory_operand (operands[1], E_QImode)
32029 : && rtx_equal_p (x6, operands[0])
32030 : &&
32031 : #line 28526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32032 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
32033 : {
32034 : *pmatch_len_ = 0;
32035 : res = gen_peephole2_297 (insn, operands);
32036 : if (res != NULL_RTX)
32037 : return res;
32038 : }
32039 : }
32040 : if (!memory_operand (operands[0], E_QImode))
32041 : return NULL;
32042 : x6 = XEXP (x3, 1);
32043 : operands[1] = x6;
32044 : if (nonmemory_operand (operands[1], E_QImode))
32045 : {
32046 : x7 = XEXP (x3, 0);
32047 : if (rtx_equal_p (x7, operands[0])
32048 : &&
32049 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32050 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
32051 : {
32052 : *pmatch_len_ = 0;
32053 : res = gen_peephole2_307 (insn, operands);
32054 : if (res != NULL_RTX)
32055 : return res;
32056 : }
32057 : }
32058 : x7 = XEXP (x3, 0);
32059 : operands[1] = x7;
32060 : if (!nonmemory_operand (operands[1], E_QImode)
32061 : || !rtx_equal_p (x6, operands[0])
32062 : || !
32063 : #line 28615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32064 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
32065 : return NULL;
32066 : *pmatch_len_ = 0;
32067 : return gen_peephole2_311 (insn, operands);
32068 :
32069 : case E_HImode:
32070 : if (!arith_or_logical_operator (operands[3], E_HImode))
32071 : return NULL;
32072 : if (register_operand (operands[0], E_HImode))
32073 : {
32074 : x6 = XEXP (x3, 1);
32075 : operands[1] = x6;
32076 : if (memory_operand (operands[1], E_HImode))
32077 : {
32078 : x7 = XEXP (x3, 0);
32079 : if (rtx_equal_p (x7, operands[0])
32080 : &&
32081 : #line 28513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32082 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
32083 : {
32084 : *pmatch_len_ = 0;
32085 : res = gen_peephole2_294 (insn, operands);
32086 : if (res != NULL_RTX)
32087 : return res;
32088 : }
32089 : }
32090 : x7 = XEXP (x3, 0);
32091 : operands[1] = x7;
32092 : if (memory_operand (operands[1], E_HImode)
32093 : && rtx_equal_p (x6, operands[0])
32094 : &&
32095 : #line 28526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32096 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
32097 : {
32098 : *pmatch_len_ = 0;
32099 : res = gen_peephole2_298 (insn, operands);
32100 : if (res != NULL_RTX)
32101 : return res;
32102 : }
32103 : }
32104 : if (!memory_operand (operands[0], E_HImode))
32105 : return NULL;
32106 : x6 = XEXP (x3, 1);
32107 : operands[1] = x6;
32108 : if (nonmemory_operand (operands[1], E_HImode))
32109 : {
32110 : x7 = XEXP (x3, 0);
32111 : if (rtx_equal_p (x7, operands[0])
32112 : &&
32113 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32114 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
32115 : {
32116 : *pmatch_len_ = 0;
32117 : res = gen_peephole2_308 (insn, operands);
32118 : if (res != NULL_RTX)
32119 : return res;
32120 : }
32121 : }
32122 : x7 = XEXP (x3, 0);
32123 : operands[1] = x7;
32124 : if (!nonmemory_operand (operands[1], E_HImode)
32125 : || !rtx_equal_p (x6, operands[0])
32126 : || !
32127 : #line 28615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32128 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
32129 : return NULL;
32130 : *pmatch_len_ = 0;
32131 : return gen_peephole2_312 (insn, operands);
32132 :
32133 : case E_SImode:
32134 : if (!arith_or_logical_operator (operands[3], E_SImode))
32135 : return NULL;
32136 : if (register_operand (operands[0], E_SImode))
32137 : {
32138 : x6 = XEXP (x3, 1);
32139 : operands[1] = x6;
32140 : if (memory_operand (operands[1], E_SImode))
32141 : {
32142 : x7 = XEXP (x3, 0);
32143 : if (rtx_equal_p (x7, operands[0])
32144 : &&
32145 : #line 28513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32146 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
32147 : {
32148 : *pmatch_len_ = 0;
32149 : res = gen_peephole2_295 (insn, operands);
32150 : if (res != NULL_RTX)
32151 : return res;
32152 : }
32153 : }
32154 : x7 = XEXP (x3, 0);
32155 : operands[1] = x7;
32156 : if (memory_operand (operands[1], E_SImode)
32157 : && rtx_equal_p (x6, operands[0])
32158 : &&
32159 : #line 28526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32160 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())))
32161 : {
32162 : *pmatch_len_ = 0;
32163 : res = gen_peephole2_299 (insn, operands);
32164 : if (res != NULL_RTX)
32165 : return res;
32166 : }
32167 : }
32168 : if (!memory_operand (operands[0], E_SImode))
32169 : return NULL;
32170 : x6 = XEXP (x3, 1);
32171 : operands[1] = x6;
32172 : if (x86_64_nonmemory_operand (operands[1], E_SImode))
32173 : {
32174 : x7 = XEXP (x3, 0);
32175 : if (rtx_equal_p (x7, operands[0])
32176 : &&
32177 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32178 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
32179 : {
32180 : *pmatch_len_ = 0;
32181 : res = gen_peephole2_309 (insn, operands);
32182 : if (res != NULL_RTX)
32183 : return res;
32184 : }
32185 : }
32186 : x7 = XEXP (x3, 0);
32187 : operands[1] = x7;
32188 : if (!x86_64_nonmemory_operand (operands[1], E_SImode)
32189 : || !rtx_equal_p (x6, operands[0])
32190 : || !
32191 : #line 28615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32192 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())))
32193 : return NULL;
32194 : *pmatch_len_ = 0;
32195 : return gen_peephole2_313 (insn, operands);
32196 :
32197 : case E_DImode:
32198 : if (!arith_or_logical_operator (operands[3], E_DImode))
32199 : return NULL;
32200 : if (register_operand (operands[0], E_DImode))
32201 : {
32202 : x6 = XEXP (x3, 1);
32203 : operands[1] = x6;
32204 : if (memory_operand (operands[1], E_DImode))
32205 : {
32206 : x7 = XEXP (x3, 0);
32207 : if (rtx_equal_p (x7, operands[0])
32208 : && (
32209 : #line 28513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32210 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())) &&
32211 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32212 : (TARGET_64BIT)))
32213 : {
32214 : *pmatch_len_ = 0;
32215 : res = gen_peephole2_296 (insn, operands);
32216 : if (res != NULL_RTX)
32217 : return res;
32218 : }
32219 : }
32220 : x7 = XEXP (x3, 0);
32221 : operands[1] = x7;
32222 : if (memory_operand (operands[1], E_DImode)
32223 : && rtx_equal_p (x6, operands[0])
32224 : && (
32225 : #line 28526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32226 : (!(TARGET_READ_MODIFY || optimize_insn_for_size_p ())) &&
32227 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32228 : (TARGET_64BIT)))
32229 : {
32230 : *pmatch_len_ = 0;
32231 : res = gen_peephole2_300 (insn, operands);
32232 : if (res != NULL_RTX)
32233 : return res;
32234 : }
32235 : }
32236 : if (!memory_operand (operands[0], E_DImode))
32237 : return NULL;
32238 : x6 = XEXP (x3, 1);
32239 : operands[1] = x6;
32240 : if (x86_64_nonmemory_operand (operands[1], E_DImode))
32241 : {
32242 : x7 = XEXP (x3, 0);
32243 : if (rtx_equal_p (x7, operands[0])
32244 : && (
32245 : #line 28601 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32246 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())) &&
32247 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32248 : (TARGET_64BIT)))
32249 : {
32250 : *pmatch_len_ = 0;
32251 : res = gen_peephole2_310 (insn, operands);
32252 : if (res != NULL_RTX)
32253 : return res;
32254 : }
32255 : }
32256 : x7 = XEXP (x3, 0);
32257 : operands[1] = x7;
32258 : if (!x86_64_nonmemory_operand (operands[1], E_DImode)
32259 : || !rtx_equal_p (x6, operands[0])
32260 : || !(
32261 : #line 28615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32262 : (!(TARGET_READ_MODIFY_WRITE || optimize_insn_for_size_p ())) &&
32263 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
32264 : (TARGET_64BIT)))
32265 : return NULL;
32266 : *pmatch_len_ = 0;
32267 : return gen_peephole2_314 (insn, operands);
32268 :
32269 : default:
32270 : return NULL;
32271 : }
32272 : }
|