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 238985 : pattern8 (rtx x1, int *pnum_clobbers)
57 : {
58 238985 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 238985 : rtx x2, x3, x4, x5, x6, x7;
60 238985 : int res ATTRIBUTE_UNUSED;
61 238985 : x2 = XEXP (x1, 0);
62 238985 : operands[0] = x2;
63 238985 : x3 = XEXP (x1, 1);
64 238985 : x4 = XEXP (x3, 0);
65 238985 : switch (GET_CODE (x4))
66 : {
67 114712 : case REG:
68 114712 : case SUBREG:
69 114712 : case MEM:
70 114712 : operands[1] = x4;
71 114712 : x5 = XEXP (x3, 1);
72 114712 : operands[2] = x5;
73 114712 : switch (GET_MODE (operands[0]))
74 : {
75 12 : case E_TImode:
76 12 : if (pnum_clobbers == NULL
77 12 : || pattern4 (x3,
78 : E_TImode) != 0)
79 0 : return -1;
80 : return 0;
81 :
82 1738 : case E_QImode:
83 1738 : if (pnum_clobbers == NULL
84 1738 : || pattern4 (x3,
85 : E_QImode) != 0)
86 226 : return -1;
87 : return 1;
88 :
89 229 : case E_HImode:
90 229 : if (pnum_clobbers == NULL
91 229 : || pattern4 (x3,
92 : E_HImode) != 0)
93 112 : return -1;
94 : return 2;
95 :
96 167 : case E_V4HImode:
97 167 : if (pattern5 (x3,
98 : E_V4HImode) != 0)
99 : return -1;
100 : return 3;
101 :
102 0 : case E_V2SImode:
103 0 : if (pattern5 (x3,
104 : E_V2SImode) != 0)
105 : return -1;
106 : return 4;
107 :
108 314 : case E_V8QImode:
109 314 : if (pattern6 (x3,
110 : E_V8QImode) != 0)
111 : return -1;
112 : return 5;
113 :
114 254 : case E_V4QImode:
115 254 : if (pattern5 (x3,
116 : E_V4QImode) != 0)
117 : return -1;
118 : return 6;
119 :
120 62 : case E_V2QImode:
121 62 : if (pattern5 (x3,
122 : E_V2QImode) != 0)
123 : return -1;
124 : return 7;
125 :
126 44 : case E_V2HImode:
127 44 : if (pattern5 (x3,
128 : E_V2HImode) != 0)
129 : return -1;
130 : return 8;
131 :
132 : default:
133 : return -1;
134 : }
135 :
136 22410 : case PLUS:
137 22410 : if (pnum_clobbers == NULL
138 22410 : || GET_MODE (x4) != E_HImode
139 0 : || !register_operand (operands[0], E_HImode)
140 22410 : || GET_MODE (x3) != E_HImode)
141 22410 : return -1;
142 0 : x6 = XEXP (x4, 0);
143 0 : operands[1] = x6;
144 0 : if (!nonimmediate_operand (operands[1], E_HImode))
145 : return -1;
146 0 : x7 = XEXP (x4, 1);
147 0 : operands[2] = x7;
148 0 : if (!general_operand (operands[2], E_HImode))
149 : return -1;
150 : return 9;
151 :
152 15350 : case MINUS:
153 15350 : if (pnum_clobbers == NULL
154 15350 : || GET_MODE (x4) != E_HImode
155 4 : || !register_operand (operands[0], E_HImode)
156 15354 : || GET_MODE (x3) != E_HImode)
157 15346 : return -1;
158 4 : x6 = XEXP (x4, 0);
159 4 : operands[1] = x6;
160 4 : if (!nonimmediate_operand (operands[1], E_HImode))
161 : return -1;
162 4 : x7 = XEXP (x4, 1);
163 4 : operands[2] = x7;
164 4 : if (!general_operand (operands[2], E_HImode))
165 : return -1;
166 4 : x5 = XEXP (x3, 1);
167 4 : if (!rtx_equal_p (x5, operands[1]))
168 : return -1;
169 : return 10;
170 :
171 : default:
172 : return -1;
173 : }
174 : }
175 :
176 : int
177 0 : pattern39 (rtx x1, machine_mode i1, machine_mode i2)
178 : {
179 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
180 0 : rtx x2, x3, x4;
181 0 : int res ATTRIBUTE_UNUSED;
182 0 : x2 = XEXP (x1, 1);
183 0 : operands[3] = x2;
184 0 : if (!const_int_operand (operands[3], E_QImode))
185 : return -1;
186 0 : x3 = XEXP (x1, 0);
187 0 : switch (GET_CODE (x3))
188 : {
189 0 : case REG:
190 0 : case SUBREG:
191 0 : operands[2] = x3;
192 0 : if (!register_operand (operands[2], i1))
193 : return -1;
194 : return 0;
195 :
196 0 : case SIGN_EXTEND:
197 0 : if (GET_MODE (x3) != i1)
198 : return -1;
199 0 : x4 = XEXP (x3, 0);
200 0 : operands[2] = x4;
201 0 : if (!nonimmediate_operand (operands[2], i2))
202 : return -1;
203 : return 1;
204 :
205 0 : case ZERO_EXTEND:
206 0 : if (GET_MODE (x3) != i1)
207 : return -1;
208 0 : x4 = XEXP (x3, 0);
209 0 : operands[2] = x4;
210 0 : if (!nonimmediate_operand (operands[2], i2))
211 : return -1;
212 : return 2;
213 :
214 : default:
215 : return -1;
216 : }
217 : }
218 :
219 : int
220 163 : pattern41 (rtx x1)
221 : {
222 163 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
223 163 : int res ATTRIBUTE_UNUSED;
224 163 : switch (GET_MODE (operands[0]))
225 : {
226 82 : case E_QImode:
227 82 : if (!register_operand (operands[0], E_QImode)
228 82 : || GET_MODE (x1) != E_QImode
229 164 : || !register_operand (operands[1], E_QImode))
230 44 : return -1;
231 : return 0;
232 :
233 81 : case E_HImode:
234 81 : if (!register_operand (operands[0], E_HImode)
235 81 : || GET_MODE (x1) != E_HImode
236 162 : || !register_operand (operands[1], E_HImode))
237 0 : return -1;
238 : return 1;
239 :
240 : default:
241 : return -1;
242 : }
243 : }
244 :
245 : int
246 504197 : pattern45 (rtx x1)
247 : {
248 504197 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
249 504197 : rtx x2, x3, x4, x5;
250 504197 : int res ATTRIBUTE_UNUSED;
251 504197 : x2 = XEXP (x1, 1);
252 504197 : if (GET_MODE (x2) != E_CCCmode)
253 : return -1;
254 0 : x3 = XEXP (x2, 0);
255 0 : if (GET_CODE (x3) != REG
256 0 : || REGNO (x3) != 17)
257 : return -1;
258 0 : x4 = XEXP (x2, 1);
259 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
260 : return -1;
261 0 : x5 = XEXP (x1, 0);
262 0 : if (GET_CODE (x5) != REG
263 0 : || REGNO (x5) != 17
264 0 : || GET_MODE (x5) != E_CCCmode)
265 : return -1;
266 0 : switch (GET_MODE (x3))
267 : {
268 : case E_CCmode:
269 : return 0;
270 :
271 0 : case E_CCCmode:
272 0 : return 1;
273 :
274 : default:
275 : return -1;
276 : }
277 : }
278 :
279 : int
280 9465 : pattern54 (rtx x1)
281 : {
282 9465 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
283 9465 : rtx x2, x3;
284 9465 : int res ATTRIBUTE_UNUSED;
285 9465 : x2 = XEXP (x1, 0);
286 9465 : operands[1] = x2;
287 9465 : x3 = XEXP (x1, 1);
288 9465 : operands[2] = x3;
289 9465 : switch (GET_MODE (operands[0]))
290 : {
291 377 : case E_V64QImode:
292 377 : return pattern26 (x1,
293 377 : E_V64QImode); /* [-1, 0] */
294 :
295 618 : case E_V32QImode:
296 618 : if (pattern26 (x1,
297 : E_V32QImode) != 0)
298 : return -1;
299 : return 1;
300 :
301 2177 : case E_V16QImode:
302 2177 : if (pattern26 (x1,
303 : E_V16QImode) != 0)
304 : return -1;
305 : return 2;
306 :
307 357 : case E_V32HImode:
308 357 : if (pattern26 (x1,
309 : E_V32HImode) != 0)
310 : return -1;
311 : return 3;
312 :
313 593 : case E_V16HImode:
314 593 : if (pattern26 (x1,
315 : E_V16HImode) != 0)
316 : return -1;
317 : return 4;
318 :
319 5119 : case E_V8HImode:
320 5119 : if (pattern26 (x1,
321 : E_V8HImode) != 0)
322 : return -1;
323 : return 5;
324 :
325 : default:
326 : return -1;
327 : }
328 : }
329 :
330 : int
331 250 : pattern63 (rtx x1, int *pnum_clobbers)
332 : {
333 250 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
334 250 : rtx x2, x3, x4;
335 250 : int res ATTRIBUTE_UNUSED;
336 250 : if (pnum_clobbers == NULL)
337 : return -1;
338 250 : x2 = XEXP (x1, 1);
339 250 : if (GET_MODE (x2) != E_HImode)
340 : return -1;
341 0 : x3 = XEXP (x1, 0);
342 0 : operands[0] = x3;
343 0 : if (!nonimmediate_operand (operands[0], E_HImode))
344 : return -1;
345 0 : x4 = XVECEXP (x2, 0, 0);
346 0 : operands[1] = x4;
347 0 : if (!register_operand (operands[1], E_XFmode))
348 : return -1;
349 : return 0;
350 : }
351 :
352 : int
353 1614 : pattern69 (rtx x1)
354 : {
355 1614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
356 1614 : rtx x2, x3, x4, x5;
357 1614 : int res ATTRIBUTE_UNUSED;
358 1614 : x2 = XEXP (x1, 1);
359 1614 : if (GET_MODE (x2) != E_CCmode)
360 : return -1;
361 1614 : x3 = XEXP (x1, 0);
362 1614 : if (GET_CODE (x3) != REG
363 1614 : || REGNO (x3) != 17
364 3227 : || GET_MODE (x3) != E_CCmode)
365 : return -1;
366 1613 : x4 = XVECEXP (x2, 0, 0);
367 1613 : operands[0] = x4;
368 1613 : x5 = XVECEXP (x2, 0, 1);
369 1613 : operands[1] = x5;
370 1613 : return 0;
371 : }
372 :
373 : int
374 56 : pattern72 (rtx x1)
375 : {
376 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
377 56 : rtx x2;
378 56 : int res ATTRIBUTE_UNUSED;
379 56 : if (!register_operand (operands[0], E_HImode)
380 56 : || GET_MODE (x1) != E_HImode)
381 : return -1;
382 56 : x2 = XVECEXP (x1, 0, 0);
383 56 : switch (GET_MODE (x2))
384 : {
385 28 : case E_V16QImode:
386 28 : if (!vector_operand (operands[1], E_V16QImode)
387 28 : || !vector_operand (operands[2], E_V16QImode)
388 56 : || !const0_operand (operands[3], E_V16QImode))
389 14 : return -1;
390 : return 0;
391 :
392 28 : case E_V16HImode:
393 28 : if (!vector_operand (operands[1], E_V16HImode)
394 28 : || !vector_operand (operands[2], E_V16HImode)
395 56 : || !const0_operand (operands[3], E_V16HImode))
396 14 : return -1;
397 : return 1;
398 :
399 : default:
400 : return -1;
401 : }
402 : }
403 :
404 : int
405 1485090 : pattern84 (rtx x1)
406 : {
407 1485090 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
408 1485090 : rtx x2, x3, x4;
409 1485090 : int res ATTRIBUTE_UNUSED;
410 1485090 : if (!nonimmediate_operand (operands[1], E_QImode))
411 : return -1;
412 142183 : x2 = XEXP (x1, 0);
413 142183 : operands[0] = x2;
414 142183 : if (!nonimmediate_operand (operands[0], E_QImode))
415 : return -1;
416 142084 : x3 = XEXP (x1, 1);
417 142084 : if (GET_MODE (x3) != E_QImode)
418 : return -1;
419 142084 : x4 = XEXP (x3, 1);
420 142084 : operands[2] = x4;
421 142084 : if (!general_operand (operands[2], E_QImode))
422 : return -1;
423 : return 0;
424 : }
425 :
426 : int
427 11144 : pattern91 (rtx x1, machine_mode i1, machine_mode i2)
428 : {
429 11144 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
430 11144 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
431 11144 : rtx x10;
432 11144 : int res ATTRIBUTE_UNUSED;
433 11144 : x2 = XEXP (x1, 0);
434 11144 : x3 = XEXP (x2, 0);
435 11144 : x4 = XEXP (x3, 0);
436 11144 : x5 = XEXP (x4, 0);
437 11144 : operands[2] = x5;
438 11144 : if (!nonimmediate_operand (operands[2], i2))
439 : return -1;
440 11122 : x6 = XEXP (x3, 1);
441 11122 : operands[3] = x6;
442 11122 : if (!const_int_operand (operands[3], E_QImode))
443 : return -1;
444 11122 : x7 = XEXP (x2, 1);
445 11122 : x8 = XEXP (x7, 0);
446 11122 : operands[4] = x8;
447 11122 : if (!nonimmediate_operand (operands[4], i2))
448 : return -1;
449 11097 : x9 = XEXP (x1, 1);
450 11097 : switch (GET_CODE (x9))
451 : {
452 2093 : case REG:
453 2093 : case SUBREG:
454 2093 : operands[1] = x9;
455 2093 : if (!register_operand (operands[1], i1))
456 : return -1;
457 : return 0;
458 :
459 14 : case ZERO_EXTEND:
460 14 : if (GET_MODE (x9) != i1)
461 : return -1;
462 14 : x10 = XEXP (x9, 0);
463 14 : operands[1] = x10;
464 14 : if (!nonimmediate_operand (operands[1], i2))
465 : return -1;
466 : return 1;
467 :
468 : default:
469 : return -1;
470 : }
471 : }
472 :
473 : int
474 612 : pattern104 (rtx x1, machine_mode i1)
475 : {
476 612 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
477 612 : rtx x2;
478 612 : int res ATTRIBUTE_UNUSED;
479 612 : if (!memory_operand (operands[0], i1)
480 612 : || GET_MODE (x1) != i1)
481 : return -1;
482 612 : x2 = XEXP (x1, 0);
483 612 : if (GET_MODE (x2) != i1
484 612 : || !register_operand (operands[1], E_V2DImode))
485 0 : return -1;
486 : return 0;
487 : }
488 :
489 : int
490 37717 : pattern109 (rtx x1, int *pnum_clobbers)
491 : {
492 37717 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
493 37717 : rtx x2, x3, x4, x5;
494 37717 : int res ATTRIBUTE_UNUSED;
495 37717 : if (pnum_clobbers == NULL)
496 : return -1;
497 37717 : x2 = XEXP (x1, 0);
498 37717 : if (GET_MODE (x2) != E_DImode)
499 : return -1;
500 6076 : x3 = XEXP (x2, 0);
501 6076 : if (GET_CODE (x3) != ASHIFT
502 452 : || GET_MODE (x3) != E_DImode)
503 : return -1;
504 452 : x4 = XEXP (x3, 0);
505 452 : if (GET_CODE (x4) != ZERO_EXTEND
506 28 : || GET_MODE (x4) != E_DImode)
507 : return -1;
508 28 : x5 = XEXP (x2, 1);
509 28 : if (GET_CODE (x5) != ZERO_EXTEND
510 14 : || GET_MODE (x5) != E_DImode)
511 : return -1;
512 14 : return pattern92 (x1,
513 : E_DImode,
514 14 : E_SImode); /* [-1, 1] */
515 : }
516 :
517 : int
518 104243 : pattern118 (rtx x1)
519 : {
520 104243 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
521 104243 : rtx x2, x3, x4;
522 104243 : int res ATTRIBUTE_UNUSED;
523 104243 : x2 = XEXP (x1, 0);
524 104243 : if (maybe_ne (SUBREG_BYTE (x2), 0)
525 104243 : || GET_MODE (x2) != E_HImode)
526 : return -1;
527 6964 : x3 = XEXP (x2, 0);
528 6964 : if (GET_CODE (x3) != UNSPEC
529 28 : || XVECLEN (x3, 0) != 1
530 28 : || XINT (x3, 1) != 50
531 28 : || GET_MODE (x3) != E_SImode
532 28 : || !register_operand (operands[0], E_SImode)
533 6992 : || GET_MODE (x1) != E_SImode)
534 6936 : return -1;
535 28 : x4 = XVECEXP (x3, 0, 0);
536 28 : operands[1] = x4;
537 28 : if (!register_operand (operands[1], E_V16QImode))
538 : return -1;
539 : return 0;
540 : }
541 :
542 : int
543 204099 : pattern125 (rtx x1, int *pnum_clobbers)
544 : {
545 204099 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
546 204099 : rtx x2;
547 204099 : int res ATTRIBUTE_UNUSED;
548 204099 : if (pnum_clobbers == NULL)
549 : return -1;
550 204099 : x2 = XEXP (x1, 0);
551 204099 : if (GET_MODE (x2) != E_DImode
552 204099 : || pattern43 (x1,
553 : E_SImode,
554 : E_DImode) != 0)
555 71118 : return -1;
556 : return 0;
557 : }
558 :
559 : int
560 2925 : pattern129 (rtx x1)
561 : {
562 2925 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
563 2925 : rtx x2, x3, x4;
564 2925 : int res ATTRIBUTE_UNUSED;
565 2925 : x2 = XEXP (x1, 0);
566 2925 : operands[0] = x2;
567 2925 : x3 = XEXP (x1, 1);
568 2925 : x4 = XVECEXP (x3, 0, 0);
569 2925 : operands[1] = x4;
570 2925 : switch (GET_MODE (operands[0]))
571 : {
572 366 : case E_SImode:
573 366 : return pattern128 (x3,
574 366 : E_SImode); /* [-1, 2] */
575 :
576 400 : case E_DImode:
577 400 : res = pattern128 (x3,
578 : E_DImode);
579 400 : if (res >= 0)
580 370 : return res + 3; /* [3, 5] */
581 : return -1;
582 :
583 : default:
584 : return -1;
585 : }
586 : }
587 :
588 : int
589 32013 : pattern134 (rtx x1, machine_mode i1, machine_mode i2)
590 : {
591 32013 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
592 32013 : rtx x2;
593 32013 : int res ATTRIBUTE_UNUSED;
594 32013 : if (!register_operand (operands[0], i1)
595 32013 : || GET_MODE (x1) != i1)
596 : return -1;
597 30764 : x2 = XEXP (x1, 0);
598 30764 : if (GET_MODE (x2) != i1
599 30764 : || !nonimmediate_operand (operands[1], i1)
600 24222 : || !nonimmediate_operand (operands[2], i1)
601 23028 : || !nonimm_or_0_operand (operands[3], i1)
602 52973 : || !register_operand (operands[4], i2))
603 9135 : return -1;
604 : return 0;
605 : }
606 :
607 : int
608 6903 : pattern146 (rtx x1)
609 : {
610 6903 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
611 6903 : rtx x2, x3, x4, x5;
612 6903 : int res ATTRIBUTE_UNUSED;
613 6903 : x2 = XEXP (x1, 0);
614 6903 : x3 = XEXP (x2, 0);
615 6903 : operands[1] = x3;
616 6903 : x4 = XEXP (x1, 1);
617 6903 : operands[2] = x4;
618 6903 : x5 = XEXP (x1, 2);
619 6903 : operands[3] = x5;
620 6903 : switch (GET_MODE (operands[0]))
621 : {
622 1644 : case E_V16QImode:
623 1644 : if (!nonimmediate_operand (operands[0], E_V16QImode)
624 1644 : || GET_MODE (x1) != E_V16QImode
625 1644 : || GET_MODE (x2) != E_V16QImode
626 1644 : || !nonimm_or_0_operand (operands[2], E_V16QImode)
627 3282 : || !register_operand (operands[3], E_HImode))
628 54 : return -1;
629 1590 : switch (GET_MODE (operands[1]))
630 : {
631 795 : case E_V16SImode:
632 795 : if (!register_operand (operands[1], E_V16SImode))
633 : return -1;
634 : return 0;
635 :
636 795 : case E_V16HImode:
637 795 : if (!register_operand (operands[1], E_V16HImode))
638 : return -1;
639 : return 1;
640 :
641 : default:
642 : return -1;
643 : }
644 :
645 912 : case E_V16HImode:
646 912 : if (pattern145 (x1,
647 : E_V16HImode,
648 : E_HImode,
649 : E_V16SImode) != 0)
650 : return -1;
651 : return 2;
652 :
653 885 : case E_V8SImode:
654 885 : if (pattern145 (x1,
655 : E_V8SImode,
656 : E_QImode,
657 : E_V8DImode) != 0)
658 : return -1;
659 : return 3;
660 :
661 1604 : case E_V8HImode:
662 1604 : if (!nonimmediate_operand (operands[0], E_V8HImode)
663 1604 : || GET_MODE (x1) != E_V8HImode
664 1604 : || GET_MODE (x2) != E_V8HImode
665 1604 : || !nonimm_or_0_operand (operands[2], E_V8HImode)
666 3202 : || !register_operand (operands[3], E_QImode))
667 54 : return -1;
668 1550 : switch (GET_MODE (operands[1]))
669 : {
670 775 : case E_V8DImode:
671 775 : if (!register_operand (operands[1], E_V8DImode))
672 : return -1;
673 : return 4;
674 :
675 775 : case E_V8SImode:
676 775 : if (!register_operand (operands[1], E_V8SImode))
677 : return -1;
678 : return 5;
679 :
680 : default:
681 : return -1;
682 : }
683 :
684 909 : case E_V32QImode:
685 909 : if (pattern145 (x1,
686 : E_V32QImode,
687 : E_SImode,
688 : E_V32HImode) != 0)
689 : return -1;
690 : return 6;
691 :
692 772 : case E_V4SImode:
693 772 : if (pattern145 (x1,
694 : E_V4SImode,
695 : E_QImode,
696 : E_V4DImode) != 0)
697 : return -1;
698 : return 7;
699 :
700 : default:
701 : return -1;
702 : }
703 : }
704 :
705 : int
706 168 : pattern164 (rtx x1, machine_mode i1, machine_mode i2)
707 : {
708 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
709 168 : rtx x2, x3, x4, x5;
710 168 : int res ATTRIBUTE_UNUSED;
711 168 : x2 = XEXP (x1, 1);
712 168 : if (GET_MODE (x2) != i2)
713 : return -1;
714 168 : x3 = XEXP (x1, 0);
715 168 : operands[0] = x3;
716 168 : if (!register_operand (operands[0], i2))
717 : return -1;
718 163 : x4 = XVECEXP (x2, 0, 0);
719 163 : operands[1] = x4;
720 163 : if (!register_operand (operands[1], i2))
721 : return -1;
722 150 : x5 = XVECEXP (x2, 0, 1);
723 150 : operands[2] = x5;
724 150 : if (!register_operand (operands[2], i1))
725 : return -1;
726 : return 0;
727 : }
728 :
729 : int
730 752 : pattern170 (rtx x1)
731 : {
732 752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
733 752 : rtx x2, x3, x4, x5;
734 752 : int res ATTRIBUTE_UNUSED;
735 752 : x2 = XEXP (x1, 0);
736 752 : operands[0] = x2;
737 752 : x3 = XEXP (x1, 1);
738 752 : x4 = XVECEXP (x3, 0, 0);
739 752 : operands[1] = x4;
740 752 : x5 = XVECEXP (x3, 0, 1);
741 752 : operands[2] = x5;
742 752 : switch (GET_MODE (operands[0]))
743 : {
744 252 : case E_V64QImode:
745 252 : return pattern169 (x3,
746 : E_V64QImode,
747 252 : E_V32HFmode); /* [-1, 0] */
748 :
749 252 : case E_V32QImode:
750 252 : if (pattern169 (x3,
751 : E_V32QImode,
752 : E_V16HFmode) != 0)
753 : return -1;
754 : return 1;
755 :
756 248 : case E_V16QImode:
757 248 : if (pattern169 (x3,
758 : E_V16QImode,
759 : E_V8HFmode) != 0)
760 : return -1;
761 : return 2;
762 :
763 : default:
764 : return -1;
765 : }
766 : }
767 :
768 : int
769 945 : pattern179 (rtx x1)
770 : {
771 945 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
772 945 : rtx x2, x3, x4, x5, x6;
773 945 : int res ATTRIBUTE_UNUSED;
774 945 : x2 = XEXP (x1, 0);
775 945 : operands[0] = x2;
776 945 : x3 = XEXP (x1, 1);
777 945 : x4 = XVECEXP (x3, 0, 0);
778 945 : operands[1] = x4;
779 945 : x5 = XVECEXP (x3, 0, 1);
780 945 : operands[2] = x5;
781 945 : x6 = XVECEXP (x3, 0, 2);
782 945 : operands[3] = x6;
783 945 : switch (GET_MODE (operands[0]))
784 : {
785 204 : case E_V8DImode:
786 204 : return pattern178 (x3,
787 204 : E_V8DImode); /* [-1, 0] */
788 :
789 380 : case E_V4DImode:
790 380 : if (pattern178 (x3,
791 : E_V4DImode) != 0)
792 : return -1;
793 : return 1;
794 :
795 361 : case E_V2DImode:
796 361 : if (pattern178 (x3,
797 : E_V2DImode) != 0)
798 : return -1;
799 : return 2;
800 :
801 : default:
802 : return -1;
803 : }
804 : }
805 :
806 : int
807 474 : pattern186 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
808 : {
809 474 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
810 474 : rtx x2;
811 474 : int res ATTRIBUTE_UNUSED;
812 474 : if (!register_operand (operands[0], i3)
813 474 : || GET_MODE (x1) != i3)
814 : return -1;
815 454 : x2 = XEXP (x1, 0);
816 454 : if (GET_MODE (x2) != i1
817 454 : || !nonimmediate_operand (operands[1], i2)
818 813 : || !const0_operand (operands[2], i1))
819 95 : return -1;
820 : return 0;
821 : }
822 :
823 : int
824 14 : pattern192 (rtx x1, machine_mode i1)
825 : {
826 14 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
827 14 : rtx x2;
828 14 : int res ATTRIBUTE_UNUSED;
829 14 : if (!register_operand (operands[0], i1)
830 14 : || GET_MODE (x1) != i1)
831 : return -1;
832 8 : x2 = XEXP (x1, 0);
833 8 : if (GET_MODE (x2) != i1
834 8 : || !vector_operand (operands[1], i1)
835 8 : || !vector_operand (operands[2], i1)
836 16 : || !vector_operand (operands[3], i1))
837 2 : return -1;
838 : return 0;
839 : }
840 :
841 : int
842 234616 : pattern198 (rtx x1)
843 : {
844 234616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
845 234616 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
846 234616 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
847 234616 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
848 234616 : rtx x26, x27;
849 234616 : int res ATTRIBUTE_UNUSED;
850 234616 : x2 = XEXP (x1, 0);
851 234616 : x3 = XEXP (x2, 0);
852 234616 : if (GET_CODE (x3) != VEC_CONCAT)
853 : return -1;
854 72874 : x4 = XEXP (x2, 1);
855 72874 : if (GET_CODE (x4) != PARALLEL)
856 : return -1;
857 72874 : x5 = XEXP (x1, 1);
858 72874 : if (GET_CODE (x5) != VEC_SELECT)
859 : return -1;
860 1911 : x6 = XEXP (x5, 0);
861 1911 : if (GET_CODE (x6) != VEC_CONCAT)
862 : return -1;
863 1881 : x7 = XEXP (x5, 1);
864 1881 : if (GET_CODE (x7) != PARALLEL)
865 : return -1;
866 1881 : x8 = XEXP (x3, 0);
867 1881 : operands[1] = x8;
868 1881 : x9 = XEXP (x3, 1);
869 1881 : operands[2] = x9;
870 1881 : x10 = XEXP (x6, 0);
871 1881 : if (!rtx_equal_p (x10, operands[1]))
872 : return -1;
873 1571 : x11 = XEXP (x6, 1);
874 1571 : if (!rtx_equal_p (x11, operands[2]))
875 : return -1;
876 1566 : switch (XVECLEN (x4, 0))
877 : {
878 189 : case 16:
879 189 : return pattern196 (x1); /* [-1, 0] */
880 :
881 512 : case 8:
882 512 : x12 = XVECEXP (x4, 0, 0);
883 512 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
884 : return -1;
885 512 : x13 = XVECEXP (x4, 0, 1);
886 512 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
887 : return -1;
888 512 : x14 = XVECEXP (x4, 0, 2);
889 512 : if (GET_CODE (x14) != CONST_INT)
890 : return -1;
891 512 : x15 = XVECEXP (x4, 0, 3);
892 512 : if (GET_CODE (x15) != CONST_INT)
893 : return -1;
894 512 : x16 = XVECEXP (x4, 0, 4);
895 512 : if (GET_CODE (x16) != CONST_INT)
896 : return -1;
897 512 : x17 = XVECEXP (x4, 0, 5);
898 512 : if (GET_CODE (x17) != CONST_INT)
899 : return -1;
900 512 : x18 = XVECEXP (x4, 0, 6);
901 512 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 12])
902 : return -1;
903 512 : x19 = XVECEXP (x4, 0, 7);
904 512 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
905 512 : || XVECLEN (x7, 0) != 8)
906 : return -1;
907 512 : x20 = XVECEXP (x7, 0, 0);
908 512 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
909 : return -1;
910 512 : x21 = XVECEXP (x7, 0, 1);
911 512 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
912 : return -1;
913 512 : x22 = XVECEXP (x7, 0, 2);
914 512 : if (GET_CODE (x22) != CONST_INT)
915 : return -1;
916 512 : x23 = XVECEXP (x7, 0, 3);
917 512 : if (GET_CODE (x23) != CONST_INT)
918 : return -1;
919 512 : x24 = XVECEXP (x7, 0, 4);
920 512 : if (GET_CODE (x24) != CONST_INT)
921 : return -1;
922 512 : x25 = XVECEXP (x7, 0, 5);
923 512 : if (GET_CODE (x25) != CONST_INT)
924 : return -1;
925 512 : x26 = XVECEXP (x7, 0, 6);
926 512 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
927 : return -1;
928 512 : x27 = XVECEXP (x7, 0, 7);
929 512 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
930 : return -1;
931 512 : switch (XWINT (x14, 0))
932 : {
933 314 : case 4L:
934 314 : if (XWINT (x15, 0) != 6L
935 314 : || XWINT (x16, 0) != 8L
936 314 : || XWINT (x17, 0) != 10L
937 314 : || XWINT (x22, 0) != 5L
938 314 : || XWINT (x23, 0) != 7L
939 314 : || XWINT (x24, 0) != 9L
940 314 : || XWINT (x25, 0) != 11L
941 628 : || pattern197 (x1,
942 : E_V16HImode,
943 : E_V8HImode) != 0)
944 58 : return -1;
945 : return 1;
946 :
947 198 : case 8L:
948 198 : if (XWINT (x15, 0) != 10L
949 198 : || XWINT (x16, 0) != 4L
950 198 : || XWINT (x17, 0) != 6L
951 198 : || XWINT (x22, 0) != 9L
952 198 : || XWINT (x23, 0) != 11L
953 198 : || XWINT (x24, 0) != 5L
954 198 : || XWINT (x25, 0) != 7L
955 396 : || pattern195 (x1,
956 : E_V16SImode,
957 : E_V8SImode) != 0)
958 11 : return -1;
959 : return 2;
960 :
961 : default:
962 : return -1;
963 : }
964 :
965 756 : case 4:
966 756 : x12 = XVECEXP (x4, 0, 0);
967 756 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
968 : return -1;
969 254 : x13 = XVECEXP (x4, 0, 1);
970 254 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
971 : return -1;
972 254 : x14 = XVECEXP (x4, 0, 2);
973 254 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
974 : return -1;
975 254 : x15 = XVECEXP (x4, 0, 3);
976 254 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
977 254 : || XVECLEN (x7, 0) != 4)
978 : return -1;
979 254 : x20 = XVECEXP (x7, 0, 0);
980 254 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
981 : return -1;
982 254 : x21 = XVECEXP (x7, 0, 1);
983 254 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
984 : return -1;
985 254 : x22 = XVECEXP (x7, 0, 2);
986 254 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
987 : return -1;
988 254 : x23 = XVECEXP (x7, 0, 3);
989 254 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
990 254 : || pattern197 (x1,
991 : E_V8SImode,
992 : E_V4SImode) != 0)
993 25 : return -1;
994 : return 3;
995 :
996 : default:
997 : return -1;
998 : }
999 : }
1000 :
1001 : int
1002 807264 : pattern226 (rtx x1)
1003 : {
1004 807264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1005 807264 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1006 807264 : rtx x10, x11;
1007 807264 : int res ATTRIBUTE_UNUSED;
1008 807264 : x2 = XVECEXP (x1, 0, 1);
1009 807264 : if (GET_CODE (x2) != SET)
1010 : return -1;
1011 807191 : x3 = XEXP (x2, 1);
1012 807191 : if (GET_CODE (x3) != UMOD)
1013 : return -1;
1014 729529 : x4 = XVECEXP (x1, 0, 0);
1015 729529 : x5 = XEXP (x4, 0);
1016 729529 : operands[0] = x5;
1017 729529 : x6 = XEXP (x4, 1);
1018 729529 : x7 = XEXP (x6, 0);
1019 729529 : operands[2] = x7;
1020 729529 : x8 = XEXP (x6, 1);
1021 729529 : operands[3] = x8;
1022 729529 : x9 = XEXP (x2, 0);
1023 729529 : operands[1] = x9;
1024 729529 : x10 = XEXP (x3, 0);
1025 729529 : if (!rtx_equal_p (x10, operands[2]))
1026 : return -1;
1027 653211 : x11 = XEXP (x3, 1);
1028 653211 : if (!rtx_equal_p (x11, operands[3]))
1029 : return -1;
1030 640525 : switch (GET_CODE (operands[3]))
1031 : {
1032 : case REG:
1033 : case SUBREG:
1034 : case MEM:
1035 : return 0;
1036 :
1037 68535 : case CONST_INT:
1038 68535 : return 1;
1039 :
1040 : default:
1041 : return -1;
1042 : }
1043 : }
1044 :
1045 : int
1046 33555183 : pattern237 (rtx x1, machine_mode i1, unsigned int i2)
1047 : {
1048 33555183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1049 33555183 : rtx x2;
1050 33555183 : int res ATTRIBUTE_UNUSED;
1051 33555183 : if (GET_CODE (x1) != CLOBBER)
1052 : return -1;
1053 33396272 : x2 = XEXP (x1, 0);
1054 33396272 : if (GET_CODE (x2) != REG
1055 33391564 : || REGNO (x2) != i2
1056 64195172 : || GET_MODE (x2) != i1)
1057 2617746 : return -1;
1058 : return 0;
1059 : }
1060 :
1061 : int
1062 1107409 : pattern243 (rtx x1)
1063 : {
1064 1107409 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1065 1107409 : rtx x2, x3;
1066 1107409 : int res ATTRIBUTE_UNUSED;
1067 1107409 : x2 = XEXP (x1, 0);
1068 1107409 : operands[1] = x2;
1069 1107409 : x3 = XEXP (x1, 1);
1070 1107409 : operands[2] = x3;
1071 1107409 : switch (GET_MODE (operands[0]))
1072 : {
1073 112492 : case E_QImode:
1074 112492 : return pattern242 (x1,
1075 112492 : E_QImode); /* [-1, 0] */
1076 :
1077 21437 : case E_HImode:
1078 21437 : if (pattern242 (x1,
1079 : E_HImode) != 0)
1080 : return -1;
1081 : return 1;
1082 :
1083 128479 : case E_SImode:
1084 128479 : if (pattern242 (x1,
1085 : E_SImode) != 0)
1086 : return -1;
1087 : return 2;
1088 :
1089 132073 : case E_DImode:
1090 132073 : if (pattern242 (x1,
1091 : E_DImode) != 0)
1092 : return -1;
1093 : return 3;
1094 :
1095 : default:
1096 : return -1;
1097 : }
1098 : }
1099 :
1100 : int
1101 630 : pattern254 (rtx x1, machine_mode i1)
1102 : {
1103 630 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1104 630 : rtx x2, x3, x4;
1105 630 : int res ATTRIBUTE_UNUSED;
1106 630 : if (!register_operand (operands[0], i1)
1107 630 : || GET_MODE (x1) != i1)
1108 : return -1;
1109 630 : x2 = XEXP (x1, 0);
1110 630 : operands[3] = x2;
1111 630 : if (!register_operand (operands[3], i1))
1112 : return -1;
1113 538 : x3 = XEXP (x1, 1);
1114 538 : operands[1] = x3;
1115 538 : if (!register_operand (operands[1], i1))
1116 : return -1;
1117 396 : x4 = XEXP (x1, 2);
1118 396 : operands[2] = x4;
1119 396 : if (!register_operand (operands[2], i1))
1120 : return -1;
1121 : return 0;
1122 : }
1123 :
1124 : int
1125 41224 : pattern262 (rtx x1, machine_mode i1, machine_mode i2)
1126 : {
1127 41224 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1128 41224 : rtx x2, x3, x4, x5, x6;
1129 41224 : int res ATTRIBUTE_UNUSED;
1130 41224 : x2 = XEXP (x1, 0);
1131 41224 : x3 = XEXP (x2, 0);
1132 41224 : if (GET_MODE (x3) != i2
1133 2196 : || !nonimmediate_operand (operands[0], i2)
1134 2131 : || GET_MODE (x1) != i2
1135 43355 : || GET_MODE (x2) != i2)
1136 39093 : return -1;
1137 2131 : x4 = XEXP (x3, 0);
1138 2131 : operands[1] = x4;
1139 2131 : if (!nonimmediate_operand (operands[1], i1))
1140 : return -1;
1141 1656 : x5 = XEXP (x2, 1);
1142 1656 : operands[2] = x5;
1143 1656 : if (!const_int_operand (operands[2], E_QImode))
1144 : return -1;
1145 1292 : x6 = XEXP (x1, 1);
1146 1292 : return pattern261 (x6,
1147 : i1,
1148 1292 : i2); /* [-1, 1] */
1149 : }
1150 :
1151 : int
1152 2709906 : pattern276 (rtx x1)
1153 : {
1154 2709906 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1155 2709906 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1156 2709906 : rtx x10, x11, x12, x13;
1157 2709906 : int res ATTRIBUTE_UNUSED;
1158 2709906 : x2 = XEXP (x1, 0);
1159 2709906 : x3 = XEXP (x2, 0);
1160 2709906 : operands[1] = x3;
1161 2709906 : x4 = XEXP (x2, 1);
1162 2709906 : operands[2] = x4;
1163 2709906 : x5 = XEXP (x1, 1);
1164 2709906 : switch (XVECLEN (x5, 0))
1165 : {
1166 300199 : case 2:
1167 300199 : x6 = XVECEXP (x5, 0, 0);
1168 300199 : if (GET_CODE (x6) != CONST_INT)
1169 : return -1;
1170 : return 0;
1171 :
1172 587257 : case 8:
1173 587257 : x6 = XVECEXP (x5, 0, 0);
1174 587257 : if (GET_CODE (x6) != CONST_INT)
1175 : return -1;
1176 587257 : x7 = XVECEXP (x5, 0, 1);
1177 587257 : if (GET_CODE (x7) != CONST_INT)
1178 : return -1;
1179 587257 : x8 = XVECEXP (x5, 0, 2);
1180 587257 : if (GET_CODE (x8) != CONST_INT)
1181 : return -1;
1182 587257 : x9 = XVECEXP (x5, 0, 3);
1183 587257 : if (GET_CODE (x9) != CONST_INT)
1184 : return -1;
1185 587257 : x10 = XVECEXP (x5, 0, 4);
1186 587257 : if (GET_CODE (x10) != CONST_INT)
1187 : return -1;
1188 587257 : x11 = XVECEXP (x5, 0, 5);
1189 587257 : if (GET_CODE (x11) != CONST_INT)
1190 : return -1;
1191 587257 : x12 = XVECEXP (x5, 0, 6);
1192 587257 : if (GET_CODE (x12) != CONST_INT)
1193 : return -1;
1194 587257 : x13 = XVECEXP (x5, 0, 7);
1195 587257 : if (GET_CODE (x13) != CONST_INT
1196 587257 : || !register_operand (operands[0], E_V8QImode)
1197 43569 : || GET_MODE (x1) != E_V8QImode
1198 43569 : || GET_MODE (x2) != E_V16QImode
1199 43569 : || !register_operand (operands[1], E_V8QImode)
1200 629752 : || !register_mmxmem_operand (operands[2], E_V8QImode))
1201 549643 : return -1;
1202 37614 : switch (XWINT (x6, 0))
1203 : {
1204 8372 : case 4L:
1205 8372 : if (XWINT (x7, 0) != 12L
1206 6750 : || XWINT (x8, 0) != 5L
1207 6728 : || XWINT (x9, 0) != 13L
1208 6728 : || XWINT (x10, 0) != 6L
1209 6728 : || XWINT (x11, 0) != 14L
1210 6728 : || XWINT (x12, 0) != 7L
1211 6728 : || XWINT (x13, 0) != 15L)
1212 : return -1;
1213 : return 1;
1214 :
1215 14873 : case 0L:
1216 14873 : if (XWINT (x7, 0) != 8L
1217 8493 : || XWINT (x8, 0) != 1L
1218 7803 : || XWINT (x9, 0) != 9L
1219 7585 : || XWINT (x10, 0) != 2L
1220 7585 : || XWINT (x11, 0) != 10L
1221 7585 : || XWINT (x12, 0) != 3L
1222 7585 : || XWINT (x13, 0) != 11L)
1223 : return -1;
1224 : return 2;
1225 :
1226 : default:
1227 : return -1;
1228 : }
1229 :
1230 1596803 : case 4:
1231 1596803 : x6 = XVECEXP (x5, 0, 0);
1232 1596803 : if (GET_CODE (x6) != CONST_INT)
1233 : return -1;
1234 1596803 : x7 = XVECEXP (x5, 0, 1);
1235 1596803 : if (GET_CODE (x7) != CONST_INT)
1236 : return -1;
1237 1596803 : x8 = XVECEXP (x5, 0, 2);
1238 1596803 : if (GET_CODE (x8) != CONST_INT)
1239 : return -1;
1240 1596803 : x9 = XVECEXP (x5, 0, 3);
1241 1596803 : if (GET_CODE (x9) != CONST_INT)
1242 : return -1;
1243 1596803 : switch (XWINT (x6, 0))
1244 : {
1245 297946 : case 2L:
1246 297946 : if (XWINT (x7, 0) != 6L
1247 130575 : || XWINT (x8, 0) != 3L
1248 129530 : || XWINT (x9, 0) != 7L)
1249 : return -1;
1250 129365 : switch (GET_MODE (operands[0]))
1251 : {
1252 4600 : case E_V4QImode:
1253 4600 : if (pattern274 (x1,
1254 : E_V4QImode,
1255 : E_V8QImode) != 0)
1256 : return -1;
1257 : return 3;
1258 :
1259 22474 : case E_V4HImode:
1260 22474 : if (pattern275 (x1,
1261 : E_V4HImode,
1262 : E_V8HImode) != 0)
1263 : return -1;
1264 : return 4;
1265 :
1266 : default:
1267 : return -1;
1268 : }
1269 :
1270 817729 : case 0L:
1271 817729 : if (XWINT (x7, 0) != 4L
1272 370061 : || XWINT (x8, 0) != 1L
1273 354549 : || XWINT (x9, 0) != 5L)
1274 : return -1;
1275 353937 : switch (GET_MODE (operands[0]))
1276 : {
1277 6796 : case E_V4QImode:
1278 6796 : if (pattern274 (x1,
1279 : E_V4QImode,
1280 : E_V8QImode) != 0)
1281 : return -1;
1282 : return 5;
1283 :
1284 30671 : case E_V4HImode:
1285 30671 : if (pattern275 (x1,
1286 : E_V4HImode,
1287 : E_V8HImode) != 0)
1288 : return -1;
1289 : return 6;
1290 :
1291 : default:
1292 : return -1;
1293 : }
1294 :
1295 : default:
1296 : return -1;
1297 : }
1298 :
1299 : default:
1300 : return -1;
1301 : }
1302 : }
1303 :
1304 : int
1305 752 : pattern327 (rtx x1)
1306 : {
1307 752 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1308 752 : rtx x2;
1309 752 : int res ATTRIBUTE_UNUSED;
1310 752 : x2 = XVECEXP (x1, 0, 0);
1311 752 : operands[1] = x2;
1312 752 : switch (GET_MODE (operands[0]))
1313 : {
1314 126 : case E_V16SFmode:
1315 126 : if (!register_operand (operands[0], E_V16SFmode)
1316 117 : || GET_MODE (x1) != E_V16SFmode
1317 243 : || !nonimmediate_operand (operands[1], E_V16SFmode))
1318 11 : return -1;
1319 : return 0;
1320 :
1321 126 : case E_V8SFmode:
1322 126 : if (!register_operand (operands[0], E_V8SFmode)
1323 117 : || GET_MODE (x1) != E_V8SFmode
1324 243 : || !nonimmediate_operand (operands[1], E_V8SFmode))
1325 11 : return -1;
1326 : return 1;
1327 :
1328 121 : case E_V4SFmode:
1329 121 : if (!register_operand (operands[0], E_V4SFmode)
1330 115 : || GET_MODE (x1) != E_V4SFmode
1331 236 : || !nonimmediate_operand (operands[1], E_V4SFmode))
1332 7 : return -1;
1333 : return 2;
1334 :
1335 129 : case E_V8DFmode:
1336 129 : if (!register_operand (operands[0], E_V8DFmode)
1337 120 : || GET_MODE (x1) != E_V8DFmode
1338 249 : || !nonimmediate_operand (operands[1], E_V8DFmode))
1339 12 : return -1;
1340 : return 3;
1341 :
1342 126 : case E_V4DFmode:
1343 126 : if (!register_operand (operands[0], E_V4DFmode)
1344 117 : || GET_MODE (x1) != E_V4DFmode
1345 243 : || !nonimmediate_operand (operands[1], E_V4DFmode))
1346 11 : return -1;
1347 : return 4;
1348 :
1349 124 : case E_V2DFmode:
1350 124 : if (!register_operand (operands[0], E_V2DFmode)
1351 118 : || GET_MODE (x1) != E_V2DFmode
1352 242 : || !nonimmediate_operand (operands[1], E_V2DFmode))
1353 8 : return -1;
1354 : return 5;
1355 :
1356 : default:
1357 : return -1;
1358 : }
1359 : }
1360 :
1361 : int
1362 693073 : pattern336 (rtx x1)
1363 : {
1364 693073 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1365 693073 : rtx x2, x3, x4, x5;
1366 693073 : int res ATTRIBUTE_UNUSED;
1367 693073 : x2 = XEXP (x1, 0);
1368 693073 : x3 = XEXP (x2, 0);
1369 693073 : operands[1] = x3;
1370 693073 : x4 = XEXP (x2, 1);
1371 693073 : operands[2] = x4;
1372 693073 : x5 = XEXP (x1, 1);
1373 693073 : operands[3] = x5;
1374 693073 : switch (GET_MODE (operands[0]))
1375 : {
1376 5956 : case E_V8HImode:
1377 5956 : return pattern335 (x1,
1378 5956 : E_V8HImode); /* [-1, 0] */
1379 :
1380 4324 : case E_V4SImode:
1381 4324 : if (pattern335 (x1,
1382 : E_V4SImode) != 0)
1383 : return -1;
1384 : return 1;
1385 :
1386 : default:
1387 : return -1;
1388 : }
1389 : }
1390 :
1391 : int
1392 25445 : pattern340 (rtx x1, rtx_code i1)
1393 : {
1394 25445 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1395 25445 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1396 25445 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1397 25445 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1398 25445 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1399 25445 : rtx x34, x35;
1400 25445 : int res ATTRIBUTE_UNUSED;
1401 25445 : x2 = XEXP (x1, 0);
1402 25445 : x3 = XEXP (x2, 0);
1403 25445 : x4 = XEXP (x3, 0);
1404 25445 : if (GET_CODE (x4) != VEC_SELECT)
1405 : return -1;
1406 375 : x5 = XEXP (x4, 1);
1407 375 : if (GET_CODE (x5) != PARALLEL)
1408 : return -1;
1409 375 : x6 = XEXP (x2, 1);
1410 375 : if (GET_CODE (x6) != i1)
1411 : return -1;
1412 252 : x7 = XEXP (x6, 0);
1413 252 : if (GET_CODE (x7) != VEC_SELECT)
1414 : return -1;
1415 190 : x8 = XEXP (x7, 1);
1416 190 : if (GET_CODE (x8) != PARALLEL)
1417 : return -1;
1418 190 : x9 = XEXP (x1, 1);
1419 190 : if (GET_CODE (x9) != PLUS)
1420 : return -1;
1421 190 : x10 = XEXP (x9, 0);
1422 190 : if (GET_CODE (x10) != i1)
1423 : return -1;
1424 190 : x11 = XEXP (x10, 0);
1425 190 : if (GET_CODE (x11) != VEC_SELECT)
1426 : return -1;
1427 190 : x12 = XEXP (x11, 1);
1428 190 : if (GET_CODE (x12) != PARALLEL)
1429 : return -1;
1430 190 : x13 = XEXP (x9, 1);
1431 190 : if (GET_CODE (x13) != i1)
1432 : return -1;
1433 190 : x14 = XEXP (x13, 0);
1434 190 : if (GET_CODE (x14) != VEC_SELECT)
1435 : return -1;
1436 190 : x15 = XEXP (x14, 1);
1437 190 : if (GET_CODE (x15) != PARALLEL)
1438 : return -1;
1439 190 : x16 = XEXP (x4, 0);
1440 190 : operands[1] = x16;
1441 190 : x17 = XEXP (x7, 0);
1442 190 : if (!rtx_equal_p (x17, operands[1]))
1443 : return -1;
1444 190 : x18 = XEXP (x11, 0);
1445 190 : if (!rtx_equal_p (x18, operands[1]))
1446 : return -1;
1447 190 : x19 = XEXP (x14, 0);
1448 190 : if (!rtx_equal_p (x19, operands[1]))
1449 : return -1;
1450 190 : switch (XVECLEN (x5, 0))
1451 : {
1452 90 : case 4:
1453 90 : x20 = XVECEXP (x5, 0, 0);
1454 90 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1455 : return -1;
1456 90 : x21 = XVECEXP (x5, 0, 1);
1457 90 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
1458 : return -1;
1459 90 : x22 = XVECEXP (x5, 0, 2);
1460 90 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
1461 : return -1;
1462 90 : x23 = XVECEXP (x5, 0, 3);
1463 90 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 12]
1464 90 : || XVECLEN (x8, 0) != 4)
1465 : return -1;
1466 90 : x24 = XVECEXP (x8, 0, 0);
1467 90 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1468 : return -1;
1469 90 : x25 = XVECEXP (x8, 0, 1);
1470 90 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
1471 : return -1;
1472 90 : x26 = XVECEXP (x8, 0, 2);
1473 90 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
1474 : return -1;
1475 90 : x27 = XVECEXP (x8, 0, 3);
1476 90 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 13]
1477 90 : || XVECLEN (x12, 0) != 4)
1478 : return -1;
1479 90 : x28 = XVECEXP (x12, 0, 0);
1480 90 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1481 : return -1;
1482 90 : x29 = XVECEXP (x12, 0, 1);
1483 90 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
1484 : return -1;
1485 90 : x30 = XVECEXP (x12, 0, 2);
1486 90 : if (x30 != const_int_rtx[MAX_SAVED_CONST_INT + 10])
1487 : return -1;
1488 90 : x31 = XVECEXP (x12, 0, 3);
1489 90 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 14]
1490 90 : || XVECLEN (x15, 0) != 4)
1491 : return -1;
1492 90 : x32 = XVECEXP (x15, 0, 0);
1493 90 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1494 : return -1;
1495 90 : x33 = XVECEXP (x15, 0, 1);
1496 90 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
1497 : return -1;
1498 90 : x34 = XVECEXP (x15, 0, 2);
1499 90 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
1500 : return -1;
1501 90 : x35 = XVECEXP (x15, 0, 3);
1502 90 : if (x35 != const_int_rtx[MAX_SAVED_CONST_INT + 15]
1503 90 : || pattern339 (x1,
1504 : E_V4QImode,
1505 : E_V4SImode,
1506 : E_V16QImode) != 0)
1507 4 : return -1;
1508 : return 0;
1509 :
1510 100 : case 2:
1511 100 : x20 = XVECEXP (x5, 0, 0);
1512 100 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1513 : return -1;
1514 100 : x21 = XVECEXP (x5, 0, 1);
1515 100 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 4]
1516 100 : || XVECLEN (x8, 0) != 2)
1517 : return -1;
1518 100 : x24 = XVECEXP (x8, 0, 0);
1519 100 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1520 : return -1;
1521 100 : x25 = XVECEXP (x8, 0, 1);
1522 100 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 5]
1523 100 : || XVECLEN (x12, 0) != 2)
1524 : return -1;
1525 100 : x28 = XVECEXP (x12, 0, 0);
1526 100 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1527 : return -1;
1528 100 : x29 = XVECEXP (x12, 0, 1);
1529 100 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 6]
1530 100 : || XVECLEN (x15, 0) != 2)
1531 : return -1;
1532 100 : x32 = XVECEXP (x15, 0, 0);
1533 100 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1534 : return -1;
1535 100 : x33 = XVECEXP (x15, 0, 1);
1536 100 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
1537 100 : || pattern339 (x1,
1538 : E_V2HImode,
1539 : E_V2DImode,
1540 : E_V8HImode) != 0)
1541 4 : return -1;
1542 : return 1;
1543 :
1544 : default:
1545 : return -1;
1546 : }
1547 : }
1548 :
1549 : int
1550 644338 : pattern380 (rtx x1)
1551 : {
1552 644338 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1553 644338 : rtx x2, x3, x4, x5, x6, x7, x8;
1554 644338 : int res ATTRIBUTE_UNUSED;
1555 644338 : x2 = XVECEXP (x1, 0, 0);
1556 644338 : x3 = XEXP (x2, 1);
1557 644338 : x4 = XEXP (x3, 0);
1558 644338 : operands[1] = x4;
1559 644338 : x5 = XEXP (x2, 0);
1560 644338 : switch (GET_CODE (x5))
1561 : {
1562 644305 : case REG:
1563 644305 : case SUBREG:
1564 644305 : case MEM:
1565 644305 : operands[0] = x5;
1566 644305 : x6 = XVECEXP (x1, 0, 1);
1567 644305 : switch (GET_CODE (x6))
1568 : {
1569 : case CLOBBER:
1570 : return 0;
1571 :
1572 42283 : case USE:
1573 42283 : return 1;
1574 :
1575 : default:
1576 : return -1;
1577 : }
1578 :
1579 33 : case STRICT_LOW_PART:
1580 33 : x6 = XVECEXP (x1, 0, 1);
1581 33 : if (GET_CODE (x6) != CLOBBER)
1582 : return -1;
1583 33 : x7 = XEXP (x6, 0);
1584 33 : if (GET_CODE (x7) != REG
1585 33 : || REGNO (x7) != 17
1586 66 : || GET_MODE (x7) != E_CCmode)
1587 : return -1;
1588 33 : x8 = XEXP (x5, 0);
1589 33 : operands[0] = x8;
1590 33 : res = pattern379 (x3);
1591 33 : if (res >= 0)
1592 33 : return res + 2; /* [2, 3] */
1593 : return -1;
1594 :
1595 : default:
1596 : return -1;
1597 : }
1598 : }
1599 :
1600 : int
1601 106632 : pattern397 (rtx x1, rtx_code i1)
1602 : {
1603 106632 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1604 106632 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1605 106632 : rtx x10, x11, x12, x13, x14;
1606 106632 : int res ATTRIBUTE_UNUSED;
1607 106632 : x2 = XVECEXP (x1, 0, 1);
1608 106632 : if (GET_CODE (x2) != SET)
1609 : return -1;
1610 106632 : x3 = XEXP (x2, 1);
1611 106632 : if (GET_CODE (x3) != i1)
1612 : return -1;
1613 106632 : x4 = XVECEXP (x1, 0, 3);
1614 106632 : x5 = XEXP (x4, 0);
1615 106632 : if (GET_CODE (x5) != REG
1616 106632 : || REGNO (x5) != 17
1617 213264 : || GET_MODE (x5) != E_CCmode)
1618 : return -1;
1619 106632 : x6 = XVECEXP (x1, 0, 0);
1620 106632 : x7 = XEXP (x6, 0);
1621 106632 : operands[0] = x7;
1622 106632 : x8 = XEXP (x6, 1);
1623 106632 : x9 = XEXP (x8, 0);
1624 106632 : operands[2] = x9;
1625 106632 : x10 = XEXP (x8, 1);
1626 106632 : operands[3] = x10;
1627 106632 : x11 = XEXP (x2, 0);
1628 106632 : operands[1] = x11;
1629 106632 : x12 = XEXP (x3, 0);
1630 106632 : if (!rtx_equal_p (x12, operands[2]))
1631 : return -1;
1632 106632 : x13 = XEXP (x3, 1);
1633 106632 : if (!rtx_equal_p (x13, operands[3]))
1634 : return -1;
1635 106632 : x14 = XVECEXP (x1, 0, 2);
1636 106632 : switch (GET_CODE (x14))
1637 : {
1638 39 : case UNSPEC:
1639 39 : return pattern394 (x1); /* [-1, 1] */
1640 :
1641 106593 : case USE:
1642 106593 : res = pattern396 (x1);
1643 106593 : if (res >= 0)
1644 106593 : return res + 2; /* [2, 4] */
1645 : return -1;
1646 :
1647 : default:
1648 : return -1;
1649 : }
1650 : }
1651 :
1652 : int
1653 6658 : pattern413 (rtx x1)
1654 : {
1655 6658 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1656 6658 : rtx x2, x3, x4;
1657 6658 : int res ATTRIBUTE_UNUSED;
1658 6658 : x2 = XEXP (x1, 0);
1659 6658 : x3 = XEXP (x2, 1);
1660 6658 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1661 : return -1;
1662 5877 : x4 = XEXP (x2, 0);
1663 5877 : operands[1] = x4;
1664 5877 : if (!int_nonimmediate_operand (operands[1], E_VOIDmode))
1665 : return -1;
1666 4203 : switch (GET_MODE (operands[0]))
1667 : {
1668 209 : case E_QImode:
1669 209 : if (!register_operand (operands[0], E_QImode)
1670 209 : || GET_MODE (x1) != E_QImode
1671 418 : || GET_MODE (x2) != E_QImode)
1672 : return -1;
1673 : return 0;
1674 :
1675 133 : case E_HImode:
1676 133 : if (!register_operand (operands[0], E_HImode)
1677 129 : || GET_MODE (x1) != E_HImode
1678 262 : || GET_MODE (x2) != E_HImode)
1679 : return -1;
1680 : return 1;
1681 :
1682 3526 : case E_SImode:
1683 3526 : if (!register_operand (operands[0], E_SImode)
1684 2351 : || GET_MODE (x1) != E_SImode
1685 5877 : || GET_MODE (x2) != E_SImode)
1686 : return -1;
1687 : return 2;
1688 :
1689 335 : case E_DImode:
1690 335 : if (!register_operand (operands[0], E_DImode)
1691 331 : || GET_MODE (x1) != E_DImode
1692 666 : || GET_MODE (x2) != E_DImode)
1693 : return -1;
1694 : return 3;
1695 :
1696 : default:
1697 : return -1;
1698 : }
1699 : }
1700 :
1701 : int
1702 3772255 : pattern424 (rtx x1)
1703 : {
1704 3772255 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1705 3772255 : rtx x2, x3, x4;
1706 3772255 : int res ATTRIBUTE_UNUSED;
1707 3772255 : x2 = XEXP (x1, 1);
1708 3772255 : x3 = XEXP (x2, 0);
1709 3772255 : if (GET_CODE (x3) != REG
1710 3772255 : || REGNO (x3) != 7)
1711 : return -1;
1712 2231873 : x4 = XEXP (x1, 0);
1713 2231873 : if (GET_CODE (x4) != REG
1714 2231873 : || REGNO (x4) != 7)
1715 11 : return -1;
1716 : return 0;
1717 : }
1718 :
1719 : int
1720 51358 : pattern429 (rtx x1)
1721 : {
1722 51358 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1723 51358 : rtx x2, x3, x4, x5;
1724 51358 : int res ATTRIBUTE_UNUSED;
1725 51358 : x2 = XEXP (x1, 0);
1726 51358 : x3 = XEXP (x2, 0);
1727 51358 : if (GET_MODE (x3) != E_TImode
1728 1610 : || !nonimmediate_operand (operands[0], E_TImode)
1729 1610 : || GET_MODE (x1) != E_TImode
1730 52968 : || GET_MODE (x2) != E_TImode)
1731 49748 : return -1;
1732 1610 : x4 = XEXP (x3, 0);
1733 1610 : operands[1] = x4;
1734 1610 : if (!nonimmediate_operand (operands[1], E_DImode)
1735 1610 : || !const_int_operand (operands[2], E_QImode))
1736 472 : return -1;
1737 1138 : x5 = XEXP (x1, 1);
1738 1138 : return pattern261 (x5,
1739 : E_DImode,
1740 1138 : E_TImode); /* [-1, 1] */
1741 : }
1742 :
1743 : int
1744 177544 : pattern436 (rtx x1)
1745 : {
1746 177544 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1747 177544 : rtx x2, x3, x4, x5;
1748 177544 : int res ATTRIBUTE_UNUSED;
1749 177544 : x2 = XEXP (x1, 0);
1750 177544 : x3 = XEXP (x2, 0);
1751 177544 : x4 = XEXP (x3, 0);
1752 177544 : operands[1] = x4;
1753 177544 : x5 = XEXP (x3, 1);
1754 177544 : operands[2] = x5;
1755 177544 : if (!const248_operand (operands[2], E_VOIDmode))
1756 : return -1;
1757 23353 : return pattern435 (x1); /* [-1, 1] */
1758 : }
1759 :
1760 : int
1761 96 : pattern444 (rtx x1)
1762 : {
1763 96 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1764 96 : rtx x2, x3, x4, x5;
1765 96 : int res ATTRIBUTE_UNUSED;
1766 96 : x2 = XEXP (x1, 0);
1767 96 : if (GET_MODE (x2) != E_SImode)
1768 : return -1;
1769 94 : x3 = XEXP (x2, 0);
1770 94 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1771 : return -1;
1772 65 : x4 = XEXP (x2, 1);
1773 65 : if (GET_CODE (x4) != CLZ
1774 65 : || GET_MODE (x4) != E_SImode)
1775 : return -1;
1776 65 : x5 = XEXP (x1, 1);
1777 65 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
1778 0 : return -1;
1779 : return 0;
1780 : }
1781 :
1782 : int
1783 3823 : pattern451 (rtx x1, machine_mode i1)
1784 : {
1785 3823 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1786 3823 : rtx x2;
1787 3823 : int res ATTRIBUTE_UNUSED;
1788 3823 : if (!nonimmediate_operand (operands[0], i1)
1789 3819 : || GET_MODE (x1) != i1
1790 7642 : || !x86_64_general_operand (operands[1], i1))
1791 10 : return -1;
1792 3813 : x2 = XEXP (x1, 1);
1793 3813 : if (GET_MODE (x2) != i1)
1794 : return -1;
1795 : return 0;
1796 : }
1797 :
1798 : int
1799 19585 : pattern455 (rtx x1)
1800 : {
1801 19585 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1802 19585 : rtx x2, x3, x4;
1803 19585 : int res ATTRIBUTE_UNUSED;
1804 19585 : x2 = XEXP (x1, 1);
1805 19585 : x3 = XEXP (x2, 0);
1806 19585 : x4 = XEXP (x3, 0);
1807 19585 : operands[2] = x4;
1808 19585 : if (!int248_register_operand (operands[2], E_VOIDmode))
1809 : return -1;
1810 15522 : return pattern454 (x1); /* [-1, 1] */
1811 : }
1812 :
1813 : int
1814 4364 : pattern460 (rtx x1, machine_mode i1, machine_mode i2)
1815 : {
1816 4364 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1817 4364 : rtx x2;
1818 4364 : int res ATTRIBUTE_UNUSED;
1819 4364 : if (!register_operand (operands[0], i1)
1820 4364 : || GET_MODE (x1) != i1)
1821 : return -1;
1822 4158 : x2 = XEXP (x1, 0);
1823 4158 : if (GET_MODE (x2) != i1
1824 4158 : || !register_operand (operands[1], i1)
1825 4108 : || !vector_operand (operands[2], i1)
1826 4096 : || !nonimm_or_0_operand (operands[3], i1)
1827 8200 : || !register_operand (operands[4], i2))
1828 182 : return -1;
1829 : return 0;
1830 : }
1831 :
1832 : int
1833 424 : pattern466 (rtx x1)
1834 : {
1835 424 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1836 424 : rtx x2, x3, x4, x5, x6;
1837 424 : int res ATTRIBUTE_UNUSED;
1838 424 : x2 = XEXP (x1, 0);
1839 424 : if (GET_MODE (x2) != E_V32HImode
1840 424 : || !register_operand (operands[0], E_V32HImode)
1841 824 : || GET_MODE (x1) != E_V32HImode)
1842 24 : return -1;
1843 400 : x3 = XVECEXP (x2, 0, 0);
1844 400 : operands[1] = x3;
1845 400 : if (!nonimmediate_operand (operands[1], E_V32HImode))
1846 : return -1;
1847 400 : x4 = XVECEXP (x2, 0, 1);
1848 400 : operands[2] = x4;
1849 400 : if (!const_0_to_255_operand (operands[2], E_SImode))
1850 : return -1;
1851 400 : x5 = XEXP (x1, 1);
1852 400 : operands[3] = x5;
1853 400 : if (!nonimm_or_0_operand (operands[3], E_V32HImode))
1854 : return -1;
1855 384 : x6 = XEXP (x1, 2);
1856 384 : operands[4] = x6;
1857 384 : if (!register_operand (operands[4], E_SImode))
1858 : return -1;
1859 : return 0;
1860 : }
1861 :
1862 : int
1863 534 : pattern474 (rtx x1, machine_mode i1, machine_mode i2)
1864 : {
1865 534 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1866 534 : rtx x2, x3;
1867 534 : int res ATTRIBUTE_UNUSED;
1868 534 : if (!register_operand (operands[0], i2)
1869 534 : || GET_MODE (x1) != i2)
1870 : return -1;
1871 506 : x2 = XEXP (x1, 0);
1872 506 : if (GET_MODE (x2) != i2
1873 506 : || !vector_operand (operands[1], i2)
1874 506 : || !vector_operand (operands[2], i2)
1875 506 : || !vector_operand (operands[3], i2)
1876 1012 : || !const0_operand (operands[4], i2))
1877 0 : return -1;
1878 506 : x3 = XEXP (x1, 2);
1879 506 : if (GET_MODE (x3) != i1
1880 506 : || !register_operand (operands[5], E_QImode))
1881 50 : return -1;
1882 : return 0;
1883 : }
1884 :
1885 : int
1886 7413 : pattern484 (rtx x1, machine_mode i1, machine_mode i2)
1887 : {
1888 7413 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1889 7413 : rtx x2;
1890 7413 : int res ATTRIBUTE_UNUSED;
1891 7413 : if (!register_operand (operands[0], i1)
1892 7413 : || GET_MODE (x1) != i1)
1893 : return -1;
1894 7079 : x2 = XEXP (x1, 0);
1895 7079 : if (GET_MODE (x2) != i1
1896 7079 : || !register_operand (operands[1], i1)
1897 7067 : || !register_operand (operands[2], i1)
1898 7067 : || !nonimmediate_operand (operands[3], i1)
1899 14146 : || !register_operand (operands[4], i2))
1900 340 : return -1;
1901 : return 0;
1902 : }
1903 :
1904 : int
1905 65962 : pattern492 (rtx x1)
1906 : {
1907 65962 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1908 65962 : rtx x2, x3;
1909 65962 : int res ATTRIBUTE_UNUSED;
1910 65962 : x2 = XEXP (x1, 2);
1911 65962 : switch (GET_CODE (x2))
1912 : {
1913 26981 : case REG:
1914 26981 : case SUBREG:
1915 26981 : operands[4] = x2;
1916 26981 : x3 = XEXP (x1, 1);
1917 26981 : operands[3] = x3;
1918 26981 : switch (GET_MODE (operands[0]))
1919 : {
1920 443 : case E_V32HFmode:
1921 443 : return pattern491 (x1,
1922 : E_V32HFmode,
1923 443 : E_SImode); /* [-1, 0] */
1924 :
1925 491 : case E_V16HFmode:
1926 491 : if (pattern491 (x1,
1927 : E_V16HFmode,
1928 : E_HImode) != 0)
1929 : return -1;
1930 : return 1;
1931 :
1932 425 : case E_V8HFmode:
1933 425 : if (pattern491 (x1,
1934 : E_V8HFmode,
1935 : E_QImode) != 0)
1936 : return -1;
1937 : return 2;
1938 :
1939 1109 : case E_V16SFmode:
1940 1109 : if (pattern491 (x1,
1941 : E_V16SFmode,
1942 : E_HImode) != 0)
1943 : return -1;
1944 : return 3;
1945 :
1946 605 : case E_V8SFmode:
1947 605 : if (pattern491 (x1,
1948 : E_V8SFmode,
1949 : E_QImode) != 0)
1950 : return -1;
1951 : return 4;
1952 :
1953 455 : case E_V4SFmode:
1954 455 : if (pattern491 (x1,
1955 : E_V4SFmode,
1956 : E_QImode) != 0)
1957 : return -1;
1958 : return 5;
1959 :
1960 2423 : case E_V8DFmode:
1961 2423 : if (pattern491 (x1,
1962 : E_V8DFmode,
1963 : E_QImode) != 0)
1964 : return -1;
1965 : return 6;
1966 :
1967 950 : case E_V4DFmode:
1968 950 : if (pattern491 (x1,
1969 : E_V4DFmode,
1970 : E_QImode) != 0)
1971 : return -1;
1972 : return 7;
1973 :
1974 563 : case E_V2DFmode:
1975 563 : if (pattern491 (x1,
1976 : E_V2DFmode,
1977 : E_QImode) != 0)
1978 : return -1;
1979 : return 8;
1980 :
1981 4675 : case E_V16SImode:
1982 4675 : if (pattern134 (x1,
1983 : E_V16SImode,
1984 : E_HImode) != 0)
1985 : return -1;
1986 : return 9;
1987 :
1988 3916 : case E_V8SImode:
1989 3916 : if (pattern134 (x1,
1990 : E_V8SImode,
1991 : E_QImode) != 0)
1992 : return -1;
1993 : return 10;
1994 :
1995 4815 : case E_V4SImode:
1996 4815 : if (pattern134 (x1,
1997 : E_V4SImode,
1998 : E_QImode) != 0)
1999 : return -1;
2000 : return 11;
2001 :
2002 686 : case E_V8DImode:
2003 686 : if (pattern134 (x1,
2004 : E_V8DImode,
2005 : E_QImode) != 0)
2006 : return -1;
2007 : return 12;
2008 :
2009 626 : case E_V4DImode:
2010 626 : if (pattern134 (x1,
2011 : E_V4DImode,
2012 : E_QImode) != 0)
2013 : return -1;
2014 : return 13;
2015 :
2016 379 : case E_V2DImode:
2017 379 : if (pattern134 (x1,
2018 : E_V2DImode,
2019 : E_QImode) != 0)
2020 : return -1;
2021 : return 14;
2022 :
2023 674 : case E_V64QImode:
2024 674 : if (pattern134 (x1,
2025 : E_V64QImode,
2026 : E_DImode) != 0)
2027 : return -1;
2028 : return 15;
2029 :
2030 352 : case E_V16QImode:
2031 352 : if (pattern134 (x1,
2032 : E_V16QImode,
2033 : E_HImode) != 0)
2034 : return -1;
2035 : return 16;
2036 :
2037 508 : case E_V32QImode:
2038 508 : if (pattern134 (x1,
2039 : E_V32QImode,
2040 : E_SImode) != 0)
2041 : return -1;
2042 : return 17;
2043 :
2044 674 : case E_V32HImode:
2045 674 : if (pattern134 (x1,
2046 : E_V32HImode,
2047 : E_SImode) != 0)
2048 : return -1;
2049 : return 18;
2050 :
2051 640 : case E_V16HImode:
2052 640 : if (pattern134 (x1,
2053 : E_V16HImode,
2054 : E_HImode) != 0)
2055 : return -1;
2056 : return 19;
2057 :
2058 352 : case E_V8HImode:
2059 352 : if (pattern134 (x1,
2060 : E_V8HImode,
2061 : E_QImode) != 0)
2062 : return -1;
2063 : return 20;
2064 :
2065 408 : case E_V32BFmode:
2066 408 : if (pattern136 (x1,
2067 : E_V32BFmode,
2068 : E_SImode) != 0)
2069 : return -1;
2070 : return 21;
2071 :
2072 408 : case E_V16BFmode:
2073 408 : if (pattern136 (x1,
2074 : E_V16BFmode,
2075 : E_HImode) != 0)
2076 : return -1;
2077 : return 22;
2078 :
2079 404 : case E_V8BFmode:
2080 404 : if (pattern136 (x1,
2081 : E_V8BFmode,
2082 : E_QImode) != 0)
2083 : return -1;
2084 : return 23;
2085 :
2086 : default:
2087 : return -1;
2088 : }
2089 :
2090 36362 : case CONST_INT:
2091 36362 : res = pattern138 (x1);
2092 36362 : if (res >= 0)
2093 404 : return res + 24; /* [24, 26] */
2094 : return -1;
2095 :
2096 : default:
2097 : return -1;
2098 : }
2099 : }
2100 :
2101 : int
2102 810 : pattern523 (rtx x1, machine_mode i1)
2103 : {
2104 810 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2105 810 : int res ATTRIBUTE_UNUSED;
2106 810 : if (!register_operand (operands[0], i1)
2107 810 : || GET_MODE (x1) != i1)
2108 : return -1;
2109 744 : switch (GET_MODE (operands[1]))
2110 : {
2111 575 : case E_V4SImode:
2112 575 : if (!nonimmediate_operand (operands[1], E_V4SImode))
2113 : return -1;
2114 : return 0;
2115 :
2116 167 : case E_V4DImode:
2117 167 : if (!nonimmediate_operand (operands[1], E_V4DImode))
2118 : return -1;
2119 : return 1;
2120 :
2121 : default:
2122 : return -1;
2123 : }
2124 : }
2125 :
2126 : int
2127 51 : pattern528 (rtx x1, machine_mode i1, machine_mode i2)
2128 : {
2129 51 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2130 51 : rtx x2;
2131 51 : int res ATTRIBUTE_UNUSED;
2132 51 : if (!nonimmediate_operand (operands[0], i2)
2133 51 : || GET_MODE (x1) != i2)
2134 : return -1;
2135 51 : x2 = XEXP (x1, 0);
2136 51 : if (GET_MODE (x2) != i1
2137 51 : || !register_operand (operands[1], i1)
2138 94 : || !permvar_truncate_operand (operands[2], i1))
2139 39 : return -1;
2140 : return 0;
2141 : }
2142 :
2143 : int
2144 157 : pattern532 (rtx x1, machine_mode i1)
2145 : {
2146 157 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2147 157 : rtx x2;
2148 157 : int res ATTRIBUTE_UNUSED;
2149 157 : if (!register_operand (operands[0], i1)
2150 157 : || GET_MODE (x1) != i1)
2151 : return -1;
2152 157 : x2 = XEXP (x1, 0);
2153 157 : if (GET_MODE (x2) != i1
2154 157 : || !register_operand (operands[1], i1)
2155 113 : || !register_operand (operands[2], i1)
2156 270 : || !const1_operand (operands[3], i1))
2157 157 : return -1;
2158 : return 0;
2159 : }
2160 :
2161 : int
2162 259181 : pattern536 (rtx x1, machine_mode i1)
2163 : {
2164 259181 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2165 259181 : rtx x2;
2166 259181 : int res ATTRIBUTE_UNUSED;
2167 259181 : if (!register_operand (operands[0], i1)
2168 259181 : || GET_MODE (x1) != i1)
2169 : return -1;
2170 255947 : x2 = XEXP (x1, 0);
2171 255947 : if (GET_MODE (x2) != i1
2172 255947 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2173 175274 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2174 415101 : || !regmem_or_bitnot_regmem_operand (operands[3], i1))
2175 97484 : return -1;
2176 : return 0;
2177 : }
2178 :
2179 : int
2180 74680 : pattern542 (rtx x1)
2181 : {
2182 74680 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2183 74680 : rtx x2, x3, x4;
2184 74680 : int res ATTRIBUTE_UNUSED;
2185 74680 : x2 = XEXP (x1, 1);
2186 74680 : x3 = XEXP (x2, 0);
2187 74680 : operands[3] = x3;
2188 74680 : x4 = XEXP (x2, 1);
2189 74680 : operands[4] = x4;
2190 74680 : switch (GET_MODE (operands[0]))
2191 : {
2192 1 : case E_V32HFmode:
2193 1 : return pattern534 (x1,
2194 1 : E_V32HFmode); /* [-1, 0] */
2195 :
2196 1 : case E_V16HFmode:
2197 1 : if (pattern534 (x1,
2198 : E_V16HFmode) != 0)
2199 : return -1;
2200 : return 1;
2201 :
2202 52 : case E_V8HFmode:
2203 52 : if (pattern534 (x1,
2204 : E_V8HFmode) != 0)
2205 : return -1;
2206 : return 2;
2207 :
2208 0 : case E_V32BFmode:
2209 0 : if (pattern534 (x1,
2210 : E_V32BFmode) != 0)
2211 : return -1;
2212 : return 3;
2213 :
2214 0 : case E_V16BFmode:
2215 0 : if (pattern534 (x1,
2216 : E_V16BFmode) != 0)
2217 : return -1;
2218 : return 4;
2219 :
2220 0 : case E_V8BFmode:
2221 0 : if (pattern534 (x1,
2222 : E_V8BFmode) != 0)
2223 : return -1;
2224 : return 5;
2225 :
2226 2 : case E_V16SFmode:
2227 2 : if (pattern534 (x1,
2228 : E_V16SFmode) != 0)
2229 : return -1;
2230 : return 6;
2231 :
2232 4 : case E_V8SFmode:
2233 4 : if (pattern534 (x1,
2234 : E_V8SFmode) != 0)
2235 : return -1;
2236 : return 7;
2237 :
2238 5571 : case E_V4SFmode:
2239 5571 : if (pattern534 (x1,
2240 : E_V4SFmode) != 0)
2241 : return -1;
2242 : return 8;
2243 :
2244 0 : case E_V8DFmode:
2245 0 : if (pattern534 (x1,
2246 : E_V8DFmode) != 0)
2247 : return -1;
2248 : return 9;
2249 :
2250 9 : case E_V4DFmode:
2251 9 : if (pattern534 (x1,
2252 : E_V4DFmode) != 0)
2253 : return -1;
2254 : return 10;
2255 :
2256 5464 : case E_V2DFmode:
2257 5464 : if (pattern534 (x1,
2258 : E_V2DFmode) != 0)
2259 : return -1;
2260 : return 11;
2261 :
2262 : default:
2263 : return -1;
2264 : }
2265 : }
2266 :
2267 : int
2268 79666 : pattern547 (rtx x1)
2269 : {
2270 79666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2271 79666 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2272 79666 : rtx x10, x11;
2273 79666 : int res ATTRIBUTE_UNUSED;
2274 79666 : x2 = XEXP (x1, 0);
2275 79666 : x3 = XEXP (x2, 1);
2276 79666 : switch (XVECLEN (x3, 0))
2277 : {
2278 24835 : case 8:
2279 24835 : x4 = XVECEXP (x3, 0, 0);
2280 24835 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2281 : return -1;
2282 23428 : x5 = XVECEXP (x3, 0, 1);
2283 23428 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2284 : return -1;
2285 23428 : x6 = XVECEXP (x3, 0, 2);
2286 23428 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2287 : return -1;
2288 23428 : x7 = XVECEXP (x3, 0, 3);
2289 23428 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2290 : return -1;
2291 23428 : x8 = XVECEXP (x3, 0, 4);
2292 23428 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2293 : return -1;
2294 23428 : x9 = XVECEXP (x3, 0, 5);
2295 23428 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2296 : return -1;
2297 23428 : x10 = XVECEXP (x3, 0, 6);
2298 23428 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2299 : return -1;
2300 23428 : x11 = XVECEXP (x3, 0, 7);
2301 23428 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2302 23428 : || GET_MODE (x2) != E_V8QImode
2303 45495 : || !register_operand (operands[1], E_V16QImode))
2304 4830 : return -1;
2305 18598 : return pattern545 (x1); /* [-1, 2] */
2306 :
2307 13546 : case 4:
2308 13546 : x4 = XVECEXP (x3, 0, 0);
2309 13546 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2310 : return -1;
2311 12473 : x5 = XVECEXP (x3, 0, 1);
2312 12473 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2313 : return -1;
2314 12473 : x6 = XVECEXP (x3, 0, 2);
2315 12473 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2316 : return -1;
2317 12473 : x7 = XVECEXP (x3, 0, 3);
2318 12473 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2319 : return -1;
2320 12473 : switch (GET_MODE (operands[0]))
2321 : {
2322 10546 : case E_V4SImode:
2323 10546 : res = pattern546 (x1,
2324 : E_V4SImode);
2325 10546 : if (res >= 0)
2326 7281 : return res + 3; /* [3, 4] */
2327 : return -1;
2328 :
2329 1522 : case E_V4DImode:
2330 1522 : res = pattern546 (x1,
2331 : E_V4DImode);
2332 1522 : if (res >= 0)
2333 380 : return res + 5; /* [5, 6] */
2334 : return -1;
2335 :
2336 : default:
2337 : return -1;
2338 : }
2339 :
2340 9521 : case 2:
2341 9521 : x4 = XVECEXP (x3, 0, 0);
2342 9521 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2343 : return -1;
2344 9519 : x5 = XVECEXP (x3, 0, 1);
2345 9519 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2346 9370 : || !register_operand (operands[0], E_V2DImode)
2347 16186 : || GET_MODE (x1) != E_V2DImode)
2348 2852 : return -1;
2349 6667 : switch (GET_MODE (x2))
2350 : {
2351 284 : case E_V2QImode:
2352 284 : if (!register_operand (operands[1], E_V16QImode))
2353 : return -1;
2354 : return 7;
2355 :
2356 232 : case E_V2HImode:
2357 232 : if (!register_operand (operands[1], E_V8HImode))
2358 : return -1;
2359 : return 8;
2360 :
2361 6151 : case E_V2SImode:
2362 6151 : if (!register_operand (operands[1], E_V4SImode))
2363 : return -1;
2364 : return 9;
2365 :
2366 : default:
2367 : return -1;
2368 : }
2369 :
2370 : default:
2371 : return -1;
2372 : }
2373 : }
2374 :
2375 : int
2376 258 : pattern580 (rtx x1)
2377 : {
2378 258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2379 258 : int res ATTRIBUTE_UNUSED;
2380 258 : if (GET_MODE (x1) != E_SImode
2381 258 : || !register_operand (operands[0], E_SImode)
2382 255 : || !register_operand (operands[1], E_SImode)
2383 447 : || !register_operand (operands[2], E_SImode))
2384 152 : return -1;
2385 : return 0;
2386 : }
2387 :
2388 : int
2389 18 : pattern585 (rtx x1)
2390 : {
2391 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2392 18 : rtx x2, x3, x4;
2393 18 : int res ATTRIBUTE_UNUSED;
2394 18 : x2 = XEXP (x1, 1);
2395 18 : x3 = XEXP (x2, 0);
2396 18 : operands[2] = x3;
2397 18 : if (!register_operand (operands[2], E_QImode))
2398 : return -1;
2399 15 : x4 = XEXP (x2, 1);
2400 15 : operands[3] = x4;
2401 15 : if (!const_int_operand (operands[3], E_QImode))
2402 : return -1;
2403 15 : return pattern583 (x1); /* [-1, 3] */
2404 : }
2405 :
2406 : int
2407 928 : pattern590 (rtx x1)
2408 : {
2409 928 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2410 928 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2411 928 : int res ATTRIBUTE_UNUSED;
2412 928 : x2 = XEXP (x1, 0);
2413 928 : x3 = XEXP (x2, 0);
2414 928 : operands[0] = x3;
2415 928 : if (!int248_register_operand (operands[0], E_VOIDmode))
2416 : return -1;
2417 928 : x4 = XEXP (x1, 1);
2418 928 : x5 = XEXP (x4, 0);
2419 928 : x6 = XEXP (x5, 0);
2420 928 : x7 = XEXP (x6, 0);
2421 928 : x8 = XEXP (x7, 0);
2422 928 : if (!rtx_equal_p (x8, operands[0]))
2423 : return -1;
2424 928 : x9 = XEXP (x5, 1);
2425 928 : if (!rtx_equal_p (x9, operands[2]))
2426 : return -1;
2427 928 : switch (GET_MODE (operands[3]))
2428 : {
2429 928 : case E_HImode:
2430 928 : return pattern589 (x1,
2431 928 : E_HImode); /* [-1, 0] */
2432 :
2433 0 : case E_SImode:
2434 0 : if (pattern589 (x1,
2435 : E_SImode) != 0)
2436 : return -1;
2437 : return 1;
2438 :
2439 0 : case E_DImode:
2440 0 : if (pattern589 (x1,
2441 : E_DImode) != 0)
2442 : return -1;
2443 : return 2;
2444 :
2445 : default:
2446 : return -1;
2447 : }
2448 : }
2449 :
2450 : int
2451 4365 : pattern599 (rtx x1)
2452 : {
2453 4365 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2454 4365 : int res ATTRIBUTE_UNUSED;
2455 4365 : if (!register_operand (operands[0], E_SImode)
2456 4365 : || GET_MODE (x1) != E_SImode)
2457 : return -1;
2458 4335 : switch (GET_MODE (operands[1]))
2459 : {
2460 1693 : case E_V32QImode:
2461 1693 : if (!general_operand (operands[1], E_V32QImode)
2462 1693 : || !general_operand (operands[2], E_V32QImode))
2463 22 : return -1;
2464 : return 0;
2465 :
2466 2441 : case E_V32HImode:
2467 2441 : if (!general_operand (operands[1], E_V32HImode)
2468 2441 : || !general_operand (operands[2], E_V32HImode))
2469 34 : return -1;
2470 : return 1;
2471 :
2472 : default:
2473 : return -1;
2474 : }
2475 : }
2476 :
2477 : int
2478 18 : pattern606 (rtx x1, machine_mode i1, machine_mode i2)
2479 : {
2480 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2481 18 : rtx x2, x3;
2482 18 : int res ATTRIBUTE_UNUSED;
2483 18 : if (!register_operand (operands[0], i1)
2484 18 : || GET_MODE (x1) != i1)
2485 : return -1;
2486 18 : x2 = XEXP (x1, 0);
2487 18 : if (GET_MODE (x2) != i1)
2488 : return -1;
2489 18 : x3 = XEXP (x2, 0);
2490 18 : if (GET_MODE (x3) != i2
2491 18 : || !nonimmediate_operand (operands[1], i2)
2492 36 : || !vector_operand (operands[2], i1))
2493 0 : return -1;
2494 : return 0;
2495 : }
2496 :
2497 : int
2498 21314 : pattern611 (rtx x1)
2499 : {
2500 21314 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2501 21314 : rtx x2;
2502 21314 : int res ATTRIBUTE_UNUSED;
2503 21314 : if (GET_CODE (x1) != SUBREG
2504 7063 : || maybe_ne (SUBREG_BYTE (x1), 0)
2505 28377 : || GET_MODE (x1) != E_QImode)
2506 : return -1;
2507 7063 : x2 = XEXP (x1, 0);
2508 7063 : switch (GET_CODE (x2))
2509 : {
2510 : case ASHIFTRT:
2511 : case LSHIFTRT:
2512 : case SIGN_EXTRACT:
2513 : case ZERO_EXTRACT:
2514 : return 0;
2515 :
2516 : default:
2517 : return -1;
2518 : }
2519 : }
2520 :
2521 : int
2522 17030 : pattern616 (rtx x1, machine_mode i1)
2523 : {
2524 17030 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2525 17030 : rtx x2;
2526 17030 : int res ATTRIBUTE_UNUSED;
2527 17030 : if (!register_operand (operands[0], i1)
2528 17030 : || GET_MODE (x1) != i1)
2529 : return -1;
2530 13166 : x2 = XEXP (x1, 0);
2531 13166 : if (GET_MODE (x2) != i1
2532 13166 : || !register_no_SP_operand (operands[1], i1)
2533 9821 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
2534 17894 : || !const_int_operand (operands[3], E_VOIDmode))
2535 8438 : return -1;
2536 : return 0;
2537 : }
2538 :
2539 : int
2540 14139 : pattern620 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2541 : {
2542 14139 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2543 14139 : rtx x2;
2544 14139 : int res ATTRIBUTE_UNUSED;
2545 14139 : if (!register_operand (operands[0], i3)
2546 14139 : || GET_MODE (x1) != i3)
2547 : return -1;
2548 2037 : x2 = XEXP (x1, 0);
2549 2037 : if (GET_MODE (x2) != i2
2550 2037 : || !register_operand (operands[1], i1))
2551 478 : return -1;
2552 : return 0;
2553 : }
2554 :
2555 : int
2556 1763 : pattern624 (rtx x1, machine_mode i1)
2557 : {
2558 1763 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2559 1763 : rtx x2;
2560 1763 : int res ATTRIBUTE_UNUSED;
2561 1763 : if (!register_operand (operands[0], i1)
2562 1763 : || GET_MODE (x1) != i1)
2563 : return -1;
2564 1734 : x2 = XEXP (x1, 0);
2565 1734 : if (GET_MODE (x2) != i1
2566 1734 : || !register_operand (operands[1], i1)
2567 3354 : || !register_mmxmem_operand (operands[2], i1))
2568 498 : return -1;
2569 : return 0;
2570 : }
2571 :
2572 : int
2573 47 : pattern630 (rtx x1, machine_mode i1, machine_mode i2)
2574 : {
2575 47 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2576 47 : rtx x2;
2577 47 : int res ATTRIBUTE_UNUSED;
2578 47 : if (!register_operand (operands[0], i1)
2579 47 : || GET_MODE (x1) != i1)
2580 : return -1;
2581 47 : x2 = XEXP (x1, 0);
2582 47 : if (GET_MODE (x2) != i2
2583 47 : || !nonimmediate_operand (operands[1], i2))
2584 28 : return -1;
2585 : return 0;
2586 : }
2587 :
2588 : int
2589 1089799 : pattern635 (rtx x1)
2590 : {
2591 1089799 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2592 1089799 : rtx x2, x3;
2593 1089799 : int res ATTRIBUTE_UNUSED;
2594 1089799 : x2 = XEXP (x1, 1);
2595 1089799 : if (GET_CODE (x2) != SUBREG
2596 309145 : || maybe_ne (SUBREG_BYTE (x2), 0)
2597 1398944 : || GET_MODE (x2) != E_QImode)
2598 : return -1;
2599 307208 : x3 = XEXP (x2, 0);
2600 307208 : if (GET_CODE (x3) != AND
2601 307208 : || pattern293 (x1,
2602 : E_DImode) != 0)
2603 306010 : return -1;
2604 : return 0;
2605 : }
2606 :
2607 : int
2608 3446 : pattern642 (rtx x1)
2609 : {
2610 3446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2611 3446 : rtx x2, x3, x4;
2612 3446 : int res ATTRIBUTE_UNUSED;
2613 3446 : x2 = XEXP (x1, 0);
2614 3446 : x3 = XVECEXP (x2, 0, 0);
2615 3446 : operands[1] = x3;
2616 3446 : x4 = XEXP (x1, 2);
2617 3446 : switch (GET_CODE (x4))
2618 : {
2619 2878 : case REG:
2620 2878 : case SUBREG:
2621 2878 : operands[3] = x4;
2622 2878 : switch (GET_MODE (operands[0]))
2623 : {
2624 482 : case E_V16SFmode:
2625 482 : return pattern640 (x1,
2626 : E_V16SFmode,
2627 482 : E_HImode); /* [-1, 0] */
2628 :
2629 480 : case E_V8SFmode:
2630 480 : if (pattern640 (x1,
2631 : E_V8SFmode,
2632 : E_QImode) != 0)
2633 : return -1;
2634 : return 1;
2635 :
2636 473 : case E_V4SFmode:
2637 473 : if (pattern640 (x1,
2638 : E_V4SFmode,
2639 : E_QImode) != 0)
2640 : return -1;
2641 : return 2;
2642 :
2643 486 : case E_V8DFmode:
2644 486 : if (pattern640 (x1,
2645 : E_V8DFmode,
2646 : E_QImode) != 0)
2647 : return -1;
2648 : return 3;
2649 :
2650 480 : case E_V4DFmode:
2651 480 : if (pattern640 (x1,
2652 : E_V4DFmode,
2653 : E_QImode) != 0)
2654 : return -1;
2655 : return 4;
2656 :
2657 477 : case E_V2DFmode:
2658 477 : if (pattern640 (x1,
2659 : E_V2DFmode,
2660 : E_QImode) != 0)
2661 : return -1;
2662 : return 5;
2663 :
2664 : default:
2665 : return -1;
2666 : }
2667 :
2668 528 : case CONST_INT:
2669 528 : if (XWINT (x4, 0) != 1L)
2670 : return -1;
2671 382 : switch (GET_MODE (operands[0]))
2672 : {
2673 186 : case E_V4SFmode:
2674 186 : if (pattern641 (x1,
2675 : E_V4SFmode) != 0)
2676 : return -1;
2677 : return 6;
2678 :
2679 196 : case E_V2DFmode:
2680 196 : if (pattern641 (x1,
2681 : E_V2DFmode) != 0)
2682 : return -1;
2683 : return 7;
2684 :
2685 : default:
2686 : return -1;
2687 : }
2688 :
2689 : default:
2690 : return -1;
2691 : }
2692 : }
2693 :
2694 : int
2695 374 : pattern658 (rtx x1)
2696 : {
2697 374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2698 374 : int res ATTRIBUTE_UNUSED;
2699 374 : if (!register_operand (operands[0], E_V2DImode)
2700 374 : || GET_MODE (x1) != E_V2DImode)
2701 : return -1;
2702 344 : switch (GET_MODE (operands[1]))
2703 : {
2704 110 : case E_V8HFmode:
2705 110 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
2706 : return -1;
2707 : return 0;
2708 :
2709 116 : case E_V2DFmode:
2710 116 : if (!vector_operand (operands[1], E_V2DFmode))
2711 : return -1;
2712 : return 1;
2713 :
2714 118 : case E_V4SFmode:
2715 118 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
2716 : return -1;
2717 : return 2;
2718 :
2719 : default:
2720 : return -1;
2721 : }
2722 : }
2723 :
2724 : int
2725 0 : pattern666 (rtx x1)
2726 : {
2727 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2728 0 : rtx x2, x3, x4, x5, x6, x7;
2729 0 : int res ATTRIBUTE_UNUSED;
2730 0 : x2 = XVECEXP (x1, 0, 0);
2731 0 : x3 = XEXP (x2, 0);
2732 0 : x4 = XEXP (x3, 0);
2733 0 : operands[1] = x4;
2734 0 : x5 = XEXP (x2, 1);
2735 0 : operands[2] = x5;
2736 0 : x6 = XEXP (x2, 2);
2737 0 : operands[3] = x6;
2738 0 : x7 = XVECEXP (x1, 0, 1);
2739 0 : operands[4] = x7;
2740 0 : if (!const48_operand (operands[4], E_SImode))
2741 : return -1;
2742 0 : switch (GET_MODE (operands[0]))
2743 : {
2744 0 : case E_V8HImode:
2745 0 : return pattern665 (x1,
2746 : E_QImode,
2747 : E_V8HImode,
2748 0 : E_V8HFmode); /* [-1, 0] */
2749 :
2750 0 : case E_V16HImode:
2751 0 : if (pattern665 (x1,
2752 : E_HImode,
2753 : E_V16HImode,
2754 : E_V16HFmode) != 0)
2755 : return -1;
2756 : return 1;
2757 :
2758 0 : case E_V32HImode:
2759 0 : if (pattern665 (x1,
2760 : E_SImode,
2761 : E_V32HImode,
2762 : E_V32HFmode) != 0)
2763 : return -1;
2764 : return 2;
2765 :
2766 0 : case E_V8SImode:
2767 0 : if (!register_operand (operands[0], E_V8SImode)
2768 0 : || GET_MODE (x1) != E_V8SImode
2769 0 : || GET_MODE (x2) != E_V8SImode
2770 0 : || GET_MODE (x3) != E_V8SImode
2771 0 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
2772 0 : || !register_operand (operands[3], E_QImode))
2773 0 : return -1;
2774 0 : switch (GET_MODE (operands[1]))
2775 : {
2776 0 : case E_V8HFmode:
2777 0 : if (!register_operand (operands[1], E_V8HFmode))
2778 : return -1;
2779 : return 3;
2780 :
2781 0 : case E_V8DFmode:
2782 0 : if (!register_operand (operands[1], E_V8DFmode))
2783 : return -1;
2784 : return 4;
2785 :
2786 : default:
2787 : return -1;
2788 : }
2789 :
2790 0 : case E_V16SImode:
2791 0 : if (!register_operand (operands[0], E_V16SImode)
2792 0 : || GET_MODE (x1) != E_V16SImode
2793 0 : || GET_MODE (x2) != E_V16SImode
2794 0 : || GET_MODE (x3) != E_V16SImode
2795 0 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
2796 0 : || !register_operand (operands[3], E_HImode))
2797 0 : return -1;
2798 0 : switch (GET_MODE (operands[1]))
2799 : {
2800 0 : case E_V16HFmode:
2801 0 : if (!register_operand (operands[1], E_V16HFmode))
2802 : return -1;
2803 : return 5;
2804 :
2805 0 : case E_V16SFmode:
2806 0 : if (!register_operand (operands[1], E_V16SFmode))
2807 : return -1;
2808 : return 6;
2809 :
2810 : default:
2811 : return -1;
2812 : }
2813 :
2814 0 : case E_V8DImode:
2815 0 : if (!register_operand (operands[0], E_V8DImode)
2816 0 : || GET_MODE (x1) != E_V8DImode
2817 0 : || GET_MODE (x2) != E_V8DImode
2818 0 : || GET_MODE (x3) != E_V8DImode
2819 0 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
2820 0 : || !register_operand (operands[3], E_QImode))
2821 0 : return -1;
2822 0 : switch (GET_MODE (operands[1]))
2823 : {
2824 0 : case E_V8HFmode:
2825 0 : if (!register_operand (operands[1], E_V8HFmode))
2826 : return -1;
2827 : return 7;
2828 :
2829 0 : case E_V8DFmode:
2830 0 : if (!register_operand (operands[1], E_V8DFmode))
2831 : return -1;
2832 : return 8;
2833 :
2834 0 : case E_V8SFmode:
2835 0 : if (!register_operand (operands[1], E_V8SFmode))
2836 : return -1;
2837 : return 9;
2838 :
2839 : default:
2840 : return -1;
2841 : }
2842 :
2843 : default:
2844 : return -1;
2845 : }
2846 : }
2847 :
2848 : int
2849 201804 : pattern698 (rtx x1, rtx_code i1)
2850 : {
2851 201804 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2852 201804 : rtx x2, x3, x4, x5;
2853 201804 : int res ATTRIBUTE_UNUSED;
2854 201804 : x2 = XVECEXP (x1, 0, 0);
2855 201804 : x3 = XEXP (x2, 1);
2856 201804 : x4 = XEXP (x3, 1);
2857 201804 : if (GET_CODE (x4) != SIGN_EXTEND)
2858 : return -1;
2859 198768 : x5 = XEXP (x4, 0);
2860 198768 : if (GET_CODE (x5) != i1
2861 198768 : || pattern697 (x1,
2862 : i1) != 0)
2863 9239 : return -1;
2864 : return 0;
2865 : }
2866 :
2867 : int
2868 9472 : pattern702 (rtx x1, machine_mode i1)
2869 : {
2870 9472 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2871 9472 : rtx x2;
2872 9472 : int res ATTRIBUTE_UNUSED;
2873 9472 : if (!nonimmediate_operand (operands[0], i1)
2874 9472 : || GET_MODE (x1) != i1
2875 18944 : || !x86_64_general_operand (operands[1], i1))
2876 2 : return -1;
2877 9470 : x2 = XEXP (x1, 1);
2878 9470 : if (GET_MODE (x2) != i1)
2879 : return -1;
2880 : return 0;
2881 : }
2882 :
2883 : int
2884 225 : pattern706 (rtx x1)
2885 : {
2886 225 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2887 225 : rtx x2, x3, x4;
2888 225 : int res ATTRIBUTE_UNUSED;
2889 225 : if (GET_MODE (x1) != E_SImode)
2890 : return -1;
2891 219 : x2 = XEXP (x1, 0);
2892 219 : if (GET_CODE (x2) != ASHIFT
2893 73 : || GET_MODE (x2) != E_SImode)
2894 : return -1;
2895 73 : x3 = XEXP (x2, 0);
2896 73 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2897 : return -1;
2898 27 : x4 = XEXP (x1, 1);
2899 27 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
2900 0 : return -1;
2901 : return 0;
2902 : }
2903 :
2904 : int
2905 9842 : pattern712 (rtx x1)
2906 : {
2907 9842 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2908 9842 : rtx x2, x3, x4, x5;
2909 9842 : int res ATTRIBUTE_UNUSED;
2910 9842 : x2 = XVECEXP (x1, 0, 1);
2911 9842 : x3 = XEXP (x2, 0);
2912 9842 : if (GET_CODE (x3) != REG
2913 9842 : || REGNO (x3) != 17
2914 19684 : || GET_MODE (x3) != E_CCmode)
2915 : return -1;
2916 9842 : x4 = XVECEXP (x1, 0, 0);
2917 9842 : x5 = XEXP (x4, 1);
2918 9842 : return pattern410 (x5); /* [-1, 1] */
2919 : }
2920 :
2921 : int
2922 264 : pattern720 (rtx x1)
2923 : {
2924 264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2925 264 : rtx x2, x3, x4, x5, x6, x7, x8;
2926 264 : int res ATTRIBUTE_UNUSED;
2927 264 : x2 = XVECEXP (x1, 0, 0);
2928 264 : x3 = XEXP (x2, 0);
2929 264 : if (GET_CODE (x3) != REG
2930 264 : || REGNO (x3) != 17
2931 528 : || GET_MODE (x3) != E_CCmode)
2932 : return -1;
2933 264 : x4 = XVECEXP (x1, 0, 1);
2934 264 : if (GET_CODE (x4) != CLOBBER)
2935 : return -1;
2936 264 : x5 = XVECEXP (x1, 0, 2);
2937 264 : if (GET_CODE (x5) != CLOBBER)
2938 : return -1;
2939 264 : x6 = XEXP (x2, 1);
2940 264 : x7 = XVECEXP (x6, 0, 0);
2941 264 : operands[2] = x7;
2942 264 : if (!register_operand (operands[2], E_V16QImode))
2943 : return -1;
2944 264 : x8 = XVECEXP (x6, 0, 1);
2945 264 : operands[3] = x8;
2946 264 : return 0;
2947 : }
2948 :
2949 : int
2950 6645 : pattern724 (rtx x1, machine_mode i1, machine_mode i2)
2951 : {
2952 6645 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2953 6645 : rtx x2, x3;
2954 6645 : int res ATTRIBUTE_UNUSED;
2955 6645 : if (!nonimmediate_operand (operands[0], i1)
2956 6645 : || GET_MODE (x1) != i1)
2957 : return -1;
2958 6629 : x2 = XEXP (x1, 0);
2959 6629 : if (GET_MODE (x2) != i1)
2960 : return -1;
2961 6629 : x3 = XEXP (x2, 0);
2962 6629 : if (GET_MODE (x3) != i1
2963 6629 : || !nonimmediate_operand (operands[1], i2)
2964 9595 : || !const_scalar_int_operand (operands[3], i1))
2965 3663 : return -1;
2966 : return 0;
2967 : }
2968 :
2969 : int
2970 1686 : pattern734 (rtx x1, rtx_code i1)
2971 : {
2972 1686 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2973 1686 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2974 1686 : rtx x10;
2975 1686 : int res ATTRIBUTE_UNUSED;
2976 1686 : x2 = XEXP (x1, 0);
2977 1686 : x3 = XEXP (x2, 1);
2978 1686 : if (GET_CODE (x3) != i1)
2979 : return -1;
2980 479 : x4 = XEXP (x1, 1);
2981 479 : if (XVECLEN (x4, 0) < 1)
2982 : return -1;
2983 479 : operands[5] = x4;
2984 479 : if (!addsub_vs_parallel (operands[5], E_VOIDmode))
2985 : return -1;
2986 8 : operands[7] = x1;
2987 8 : x5 = XEXP (x2, 0);
2988 8 : x6 = XEXP (x5, 0);
2989 8 : operands[1] = x6;
2990 8 : x7 = XEXP (x5, 1);
2991 8 : operands[2] = x7;
2992 8 : x8 = XEXP (x3, 0);
2993 8 : operands[3] = x8;
2994 8 : x9 = XEXP (x3, 1);
2995 8 : operands[4] = x9;
2996 8 : x10 = XVECEXP (x4, 0, 0);
2997 8 : operands[6] = x10;
2998 8 : if (!const_int_operand (operands[6], E_VOIDmode))
2999 : return -1;
3000 8 : switch (GET_MODE (operands[0]))
3001 : {
3002 : case E_V8SFmode:
3003 : return 0;
3004 :
3005 0 : case E_V4SFmode:
3006 0 : return 1;
3007 :
3008 0 : case E_V4DFmode:
3009 0 : return 2;
3010 :
3011 0 : case E_V2DFmode:
3012 0 : return 3;
3013 :
3014 : default:
3015 : return -1;
3016 : }
3017 : }
3018 :
3019 : int
3020 270 : pattern744 (rtx x1, machine_mode i1)
3021 : {
3022 270 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3023 270 : rtx x2, x3;
3024 270 : int res ATTRIBUTE_UNUSED;
3025 270 : if (!register_operand (operands[0], i1)
3026 270 : || GET_MODE (x1) != i1
3027 270 : || !register_operand (operands[1], i1)
3028 432 : || !register_operand (operands[2], i1))
3029 180 : return -1;
3030 90 : x2 = XVECEXP (x1, 0, 2);
3031 90 : if (GET_MODE (x2) != i1)
3032 : return -1;
3033 90 : x3 = XEXP (x2, 0);
3034 90 : if (GET_MODE (x3) != i1
3035 90 : || !register_operand (operands[3], i1)
3036 72 : || !nonmemory_operand (operands[4], i1)
3037 162 : || !const0_operand (operands[5], i1))
3038 54 : return -1;
3039 : return 0;
3040 : }
3041 :
3042 : int
3043 16491 : pattern753 (machine_mode i1)
3044 : {
3045 16491 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3046 16491 : int res ATTRIBUTE_UNUSED;
3047 16491 : if (!register_operand (operands[0], i1)
3048 16368 : || !ix86_comparison_uns_operator (operands[1], i1)
3049 16235 : || !register_operand (operands[2], i1)
3050 27336 : || !register_operand (operands[3], i1))
3051 16419 : return -1;
3052 : return 0;
3053 : }
3054 :
3055 : int
3056 6502 : pattern757 (rtx x1, rtx_code i1)
3057 : {
3058 6502 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3059 6502 : rtx x2, x3, x4, x5, x6, x7;
3060 6502 : int res ATTRIBUTE_UNUSED;
3061 6502 : x2 = XEXP (x1, 0);
3062 6502 : x3 = XEXP (x2, 0);
3063 6502 : x4 = XEXP (x3, 1);
3064 6502 : if (GET_CODE (x4) != i1)
3065 : return -1;
3066 6106 : x5 = XEXP (x3, 0);
3067 6106 : x6 = XEXP (x5, 0);
3068 6106 : operands[1] = x6;
3069 6106 : x7 = XEXP (x4, 0);
3070 6106 : operands[2] = x7;
3071 6106 : switch (GET_MODE (operands[0]))
3072 : {
3073 590 : case E_V4HImode:
3074 590 : if (!register_operand (operands[0], E_V4HImode)
3075 580 : || GET_MODE (x1) != E_V4HImode
3076 580 : || GET_MODE (x2) != E_V4SImode
3077 580 : || GET_MODE (x3) != E_V4SImode
3078 580 : || GET_MODE (x5) != E_V4SImode
3079 580 : || !register_mmxmem_operand (operands[1], E_V4HImode)
3080 461 : || GET_MODE (x4) != E_V4SImode
3081 1051 : || !register_mmxmem_operand (operands[2], E_V4HImode))
3082 147 : return -1;
3083 : return 0;
3084 :
3085 40 : case E_V2HImode:
3086 40 : if (!register_operand (operands[0], E_V2HImode)
3087 30 : || GET_MODE (x1) != E_V2HImode
3088 30 : || GET_MODE (x2) != E_V2SImode
3089 30 : || GET_MODE (x3) != E_V2SImode
3090 30 : || GET_MODE (x5) != E_V2SImode
3091 30 : || !register_operand (operands[1], E_V2HImode)
3092 20 : || GET_MODE (x4) != E_V2SImode
3093 60 : || !register_operand (operands[2], E_V2HImode))
3094 30 : return -1;
3095 : return 1;
3096 :
3097 : default:
3098 : return -1;
3099 : }
3100 : }
3101 :
3102 : int
3103 51 : pattern778 (rtx x1, machine_mode i1, machine_mode i2)
3104 : {
3105 51 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3106 51 : rtx x2, x3, x4;
3107 51 : int res ATTRIBUTE_UNUSED;
3108 51 : if (!register_operand (operands[0], i2)
3109 51 : || GET_MODE (x1) != i2)
3110 : return -1;
3111 46 : x2 = XEXP (x1, 0);
3112 46 : if (GET_MODE (x2) != i2)
3113 : return -1;
3114 46 : x3 = XEXP (x2, 0);
3115 46 : if (GET_MODE (x3) != i1)
3116 : return -1;
3117 46 : x4 = XVECEXP (x3, 0, 0);
3118 46 : if (GET_MODE (x4) != i1
3119 46 : || !register_operand (operands[1], i2)
3120 88 : || !nonimmediate_operand (operands[2], i1))
3121 28 : return -1;
3122 : return 0;
3123 : }
3124 :
3125 : int
3126 3994 : pattern785 (rtx x1)
3127 : {
3128 3994 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3129 3994 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3130 3994 : rtx x10;
3131 3994 : int res ATTRIBUTE_UNUSED;
3132 3994 : x2 = XVECEXP (x1, 0, 0);
3133 3994 : x3 = XEXP (x2, 2);
3134 3994 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3135 : return -1;
3136 3994 : x4 = XEXP (x2, 0);
3137 3994 : x5 = XEXP (x4, 0);
3138 3994 : x6 = XEXP (x5, 0);
3139 3994 : operands[1] = x6;
3140 3994 : x7 = XEXP (x5, 1);
3141 3994 : operands[2] = x7;
3142 3994 : x8 = XEXP (x4, 1);
3143 3994 : operands[3] = x8;
3144 3994 : x9 = XEXP (x4, 2);
3145 3994 : operands[4] = x9;
3146 3994 : if (!register_operand (operands[4], E_QImode))
3147 : return -1;
3148 3958 : x10 = XVECEXP (x1, 0, 1);
3149 3958 : operands[5] = x10;
3150 3958 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
3151 : return -1;
3152 3958 : return pattern784 (x1); /* [-1, 2] */
3153 : }
3154 :
3155 : int
3156 204 : pattern798 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3157 : {
3158 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3159 204 : rtx x2, x3;
3160 204 : int res ATTRIBUTE_UNUSED;
3161 204 : if (!register_operand (operands[0], i3)
3162 204 : || GET_MODE (x1) != i3)
3163 : return -1;
3164 195 : x2 = XEXP (x1, 0);
3165 195 : if (GET_MODE (x2) != i2
3166 195 : || !nonimmediate_operand (operands[2], i1))
3167 0 : return -1;
3168 195 : x3 = XEXP (x1, 1);
3169 195 : if (GET_MODE (x3) != i2
3170 195 : || !register_operand (operands[1], i1))
3171 3 : return -1;
3172 : return 0;
3173 : }
3174 :
3175 : int
3176 370074 : pattern806 (machine_mode i1, machine_mode i2)
3177 : {
3178 370074 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3179 370074 : int res ATTRIBUTE_UNUSED;
3180 370074 : if (!register_operand (operands[0], i2)
3181 367953 : || !sse_comparison_operator (operands[3], i2)
3182 256935 : || !register_operand (operands[1], i1)
3183 392148 : || !vector_operand (operands[2], i1))
3184 348099 : return -1;
3185 : return 0;
3186 : }
3187 :
3188 : int
3189 1272136 : pattern815 (rtx x1)
3190 : {
3191 1272136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3192 1272136 : rtx x2, x3, x4, x5;
3193 1272136 : int res ATTRIBUTE_UNUSED;
3194 1272136 : x2 = XEXP (x1, 1);
3195 1272136 : operands[3] = x2;
3196 1272136 : if (!avx_vbroadcast128_operand (operands[3], E_VOIDmode))
3197 : return -1;
3198 153 : x3 = XEXP (x1, 0);
3199 153 : x4 = XEXP (x3, 1);
3200 153 : operands[2] = x4;
3201 153 : x5 = XVECEXP (x2, 0, 0);
3202 153 : operands[4] = x5;
3203 153 : if (!const_int_operand (operands[4], E_VOIDmode))
3204 : return -1;
3205 153 : switch (GET_MODE (operands[0]))
3206 : {
3207 0 : case E_V32QImode:
3208 0 : return pattern814 (x1,
3209 : E_V16QImode,
3210 0 : E_V32QImode); /* [-1, 0] */
3211 :
3212 0 : case E_V16HImode:
3213 0 : if (pattern814 (x1,
3214 : E_V8HImode,
3215 : E_V16HImode) != 0)
3216 : return -1;
3217 : return 1;
3218 :
3219 36 : case E_V8SImode:
3220 36 : if (pattern814 (x1,
3221 : E_V4SImode,
3222 : E_V8SImode) != 0)
3223 : return -1;
3224 : return 2;
3225 :
3226 0 : case E_V4DImode:
3227 0 : if (pattern814 (x1,
3228 : E_V2DImode,
3229 : E_V4DImode) != 0)
3230 : return -1;
3231 : return 3;
3232 :
3233 6 : case E_V8SFmode:
3234 6 : if (pattern814 (x1,
3235 : E_V4SFmode,
3236 : E_V8SFmode) != 0)
3237 : return -1;
3238 : return 4;
3239 :
3240 45 : case E_V4DFmode:
3241 45 : if (pattern814 (x1,
3242 : E_V2DFmode,
3243 : E_V4DFmode) != 0)
3244 : return -1;
3245 : return 5;
3246 :
3247 0 : case E_V16HFmode:
3248 0 : if (pattern814 (x1,
3249 : E_V8HFmode,
3250 : E_V16HFmode) != 0)
3251 : return -1;
3252 : return 6;
3253 :
3254 0 : case E_V16BFmode:
3255 0 : if (pattern814 (x1,
3256 : E_V8BFmode,
3257 : E_V16BFmode) != 0)
3258 : return -1;
3259 : return 7;
3260 :
3261 : default:
3262 : return -1;
3263 : }
3264 : }
3265 :
3266 : int
3267 24 : pattern832 (rtx x1, int *pnum_clobbers)
3268 : {
3269 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3270 24 : rtx x2, x3;
3271 24 : int res ATTRIBUTE_UNUSED;
3272 24 : switch (GET_CODE (x1))
3273 : {
3274 20 : case CLOBBER:
3275 20 : x2 = XEXP (x1, 0);
3276 20 : if (GET_CODE (x2) != REG
3277 20 : || REGNO (x2) != 17
3278 40 : || GET_MODE (x2) != E_CCmode)
3279 : return -1;
3280 : return 0;
3281 :
3282 0 : case UNSPEC:
3283 0 : if (pnum_clobbers == NULL
3284 0 : || XVECLEN (x1, 0) != 1
3285 0 : || XINT (x1, 1) != 39)
3286 : return -1;
3287 0 : x3 = XVECEXP (x1, 0, 0);
3288 0 : operands[2] = x3;
3289 0 : if (!register_operand (operands[2], E_DImode))
3290 : return -1;
3291 : return 1;
3292 :
3293 : default:
3294 : return -1;
3295 : }
3296 : }
3297 :
3298 : int
3299 86 : pattern838 (rtx x1, int *pnum_clobbers)
3300 : {
3301 86 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3302 86 : rtx x2, x3;
3303 86 : int res ATTRIBUTE_UNUSED;
3304 86 : x2 = XVECEXP (x1, 0, 1);
3305 86 : if (GET_CODE (x2) != USE)
3306 : return -1;
3307 86 : x3 = XVECEXP (x1, 0, 2);
3308 86 : if (GET_CODE (x3) != USE
3309 86 : || !register_operand (operands[1], E_XFmode))
3310 58 : return -1;
3311 28 : return pattern837 (x1, pnum_clobbers); /* [-1, 2] */
3312 : }
3313 :
3314 : int
3315 5963903 : pattern843 (rtx x1, machine_mode i1)
3316 : {
3317 5963903 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3318 5963903 : int res ATTRIBUTE_UNUSED;
3319 5963903 : if (!register_operand (operands[0], i1)
3320 5961190 : || GET_MODE (x1) != i1
3321 5961190 : || !register_operand (operands[1], i1)
3322 11922027 : || !x86_64_nonmemory_operand (operands[2], i1))
3323 160863 : return -1;
3324 : return 0;
3325 : }
3326 :
3327 : int
3328 143771 : pattern848 (rtx x1)
3329 : {
3330 143771 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3331 143771 : rtx x2, x3, x4, x5;
3332 143771 : int res ATTRIBUTE_UNUSED;
3333 143771 : x2 = XVECEXP (x1, 0, 0);
3334 143771 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3335 : return -1;
3336 66971 : x3 = XVECEXP (x1, 0, 1);
3337 66971 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3338 : return -1;
3339 11863 : x4 = XVECEXP (x1, 0, 2);
3340 11863 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3341 : return -1;
3342 9824 : x5 = XVECEXP (x1, 0, 3);
3343 9824 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3344 370 : return -1;
3345 : return 0;
3346 : }
3347 :
3348 : int
3349 4354675 : pattern855 (rtx x1, machine_mode i1)
3350 : {
3351 4354675 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3352 4354675 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3353 4354675 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3354 4354675 : rtx x18, x19;
3355 4354675 : int res ATTRIBUTE_UNUSED;
3356 4354675 : if (peep2_current_count < 4
3357 4354675 : || peep2_current_count < 5)
3358 : return -1;
3359 2468161 : x2 = XEXP (x1, 0);
3360 2468161 : operands[3] = x2;
3361 2468161 : if (!register_operand (operands[3], i1))
3362 : return -1;
3363 1224719 : x3 = XEXP (x1, 1);
3364 1224719 : if (!rtx_equal_p (x3, operands[0]))
3365 : return -1;
3366 58348 : x4 = PATTERN (peep2_next_insn (2));
3367 58348 : if (GET_CODE (x4) != PARALLEL
3368 37707 : || XVECLEN (x4, 0) != 2)
3369 : return -1;
3370 37625 : x5 = XVECEXP (x4, 0, 0);
3371 37625 : if (GET_CODE (x5) != SET)
3372 : return -1;
3373 37595 : x6 = XEXP (x5, 1);
3374 37595 : if (GET_CODE (x6) != XOR
3375 285 : || GET_MODE (x6) != i1)
3376 : return -1;
3377 285 : x7 = XVECEXP (x4, 0, 1);
3378 285 : if (GET_CODE (x7) != CLOBBER)
3379 : return -1;
3380 285 : x8 = XEXP (x7, 0);
3381 285 : if (GET_CODE (x8) != REG
3382 285 : || REGNO (x8) != 17
3383 570 : || GET_MODE (x8) != E_CCmode)
3384 : return -1;
3385 285 : x9 = XEXP (x5, 0);
3386 285 : operands[4] = x9;
3387 285 : if (!register_operand (operands[4], i1))
3388 : return -1;
3389 285 : x10 = XEXP (x6, 1);
3390 285 : operands[2] = x10;
3391 285 : if (!x86_64_nonmemory_operand (operands[2], i1))
3392 : return -1;
3393 120 : x11 = XEXP (x6, 0);
3394 120 : if (!rtx_equal_p (x11, operands[4]))
3395 : return -1;
3396 111 : x12 = PATTERN (peep2_next_insn (3));
3397 111 : if (GET_CODE (x12) != SET)
3398 : return -1;
3399 34 : x13 = XEXP (x12, 1);
3400 34 : if (!rtx_equal_p (x13, operands[4]))
3401 : return -1;
3402 26 : x14 = XEXP (x12, 0);
3403 26 : if (!rtx_equal_p (x14, operands[1]))
3404 : return -1;
3405 15 : x15 = PATTERN (peep2_next_insn (4));
3406 15 : if (GET_CODE (x15) != SET)
3407 : return -1;
3408 15 : x16 = XEXP (x15, 1);
3409 15 : if (GET_CODE (x16) != COMPARE
3410 9 : || GET_MODE (x16) != E_CCZmode)
3411 : return -1;
3412 9 : x17 = XEXP (x15, 0);
3413 9 : if (GET_CODE (x17) != REG
3414 9 : || REGNO (x17) != 17
3415 18 : || GET_MODE (x17) != E_CCZmode)
3416 : return -1;
3417 9 : x18 = XEXP (x16, 0);
3418 9 : operands[5] = x18;
3419 9 : if (!register_operand (operands[5], i1))
3420 : return -1;
3421 9 : x19 = XEXP (x16, 1);
3422 9 : operands[6] = x19;
3423 9 : if (!x86_64_nonmemory_operand (operands[6], i1))
3424 : return -1;
3425 : return 0;
3426 : }
3427 :
3428 : int
3429 5856 : pattern875 (rtx x1, machine_mode i1)
3430 : {
3431 5856 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3432 5856 : int res ATTRIBUTE_UNUSED;
3433 5856 : if (!register_operand (operands[0], i1)
3434 5220 : || GET_MODE (x1) != i1
3435 5220 : || !register_operand (operands[2], i1)
3436 10606 : || !register_operand (operands[1], i1))
3437 1560 : return -1;
3438 : return 0;
3439 : }
3440 :
3441 : int
3442 2267 : pattern882 ()
3443 : {
3444 2267 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3445 2267 : int res ATTRIBUTE_UNUSED;
3446 2267 : switch (GET_MODE (operands[1]))
3447 : {
3448 1131 : case E_V32QImode:
3449 1131 : if (!register_operand (operands[1], E_V32QImode)
3450 1131 : || !nonimmediate_operand (operands[2], E_V32QImode))
3451 0 : return -1;
3452 : return 0;
3453 :
3454 1136 : case E_V32HImode:
3455 1136 : if (!register_operand (operands[1], E_V32HImode)
3456 1136 : || !nonimmediate_operand (operands[2], E_V32HImode))
3457 0 : return -1;
3458 : return 1;
3459 :
3460 : default:
3461 : return -1;
3462 : }
3463 : }
3464 :
3465 : int
3466 1014 : pattern891 (rtx x1, machine_mode i1)
3467 : {
3468 1014 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3469 1014 : rtx x2, x3;
3470 1014 : int res ATTRIBUTE_UNUSED;
3471 1014 : if (!register_operand (operands[0], i1)
3472 1014 : || GET_MODE (x1) != i1)
3473 : return -1;
3474 982 : x2 = XVECEXP (x1, 0, 0);
3475 982 : if (GET_MODE (x2) != i1)
3476 : return -1;
3477 982 : x3 = XVECEXP (x2, 0, 0);
3478 982 : switch (GET_MODE (x3))
3479 : {
3480 492 : case E_DFmode:
3481 492 : if (!register_operand (operands[1], E_V2DFmode))
3482 : return -1;
3483 : return 0;
3484 :
3485 490 : case E_SFmode:
3486 490 : if (!register_operand (operands[1], E_V4SFmode))
3487 : return -1;
3488 : return 1;
3489 :
3490 : default:
3491 : return -1;
3492 : }
3493 : }
3494 :
3495 : int
3496 1512 : pattern900 (rtx x1, machine_mode i1, machine_mode i2)
3497 : {
3498 1512 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3499 1512 : rtx x2, x3, x4;
3500 1512 : int res ATTRIBUTE_UNUSED;
3501 1512 : if (!register_operand (operands[0], i1)
3502 1512 : || GET_MODE (x1) != i1)
3503 : return -1;
3504 1141 : x2 = XEXP (x1, 0);
3505 1141 : if (GET_MODE (x2) != i1)
3506 : return -1;
3507 1141 : x3 = XEXP (x2, 0);
3508 1141 : operands[1] = x3;
3509 1141 : if (!nonimmediate_operand (operands[1], i2))
3510 : return -1;
3511 811 : x4 = XEXP (x1, 1);
3512 811 : operands[2] = x4;
3513 811 : if (!reg_or_0_operand (operands[2], i1))
3514 : return -1;
3515 : return 0;
3516 : }
3517 :
3518 : int
3519 388 : pattern911 (rtx x1, int i1, machine_mode i2)
3520 : {
3521 388 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3522 388 : rtx x2, x3;
3523 388 : int res ATTRIBUTE_UNUSED;
3524 388 : if (GET_CODE (x1) != VEC_SELECT
3525 388 : || GET_MODE (x1) != i2)
3526 : return -1;
3527 388 : x2 = XEXP (x1, 1);
3528 388 : if (GET_CODE (x2) != PARALLEL
3529 388 : || XVECLEN (x2, 0) != i1)
3530 : return -1;
3531 388 : x3 = XVECEXP (x2, 0, 0);
3532 388 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3533 0 : return -1;
3534 : return 0;
3535 : }
3536 :
3537 : int
3538 2096 : pattern914 (rtx x1, machine_mode i1, machine_mode i2)
3539 : {
3540 2096 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3541 2096 : rtx x2, x3;
3542 2096 : int res ATTRIBUTE_UNUSED;
3543 2096 : if (!register_operand (operands[0], i1)
3544 2096 : || GET_MODE (x1) != i1)
3545 : return -1;
3546 2036 : x2 = XVECEXP (x1, 0, 0);
3547 2036 : if (GET_MODE (x2) != i1)
3548 : return -1;
3549 2036 : x3 = XEXP (x2, 0);
3550 2036 : if (GET_MODE (x3) != i1
3551 2036 : || !register_operand (operands[1], i1)
3552 2016 : || !register_operand (operands[2], i1)
3553 2000 : || !nonimm_or_0_operand (operands[3], i1)
3554 4036 : || !register_operand (operands[4], i2))
3555 36 : return -1;
3556 : return 0;
3557 : }
3558 :
3559 : int
3560 1158 : pattern924 (rtx x1)
3561 : {
3562 1158 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3563 1158 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3564 1158 : rtx x10, x11, x12, x13, x14, x15, x16;
3565 1158 : int res ATTRIBUTE_UNUSED;
3566 1158 : x2 = XEXP (x1, 0);
3567 1158 : x3 = XEXP (x2, 0);
3568 1158 : if (GET_MODE (x3) != E_V8QImode)
3569 : return -1;
3570 1158 : x4 = XEXP (x2, 1);
3571 1158 : if (GET_CODE (x4) != VEC_SELECT
3572 956 : || GET_MODE (x4) != E_V8QImode)
3573 : return -1;
3574 956 : x5 = XEXP (x4, 1);
3575 956 : if (GET_CODE (x5) != PARALLEL
3576 956 : || XVECLEN (x5, 0) != 8)
3577 : return -1;
3578 956 : x6 = XVECEXP (x5, 0, 0);
3579 956 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3580 : return -1;
3581 956 : x7 = XVECEXP (x5, 0, 1);
3582 956 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3583 : return -1;
3584 956 : x8 = XVECEXP (x5, 0, 2);
3585 956 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3586 : return -1;
3587 956 : x9 = XVECEXP (x5, 0, 3);
3588 956 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3589 : return -1;
3590 956 : x10 = XVECEXP (x5, 0, 4);
3591 956 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3592 : return -1;
3593 956 : x11 = XVECEXP (x5, 0, 5);
3594 956 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3595 : return -1;
3596 956 : x12 = XVECEXP (x5, 0, 6);
3597 956 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3598 : return -1;
3599 956 : x13 = XVECEXP (x5, 0, 7);
3600 956 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3601 956 : || !register_operand (operands[0], E_V16QImode)
3602 948 : || GET_MODE (x1) != E_V16QImode
3603 948 : || GET_MODE (x2) != E_V8QImode
3604 1904 : || !nonimmediate_operand (operands[1], E_V8HFmode))
3605 80 : return -1;
3606 876 : x14 = XEXP (x4, 0);
3607 876 : operands[2] = x14;
3608 876 : if (!nonimm_or_0_operand (operands[2], E_V16QImode))
3609 : return -1;
3610 876 : x15 = XEXP (x2, 2);
3611 876 : operands[3] = x15;
3612 876 : x16 = XEXP (x1, 1);
3613 876 : operands[4] = x16;
3614 876 : if (!const0_operand (operands[4], E_V8QImode))
3615 : return -1;
3616 : return 0;
3617 : }
3618 :
3619 : int
3620 28 : pattern943 (rtx x1)
3621 : {
3622 28 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3623 28 : rtx x2, x3, x4, x5;
3624 28 : int res ATTRIBUTE_UNUSED;
3625 28 : x2 = XVECEXP (x1, 0, 1);
3626 28 : x3 = XEXP (x2, 0);
3627 28 : operands[2] = x3;
3628 28 : if (!memory_operand (operands[2], E_DImode))
3629 : return -1;
3630 28 : x4 = XVECEXP (x1, 0, 0);
3631 28 : x5 = XEXP (x4, 1);
3632 28 : return pattern391 (x5); /* [-1, 2] */
3633 : }
3634 :
3635 : int
3636 271 : pattern947 (rtx x1, machine_mode i1)
3637 : {
3638 271 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3639 271 : rtx x2, x3;
3640 271 : int res ATTRIBUTE_UNUSED;
3641 271 : if (!nonimmediate_operand (operands[0], i1)
3642 271 : || GET_MODE (x1) != i1)
3643 : return -1;
3644 271 : x2 = XEXP (x1, 0);
3645 271 : if (GET_MODE (x2) != i1
3646 271 : || !nonimmediate_operand (operands[1], i1))
3647 46 : return -1;
3648 225 : x3 = XEXP (x2, 1);
3649 225 : if (GET_MODE (x3) != i1
3650 225 : || !x86_64_immediate_operand (operands[2], i1))
3651 58 : return -1;
3652 : return 0;
3653 : }
3654 :
3655 : int
3656 24109 : pattern955 (rtx x1)
3657 : {
3658 24109 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3659 24109 : rtx x2, x3, x4, x5, x6;
3660 24109 : int res ATTRIBUTE_UNUSED;
3661 24109 : x2 = XEXP (x1, 0);
3662 24109 : operands[0] = x2;
3663 24109 : x3 = XEXP (x1, 1);
3664 24109 : x4 = XEXP (x3, 0);
3665 24109 : x5 = XEXP (x4, 0);
3666 24109 : operands[1] = x5;
3667 24109 : x6 = XEXP (x3, 1);
3668 24109 : if (!rtx_equal_p (x6, operands[1]))
3669 : return -1;
3670 872 : switch (GET_MODE (operands[0]))
3671 : {
3672 377 : case E_SImode:
3673 377 : return pattern939 (x3,
3674 377 : E_SImode); /* [-1, 0] */
3675 :
3676 477 : case E_DImode:
3677 477 : if (pattern939 (x3,
3678 : E_DImode) != 0)
3679 : return -1;
3680 : return 1;
3681 :
3682 : default:
3683 : return -1;
3684 : }
3685 : }
3686 :
3687 : int
3688 3136003 : pattern964 (rtx x1, machine_mode i1, machine_mode i2)
3689 : {
3690 3136003 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3691 3136003 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3692 3136003 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3693 3136003 : rtx x18;
3694 3136003 : int res ATTRIBUTE_UNUSED;
3695 3136003 : x2 = XEXP (x1, 0);
3696 3136003 : operands[2] = x2;
3697 3136003 : if (!general_reg_operand (operands[2], i2))
3698 : return -1;
3699 2005225 : x3 = XEXP (x1, 1);
3700 2005225 : operands[3] = x3;
3701 2005225 : if (!general_reg_operand (operands[3], i2))
3702 : return -1;
3703 349458 : x4 = PATTERN (peep2_next_insn (2));
3704 349458 : if (GET_CODE (x4) != PARALLEL)
3705 : return -1;
3706 30091 : switch (XVECLEN (x4, 0))
3707 : {
3708 19501 : case 2:
3709 19501 : x5 = XVECEXP (x4, 0, 0);
3710 19501 : if (GET_CODE (x5) != SET)
3711 : return -1;
3712 19472 : x6 = XEXP (x5, 1);
3713 19472 : if (GET_CODE (x6) != MULT)
3714 : return -1;
3715 2352 : x7 = XEXP (x5, 0);
3716 2352 : operands[4] = x7;
3717 2352 : x8 = XEXP (x6, 0);
3718 2352 : switch (GET_CODE (x8))
3719 : {
3720 1601 : case ZERO_EXTEND:
3721 1601 : if (GET_MODE (x8) != i1)
3722 : return -1;
3723 1601 : x9 = XEXP (x6, 1);
3724 1601 : if (GET_CODE (x9) != ZERO_EXTEND
3725 1601 : || GET_MODE (x9) != i1)
3726 : return -1;
3727 1601 : x10 = XVECEXP (x4, 0, 1);
3728 1601 : if (GET_CODE (x10) != CLOBBER)
3729 : return -1;
3730 1601 : x11 = XEXP (x10, 0);
3731 1601 : if (GET_CODE (x11) != REG
3732 1601 : || REGNO (x11) != 17
3733 1601 : || GET_MODE (x11) != E_CCmode
3734 1601 : || !general_reg_operand (operands[4], i1)
3735 3202 : || GET_MODE (x6) != i1)
3736 0 : return -1;
3737 1601 : x12 = XEXP (x8, 0);
3738 1601 : if (!rtx_equal_p (x12, operands[2]))
3739 : return -1;
3740 1595 : x13 = XEXP (x9, 0);
3741 1595 : if (!rtx_equal_p (x13, operands[0]))
3742 : return -1;
3743 : return 0;
3744 :
3745 461 : case REG:
3746 461 : if (!rtx_equal_p (x8, operands[2]))
3747 : return -1;
3748 460 : x10 = XVECEXP (x4, 0, 1);
3749 460 : if (GET_CODE (x10) != SET)
3750 : return -1;
3751 4 : x14 = XEXP (x10, 1);
3752 4 : if (GET_CODE (x14) != UMUL_HIGHPART
3753 4 : || GET_MODE (x14) != i2
3754 4 : || !general_reg_operand (operands[4], i2)
3755 8 : || GET_MODE (x6) != i2)
3756 0 : return -1;
3757 4 : x11 = XEXP (x10, 0);
3758 4 : operands[5] = x11;
3759 4 : if (!general_reg_operand (operands[5], i2))
3760 : return -1;
3761 4 : x9 = XEXP (x6, 1);
3762 4 : if (!rtx_equal_p (x9, operands[0]))
3763 : return -1;
3764 4 : x15 = XEXP (x14, 0);
3765 4 : if (!rtx_equal_p (x15, operands[2]))
3766 : return -1;
3767 4 : x16 = XEXP (x14, 1);
3768 4 : if (!rtx_equal_p (x16, operands[0]))
3769 : return -1;
3770 : return 1;
3771 :
3772 : default:
3773 : return -1;
3774 : }
3775 :
3776 8336 : case 3:
3777 8336 : x5 = XVECEXP (x4, 0, 0);
3778 8336 : if (GET_CODE (x5) != SET)
3779 : return -1;
3780 8336 : x10 = XVECEXP (x4, 0, 1);
3781 8336 : if (GET_CODE (x10) != CLOBBER)
3782 : return -1;
3783 6904 : x17 = XVECEXP (x4, 0, 2);
3784 6904 : if (GET_CODE (x17) != CLOBBER)
3785 : return -1;
3786 6904 : x18 = XEXP (x17, 0);
3787 6904 : if (GET_CODE (x18) != REG
3788 6903 : || REGNO (x18) != 17
3789 13807 : || GET_MODE (x18) != E_CCmode)
3790 : return -1;
3791 6903 : x7 = XEXP (x5, 0);
3792 6903 : operands[4] = x7;
3793 6903 : return 2;
3794 :
3795 : default:
3796 : return -1;
3797 : }
3798 : }
3799 :
3800 : int
3801 460 : pattern989 (rtx x1)
3802 : {
3803 460 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3804 460 : int res ATTRIBUTE_UNUSED;
3805 460 : switch (GET_MODE (x1))
3806 : {
3807 118 : case E_HImode:
3808 118 : switch (GET_MODE (operands[1]))
3809 : {
3810 23 : case E_V16SImode:
3811 23 : if (!nonimmediate_operand (operands[1], E_V16SImode)
3812 20 : || !nonimmediate_operand (operands[2], E_V16SImode)
3813 40 : || !const_0_to_7_operand (operands[3], E_SImode))
3814 6 : return -1;
3815 : return 0;
3816 :
3817 18 : case E_V16HFmode:
3818 18 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
3819 16 : || !nonimmediate_operand (operands[2], E_V16HFmode)
3820 34 : || !const_0_to_31_operand (operands[3], E_SImode))
3821 2 : return -1;
3822 : return 1;
3823 :
3824 22 : case E_V16SFmode:
3825 22 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
3826 20 : || !nonimmediate_operand (operands[2], E_V16SFmode)
3827 42 : || !const_0_to_31_operand (operands[3], E_SImode))
3828 2 : return -1;
3829 : return 2;
3830 :
3831 32 : case E_V16QImode:
3832 32 : if (!nonimmediate_operand (operands[1], E_V16QImode)
3833 30 : || !nonimmediate_operand (operands[2], E_V16QImode)
3834 50 : || !const_0_to_7_operand (operands[3], E_SImode))
3835 14 : return -1;
3836 : return 3;
3837 :
3838 18 : case E_V16HImode:
3839 18 : if (!nonimmediate_operand (operands[1], E_V16HImode)
3840 16 : || !nonimmediate_operand (operands[2], E_V16HImode)
3841 30 : || !const_0_to_7_operand (operands[3], E_SImode))
3842 6 : return -1;
3843 : return 4;
3844 :
3845 : default:
3846 : return -1;
3847 : }
3848 :
3849 321 : case E_QImode:
3850 321 : switch (GET_MODE (operands[1]))
3851 : {
3852 42 : case E_V8SImode:
3853 42 : if (!nonimmediate_operand (operands[1], E_V8SImode)
3854 39 : || !nonimmediate_operand (operands[2], E_V8SImode)
3855 69 : || !const_0_to_7_operand (operands[3], E_SImode))
3856 15 : return -1;
3857 : return 5;
3858 :
3859 24 : case E_V4SImode:
3860 24 : if (!nonimmediate_operand (operands[1], E_V4SImode)
3861 21 : || !nonimmediate_operand (operands[2], E_V4SImode)
3862 43 : || !const_0_to_7_operand (operands[3], E_SImode))
3863 5 : return -1;
3864 : return 6;
3865 :
3866 30 : case E_V8DImode:
3867 30 : if (!nonimmediate_operand (operands[1], E_V8DImode)
3868 22 : || !nonimmediate_operand (operands[2], E_V8DImode)
3869 50 : || !const_0_to_7_operand (operands[3], E_SImode))
3870 10 : return -1;
3871 : return 7;
3872 :
3873 23 : case E_V4DImode:
3874 23 : if (!nonimmediate_operand (operands[1], E_V4DImode)
3875 20 : || !nonimmediate_operand (operands[2], E_V4DImode)
3876 41 : || !const_0_to_7_operand (operands[3], E_SImode))
3877 5 : return -1;
3878 : return 8;
3879 :
3880 23 : case E_V2DImode:
3881 23 : if (!nonimmediate_operand (operands[1], E_V2DImode)
3882 20 : || !nonimmediate_operand (operands[2], E_V2DImode)
3883 41 : || !const_0_to_7_operand (operands[3], E_SImode))
3884 5 : return -1;
3885 : return 9;
3886 :
3887 31 : case E_V8HFmode:
3888 31 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
3889 31 : || !nonimmediate_operand (operands[2], E_V8HFmode)
3890 62 : || !const_0_to_31_operand (operands[3], E_SImode))
3891 0 : return -1;
3892 : return 10;
3893 :
3894 21 : case E_V8SFmode:
3895 21 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
3896 18 : || !nonimmediate_operand (operands[2], E_V8SFmode)
3897 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3898 3 : return -1;
3899 : return 11;
3900 :
3901 21 : case E_V4SFmode:
3902 21 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
3903 18 : || !nonimmediate_operand (operands[2], E_V4SFmode)
3904 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3905 3 : return -1;
3906 : return 12;
3907 :
3908 33 : case E_V8DFmode:
3909 33 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
3910 30 : || !nonimmediate_operand (operands[2], E_V8DFmode)
3911 63 : || !const_0_to_31_operand (operands[3], E_SImode))
3912 3 : return -1;
3913 : return 13;
3914 :
3915 21 : case E_V4DFmode:
3916 21 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
3917 18 : || !nonimmediate_operand (operands[2], E_V4DFmode)
3918 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3919 3 : return -1;
3920 : return 14;
3921 :
3922 21 : case E_V2DFmode:
3923 21 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
3924 18 : || !nonimmediate_operand (operands[2], E_V2DFmode)
3925 39 : || !const_0_to_31_operand (operands[3], E_SImode))
3926 3 : return -1;
3927 : return 15;
3928 :
3929 26 : case E_V8HImode:
3930 26 : if (!nonimmediate_operand (operands[1], E_V8HImode)
3931 26 : || !nonimmediate_operand (operands[2], E_V8HImode)
3932 50 : || !const_0_to_7_operand (operands[3], E_SImode))
3933 2 : return -1;
3934 : return 16;
3935 :
3936 : default:
3937 : return -1;
3938 : }
3939 :
3940 21 : case E_SImode:
3941 21 : switch (GET_MODE (operands[1]))
3942 : {
3943 7 : case E_V32HFmode:
3944 7 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
3945 6 : || !nonimmediate_operand (operands[2], E_V32HFmode)
3946 13 : || !const_0_to_31_operand (operands[3], E_SImode))
3947 1 : return -1;
3948 : return 17;
3949 :
3950 7 : case E_V32QImode:
3951 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
3952 6 : || !nonimmediate_operand (operands[2], E_V32QImode)
3953 13 : || !const_0_to_7_operand (operands[3], E_SImode))
3954 1 : return -1;
3955 : return 18;
3956 :
3957 7 : case E_V32HImode:
3958 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
3959 6 : || !nonimmediate_operand (operands[2], E_V32HImode)
3960 13 : || !const_0_to_7_operand (operands[3], E_SImode))
3961 1 : return -1;
3962 : return 19;
3963 :
3964 : default:
3965 : return -1;
3966 : }
3967 :
3968 0 : case E_DImode:
3969 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
3970 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
3971 0 : || !const_0_to_7_operand (operands[3], E_SImode))
3972 0 : return -1;
3973 : return 20;
3974 :
3975 : default:
3976 : return -1;
3977 : }
3978 : }
3979 :
3980 : int
3981 20898 : pattern1060 (rtx x1, machine_mode i1, machine_mode i2)
3982 : {
3983 20898 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3984 20898 : rtx x2, x3, x4, x5, x6;
3985 20898 : int res ATTRIBUTE_UNUSED;
3986 20898 : if (GET_MODE (x1) != i1)
3987 : return -1;
3988 20898 : x2 = XEXP (x1, 0);
3989 20898 : if (GET_MODE (x2) != i1)
3990 : return -1;
3991 20898 : x3 = XEXP (x1, 1);
3992 20898 : if (GET_MODE (x3) != i1)
3993 : return -1;
3994 20898 : x4 = XEXP (x3, 0);
3995 20898 : if (GET_MODE (x4) != i2)
3996 : return -1;
3997 20898 : x5 = XEXP (x4, 0);
3998 20898 : if (GET_MODE (x5) != i2)
3999 : return -1;
4000 20898 : x6 = XEXP (x5, 0);
4001 20898 : if (!register_operand (x6, i1))
4002 : return -1;
4003 : return 0;
4004 : }
4005 :
4006 : int
4007 5 : pattern1064 (rtx x1, machine_mode i1)
4008 : {
4009 5 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4010 5 : rtx x2;
4011 5 : int res ATTRIBUTE_UNUSED;
4012 5 : if (!register_operand (operands[0], i1)
4013 5 : || GET_MODE (x1) != i1)
4014 : return -1;
4015 5 : x2 = XEXP (x1, 0);
4016 5 : if (GET_MODE (x2) != i1
4017 5 : || !vector_operand (operands[1], i1)
4018 10 : || !vector_operand (operands[2], i1))
4019 0 : return -1;
4020 : return 0;
4021 : }
4022 :
4023 : int
4024 693 : pattern1068 (rtx x1)
4025 : {
4026 693 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4027 693 : rtx x2, x3, x4, x5, x6, x7, x8;
4028 693 : int res ATTRIBUTE_UNUSED;
4029 693 : x2 = XVECEXP (x1, 0, 0);
4030 693 : x3 = XEXP (x2, 0);
4031 693 : if (!register_operand (x3, E_DImode))
4032 : return -1;
4033 693 : x4 = XEXP (x2, 1);
4034 693 : x5 = XEXP (x4, 0);
4035 693 : if (GET_MODE (x5) != E_SImode)
4036 : return -1;
4037 693 : x6 = XVECEXP (x1, 0, 1);
4038 693 : x7 = XEXP (x6, 0);
4039 693 : if (!register_operand (x7, E_SImode))
4040 : return -1;
4041 693 : x8 = XEXP (x6, 1);
4042 693 : if (GET_MODE (x8) != E_SImode)
4043 : return -1;
4044 693 : switch (GET_CODE (x5))
4045 : {
4046 : case DIV:
4047 : return 0;
4048 :
4049 473 : case UDIV:
4050 473 : return 1;
4051 :
4052 31 : case MOD:
4053 31 : return 2;
4054 :
4055 142 : case UMOD:
4056 142 : return 3;
4057 :
4058 : default:
4059 : return -1;
4060 : }
4061 : }
4062 :
4063 : int
4064 2854235 : pattern1077 (rtx x1)
4065 : {
4066 2854235 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4067 2854235 : rtx x2, x3, x4, x5, x6;
4068 2854235 : int res ATTRIBUTE_UNUSED;
4069 2854235 : if (GET_CODE (x1) != SET)
4070 : return -1;
4071 2208789 : x2 = XEXP (x1, 0);
4072 2208789 : if (GET_CODE (x2) != ZERO_EXTRACT)
4073 : return -1;
4074 2 : x3 = XEXP (x2, 1);
4075 2 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4076 : return -1;
4077 2 : x4 = XEXP (x2, 2);
4078 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4079 : return -1;
4080 2 : x5 = XEXP (x2, 0);
4081 2 : operands[2] = x5;
4082 2 : if (!int248_register_operand (operands[2], E_VOIDmode))
4083 : return -1;
4084 2 : x6 = XEXP (x1, 1);
4085 2 : operands[3] = x6;
4086 2 : switch (GET_MODE (x2))
4087 : {
4088 0 : case E_HImode:
4089 0 : if (!const_int_operand (operands[3], E_HImode))
4090 : return -1;
4091 : return 0;
4092 :
4093 2 : case E_SImode:
4094 2 : if (!const_int_operand (operands[3], E_SImode))
4095 : return -1;
4096 : return 1;
4097 :
4098 0 : case E_DImode:
4099 0 : if (!const_int_operand (operands[3], E_DImode))
4100 : return -1;
4101 : return 2;
4102 :
4103 : default:
4104 : return -1;
4105 : }
4106 : }
4107 :
4108 : int
4109 32582 : pattern1088 (rtx x1, machine_mode i1)
4110 : {
4111 32582 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4112 32582 : rtx x2;
4113 32582 : int res ATTRIBUTE_UNUSED;
4114 32582 : if (!register_operand (operands[0], i1)
4115 32582 : || GET_MODE (x1) != i1)
4116 : return -1;
4117 32023 : x2 = XEXP (x1, 0);
4118 32023 : if (GET_MODE (x2) != i1
4119 32023 : || !register_operand (operands[4], i1))
4120 3704 : return -1;
4121 : return 0;
4122 : }
4123 :
4124 : int
4125 17880 : pattern1093 (rtx x1, machine_mode i1)
4126 : {
4127 17880 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4128 17880 : rtx x2;
4129 17880 : int res ATTRIBUTE_UNUSED;
4130 17880 : if (!register_operand (operands[0], i1)
4131 17880 : || GET_MODE (x1) != i1)
4132 : return -1;
4133 17575 : x2 = XEXP (x1, 0);
4134 17575 : if (GET_MODE (x2) != i1
4135 17575 : || !register_no_SP_operand (operands[1], i1)
4136 17499 : || !const123_operand (operands[2], E_VOIDmode)
4137 27259 : || !nonmemory_operand (operands[3], i1))
4138 7893 : return -1;
4139 : return 0;
4140 : }
4141 :
4142 : int
4143 379 : pattern1104 (rtx x1, machine_mode i1)
4144 : {
4145 379 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4146 379 : rtx x2, x3;
4147 379 : int res ATTRIBUTE_UNUSED;
4148 379 : if (!register_operand (operands[0], i1)
4149 379 : || GET_MODE (x1) != i1)
4150 : return -1;
4151 377 : x2 = XEXP (x1, 0);
4152 377 : if (GET_MODE (x2) != i1)
4153 : return -1;
4154 377 : x3 = XEXP (x2, 0);
4155 377 : if (GET_MODE (x3) != i1
4156 377 : || !nonimmediate_operand (operands[1], i1)
4157 377 : || !nonimmediate_operand (operands[2], i1)
4158 730 : || !nonimmediate_operand (operands[3], i1))
4159 52 : return -1;
4160 : return 0;
4161 : }
4162 :
4163 : int
4164 431 : pattern1112 (rtx x1, machine_mode i1)
4165 : {
4166 431 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4167 431 : rtx x2;
4168 431 : int res ATTRIBUTE_UNUSED;
4169 431 : if (!register_operand (operands[0], i1)
4170 431 : || GET_MODE (x1) != i1)
4171 : return -1;
4172 431 : x2 = XEXP (x1, 0);
4173 431 : if (GET_MODE (x2) != i1
4174 431 : || !memory_operand (operands[1], i1)
4175 862 : || !nonimm_or_0_operand (operands[2], i1))
4176 0 : return -1;
4177 : return 0;
4178 : }
4179 :
4180 : int
4181 939 : pattern1114 (rtx x1, machine_mode i1)
4182 : {
4183 939 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4184 939 : rtx x2;
4185 939 : int res ATTRIBUTE_UNUSED;
4186 939 : if (!register_operand (operands[0], i1)
4187 939 : || GET_MODE (x1) != i1)
4188 : return -1;
4189 857 : x2 = XEXP (x1, 0);
4190 857 : if (GET_MODE (x2) != i1
4191 857 : || !nonimm_or_0_operand (operands[2], i1)
4192 1675 : || !register_operand (operands[3], E_QImode))
4193 105 : return -1;
4194 752 : switch (GET_MODE (operands[1]))
4195 : {
4196 291 : case E_V8HFmode:
4197 291 : if (!vector_operand (operands[1], E_V8HFmode))
4198 : return -1;
4199 : return 0;
4200 :
4201 302 : case E_V8SFmode:
4202 302 : if (!nonimmediate_operand (operands[1], E_V8SFmode))
4203 : return -1;
4204 : return 1;
4205 :
4206 159 : case E_V8DFmode:
4207 159 : if (!nonimmediate_operand (operands[1], E_V8DFmode))
4208 : return -1;
4209 : return 2;
4210 :
4211 : default:
4212 : return -1;
4213 : }
4214 : }
4215 :
4216 : int
4217 1193 : pattern1120 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4218 : {
4219 1193 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4220 1193 : rtx x2;
4221 1193 : int res ATTRIBUTE_UNUSED;
4222 1193 : if (!register_operand (operands[0], i2)
4223 1193 : || GET_MODE (x1) != i2)
4224 : return -1;
4225 1122 : x2 = XEXP (x1, 0);
4226 1122 : if (GET_MODE (x2) != i2
4227 1122 : || !nonimmediate_operand (operands[1], i2)
4228 1122 : || !register_operand (operands[2], i3)
4229 1122 : || !nonimm_or_0_operand (operands[3], i2)
4230 2220 : || !register_operand (operands[4], i1))
4231 110 : return -1;
4232 : return 0;
4233 : }
4234 :
4235 : int
4236 76 : pattern1127 (rtx x1)
4237 : {
4238 76 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4239 76 : rtx x2, x3, x4, x5, x6, x7, x8;
4240 76 : int res ATTRIBUTE_UNUSED;
4241 76 : x2 = XEXP (x1, 0);
4242 76 : x3 = XEXP (x2, 0);
4243 76 : if (GET_MODE (x3) != E_V8HFmode)
4244 : return -1;
4245 76 : x4 = XEXP (x2, 2);
4246 76 : if (GET_CODE (x4) != UNSPEC
4247 76 : || XVECLEN (x4, 0) != 1
4248 76 : || XINT (x4, 1) != 224
4249 76 : || GET_MODE (x4) != E_QImode)
4250 : return -1;
4251 76 : x5 = XEXP (x1, 2);
4252 76 : if (XWINT (x5, 0) != 3L
4253 76 : || !register_operand (operands[0], E_V8HFmode)
4254 68 : || GET_MODE (x1) != E_V8HFmode
4255 68 : || GET_MODE (x2) != E_V8HFmode
4256 68 : || !vector_operand (operands[1], E_V8HFmode)
4257 68 : || !vector_operand (operands[2], E_V8HFmode)
4258 144 : || !vector_operand (operands[3], E_V8HFmode))
4259 8 : return -1;
4260 68 : x6 = XVECEXP (x4, 0, 0);
4261 68 : if (!register_operand (x6, E_QImode))
4262 : return -1;
4263 66 : x7 = XEXP (x1, 1);
4264 66 : if (!rtx_equal_p (x7, operands[2]))
4265 : return -1;
4266 66 : x8 = XEXP (x2, 1);
4267 66 : switch (GET_CODE (x8))
4268 : {
4269 22 : case CONST_INT:
4270 22 : case CONST_DOUBLE:
4271 22 : case CONST_VECTOR:
4272 22 : operands[4] = x8;
4273 22 : if (!const0_operand (operands[4], E_V8HFmode))
4274 : return -1;
4275 22 : operands[5] = x6;
4276 22 : return 0;
4277 :
4278 44 : case REG:
4279 44 : case SUBREG:
4280 44 : case MEM:
4281 44 : if (!rtx_equal_p (x8, operands[1]))
4282 : return -1;
4283 44 : operands[4] = x6;
4284 44 : return 1;
4285 :
4286 : default:
4287 : return -1;
4288 : }
4289 : }
4290 :
4291 : int
4292 548 : pattern1151 (rtx x1, machine_mode i1, machine_mode i2)
4293 : {
4294 548 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4295 548 : int res ATTRIBUTE_UNUSED;
4296 548 : if (!register_operand (operands[0], i2)
4297 526 : || GET_MODE (x1) != i2
4298 526 : || !register_operand (operands[1], i2)
4299 480 : || !nonimmediate_operand (operands[2], i2)
4300 1028 : || !nonimmediate_operand (operands[3], i1))
4301 68 : return -1;
4302 : return 0;
4303 : }
4304 :
4305 : int
4306 18900 : pattern1157 (rtx x1, machine_mode i1)
4307 : {
4308 18900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4309 18900 : int res ATTRIBUTE_UNUSED;
4310 18900 : if (!register_operand (operands[0], i1)
4311 18839 : || GET_MODE (x1) != i1
4312 18839 : || !register_operand (operands[1], i1)
4313 36314 : || !palignr_operand (operands[2], E_VOIDmode))
4314 17273 : return -1;
4315 : return 0;
4316 : }
4317 :
4318 : int
4319 0 : pattern1162 (rtx x1, machine_mode i1)
4320 : {
4321 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4322 0 : int res ATTRIBUTE_UNUSED;
4323 0 : if (!register_operand (operands[0], i1)
4324 0 : || GET_MODE (x1) != i1
4325 0 : || !register_operand (operands[5], i1)
4326 0 : || !immediate_operand (operands[3], i1)
4327 0 : || !register_operand (operands[4], i1)
4328 0 : || !register_operand (operands[1], i1))
4329 0 : return -1;
4330 : return 0;
4331 : }
4332 :
4333 : int
4334 145 : pattern1168 (rtx x1)
4335 : {
4336 145 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4337 145 : rtx x2, x3, x4, x5;
4338 145 : int res ATTRIBUTE_UNUSED;
4339 145 : x2 = XEXP (x1, 0);
4340 145 : if (GET_MODE (x2) != E_SImode)
4341 : return -1;
4342 145 : x3 = XEXP (x2, 0);
4343 145 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
4344 : return -1;
4345 121 : x4 = XEXP (x2, 1);
4346 121 : if (GET_CODE (x4) != CLZ
4347 121 : || GET_MODE (x4) != E_SImode)
4348 : return -1;
4349 121 : x5 = XEXP (x1, 1);
4350 121 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
4351 0 : return -1;
4352 : return 0;
4353 : }
4354 :
4355 : int
4356 25532 : pattern1176 (rtx x1, machine_mode i1, machine_mode i2)
4357 : {
4358 25532 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4359 25532 : rtx x2;
4360 25532 : int res ATTRIBUTE_UNUSED;
4361 25532 : if (!nonimmediate_operand (operands[0], i2)
4362 25484 : || GET_MODE (x1) != i2
4363 51016 : || !nonimmediate_operand (operands[1], i2))
4364 1022 : return -1;
4365 24510 : x2 = XEXP (x1, 1);
4366 24510 : if (GET_MODE (x2) != i2
4367 24510 : || !nonimmediate_operand (operands[2], i1))
4368 9538 : return -1;
4369 : return 0;
4370 : }
4371 :
4372 : int
4373 449609 : pattern1183 (rtx x1, machine_mode i1, int i2)
4374 : {
4375 449609 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4376 449609 : rtx x2;
4377 449609 : int res ATTRIBUTE_UNUSED;
4378 449609 : if (GET_CODE (x1) != UNSPEC_VOLATILE
4379 449609 : || XVECLEN (x1, 0) != 1
4380 449609 : || XINT (x1, 1) != i2
4381 449609 : || GET_MODE (x1) != i1)
4382 : return -1;
4383 449609 : x2 = XVECEXP (x1, 0, 0);
4384 449609 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4385 0 : return -1;
4386 : return 0;
4387 : }
4388 :
4389 : int
4390 79607 : pattern1189 (rtx x1)
4391 : {
4392 79607 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4393 79607 : rtx x2, x3, x4;
4394 79607 : int res ATTRIBUTE_UNUSED;
4395 79607 : x2 = XEXP (x1, 0);
4396 79607 : if (maybe_ne (SUBREG_BYTE (x2), 0)
4397 79607 : || GET_MODE (x2) != E_QImode)
4398 : return -1;
4399 18091 : x3 = XEXP (x2, 0);
4400 18091 : switch (GET_CODE (x3))
4401 : {
4402 2363 : case ASHIFTRT:
4403 2363 : case LSHIFTRT:
4404 2363 : case SIGN_EXTRACT:
4405 2363 : case ZERO_EXTRACT:
4406 2363 : operands[3] = x3;
4407 2363 : if (GET_MODE (x1) != E_QImode)
4408 : return -1;
4409 2363 : x4 = XEXP (x3, 0);
4410 2363 : if (!int248_register_operand (x4, E_VOIDmode))
4411 : return -1;
4412 : return 0;
4413 :
4414 : default:
4415 : return -1;
4416 : }
4417 : }
4418 :
4419 : int
4420 0 : pattern1200 (rtx x1, machine_mode i1)
4421 : {
4422 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4423 0 : rtx x2, x3;
4424 0 : int res ATTRIBUTE_UNUSED;
4425 0 : if (!register_operand (operands[0], i1)
4426 0 : || GET_MODE (x1) != i1)
4427 : return -1;
4428 0 : x2 = XEXP (x1, 0);
4429 0 : if (GET_MODE (x2) != i1)
4430 : return -1;
4431 0 : x3 = XEXP (x2, 0);
4432 0 : if (GET_MODE (x3) != i1
4433 0 : || !register_operand (operands[1], i1)
4434 0 : || !register_operand (operands[2], i1)
4435 0 : || !nonimmediate_operand (operands[3], i1))
4436 0 : return -1;
4437 : return 0;
4438 : }
4439 :
4440 : int
4441 452150 : pattern1207 (rtx x1, machine_mode i1, machine_mode i2)
4442 : {
4443 452150 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4444 452150 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4445 452150 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
4446 452150 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
4447 452150 : rtx x26, x27, x28, x29, x30;
4448 452150 : int res ATTRIBUTE_UNUSED;
4449 452150 : x2 = PATTERN (peep2_next_insn (2));
4450 452150 : if (GET_CODE (x2) != SET)
4451 : return -1;
4452 327743 : x3 = XEXP (x2, 1);
4453 327743 : if (!rtx_equal_p (x3, operands[0]))
4454 : return -1;
4455 68232 : x4 = XVECEXP (x1, 0, 0);
4456 68232 : x5 = XEXP (x4, 1);
4457 68232 : switch (GET_CODE (x5))
4458 : {
4459 2363 : case COMPARE:
4460 2363 : x6 = XEXP (x4, 0);
4461 2363 : if (GET_CODE (x6) != REG
4462 2363 : || REGNO (x6) != 17)
4463 : return -1;
4464 2363 : x7 = XVECEXP (x1, 0, 1);
4465 2363 : if (GET_CODE (x7) != SET)
4466 : return -1;
4467 2343 : x8 = XEXP (x7, 1);
4468 2343 : if (GET_MODE (x8) != i1)
4469 : return -1;
4470 2337 : x9 = XEXP (x7, 0);
4471 2337 : if (!rtx_equal_p (x9, operands[0]))
4472 : return -1;
4473 2335 : x10 = XEXP (x5, 0);
4474 2335 : switch (GET_CODE (x10))
4475 : {
4476 184 : case REG:
4477 184 : return pattern1201 (x1,
4478 184 : i1); /* [-1, 0] */
4479 :
4480 4 : case SUBREG:
4481 4 : case MEM:
4482 4 : if (pattern1202 (x1,
4483 : i1) != 0)
4484 : return -1;
4485 : return 1;
4486 :
4487 594 : case ZERO_EXTEND:
4488 594 : if (GET_MODE (x10) != i2)
4489 : return -1;
4490 594 : x11 = XEXP (x5, 1);
4491 594 : if (GET_CODE (x11) != PLUS
4492 594 : || GET_MODE (x11) != i2)
4493 : return -1;
4494 594 : x12 = XEXP (x11, 0);
4495 594 : if (!ix86_carry_flag_operator (x12, i2))
4496 : return -1;
4497 594 : operands[4] = x12;
4498 594 : x13 = XEXP (x12, 1);
4499 594 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4500 : return -1;
4501 594 : x14 = XEXP (x11, 1);
4502 594 : if (GET_CODE (x14) != ZERO_EXTEND
4503 594 : || GET_MODE (x14) != i2
4504 594 : || GET_MODE (x6) != E_CCCmode
4505 594 : || GET_MODE (x5) != E_CCCmode)
4506 : return -1;
4507 594 : x15 = XEXP (x10, 0);
4508 594 : switch (GET_CODE (x15))
4509 : {
4510 228 : case PLUS:
4511 228 : if (GET_MODE (x15) != i1)
4512 : return -1;
4513 228 : x16 = XEXP (x15, 0);
4514 228 : if (GET_CODE (x16) != PLUS
4515 228 : || GET_MODE (x16) != i1)
4516 : return -1;
4517 228 : x17 = XEXP (x16, 0);
4518 228 : if (!ix86_carry_flag_operator (x17, i1))
4519 : return -1;
4520 228 : operands[5] = x17;
4521 228 : x18 = XEXP (x17, 1);
4522 228 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
4523 228 : || GET_CODE (x8) != PLUS)
4524 : return -1;
4525 228 : x19 = XEXP (x8, 0);
4526 228 : if (GET_CODE (x19) != PLUS
4527 228 : || GET_MODE (x19) != i1)
4528 : return -1;
4529 228 : x20 = XEXP (x19, 0);
4530 228 : switch (GET_CODE (x20))
4531 : {
4532 228 : case LTU:
4533 228 : case UNLT:
4534 228 : if (!rtx_equal_p (x20, operands[5]))
4535 : return -1;
4536 228 : x21 = XEXP (x17, 0);
4537 228 : operands[3] = x21;
4538 228 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4539 : return -1;
4540 228 : x22 = XEXP (x12, 0);
4541 228 : if (!rtx_equal_p (x22, operands[3]))
4542 : return -1;
4543 228 : x23 = XEXP (x16, 1);
4544 228 : switch (GET_CODE (x23))
4545 : {
4546 228 : case REG:
4547 228 : if (!rtx_equal_p (x23, operands[0]))
4548 : return -1;
4549 228 : x24 = XEXP (x15, 1);
4550 228 : operands[2] = x24;
4551 228 : if (!memory_operand (operands[2], i1))
4552 : return -1;
4553 222 : x25 = XEXP (x14, 0);
4554 222 : if (!rtx_equal_p (x25, operands[2]))
4555 : return -1;
4556 222 : x26 = XEXP (x19, 1);
4557 222 : if (!rtx_equal_p (x26, operands[0]))
4558 : return -1;
4559 222 : x27 = XEXP (x8, 1);
4560 222 : if (!rtx_equal_p (x27, operands[2]))
4561 : return -1;
4562 222 : x28 = XEXP (x2, 0);
4563 222 : if (!rtx_equal_p (x28, operands[1]))
4564 : return -1;
4565 : return 2;
4566 :
4567 0 : case SUBREG:
4568 0 : case MEM:
4569 0 : operands[2] = x23;
4570 0 : if (!memory_operand (operands[2], i1))
4571 : return -1;
4572 0 : x24 = XEXP (x15, 1);
4573 0 : if (!rtx_equal_p (x24, operands[0]))
4574 : return -1;
4575 0 : x25 = XEXP (x14, 0);
4576 0 : if (!rtx_equal_p (x25, operands[0]))
4577 : return -1;
4578 0 : x26 = XEXP (x19, 1);
4579 0 : if (!rtx_equal_p (x26, operands[2]))
4580 : return -1;
4581 0 : x27 = XEXP (x8, 1);
4582 0 : if (!rtx_equal_p (x27, operands[0]))
4583 : return -1;
4584 : return 3;
4585 :
4586 : default:
4587 : return -1;
4588 : }
4589 :
4590 : default:
4591 : return -1;
4592 : }
4593 :
4594 356 : case REG:
4595 356 : if (!rtx_equal_p (x15, operands[0])
4596 356 : || GET_CODE (x8) != MINUS)
4597 : return -1;
4598 356 : x19 = XEXP (x8, 0);
4599 356 : if (GET_CODE (x19) != MINUS
4600 356 : || GET_MODE (x19) != i1)
4601 : return -1;
4602 356 : x26 = XEXP (x19, 1);
4603 356 : if (!ix86_carry_flag_operator (x26, i1))
4604 : return -1;
4605 356 : operands[5] = x26;
4606 356 : x29 = XEXP (x26, 1);
4607 356 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4608 : return -1;
4609 356 : x22 = XEXP (x12, 0);
4610 356 : operands[3] = x22;
4611 356 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4612 : return -1;
4613 356 : x25 = XEXP (x14, 0);
4614 356 : operands[2] = x25;
4615 356 : if (!memory_operand (operands[2], i1))
4616 : return -1;
4617 205 : x20 = XEXP (x19, 0);
4618 205 : if (!rtx_equal_p (x20, operands[0]))
4619 : return -1;
4620 205 : x30 = XEXP (x26, 0);
4621 205 : if (!rtx_equal_p (x30, operands[3]))
4622 : return -1;
4623 205 : x27 = XEXP (x8, 1);
4624 205 : if (!rtx_equal_p (x27, operands[2]))
4625 : return -1;
4626 205 : x28 = XEXP (x2, 0);
4627 205 : if (!rtx_equal_p (x28, operands[1]))
4628 : return -1;
4629 : return 4;
4630 :
4631 10 : case SUBREG:
4632 10 : case MEM:
4633 10 : operands[2] = x15;
4634 10 : if (!memory_operand (operands[2], i1)
4635 10 : || GET_CODE (x8) != MINUS)
4636 : return -1;
4637 10 : x19 = XEXP (x8, 0);
4638 10 : if (GET_CODE (x19) != MINUS
4639 10 : || GET_MODE (x19) != i1)
4640 : return -1;
4641 10 : x26 = XEXP (x19, 1);
4642 10 : if (!ix86_carry_flag_operator (x26, i1))
4643 : return -1;
4644 10 : operands[5] = x26;
4645 10 : x29 = XEXP (x26, 1);
4646 10 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4647 : return -1;
4648 10 : x22 = XEXP (x12, 0);
4649 10 : operands[3] = x22;
4650 10 : if (!flags_reg_operand (operands[3], E_VOIDmode))
4651 : return -1;
4652 10 : x25 = XEXP (x14, 0);
4653 10 : if (!rtx_equal_p (x25, operands[0]))
4654 : return -1;
4655 10 : x20 = XEXP (x19, 0);
4656 10 : if (!rtx_equal_p (x20, operands[2]))
4657 : return -1;
4658 10 : x30 = XEXP (x26, 0);
4659 10 : if (!rtx_equal_p (x30, operands[3]))
4660 : return -1;
4661 10 : x27 = XEXP (x8, 1);
4662 10 : if (!rtx_equal_p (x27, operands[0]))
4663 : return -1;
4664 10 : x28 = XEXP (x2, 0);
4665 10 : if (!rtx_equal_p (x28, operands[2]))
4666 : return -1;
4667 : return 5;
4668 :
4669 : default:
4670 : return -1;
4671 : }
4672 :
4673 904 : case PLUS:
4674 904 : if (pattern1203 (x1,
4675 : i1) != 0)
4676 : return -1;
4677 : return 6;
4678 :
4679 : default:
4680 : return -1;
4681 : }
4682 :
4683 37830 : case PLUS:
4684 37830 : res = pattern1205 (x1,
4685 : i1);
4686 37830 : if (res >= 0)
4687 4 : return res + 7; /* [7, 8] */
4688 : return -1;
4689 :
4690 9387 : case MINUS:
4691 9387 : res = pattern1206 (x1,
4692 : i1);
4693 9387 : if (res >= 0)
4694 8 : return res + 9; /* [9, 10] */
4695 : return -1;
4696 :
4697 : default:
4698 : return -1;
4699 : }
4700 : }
4701 :
4702 : int
4703 2130 : pattern1316 (rtx x1)
4704 : {
4705 2130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4706 2130 : rtx x2, x3;
4707 2130 : int res ATTRIBUTE_UNUSED;
4708 2130 : if (!const48_operand (operands[4], E_SImode))
4709 : return -1;
4710 2130 : switch (GET_MODE (operands[0]))
4711 : {
4712 530 : case E_V16SImode:
4713 530 : return pattern1310 (x1,
4714 : E_HImode,
4715 : E_V16SImode,
4716 530 : E_V16SFmode); /* [-1, 0] */
4717 :
4718 560 : case E_V8SImode:
4719 560 : if (pattern1310 (x1,
4720 : E_QImode,
4721 : E_V8SImode,
4722 : E_V8DFmode) != 0)
4723 : return -1;
4724 : return 1;
4725 :
4726 1040 : case E_V8DImode:
4727 1040 : if (!register_operand (operands[0], E_V8DImode)
4728 1040 : || GET_MODE (x1) != E_V8DImode)
4729 : return -1;
4730 960 : x2 = XVECEXP (x1, 0, 0);
4731 960 : if (GET_MODE (x2) != E_V8DImode)
4732 : return -1;
4733 960 : x3 = XEXP (x2, 0);
4734 960 : if (GET_MODE (x3) != E_V8DImode
4735 960 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
4736 1884 : || !register_operand (operands[3], E_QImode))
4737 80 : return -1;
4738 880 : switch (GET_MODE (operands[1]))
4739 : {
4740 440 : case E_V8DFmode:
4741 440 : if (!register_operand (operands[1], E_V8DFmode))
4742 : return -1;
4743 : return 2;
4744 :
4745 440 : case E_V8SFmode:
4746 440 : if (!register_operand (operands[1], E_V8SFmode))
4747 : return -1;
4748 : return 3;
4749 :
4750 : default:
4751 : return -1;
4752 : }
4753 :
4754 : default:
4755 : return -1;
4756 : }
4757 : }
4758 :
4759 : int
4760 95499 : pattern1330 (rtx x1)
4761 : {
4762 95499 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4763 95499 : int res ATTRIBUTE_UNUSED;
4764 95499 : switch (GET_MODE (x1))
4765 : {
4766 65391 : case E_QImode:
4767 65391 : if (!nonimmediate_operand (operands[1], E_QImode)
4768 64512 : || !general_operand (operands[2], E_QImode)
4769 129903 : || !scratch_operand (operands[0], E_QImode))
4770 936 : return -1;
4771 : return 0;
4772 :
4773 284 : case E_HImode:
4774 284 : if (!nonimmediate_operand (operands[1], E_HImode)
4775 284 : || !general_operand (operands[2], E_HImode)
4776 568 : || !scratch_operand (operands[0], E_HImode))
4777 42 : return -1;
4778 : return 1;
4779 :
4780 16079 : case E_SImode:
4781 16079 : if (!nonimmediate_operand (operands[1], E_SImode)
4782 12738 : || !x86_64_general_operand (operands[2], E_SImode)
4783 23960 : || !scratch_operand (operands[0], E_SImode))
4784 8789 : return -1;
4785 : return 2;
4786 :
4787 13745 : case E_DImode:
4788 13745 : if (!nonimmediate_operand (operands[1], E_DImode)
4789 10508 : || !x86_64_general_operand (operands[2], E_DImode)
4790 19066 : || !scratch_operand (operands[0], E_DImode))
4791 8596 : return -1;
4792 : return 3;
4793 :
4794 : default:
4795 : return -1;
4796 : }
4797 : }
4798 :
4799 : int
4800 15468 : pattern1348 (rtx x1)
4801 : {
4802 15468 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4803 15468 : rtx x2;
4804 15468 : int res ATTRIBUTE_UNUSED;
4805 15468 : if (!const_int_operand (operands[2], E_QImode))
4806 : return -1;
4807 15468 : x2 = XEXP (x1, 0);
4808 15468 : operands[1] = x2;
4809 15468 : return pattern410 (x1); /* [-1, 1] */
4810 : }
4811 :
4812 : int
4813 7446 : pattern1354 (rtx x1)
4814 : {
4815 7446 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4816 7446 : rtx x2, x3, x4, x5;
4817 7446 : int res ATTRIBUTE_UNUSED;
4818 7446 : x2 = XEXP (x1, 1);
4819 7446 : if (GET_CODE (x2) != COMPARE
4820 1301 : || GET_MODE (x2) != E_CCZmode)
4821 : return -1;
4822 735 : x3 = XEXP (x2, 1);
4823 735 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4824 : return -1;
4825 643 : x4 = XEXP (x1, 0);
4826 643 : if (GET_CODE (x4) != REG
4827 643 : || REGNO (x4) != 17
4828 1286 : || GET_MODE (x4) != E_CCZmode)
4829 : return -1;
4830 643 : x5 = XEXP (x2, 0);
4831 643 : if (!rtx_equal_p (x5, operands[1]))
4832 : return -1;
4833 : return 0;
4834 : }
4835 :
4836 : int
4837 1686 : pattern1363 ()
4838 : {
4839 1686 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4840 1686 : int res ATTRIBUTE_UNUSED;
4841 1686 : switch (GET_MODE (operands[1]))
4842 : {
4843 1536 : case E_QImode:
4844 1536 : if (!general_reg_operand (operands[1], E_QImode)
4845 1536 : || !nonimmediate_operand (operands[2], E_QImode))
4846 598 : return -1;
4847 : return 0;
4848 :
4849 150 : case E_HImode:
4850 150 : if (!general_reg_operand (operands[1], E_HImode)
4851 150 : || !nonimmediate_operand (operands[2], E_HImode))
4852 10 : return -1;
4853 : return 1;
4854 :
4855 : default:
4856 : return -1;
4857 : }
4858 : }
4859 :
4860 : int
4861 21 : pattern1369 (rtx x1, machine_mode i1)
4862 : {
4863 21 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4864 21 : rtx x2;
4865 21 : int res ATTRIBUTE_UNUSED;
4866 21 : if (!nonimmediate_operand (operands[0], i1)
4867 21 : || GET_MODE (x1) != i1)
4868 : return -1;
4869 21 : x2 = XEXP (x1, 0);
4870 21 : if (GET_MODE (x2) != i1
4871 21 : || !ix86_carry_flag_operator (operands[4], i1)
4872 21 : || !nonimmediate_operand (operands[1], i1)
4873 42 : || !general_operand (operands[2], i1))
4874 0 : return -1;
4875 : return 0;
4876 : }
4877 :
4878 : int
4879 1208 : pattern1376 (rtx x1, machine_mode i1, machine_mode i2)
4880 : {
4881 1208 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4882 1208 : rtx x2;
4883 1208 : int res ATTRIBUTE_UNUSED;
4884 1208 : if (!register_operand (operands[0], i1)
4885 1208 : || GET_MODE (x1) != i1)
4886 : return -1;
4887 1126 : x2 = XEXP (x1, 0);
4888 1126 : if (GET_MODE (x2) != i1
4889 1126 : || !vector_operand (operands[1], i1)
4890 1118 : || !vector_operand (operands[2], i1)
4891 1118 : || !vector_operand (operands[3], i1)
4892 1118 : || !const0_operand (operands[4], i1)
4893 2244 : || !register_operand (operands[5], i2))
4894 91 : return -1;
4895 : return 0;
4896 : }
4897 :
4898 : int
4899 849 : pattern1381 (rtx x1, machine_mode i1)
4900 : {
4901 849 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4902 849 : rtx x2, x3;
4903 849 : int res ATTRIBUTE_UNUSED;
4904 849 : if (!register_operand (operands[0], i1)
4905 849 : || GET_MODE (x1) != i1)
4906 : return -1;
4907 816 : x2 = XEXP (x1, 0);
4908 816 : if (GET_MODE (x2) != i1)
4909 : return -1;
4910 816 : x3 = XEXP (x2, 0);
4911 816 : if (GET_MODE (x3) != i1
4912 816 : || !nonimmediate_operand (operands[1], i1)
4913 798 : || !nonimm_or_0_operand (operands[3], i1)
4914 1614 : || !register_operand (operands[2], i1))
4915 39 : return -1;
4916 : return 0;
4917 : }
4918 :
4919 : int
4920 60 : pattern1392 (rtx x1, machine_mode i1)
4921 : {
4922 60 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4923 60 : int res ATTRIBUTE_UNUSED;
4924 60 : if (!nonimmediate_operand (operands[2], i1)
4925 60 : || GET_MODE (x1) != i1
4926 60 : || !nonimmediate_operand (operands[3], i1)
4927 120 : || !const0_operand (operands[4], i1))
4928 0 : return -1;
4929 : return 0;
4930 : }
4931 :
4932 : int
4933 417 : pattern1400 (rtx x1, machine_mode i1, machine_mode i2)
4934 : {
4935 417 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4936 417 : rtx x2, x3, x4;
4937 417 : int res ATTRIBUTE_UNUSED;
4938 417 : if (!register_operand (operands[0], i2)
4939 417 : || GET_MODE (x1) != i2)
4940 : return -1;
4941 391 : x2 = XEXP (x1, 0);
4942 391 : if (GET_MODE (x2) != i2)
4943 : return -1;
4944 391 : x3 = XEXP (x2, 0);
4945 391 : if (GET_MODE (x3) != i2
4946 391 : || !bcst_vector_operand (operands[1], i2))
4947 0 : return -1;
4948 391 : x4 = XEXP (x2, 2);
4949 391 : return pattern1388 (x4,
4950 : i1,
4951 391 : i2); /* [-1, 0] */
4952 : }
4953 :
4954 : int
4955 1276 : pattern1408 (rtx x1)
4956 : {
4957 1276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4958 1276 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4959 1276 : rtx x10;
4960 1276 : int res ATTRIBUTE_UNUSED;
4961 1276 : x2 = XVECEXP (x1, 0, 0);
4962 1276 : x3 = XEXP (x2, 0);
4963 1276 : x4 = XEXP (x3, 0);
4964 1276 : if (GET_MODE (x4) != E_V8HFmode)
4965 : return -1;
4966 1276 : x5 = XEXP (x3, 2);
4967 1276 : if (GET_CODE (x5) != UNSPEC
4968 1276 : || XVECLEN (x5, 0) != 1
4969 1276 : || XINT (x5, 1) != 224
4970 1276 : || GET_MODE (x5) != E_QImode)
4971 : return -1;
4972 1276 : x6 = XEXP (x2, 2);
4973 1276 : if (XWINT (x6, 0) != 3L
4974 1276 : || !register_operand (operands[0], E_V8HFmode)
4975 1250 : || GET_MODE (x1) != E_V8HFmode
4976 1250 : || GET_MODE (x2) != E_V8HFmode
4977 1250 : || GET_MODE (x3) != E_V8HFmode
4978 1250 : || !register_operand (operands[1], E_V8HFmode)
4979 1242 : || !register_operand (operands[2], E_V8HFmode)
4980 2484 : || !register_operand (operands[3], E_V8HFmode))
4981 90 : return -1;
4982 1186 : x7 = XVECEXP (x5, 0, 0);
4983 1186 : if (!register_operand (x7, E_QImode))
4984 : return -1;
4985 1104 : x8 = XVECEXP (x1, 0, 1);
4986 1104 : if (!const_4_or_8_to_11_operand (x8, E_SImode))
4987 : return -1;
4988 1104 : x9 = XEXP (x2, 1);
4989 1104 : if (!rtx_equal_p (x9, operands[2]))
4990 : return -1;
4991 1104 : x10 = XEXP (x3, 1);
4992 1104 : switch (GET_CODE (x10))
4993 : {
4994 384 : case CONST_INT:
4995 384 : case CONST_DOUBLE:
4996 384 : case CONST_VECTOR:
4997 384 : operands[4] = x10;
4998 384 : if (!const0_operand (operands[4], E_V8HFmode))
4999 : return -1;
5000 384 : operands[5] = x7;
5001 384 : operands[6] = x8;
5002 384 : return 0;
5003 :
5004 720 : case REG:
5005 720 : case SUBREG:
5006 720 : if (!rtx_equal_p (x10, operands[1]))
5007 : return -1;
5008 720 : operands[4] = x7;
5009 720 : operands[5] = x8;
5010 720 : return 1;
5011 :
5012 : default:
5013 : return -1;
5014 : }
5015 : }
5016 :
5017 : int
5018 33 : pattern1431 (rtx x1)
5019 : {
5020 33 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5021 33 : rtx x2, x3, x4, x5;
5022 33 : int res ATTRIBUTE_UNUSED;
5023 33 : x2 = XEXP (x1, 0);
5024 33 : x3 = XEXP (x2, 1);
5025 33 : x4 = XEXP (x3, 0);
5026 33 : if (GET_CODE (x4) != REG
5027 33 : || REGNO (x4) != 17)
5028 : return -1;
5029 9 : x5 = XEXP (x3, 1);
5030 9 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5031 : return -1;
5032 9 : return pattern1165 (x1); /* [-1, 5] */
5033 : }
5034 :
5035 : int
5036 1506 : pattern1440 (rtx x1, machine_mode i1)
5037 : {
5038 1506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5039 1506 : rtx x2;
5040 1506 : int res ATTRIBUTE_UNUSED;
5041 1506 : if (!register_operand (operands[0], i1)
5042 1506 : || GET_MODE (x1) != i1)
5043 : return -1;
5044 1506 : x2 = XEXP (x1, 1);
5045 1506 : if (GET_MODE (x2) != i1
5046 1506 : || !nonimmediate_operand (operands[1], i1))
5047 204 : return -1;
5048 : return 0;
5049 : }
5050 :
5051 : int
5052 0 : pattern1447 (rtx x1, machine_mode i1)
5053 : {
5054 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5055 0 : int res ATTRIBUTE_UNUSED;
5056 0 : if (!register_operand (operands[0], i1)
5057 0 : || GET_MODE (x1) != i1
5058 0 : || !register_operand (operands[1], i1)
5059 0 : || !const_int_operand (operands[2], i1))
5060 0 : return -1;
5061 : return 0;
5062 : }
5063 :
5064 : int
5065 360244 : pattern1453 (rtx x1, int i1, machine_mode i2)
5066 : {
5067 360244 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5068 360244 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5069 360244 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
5070 360244 : rtx x18, x19, x20, x21, x22;
5071 360244 : int res ATTRIBUTE_UNUSED;
5072 360244 : x2 = XVECEXP (x1, 0, 2);
5073 360244 : x3 = XEXP (x2, 1);
5074 360244 : switch (GET_CODE (x3))
5075 : {
5076 187097 : case PLUS:
5077 187097 : x4 = XEXP (x3, 0);
5078 187097 : if (GET_CODE (x4) != ASHIFT)
5079 : return -1;
5080 157300 : x5 = XEXP (x4, 1);
5081 157300 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5082 : return -1;
5083 157300 : x6 = XVECEXP (x1, 0, 3);
5084 157300 : if (GET_CODE (x6) != SET)
5085 : return -1;
5086 157300 : x7 = XEXP (x6, 1);
5087 157300 : if (GET_CODE (x7) != MEM
5088 157300 : || GET_MODE (x7) != E_BLKmode)
5089 : return -1;
5090 157300 : x8 = XEXP (x6, 0);
5091 157300 : if (GET_CODE (x8) != MEM
5092 157300 : || GET_MODE (x8) != E_BLKmode)
5093 : return -1;
5094 157300 : x9 = XVECEXP (x1, 0, 0);
5095 157300 : x10 = XEXP (x9, 0);
5096 157300 : operands[2] = x10;
5097 157300 : x11 = XVECEXP (x1, 0, 1);
5098 157300 : x12 = XEXP (x11, 1);
5099 157300 : x13 = XEXP (x12, 0);
5100 157300 : x14 = XEXP (x13, 0);
5101 157300 : operands[5] = x14;
5102 157300 : x15 = XEXP (x2, 0);
5103 157300 : operands[1] = x15;
5104 157300 : x16 = XEXP (x3, 1);
5105 157300 : operands[4] = x16;
5106 157300 : x17 = XEXP (x4, 0);
5107 157300 : if (!rtx_equal_p (x17, operands[5]))
5108 : return -1;
5109 157300 : x18 = XEXP (x7, 0);
5110 157300 : if (!rtx_equal_p (x18, operands[4]))
5111 : return -1;
5112 157062 : x19 = XEXP (x8, 0);
5113 157062 : if (!rtx_equal_p (x19, operands[3]))
5114 : return -1;
5115 156978 : x20 = XVECEXP (x1, 0, 4);
5116 156978 : x21 = XEXP (x20, 0);
5117 156978 : if (!rtx_equal_p (x21, operands[5]))
5118 : return -1;
5119 156876 : switch (GET_MODE (operands[2]))
5120 : {
5121 3594 : case E_SImode:
5122 3594 : return pattern1451 (x1,
5123 3594 : E_SImode); /* [-1, 0] */
5124 :
5125 153282 : case E_DImode:
5126 153282 : if (pattern1451 (x1,
5127 : E_DImode) != 0)
5128 : return -1;
5129 : return 1;
5130 :
5131 : default:
5132 : return -1;
5133 : }
5134 :
5135 162885 : case CONST_INT:
5136 162885 : if (XWINT (x3, 0) != 0L)
5137 : return -1;
5138 162883 : x15 = XEXP (x2, 0);
5139 162883 : if (GET_CODE (x15) != MEM
5140 162883 : || GET_MODE (x15) != E_BLKmode)
5141 : return -1;
5142 162883 : x6 = XVECEXP (x1, 0, 3);
5143 162883 : if (GET_CODE (x6) != USE)
5144 : return -1;
5145 162883 : x9 = XVECEXP (x1, 0, 0);
5146 162883 : x10 = XEXP (x9, 0);
5147 162883 : operands[1] = x10;
5148 162883 : x11 = XVECEXP (x1, 0, 1);
5149 162883 : x12 = XEXP (x11, 1);
5150 162883 : x13 = XEXP (x12, 0);
5151 162883 : x14 = XEXP (x13, 0);
5152 162883 : operands[4] = x14;
5153 162883 : x8 = XEXP (x6, 0);
5154 162883 : operands[2] = x8;
5155 162883 : if (!register_operand (operands[2], i2))
5156 : return -1;
5157 114835 : x22 = XEXP (x15, 0);
5158 114835 : if (!rtx_equal_p (x22, operands[3]))
5159 : return -1;
5160 114584 : x20 = XVECEXP (x1, 0, 4);
5161 114584 : x21 = XEXP (x20, 0);
5162 114584 : if (!rtx_equal_p (x21, operands[4]))
5163 : return -1;
5164 114584 : switch (GET_MODE (operands[1]))
5165 : {
5166 1479 : case E_SImode:
5167 1479 : if (pattern1452 (x12,
5168 : E_SImode) != 0)
5169 : return -1;
5170 : return 2;
5171 :
5172 113105 : case E_DImode:
5173 113105 : if (pattern1452 (x12,
5174 : E_DImode) != 0)
5175 : return -1;
5176 : return 3;
5177 :
5178 : default:
5179 : return -1;
5180 : }
5181 :
5182 : default:
5183 : return -1;
5184 : }
5185 : }
5186 :
5187 : int
5188 588 : pattern1501 (rtx x1, machine_mode i1)
5189 : {
5190 588 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5191 588 : rtx x2, x3, x4, x5, x6, x7, x8;
5192 588 : int res ATTRIBUTE_UNUSED;
5193 588 : x2 = XVECEXP (x1, 0, 0);
5194 588 : x3 = XEXP (x2, 1);
5195 588 : x4 = XEXP (x3, 0);
5196 588 : x5 = XEXP (x4, 0);
5197 588 : if (GET_MODE (x5) != i1
5198 588 : || !nonimmediate_operand (operands[1], i1)
5199 1176 : || !register_operand (operands[0], i1))
5200 0 : return -1;
5201 588 : x6 = XVECEXP (x1, 0, 1);
5202 588 : x7 = XEXP (x6, 1);
5203 588 : if (GET_MODE (x7) != i1)
5204 : return -1;
5205 588 : x8 = XEXP (x7, 0);
5206 588 : if (GET_MODE (x8) != i1)
5207 : return -1;
5208 : return 0;
5209 : }
5210 :
5211 : int
5212 0 : pattern1507 (rtx x1, rtx_code i1)
5213 : {
5214 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5215 0 : rtx x2, x3, x4, x5, x6, x7, x8;
5216 0 : int res ATTRIBUTE_UNUSED;
5217 0 : x2 = XEXP (x1, 0);
5218 0 : x3 = XEXP (x2, 0);
5219 0 : x4 = XEXP (x3, 1);
5220 0 : if (GET_CODE (x4) != i1)
5221 : return -1;
5222 0 : x5 = XEXP (x3, 0);
5223 0 : x6 = XEXP (x5, 0);
5224 0 : operands[1] = x6;
5225 0 : x7 = XEXP (x4, 0);
5226 0 : operands[2] = x7;
5227 0 : x8 = XEXP (x2, 1);
5228 0 : switch (XWINT (x8, 0))
5229 : {
5230 0 : case 64L:
5231 0 : return pattern1506 (x1,
5232 : E_DImode,
5233 0 : E_TImode); /* [-1, 0] */
5234 :
5235 0 : case 32L:
5236 0 : if (pattern1506 (x1,
5237 : E_SImode,
5238 : E_DImode) != 0)
5239 : return -1;
5240 : return 1;
5241 :
5242 : default:
5243 : return -1;
5244 : }
5245 : }
5246 :
5247 : int
5248 2406 : pattern1520 ()
5249 : {
5250 2406 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5251 2406 : int res ATTRIBUTE_UNUSED;
5252 2406 : switch (GET_MODE (operands[1]))
5253 : {
5254 190 : case E_V8HFmode:
5255 190 : if (!register_operand (operands[1], E_V8HFmode)
5256 190 : || !nonimmediate_operand (operands[2], E_V8HFmode))
5257 14 : return -1;
5258 : return 0;
5259 :
5260 1108 : case E_V4SFmode:
5261 1108 : if (!register_operand (operands[1], E_V4SFmode)
5262 1108 : || !nonimmediate_operand (operands[2], E_V4SFmode))
5263 3 : return -1;
5264 : return 1;
5265 :
5266 1108 : case E_V2DFmode:
5267 1108 : if (!register_operand (operands[1], E_V2DFmode)
5268 1108 : || !nonimmediate_operand (operands[2], E_V2DFmode))
5269 3 : return -1;
5270 : return 2;
5271 :
5272 : default:
5273 : return -1;
5274 : }
5275 : }
5276 :
5277 : int
5278 881354 : pattern1530 (rtx x1, machine_mode i1, machine_mode i2)
5279 : {
5280 881354 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5281 881354 : rtx x2;
5282 881354 : int res ATTRIBUTE_UNUSED;
5283 881354 : if (!register_operand (operands[0], i1)
5284 881354 : || GET_MODE (x1) != i1)
5285 : return -1;
5286 824520 : x2 = XEXP (x1, 0);
5287 824520 : if (GET_MODE (x2) != i2
5288 823859 : || !register_operand (operands[1], i1)
5289 729316 : || !vector_operand (operands[2], i1)
5290 1516887 : || pattern1529 () != 0)
5291 390073 : return -1;
5292 : return 0;
5293 : }
5294 :
5295 : int
5296 64 : pattern1538 (rtx x1)
5297 : {
5298 64 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5299 64 : rtx x2, x3, x4, x5, x6;
5300 64 : int res ATTRIBUTE_UNUSED;
5301 64 : if (!register_operand (operands[0], E_QImode)
5302 64 : || GET_MODE (x1) != E_QImode)
5303 : return -1;
5304 64 : x2 = XEXP (x1, 0);
5305 64 : if (GET_MODE (x2) != E_QImode)
5306 : return -1;
5307 64 : x3 = XEXP (x2, 0);
5308 64 : x4 = XEXP (x3, 0);
5309 64 : x5 = XEXP (x4, 0);
5310 64 : operands[1] = x5;
5311 64 : x6 = XEXP (x4, 1);
5312 64 : operands[2] = x6;
5313 64 : if (!register_operand (operands[2], E_QImode))
5314 : return -1;
5315 52 : switch (GET_MODE (x4))
5316 : {
5317 27 : case E_SImode:
5318 27 : if (!nonimmediate_operand (operands[1], E_SImode))
5319 : return -1;
5320 : return 0;
5321 :
5322 25 : case E_DImode:
5323 25 : if (!nonimmediate_operand (operands[1], E_DImode))
5324 : return -1;
5325 : return 1;
5326 :
5327 : default:
5328 : return -1;
5329 : }
5330 : }
5331 :
5332 : int
5333 4 : pattern1550 (rtx x1, machine_mode i1)
5334 : {
5335 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5336 4 : int res ATTRIBUTE_UNUSED;
5337 4 : if (GET_MODE (x1) != i1
5338 4 : || !ix86_carry_flag_operator (operands[3], i1)
5339 4 : || !nonimmediate_operand (operands[1], i1)
5340 8 : || !x86_64_general_operand (operands[2], i1))
5341 0 : return -1;
5342 : return 0;
5343 : }
5344 :
5345 : int
5346 165 : pattern1554 (rtx x1, machine_mode i1)
5347 : {
5348 165 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5349 165 : rtx x2, x3;
5350 165 : int res ATTRIBUTE_UNUSED;
5351 165 : if (!register_operand (operands[0], i1)
5352 165 : || GET_MODE (x1) != i1)
5353 : return -1;
5354 151 : x2 = XEXP (x1, 0);
5355 151 : if (GET_MODE (x2) != i1)
5356 : return -1;
5357 151 : x3 = XEXP (x2, 0);
5358 151 : if (GET_MODE (x3) != i1
5359 151 : || !nonimmediate_operand (operands[1], i1)
5360 151 : || !nonimmediate_operand (operands[2], i1)
5361 151 : || !nonimmediate_operand (operands[3], i1)
5362 302 : || !const0_operand (operands[4], i1))
5363 0 : return -1;
5364 : return 0;
5365 : }
5366 :
5367 : int
5368 936 : pattern1562 (rtx x1, machine_mode i1)
5369 : {
5370 936 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5371 936 : rtx x2, x3, x4;
5372 936 : int res ATTRIBUTE_UNUSED;
5373 936 : if (!register_operand (operands[0], i1)
5374 936 : || GET_MODE (x1) != i1)
5375 : return -1;
5376 920 : x2 = XVECEXP (x1, 0, 0);
5377 920 : if (GET_MODE (x2) != i1)
5378 : return -1;
5379 920 : x3 = XEXP (x2, 0);
5380 920 : if (GET_MODE (x3) != i1)
5381 : return -1;
5382 920 : x4 = XEXP (x3, 0);
5383 920 : if (GET_MODE (x4) != i1
5384 920 : || !nonimmediate_operand (operands[1], i1)
5385 920 : || !nonimm_or_0_operand (operands[3], i1)
5386 1840 : || !register_operand (operands[2], i1))
5387 0 : return -1;
5388 : return 0;
5389 : }
5390 :
5391 : int
5392 645 : pattern1572 (rtx x1, machine_mode i1)
5393 : {
5394 645 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5395 645 : rtx x2;
5396 645 : int res ATTRIBUTE_UNUSED;
5397 645 : if (!register_operand (operands[0], i1)
5398 645 : || GET_MODE (x1) != i1
5399 1290 : || !register_operand (operands[2], i1))
5400 148 : return -1;
5401 497 : x2 = XVECEXP (x1, 0, 2);
5402 497 : if (GET_MODE (x2) != i1)
5403 : return -1;
5404 : return 0;
5405 : }
5406 :
5407 : int
5408 0 : pattern1579 (rtx x1, machine_mode i1)
5409 : {
5410 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5411 0 : rtx x2, x3;
5412 0 : int res ATTRIBUTE_UNUSED;
5413 0 : if (!nonimmediate_operand (operands[0], i1)
5414 0 : || GET_MODE (x1) != i1)
5415 : return -1;
5416 0 : x2 = XEXP (x1, 0);
5417 0 : if (GET_MODE (x2) != i1
5418 0 : || !nonimmediate_operand (operands[1], i1))
5419 0 : return -1;
5420 0 : x3 = XEXP (x2, 1);
5421 0 : if (GET_MODE (x3) != i1
5422 0 : || !general_operand (operands[2], i1))
5423 0 : return -1;
5424 : return 0;
5425 : }
5426 :
5427 : int
5428 4 : pattern1586 (rtx x1, machine_mode i1)
5429 : {
5430 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5431 4 : rtx x2, x3, x4, x5, x6, x7, x8;
5432 4 : int res ATTRIBUTE_UNUSED;
5433 4 : x2 = XVECEXP (x1, 0, 0);
5434 4 : x3 = XEXP (x2, 1);
5435 4 : x4 = XEXP (x3, 0);
5436 4 : x5 = XEXP (x4, 0);
5437 4 : if (GET_MODE (x5) != i1
5438 4 : || !nonimmediate_operand (operands[1], i1)
5439 8 : || !register_operand (operands[0], i1))
5440 0 : return -1;
5441 4 : x6 = XVECEXP (x1, 0, 1);
5442 4 : x7 = XEXP (x6, 1);
5443 4 : if (GET_MODE (x7) != i1)
5444 : return -1;
5445 4 : x8 = XEXP (x7, 0);
5446 4 : if (GET_MODE (x8) != i1
5447 4 : || !register_operand (operands[2], i1))
5448 0 : return -1;
5449 : return 0;
5450 : }
5451 :
5452 : int
5453 1860 : pattern1594 (rtx x1, machine_mode i1, machine_mode i2)
5454 : {
5455 1860 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5456 1860 : rtx x2, x3;
5457 1860 : int res ATTRIBUTE_UNUSED;
5458 1860 : if (!register_operand (operands[0], i1)
5459 1860 : || GET_MODE (x1) != i1)
5460 : return -1;
5461 1856 : x2 = XVECEXP (x1, 0, 0);
5462 1856 : if (GET_MODE (x2) != i1)
5463 : return -1;
5464 1856 : x3 = XEXP (x2, 0);
5465 1856 : if (GET_MODE (x3) != i1
5466 1856 : || !register_operand (operands[1], i2)
5467 1856 : || !nonimmediate_operand (operands[2], i2)
5468 3712 : || !register_operand (operands[4], i1))
5469 0 : return -1;
5470 : return 0;
5471 : }
5472 :
5473 : int
5474 1015 : pattern1604 (rtx x1, machine_mode i1, machine_mode i2)
5475 : {
5476 1015 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5477 1015 : rtx x2, x3, x4;
5478 1015 : int res ATTRIBUTE_UNUSED;
5479 1015 : if (!register_operand (operands[0], i1)
5480 1015 : || GET_MODE (x1) != i1)
5481 : return -1;
5482 980 : x2 = XVECEXP (x1, 0, 0);
5483 980 : if (GET_MODE (x2) != i1)
5484 : return -1;
5485 980 : x3 = XEXP (x2, 0);
5486 980 : if (GET_MODE (x3) != i1
5487 980 : || !nonimmediate_operand (operands[1], i1)
5488 1960 : || !register_operand (operands[2], i1))
5489 14 : return -1;
5490 966 : x4 = XVECEXP (x3, 0, 2);
5491 966 : if (GET_MODE (x4) != i1
5492 966 : || !register_operand (operands[4], i2))
5493 10 : return -1;
5494 : return 0;
5495 : }
5496 :
5497 : int
5498 0 : pattern1615 (rtx x1, machine_mode i1)
5499 : {
5500 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5501 0 : rtx x2, x3, x4, x5;
5502 0 : int res ATTRIBUTE_UNUSED;
5503 0 : if (!register_operand (operands[0], i1)
5504 0 : || GET_MODE (x1) != i1)
5505 : return -1;
5506 0 : x2 = XVECEXP (x1, 0, 0);
5507 0 : if (GET_MODE (x2) != i1)
5508 : return -1;
5509 0 : x3 = XEXP (x2, 0);
5510 0 : if (GET_MODE (x3) != i1)
5511 : return -1;
5512 0 : x4 = XEXP (x3, 0);
5513 0 : if (GET_MODE (x4) != i1
5514 0 : || !nonimmediate_operand (operands[1], i1)
5515 0 : || !nonimmediate_operand (operands[2], i1))
5516 0 : return -1;
5517 0 : x5 = XEXP (x3, 2);
5518 0 : if (GET_MODE (x5) != i1
5519 0 : || !nonimmediate_operand (operands[3], i1)
5520 0 : || !const0_operand (operands[4], i1)
5521 0 : || !register_operand (operands[5], E_QImode))
5522 0 : return -1;
5523 : return 0;
5524 : }
5525 :
5526 : int
5527 1076 : pattern1627 (rtx x1, machine_mode i1, machine_mode i2)
5528 : {
5529 1076 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5530 1076 : rtx x2, x3;
5531 1076 : int res ATTRIBUTE_UNUSED;
5532 1076 : if (!register_operand (operands[0], i2)
5533 1043 : || GET_MODE (x1) != i2
5534 2119 : || !vsib_mem_operator (operands[5], i1))
5535 33 : return -1;
5536 1043 : switch (GET_MODE (operands[6]))
5537 : {
5538 94 : case E_HImode:
5539 94 : x2 = XVECEXP (x1, 0, 2);
5540 94 : x3 = XEXP (x2, 0);
5541 94 : return pattern1626 (x3,
5542 : E_V16SImode,
5543 94 : E_HImode); /* [-1, 1] */
5544 :
5545 95 : case E_QImode:
5546 95 : x2 = XVECEXP (x1, 0, 2);
5547 95 : x3 = XEXP (x2, 0);
5548 95 : res = pattern1626 (x3,
5549 : E_V8DImode,
5550 : E_QImode);
5551 95 : if (res >= 0)
5552 58 : return res + 2; /* [2, 3] */
5553 : return -1;
5554 :
5555 : default:
5556 : return -1;
5557 : }
5558 : }
5559 :
5560 : int
5561 2 : pattern1639 (rtx x1)
5562 : {
5563 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5564 2 : rtx x2, x3, x4, x5, x6, x7, x8;
5565 2 : int res ATTRIBUTE_UNUSED;
5566 2 : x2 = XVECEXP (x1, 0, 1);
5567 2 : x3 = XEXP (x2, 1);
5568 2 : x4 = XEXP (x3, 1);
5569 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5570 : return -1;
5571 2 : x5 = XEXP (x3, 0);
5572 2 : if (!rtx_equal_p (x5, operands[1]))
5573 : return -1;
5574 2 : x6 = XVECEXP (x1, 0, 0);
5575 2 : x7 = XEXP (x6, 1);
5576 2 : x8 = XVECEXP (x7, 0, 0);
5577 2 : switch (GET_MODE (x8))
5578 : {
5579 0 : case E_SImode:
5580 0 : if (!nonimmediate_operand (operands[1], E_SImode)
5581 0 : || !register_operand (operands[0], E_SImode)
5582 0 : || GET_MODE (x3) != E_SImode)
5583 0 : return -1;
5584 : return 0;
5585 :
5586 2 : case E_DImode:
5587 2 : if (!nonimmediate_operand (operands[1], E_DImode)
5588 2 : || !register_operand (operands[0], E_DImode)
5589 4 : || GET_MODE (x3) != E_DImode)
5590 0 : return -1;
5591 : return 1;
5592 :
5593 : default:
5594 : return -1;
5595 : }
5596 : }
5597 :
5598 : int
5599 137 : pattern1656 ()
5600 : {
5601 137 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5602 137 : int res ATTRIBUTE_UNUSED;
5603 137 : switch (GET_MODE (operands[3]))
5604 : {
5605 49 : case E_HImode:
5606 49 : if (!extract_high_operator (operands[3], E_HImode))
5607 : return -1;
5608 : return 0;
5609 :
5610 66 : case E_SImode:
5611 66 : if (!extract_high_operator (operands[3], E_SImode))
5612 : return -1;
5613 : return 1;
5614 :
5615 22 : case E_DImode:
5616 22 : if (!extract_high_operator (operands[3], E_DImode))
5617 : return -1;
5618 : return 2;
5619 :
5620 : default:
5621 : return -1;
5622 : }
5623 : }
5624 :
5625 : int
5626 1392 : pattern1664 (rtx x1, machine_mode i1, machine_mode i2)
5627 : {
5628 1392 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5629 1392 : rtx x2, x3;
5630 1392 : int res ATTRIBUTE_UNUSED;
5631 1392 : if (!register_operand (operands[0], i1)
5632 1392 : || GET_MODE (x1) != i1)
5633 : return -1;
5634 1222 : x2 = XEXP (x1, 0);
5635 1222 : if (GET_MODE (x2) != i1)
5636 : return -1;
5637 1222 : x3 = XEXP (x2, 0);
5638 1222 : if (GET_MODE (x3) != i2
5639 1222 : || !register_operand (operands[1], i1)
5640 2442 : || !nonimmediate_operand (operands[2], i1))
5641 139 : return -1;
5642 : return 0;
5643 : }
5644 :
5645 : int
5646 1056 : pattern1671 (rtx x1, machine_mode i1)
5647 : {
5648 1056 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5649 1056 : rtx x2, x3;
5650 1056 : int res ATTRIBUTE_UNUSED;
5651 1056 : if (!register_operand (operands[0], i1)
5652 1056 : || GET_MODE (x1) != i1)
5653 : return -1;
5654 1021 : x2 = XVECEXP (x1, 0, 0);
5655 1021 : if (GET_MODE (x2) != i1)
5656 : return -1;
5657 1021 : x3 = XEXP (x2, 0);
5658 1021 : if (GET_MODE (x3) != i1
5659 1021 : || !nonimmediate_operand (operands[1], i1)
5660 1021 : || !register_operand (operands[2], i1)
5661 2008 : || !register_operand (operands[3], i1))
5662 53 : return -1;
5663 : return 0;
5664 : }
5665 :
5666 : int
5667 454 : pattern1681 (rtx x1, machine_mode i1, machine_mode i2)
5668 : {
5669 454 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5670 454 : rtx x2, x3;
5671 454 : int res ATTRIBUTE_UNUSED;
5672 454 : if (!register_operand (operands[0], i2)
5673 448 : || GET_MODE (x1) != i2
5674 448 : || !register_operand (operands[1], i2)
5675 448 : || !register_operand (operands[7], E_QImode)
5676 780 : || !vsib_mem_operator (operands[6], i1))
5677 128 : return -1;
5678 326 : x2 = XVECEXP (x1, 0, 2);
5679 326 : x3 = XEXP (x2, 0);
5680 326 : switch (GET_MODE (x3))
5681 : {
5682 0 : case E_SImode:
5683 0 : return pattern1680 (
5684 0 : E_SImode); /* [-1, 1] */
5685 :
5686 326 : case E_DImode:
5687 326 : res = pattern1680 (
5688 : E_DImode);
5689 326 : if (res >= 0)
5690 244 : return res + 2; /* [2, 3] */
5691 : return -1;
5692 :
5693 : default:
5694 : return -1;
5695 : }
5696 : }
5697 :
5698 : int
5699 466 : pattern1693 (rtx x1)
5700 : {
5701 466 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5702 466 : rtx x2, x3, x4, x5, x6, x7;
5703 466 : int res ATTRIBUTE_UNUSED;
5704 466 : x2 = XVECEXP (x1, 0, 2);
5705 466 : if (XWINT (x2, 0) != 2L)
5706 : return -1;
5707 445 : x3 = XVECEXP (x1, 0, 3);
5708 445 : if (XWINT (x3, 0) != 2L)
5709 : return -1;
5710 445 : x4 = XVECEXP (x1, 0, 4);
5711 445 : if (XWINT (x4, 0) != 4L)
5712 : return -1;
5713 445 : x5 = XVECEXP (x1, 0, 5);
5714 445 : if (XWINT (x5, 0) != 4L)
5715 : return -1;
5716 445 : x6 = XVECEXP (x1, 0, 6);
5717 445 : if (XWINT (x6, 0) != 6L)
5718 : return -1;
5719 445 : x7 = XVECEXP (x1, 0, 7);
5720 445 : if (XWINT (x7, 0) != 6L)
5721 0 : return -1;
5722 : return 0;
5723 : }
5724 :
5725 : int
5726 59439 : pattern1704 (rtx x1, rtx_code i1)
5727 : {
5728 59439 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5729 59439 : rtx x2, x3, x4;
5730 59439 : int res ATTRIBUTE_UNUSED;
5731 59439 : if (GET_CODE (x1) != i1)
5732 : return -1;
5733 50425 : x2 = XEXP (x1, 0);
5734 50425 : if (GET_CODE (x2) != MINUS)
5735 : return -1;
5736 44138 : x3 = XEXP (x2, 1);
5737 44138 : switch (GET_CODE (x3))
5738 : {
5739 39843 : case LTU:
5740 39843 : case UNLT:
5741 39843 : operands[5] = x3;
5742 39843 : x4 = XEXP (x3, 1);
5743 39843 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5744 : return -1;
5745 : return 0;
5746 :
5747 : default:
5748 : return -1;
5749 : }
5750 : }
5751 :
5752 : int
5753 398 : pattern1713 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5754 : {
5755 398 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5756 398 : rtx x2, x3, x4, x5, x6;
5757 398 : int res ATTRIBUTE_UNUSED;
5758 398 : x2 = XVECEXP (x1, 0, 12);
5759 398 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5760 : return -1;
5761 398 : x3 = XVECEXP (x1, 0, 13);
5762 398 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5763 : return -1;
5764 398 : x4 = XVECEXP (x1, 0, 14);
5765 398 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5766 : return -1;
5767 398 : x5 = XVECEXP (x1, 0, 15);
5768 398 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
5769 : return -1;
5770 398 : x6 = XVECEXP (x1, 0, 16);
5771 398 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5772 0 : return -1;
5773 : return 0;
5774 : }
5775 :
5776 : int
5777 423 : pattern1722 (machine_mode i1)
5778 : {
5779 423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5780 423 : int res ATTRIBUTE_UNUSED;
5781 423 : if (!vsib_address_operand (operands[0], i1))
5782 : return -1;
5783 401 : switch (GET_MODE (operands[2]))
5784 : {
5785 125 : case E_V16SImode:
5786 125 : if (!register_operand (operands[2], E_V16SImode)
5787 108 : || !register_operand (operands[6], E_HImode)
5788 160 : || !register_operand (operands[3], E_V16SImode))
5789 99 : return -1;
5790 : return 0;
5791 :
5792 276 : case E_V8DImode:
5793 276 : if (!register_operand (operands[2], E_V8DImode)
5794 266 : || !register_operand (operands[6], E_QImode)
5795 466 : || !register_operand (operands[3], E_V8SImode))
5796 208 : return -1;
5797 : return 1;
5798 :
5799 : default:
5800 : return -1;
5801 : }
5802 : }
5803 :
5804 : int
5805 1110 : pattern1731 (machine_mode i1)
5806 : {
5807 1110 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5808 1110 : int res ATTRIBUTE_UNUSED;
5809 1110 : if (!vsib_address_operand (operands[0], i1))
5810 : return -1;
5811 1068 : switch (GET_MODE (operands[2]))
5812 : {
5813 615 : case E_V8SImode:
5814 615 : if (!register_operand (operands[2], E_V8SImode))
5815 : return -1;
5816 : return 0;
5817 :
5818 453 : case E_V8DImode:
5819 453 : if (!register_operand (operands[2], E_V8DImode))
5820 : return -1;
5821 : return 1;
5822 :
5823 : default:
5824 : return -1;
5825 : }
5826 : }
5827 :
5828 : int
5829 1443 : pattern1741 (rtx x1, machine_mode i1, machine_mode i2)
5830 : {
5831 1443 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5832 1443 : rtx x2, x3;
5833 1443 : int res ATTRIBUTE_UNUSED;
5834 1443 : if (!register_operand (operands[0], i2)
5835 1415 : || GET_MODE (x1) != i2
5836 1415 : || !register_operand (operands[6], E_QImode)
5837 855 : || !vsib_mem_operator (operands[5], i1)
5838 2298 : || !scratch_operand (operands[1], E_QImode))
5839 588 : return -1;
5840 855 : x2 = XVECEXP (x1, 0, 2);
5841 855 : x3 = XEXP (x2, 0);
5842 855 : switch (GET_MODE (x3))
5843 : {
5844 0 : case E_SImode:
5845 0 : return pattern1740 (
5846 0 : E_SImode); /* [-1, 1] */
5847 :
5848 855 : case E_DImode:
5849 855 : res = pattern1740 (
5850 : E_DImode);
5851 855 : if (res >= 0)
5852 776 : return res + 2; /* [2, 3] */
5853 : return -1;
5854 :
5855 : default:
5856 : return -1;
5857 : }
5858 : }
5859 :
5860 : int
5861 624 : pattern1754 (rtx x1)
5862 : {
5863 624 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5864 624 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5865 624 : rtx x10, x11;
5866 624 : int res ATTRIBUTE_UNUSED;
5867 624 : x2 = XEXP (x1, 0);
5868 624 : x3 = XEXP (x2, 1);
5869 624 : x4 = XVECEXP (x3, 0, 4);
5870 624 : if (XWINT (x4, 0) != 6L)
5871 : return -1;
5872 624 : x5 = XVECEXP (x3, 0, 5);
5873 624 : if (XWINT (x5, 0) != 14L)
5874 : return -1;
5875 624 : x6 = XVECEXP (x3, 0, 6);
5876 624 : if (XWINT (x6, 0) != 7L)
5877 : return -1;
5878 624 : x7 = XVECEXP (x3, 0, 7);
5879 624 : if (XWINT (x7, 0) != 15L)
5880 : return -1;
5881 624 : x8 = XEXP (x2, 0);
5882 624 : x9 = XEXP (x8, 1);
5883 624 : operands[2] = x9;
5884 624 : x10 = XEXP (x1, 1);
5885 624 : operands[3] = x10;
5886 624 : x11 = XEXP (x1, 2);
5887 624 : operands[4] = x11;
5888 624 : return 0;
5889 : }
5890 :
5891 : int
5892 94 : pattern1762 (machine_mode i1)
5893 : {
5894 94 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5895 94 : int res ATTRIBUTE_UNUSED;
5896 94 : if (!vsib_address_operand (operands[0], i1))
5897 : return -1;
5898 77 : switch (GET_MODE (operands[2]))
5899 : {
5900 23 : case E_V8SImode:
5901 23 : if (!register_operand (operands[2], E_V8SImode)
5902 23 : || !register_operand (operands[3], E_V8SFmode))
5903 2 : return -1;
5904 : return 0;
5905 :
5906 54 : case E_V4DImode:
5907 54 : if (!register_operand (operands[2], E_V4DImode)
5908 54 : || !register_operand (operands[3], E_V4SFmode))
5909 29 : return -1;
5910 : return 1;
5911 :
5912 : default:
5913 : return -1;
5914 : }
5915 : }
5916 :
5917 : int
5918 1308 : pattern1772 (machine_mode i1)
5919 : {
5920 1308 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5921 1308 : int res ATTRIBUTE_UNUSED;
5922 1308 : if (!vsib_address_operand (operands[4], i1))
5923 : return -1;
5924 1308 : switch (GET_MODE (operands[3]))
5925 : {
5926 616 : case E_V4SImode:
5927 616 : if (!register_operand (operands[3], E_V4SImode))
5928 : return -1;
5929 : return 0;
5930 :
5931 692 : case E_V2DImode:
5932 692 : if (!register_operand (operands[3], E_V2DImode))
5933 : return -1;
5934 : return 1;
5935 :
5936 : default:
5937 : return -1;
5938 : }
5939 : }
5940 :
5941 : int
5942 1104 : pattern1780 (rtx x1, machine_mode i1, machine_mode i2)
5943 : {
5944 1104 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5945 1104 : rtx x2, x3;
5946 1104 : int res ATTRIBUTE_UNUSED;
5947 1104 : if (!register_operand (operands[0], i1)
5948 1104 : || GET_MODE (x1) != i1)
5949 : return -1;
5950 965 : x2 = XEXP (x1, 0);
5951 965 : if (GET_MODE (x2) != i1)
5952 : return -1;
5953 965 : x3 = XEXP (x2, 0);
5954 965 : if (GET_MODE (x3) != i2
5955 965 : || !register_operand (operands[1], i1)
5956 963 : || !nonimmediate_operand (operands[2], i1)
5957 1812 : || !nonimm_or_0_operand (operands[11], i1))
5958 173 : return -1;
5959 : return 0;
5960 : }
5961 :
5962 : int
5963 0 : pattern1789 (rtx x1, machine_mode i1)
5964 : {
5965 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5966 0 : rtx x2;
5967 0 : int res ATTRIBUTE_UNUSED;
5968 0 : if (!register_operand (operands[0], i1))
5969 : return -1;
5970 0 : operands[2] = x1;
5971 0 : x2 = PATTERN (peep2_next_insn (1));
5972 0 : return pattern1788 (x2,
5973 0 : i1); /* [-1, 0] */
5974 : }
5975 :
5976 : int
5977 813 : pattern1796 (machine_mode i1)
5978 : {
5979 813 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5980 813 : int res ATTRIBUTE_UNUSED;
5981 813 : if (!vsib_address_operand (operands[0], i1))
5982 : return -1;
5983 794 : switch (GET_MODE (operands[2]))
5984 : {
5985 400 : case E_V16SImode:
5986 400 : return pattern1794 (
5987 : E_HImode,
5988 : E_V16SFmode,
5989 400 : E_V16SImode); /* [-1, 0] */
5990 :
5991 394 : case E_V8DImode:
5992 394 : if (pattern1794 (
5993 : E_QImode,
5994 : E_V8SFmode,
5995 : E_V8DImode) != 0)
5996 : return -1;
5997 : return 1;
5998 :
5999 : default:
6000 : return -1;
6001 : }
6002 : }
6003 :
6004 : int
6005 25 : pattern1803 (rtx x1, machine_mode i1)
6006 : {
6007 25 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6008 25 : rtx x2, x3, x4, x5, x6, x7;
6009 25 : int res ATTRIBUTE_UNUSED;
6010 25 : if (!register_operand (operands[0], i1))
6011 : return -1;
6012 25 : x2 = XVECEXP (x1, 0, 0);
6013 25 : x3 = XEXP (x2, 1);
6014 25 : if (GET_MODE (x3) != i1
6015 25 : || !register_operand (operands[1], i1))
6016 0 : return -1;
6017 25 : x4 = XVECEXP (x1, 0, 1);
6018 25 : x5 = XEXP (x4, 0);
6019 25 : if (GET_MODE (x5) != i1)
6020 : return -1;
6021 25 : x6 = XEXP (x4, 1);
6022 25 : if (GET_MODE (x6) != i1)
6023 : return -1;
6024 25 : x7 = XEXP (x6, 0);
6025 25 : if (GET_MODE (x7) != i1
6026 25 : || !const_int_operand (operands[2], i1))
6027 0 : return -1;
6028 : return 0;
6029 : }
6030 :
6031 : int
6032 1317 : pattern1814 (rtx x1, machine_mode i1, machine_mode i2)
6033 : {
6034 1317 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6035 1317 : rtx x2, x3;
6036 1317 : int res ATTRIBUTE_UNUSED;
6037 1317 : if (!register_operand (operands[0], i1)
6038 1317 : || GET_MODE (x1) != i1)
6039 : return -1;
6040 280 : x2 = XEXP (x1, 0);
6041 280 : if (GET_MODE (x2) != i2
6042 280 : || !nonimmediate_operand (operands[1], i1))
6043 0 : return -1;
6044 280 : x3 = XEXP (x2, 1);
6045 280 : if (!rtx_equal_p (x3, operands[1]))
6046 : return -1;
6047 : return 0;
6048 : }
6049 :
6050 : int
6051 836 : pattern1819 (rtx x1, machine_mode i1, machine_mode i2)
6052 : {
6053 836 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6054 836 : rtx x2, x3;
6055 836 : int res ATTRIBUTE_UNUSED;
6056 836 : if (!register_operand (operands[0], i1)
6057 828 : || GET_MODE (x1) != i1
6058 828 : || !register_operand (operands[2], i1)
6059 828 : || !vsib_mem_operator (operands[7], i2)
6060 828 : || !register_operand (operands[5], i1)
6061 1598 : || !scratch_operand (operands[1], i1))
6062 74 : return -1;
6063 762 : x2 = XVECEXP (x1, 0, 1);
6064 762 : x3 = XEXP (x2, 0);
6065 762 : switch (GET_MODE (x3))
6066 : {
6067 0 : case E_SImode:
6068 0 : return pattern1818 (
6069 0 : E_SImode); /* [-1, 1] */
6070 :
6071 762 : case E_DImode:
6072 762 : res = pattern1818 (
6073 : E_DImode);
6074 762 : if (res >= 0)
6075 686 : return res + 2; /* [2, 3] */
6076 : return -1;
6077 :
6078 : default:
6079 : return -1;
6080 : }
6081 : }
6082 :
6083 : int
6084 61823 : pattern1831 (rtx x1, machine_mode i1, machine_mode i2)
6085 : {
6086 61823 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6087 61823 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6088 61823 : rtx x10;
6089 61823 : int res ATTRIBUTE_UNUSED;
6090 61823 : x2 = XVECEXP (x1, 0, 0);
6091 61823 : x3 = XEXP (x2, 1);
6092 61823 : x4 = XEXP (x3, 0);
6093 61823 : x5 = XEXP (x4, 0);
6094 61823 : if (GET_MODE (x5) != i2
6095 61823 : || !nonimmediate_operand (operands[1], i1))
6096 26 : return -1;
6097 61797 : x6 = XEXP (x4, 1);
6098 61797 : if (GET_MODE (x6) != i2
6099 61797 : || !nonimmediate_operand (operands[2], i1))
6100 36 : return -1;
6101 61761 : x7 = XEXP (x3, 1);
6102 61761 : if (GET_MODE (x7) != i2)
6103 : return -1;
6104 61761 : x8 = XEXP (x7, 0);
6105 61761 : if (GET_MODE (x8) != i1
6106 61761 : || !register_operand (operands[0], i1))
6107 0 : return -1;
6108 61761 : x9 = XVECEXP (x1, 0, 1);
6109 61761 : x10 = XEXP (x9, 1);
6110 61761 : if (GET_MODE (x10) != i1
6111 61761 : || !scratch_operand (operands[3], i1))
6112 20 : return -1;
6113 : return 0;
6114 : }
6115 :
6116 : int
6117 246 : pattern1843 (rtx x1, machine_mode i1)
6118 : {
6119 246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6120 246 : int res ATTRIBUTE_UNUSED;
6121 246 : if (!register_operand (operands[5], i1))
6122 : return -1;
6123 110 : switch (GET_MODE (x1))
6124 : {
6125 0 : case E_SImode:
6126 0 : if (!vsib_address_operand (operands[3], E_SImode))
6127 : return -1;
6128 : return 0;
6129 :
6130 110 : case E_DImode:
6131 110 : if (!vsib_address_operand (operands[3], E_DImode))
6132 : return -1;
6133 : return 1;
6134 :
6135 : default:
6136 : return -1;
6137 : }
6138 : }
6139 :
6140 : int
6141 9463 : pattern1851 (rtx x1)
6142 : {
6143 9463 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6144 9463 : rtx x2, x3, x4, x5;
6145 9463 : int res ATTRIBUTE_UNUSED;
6146 9463 : x2 = XEXP (x1, 1);
6147 9463 : if (GET_CODE (x2) != COMPARE)
6148 : return -1;
6149 2580 : x3 = XEXP (x2, 1);
6150 2580 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6151 : return -1;
6152 379 : x4 = XEXP (x1, 0);
6153 379 : if (GET_CODE (x4) != REG
6154 379 : || REGNO (x4) != 17)
6155 : return -1;
6156 379 : x5 = XEXP (x2, 0);
6157 379 : if (!rtx_equal_p (x5, operands[0]))
6158 : return -1;
6159 : return 0;
6160 : }
6161 :
6162 : int
6163 91833 : pattern1857 (rtx x1, machine_mode i1)
6164 : {
6165 91833 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6166 91833 : rtx x2, x3, x4, x5;
6167 91833 : int res ATTRIBUTE_UNUSED;
6168 91833 : if (!register_operand (operands[2], i1)
6169 91833 : || !register_operand (operands[0], i1))
6170 0 : return -1;
6171 91833 : x2 = XVECEXP (x1, 0, 1);
6172 91833 : x3 = XEXP (x2, 1);
6173 91833 : if (GET_MODE (x3) != i1
6174 91833 : || !register_operand (operands[3], i1)
6175 91833 : || !register_operand (operands[5], i1)
6176 177268 : || !register_operand (operands[1], i1))
6177 6398 : return -1;
6178 85435 : x4 = XVECEXP (x1, 0, 2);
6179 85435 : x5 = XEXP (x4, 1);
6180 85435 : if (GET_MODE (x5) != i1
6181 85435 : || !register_operand (operands[4], i1))
6182 1190 : return -1;
6183 : return 0;
6184 : }
6185 :
6186 : int
6187 194 : pattern1865 (machine_mode i1)
6188 : {
6189 194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6190 194 : int res ATTRIBUTE_UNUSED;
6191 194 : if (!vsib_address_operand (operands[2], i1))
6192 : return -1;
6193 186 : switch (GET_MODE (operands[3]))
6194 : {
6195 106 : case E_V8SImode:
6196 106 : if (!register_operand (operands[3], E_V8SImode)
6197 106 : || !register_operand (operands[4], E_V8SImode))
6198 40 : return -1;
6199 : return 0;
6200 :
6201 80 : case E_V4DImode:
6202 80 : if (!register_operand (operands[3], E_V4DImode)
6203 80 : || !register_operand (operands[4], E_V4SImode))
6204 16 : return -1;
6205 : return 1;
6206 :
6207 : default:
6208 : return -1;
6209 : }
6210 : }
6211 :
6212 : int
6213 39337 : pattern1872 (rtx x1, machine_mode i1, machine_mode i2)
6214 : {
6215 39337 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6216 39337 : rtx x2, x3, x4, x5, x6, x7, x8;
6217 39337 : int res ATTRIBUTE_UNUSED;
6218 39337 : if (!nonimmediate_operand (operands[1], i1))
6219 : return -1;
6220 39337 : x2 = XVECEXP (x1, 0, 0);
6221 39337 : x3 = XEXP (x2, 1);
6222 39337 : x4 = XEXP (x3, 1);
6223 39337 : if (GET_MODE (x4) != i2
6224 39337 : || !ix86_carry_flag_operator (operands[4], i2))
6225 0 : return -1;
6226 39337 : x5 = XEXP (x4, 1);
6227 39337 : if (GET_MODE (x5) != i2
6228 39337 : || !nonimmediate_operand (operands[2], i1)
6229 77235 : || !nonimmediate_operand (operands[0], i1))
6230 1439 : return -1;
6231 37898 : x6 = XVECEXP (x1, 0, 1);
6232 37898 : x7 = XEXP (x6, 1);
6233 37898 : if (GET_MODE (x7) != i1)
6234 : return -1;
6235 37898 : x8 = XEXP (x7, 0);
6236 37898 : if (GET_MODE (x8) != i1
6237 37898 : || !ix86_carry_flag_operator (operands[5], i1))
6238 0 : return -1;
6239 : return 0;
6240 : }
6241 :
6242 : int
6243 38 : pattern1882 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
6244 : {
6245 38 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6246 38 : rtx x2, x3, x4;
6247 38 : int res ATTRIBUTE_UNUSED;
6248 38 : if (!register_operand (operands[0], i2)
6249 38 : || GET_MODE (x1) != i2)
6250 : return -1;
6251 36 : x2 = XEXP (x1, 0);
6252 36 : if (GET_MODE (x2) != i1
6253 36 : || !register_operand (operands[2], i2)
6254 36 : || !vsib_mem_operator (operands[7], i3)
6255 36 : || !register_operand (operands[5], i2)
6256 68 : || !scratch_operand (operands[1], i1))
6257 4 : return -1;
6258 32 : x3 = XVECEXP (x2, 0, 1);
6259 32 : x4 = XEXP (x3, 0);
6260 32 : switch (GET_MODE (x4))
6261 : {
6262 0 : case E_SImode:
6263 0 : if (!vsib_address_operand (operands[3], E_SImode))
6264 : return -1;
6265 : return 0;
6266 :
6267 32 : case E_DImode:
6268 32 : if (!vsib_address_operand (operands[3], E_DImode))
6269 : return -1;
6270 : return 1;
6271 :
6272 : default:
6273 : return -1;
6274 : }
6275 : }
6276 :
6277 : int
6278 24 : pattern1891 (rtx x1, machine_mode i1)
6279 : {
6280 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6281 24 : rtx x2, x3, x4, x5, x6, x7, x8;
6282 24 : int res ATTRIBUTE_UNUSED;
6283 24 : if (!x86_64_general_operand (operands[1], i1))
6284 : return -1;
6285 24 : x2 = XVECEXP (x1, 0, 1);
6286 24 : x3 = XEXP (x2, 1);
6287 24 : if (XINT (x3, 1) != 112
6288 24 : || GET_MODE (x3) != i1)
6289 : return -1;
6290 24 : x4 = XVECEXP (x1, 0, 2);
6291 24 : x5 = XEXP (x4, 1);
6292 24 : if (GET_CODE (x5) != COMPARE
6293 24 : || GET_MODE (x5) != E_CCmode
6294 24 : || !memory_operand (operands[2], i1)
6295 48 : || !register_operand (operands[3], i1))
6296 0 : return -1;
6297 24 : x6 = XEXP (x4, 0);
6298 24 : if (GET_MODE (x6) != E_CCmode)
6299 : return -1;
6300 24 : x7 = XEXP (x5, 0);
6301 24 : if (!rtx_equal_p (x7, operands[2]))
6302 : return -1;
6303 24 : x8 = XEXP (x5, 1);
6304 24 : if (!rtx_equal_p (x8, operands[0])
6305 24 : || !register_operand (operands[5], i1)
6306 48 : || !x86_64_general_operand (operands[6], i1))
6307 0 : return -1;
6308 : return 0;
6309 : }
6310 :
6311 : int
6312 22 : pattern1898 (rtx x1, machine_mode i1)
6313 : {
6314 22 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6315 22 : rtx x2, x3, x4, x5, x6, x7;
6316 22 : int res ATTRIBUTE_UNUSED;
6317 22 : if (!register_operand (operands[4], E_SImode)
6318 22 : || GET_MODE (x1) != E_SImode
6319 44 : || !nonmemory_operand (operands[2], E_SImode))
6320 0 : return -1;
6321 22 : x2 = PATTERN (peep2_next_insn (3));
6322 22 : x3 = XEXP (x2, 1);
6323 22 : operands[5] = x3;
6324 22 : if (!register_operand (operands[5], i1))
6325 : return -1;
6326 22 : x4 = PATTERN (peep2_next_insn (4));
6327 22 : x5 = XEXP (x4, 1);
6328 22 : x6 = XEXP (x5, 0);
6329 22 : operands[6] = x6;
6330 22 : x7 = XEXP (x5, 1);
6331 22 : operands[7] = x7;
6332 22 : return 0;
6333 : }
6334 :
6335 : int
6336 321 : pattern1906 (rtx x1, machine_mode i1, machine_mode i2)
6337 : {
6338 321 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6339 321 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6340 321 : rtx x10, x11;
6341 321 : int res ATTRIBUTE_UNUSED;
6342 321 : x2 = XVECEXP (x1, 0, 0);
6343 321 : x3 = XEXP (x2, 1);
6344 321 : x4 = XEXP (x3, 0);
6345 321 : x5 = XEXP (x4, 0);
6346 321 : if (GET_MODE (x5) != i2
6347 321 : || !ix86_carry_flag_operator (operands[4], i2))
6348 0 : return -1;
6349 321 : x6 = XEXP (x5, 1);
6350 321 : if (GET_MODE (x6) != i2
6351 321 : || !nonimmediate_operand (operands[1], i1)
6352 642 : || !const_int_operand (operands[6], i2))
6353 0 : return -1;
6354 321 : x7 = XEXP (x3, 1);
6355 321 : if (GET_MODE (x7) != i2)
6356 : return -1;
6357 321 : x8 = XEXP (x7, 0);
6358 321 : if (GET_MODE (x8) != i1)
6359 : return -1;
6360 321 : x9 = XEXP (x8, 0);
6361 321 : if (GET_MODE (x9) != i1
6362 321 : || !ix86_carry_flag_operator (operands[5], i1))
6363 0 : return -1;
6364 321 : x10 = XVECEXP (x1, 0, 1);
6365 321 : x11 = XEXP (x10, 1);
6366 321 : return pattern1905 (x11,
6367 321 : i1); /* [-1, 0] */
6368 : }
6369 :
6370 : int
6371 1060 : pattern1914 (rtx x1)
6372 : {
6373 1060 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6374 1060 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6375 1060 : int res ATTRIBUTE_UNUSED;
6376 1060 : x2 = XVECEXP (x1, 0, 8);
6377 1060 : if (XWINT (x2, 0) != 12L)
6378 : return -1;
6379 1060 : x3 = XVECEXP (x1, 0, 9);
6380 1060 : if (XWINT (x3, 0) != 44L)
6381 : return -1;
6382 1060 : x4 = XVECEXP (x1, 0, 10);
6383 1060 : if (XWINT (x4, 0) != 13L)
6384 : return -1;
6385 1060 : x5 = XVECEXP (x1, 0, 11);
6386 1060 : if (XWINT (x5, 0) != 45L)
6387 : return -1;
6388 1060 : x6 = XVECEXP (x1, 0, 12);
6389 1060 : if (XWINT (x6, 0) != 14L)
6390 : return -1;
6391 1060 : x7 = XVECEXP (x1, 0, 13);
6392 1060 : if (XWINT (x7, 0) != 46L)
6393 : return -1;
6394 1060 : x8 = XVECEXP (x1, 0, 14);
6395 1060 : if (XWINT (x8, 0) != 15L)
6396 : return -1;
6397 1060 : x9 = XVECEXP (x1, 0, 15);
6398 1060 : if (XWINT (x9, 0) != 47L)
6399 0 : return -1;
6400 : return 0;
6401 : }
6402 :
6403 : int
6404 94578772 : recog_3 (rtx x1 ATTRIBUTE_UNUSED,
6405 : rtx_insn *insn ATTRIBUTE_UNUSED,
6406 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6407 : {
6408 94578772 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6409 94578772 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6410 94578772 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6411 94578772 : int res ATTRIBUTE_UNUSED;
6412 94578772 : x2 = XEXP (x1, 1);
6413 94578772 : x3 = XEXP (x2, 0);
6414 94578772 : switch (GET_CODE (x3))
6415 : {
6416 94577523 : case NE:
6417 94577523 : case EQ:
6418 94577523 : case GE:
6419 94577523 : case GT:
6420 94577523 : case LE:
6421 94577523 : case LT:
6422 94577523 : case LTGT:
6423 94577523 : case GEU:
6424 94577523 : case GTU:
6425 94577523 : case LEU:
6426 94577523 : case LTU:
6427 94577523 : case UNORDERED:
6428 94577523 : case ORDERED:
6429 94577523 : case UNEQ:
6430 94577523 : case UNGE:
6431 94577523 : case UNGT:
6432 94577523 : case UNLE:
6433 94577523 : case UNLT:
6434 94577523 : operands[1] = x3;
6435 94577523 : res = recog_1 (x1, insn, pnum_clobbers);
6436 94577523 : if (res >= 0)
6437 : return res;
6438 15043877 : if (pnum_clobbers == NULL
6439 15043877 : || !bt_comparison_operator (x3, E_VOIDmode))
6440 5756792 : return -1;
6441 9287085 : x4 = XEXP (x3, 1);
6442 9287085 : if (GET_CODE (x4) != CONST_INT)
6443 : return -1;
6444 6976681 : x5 = XEXP (x3, 0);
6445 6976681 : switch (GET_CODE (x5))
6446 : {
6447 4393868 : case REG:
6448 4393868 : case SUBREG:
6449 4393868 : switch (XWINT (x4, 0))
6450 : {
6451 3170041 : case 0L:
6452 3170041 : x6 = XEXP (x2, 1);
6453 3170041 : if (GET_CODE (x6) != PLUS
6454 27013 : || GET_MODE (x6) != E_HImode)
6455 : return -1;
6456 303 : x7 = XEXP (x6, 1);
6457 303 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
6458 : return -1;
6459 18 : x8 = XEXP (x1, 0);
6460 18 : operands[0] = x8;
6461 18 : if (!register_operand (operands[0], E_HImode)
6462 18 : || GET_MODE (x2) != E_HImode)
6463 : return -1;
6464 18 : operands[1] = x3;
6465 18 : operands[2] = x5;
6466 18 : if (!register_operand (operands[2], E_HImode))
6467 : return -1;
6468 14 : x9 = XEXP (x2, 2);
6469 14 : operands[3] = x9;
6470 14 : if (!nonimmediate_operand (operands[3], E_HImode))
6471 : return -1;
6472 4 : x10 = XEXP (x6, 0);
6473 4 : if (!rtx_equal_p (x10, operands[2])
6474 4 : || !
6475 : #line 9059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6476 : (TARGET_CMOVE))
6477 : return -1;
6478 : *pnum_clobbers = 1;
6479 : return 453; /* *dec_cmovhi */
6480 :
6481 : case -1L:
6482 : x6 = XEXP (x2, 1);
6483 : switch (GET_CODE (x6))
6484 : {
6485 : case LABEL_REF:
6486 : x9 = XEXP (x2, 2);
6487 : if (GET_CODE (x9) != PC)
6488 : return -1;
6489 : x8 = XEXP (x1, 0);
6490 : if (GET_CODE (x8) != PC)
6491 : return -1;
6492 : operands[0] = x3;
6493 : operands[1] = x5;
6494 : x10 = XEXP (x6, 0);
6495 : operands[2] = x10;
6496 : switch (GET_MODE (operands[1]))
6497 : {
6498 : case E_QImode:
6499 : if (!register_operand (operands[1], E_QImode)
6500 : || !(
6501 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6502 : (TARGET_AVX512BW) &&
6503 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6504 : (TARGET_AVX512DQ)))
6505 : return -1;
6506 : *pnum_clobbers = 1;
6507 : return 2699; /* *kortest_cmpqi_jcc */
6508 :
6509 : case E_HImode:
6510 : if (!register_operand (operands[1], E_HImode)
6511 : || !
6512 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6513 : (TARGET_AVX512BW))
6514 : return -1;
6515 : *pnum_clobbers = 1;
6516 : return 2700; /* *kortest_cmphi_jcc */
6517 :
6518 : case E_SImode:
6519 : if (!register_operand (operands[1], E_SImode)
6520 : || !
6521 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6522 : (TARGET_AVX512BW))
6523 : return -1;
6524 : *pnum_clobbers = 1;
6525 : return 2701; /* *kortest_cmpsi_jcc */
6526 :
6527 : case E_DImode:
6528 : if (!register_operand (operands[1], E_DImode)
6529 : || !(
6530 : #line 2455 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6531 : (TARGET_AVX512BW) &&
6532 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6533 : (TARGET_AVX512BW && TARGET_64BIT)))
6534 : return -1;
6535 : *pnum_clobbers = 1;
6536 : return 2702; /* *kortest_cmpdi_jcc */
6537 :
6538 : default:
6539 : return -1;
6540 : }
6541 :
6542 : case REG:
6543 : case SUBREG:
6544 : case MEM:
6545 : operands[2] = x6;
6546 : x8 = XEXP (x1, 0);
6547 : operands[0] = x8;
6548 : operands[1] = x3;
6549 : operands[4] = x5;
6550 : x9 = XEXP (x2, 2);
6551 : operands[3] = x9;
6552 : switch (GET_MODE (operands[0]))
6553 : {
6554 : case E_QImode:
6555 : if (!register_operand (operands[0], E_QImode)
6556 : || GET_MODE (x2) != E_QImode
6557 : || !register_operand (operands[2], E_QImode)
6558 : || !register_operand (operands[3], E_QImode))
6559 : return -1;
6560 : switch (pattern1459 ())
6561 : {
6562 : case 0:
6563 : if (!(
6564 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6565 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6566 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6567 : (TARGET_AVX512DQ)))
6568 : return -1;
6569 : *pnum_clobbers = 1;
6570 : return 2703; /* *kortest_cmpqi_movqicc */
6571 :
6572 : case 1:
6573 : if (!
6574 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6575 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL))
6576 : return -1;
6577 : *pnum_clobbers = 1;
6578 : return 2704; /* *kortest_cmphi_movqicc */
6579 :
6580 : case 2:
6581 : if (!(
6582 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6583 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6584 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6585 : (TARGET_AVX512BW)))
6586 : return -1;
6587 : *pnum_clobbers = 1;
6588 : return 2705; /* *kortest_cmpsi_movqicc */
6589 :
6590 : case 3:
6591 : if (!(
6592 : #line 2491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6593 : (TARGET_AVX512BW && TARGET_CMOVE && !TARGET_PARTIAL_REG_STALL) &&
6594 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6595 : (TARGET_AVX512BW && TARGET_64BIT)))
6596 : return -1;
6597 : *pnum_clobbers = 1;
6598 : return 2706; /* *kortest_cmpdi_movqicc */
6599 :
6600 : default:
6601 : return -1;
6602 : }
6603 :
6604 : case E_HImode:
6605 : switch (pattern1460 (x2,
6606 : E_HImode))
6607 : {
6608 : case 0:
6609 : if (!(
6610 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6611 : (TARGET_AVX512BW && TARGET_CMOVE
6612 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6613 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6614 : (TARGET_AVX512DQ)))
6615 : return -1;
6616 : *pnum_clobbers = 1;
6617 : return 2707; /* *kortest_cmpqi_movhicc */
6618 :
6619 : case 1:
6620 : if (!
6621 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6622 : (TARGET_AVX512BW && TARGET_CMOVE
6623 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
6624 : return -1;
6625 : *pnum_clobbers = 1;
6626 : return 2710; /* *kortest_cmphi_movhicc */
6627 :
6628 : case 2:
6629 : if (!(
6630 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6631 : (TARGET_AVX512BW && TARGET_CMOVE
6632 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6633 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6634 : (TARGET_AVX512BW)))
6635 : return -1;
6636 : *pnum_clobbers = 1;
6637 : return 2713; /* *kortest_cmpsi_movhicc */
6638 :
6639 : case 3:
6640 : if (!(
6641 : #line 2534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6642 : (TARGET_AVX512BW && TARGET_CMOVE
6643 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
6644 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6645 : (TARGET_AVX512BW && TARGET_64BIT)))
6646 : return -1;
6647 : *pnum_clobbers = 1;
6648 : return 2716; /* *kortest_cmpdi_movhicc */
6649 :
6650 : default:
6651 : return -1;
6652 : }
6653 :
6654 : default:
6655 : return -1;
6656 : }
6657 :
6658 : default:
6659 : return -1;
6660 : }
6661 :
6662 : default:
6663 : return -1;
6664 : }
6665 :
6666 : case ZERO_EXTRACT:
6667 : x11 = XEXP (x5, 1);
6668 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
6669 : || XWINT (x4, 0) != 0L)
6670 : return -1;
6671 : x12 = XEXP (x5, 0);
6672 : operands[1] = x12;
6673 : x13 = XEXP (x5, 2);
6674 : switch (GET_CODE (x13))
6675 : {
6676 : case CONST_INT:
6677 : case CONST_WIDE_INT:
6678 : case CONST_POLY_INT:
6679 : case CONST_FIXED:
6680 : case CONST_DOUBLE:
6681 : case CONST_VECTOR:
6682 : case CONST:
6683 : case REG:
6684 : case SUBREG:
6685 : case LABEL_REF:
6686 : case SYMBOL_REF:
6687 : case HIGH:
6688 : operands[2] = x13;
6689 : res = recog_2 (x1, insn, pnum_clobbers);
6690 : if (res >= 0)
6691 : return res;
6692 : if (GET_CODE (x13) != SUBREG
6693 : || maybe_ne (SUBREG_BYTE (x13), 0)
6694 : || GET_MODE (x13) != E_QImode)
6695 : return -1;
6696 : x14 = XEXP (x13, 0);
6697 : if (GET_CODE (x14) != AND)
6698 : return -1;
6699 : x6 = XEXP (x2, 1);
6700 : if (GET_CODE (x6) != LABEL_REF)
6701 : return -1;
6702 : x9 = XEXP (x2, 2);
6703 : if (GET_CODE (x9) != PC)
6704 : return -1;
6705 : x8 = XEXP (x1, 0);
6706 : if (GET_CODE (x8) != PC)
6707 : return -1;
6708 : operands[0] = x3;
6709 : x15 = XEXP (x14, 0);
6710 : operands[2] = x15;
6711 : if (!int248_register_operand (operands[2], E_VOIDmode))
6712 : return -1;
6713 : x16 = XEXP (x14, 1);
6714 : operands[3] = x16;
6715 : if (!const_int_operand (operands[3], E_VOIDmode))
6716 : return -1;
6717 : x10 = XEXP (x6, 0);
6718 : operands[4] = x10;
6719 : switch (GET_MODE (x5))
6720 : {
6721 : case E_SImode:
6722 : if (!nonimmediate_operand (operands[1], E_SImode)
6723 : || !
6724 : #line 20228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6725 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6726 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
6727 : == GET_MODE_BITSIZE (SImode)-1
6728 : && ix86_pre_reload_split ()))
6729 : return -1;
6730 : *pnum_clobbers = 1;
6731 : return 1456; /* *jcc_btsi_mask_1 */
6732 :
6733 : case E_DImode:
6734 : if (!nonimmediate_operand (operands[1], E_DImode)
6735 : || !(
6736 : #line 20228 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6737 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6738 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
6739 : == GET_MODE_BITSIZE (DImode)-1
6740 : && ix86_pre_reload_split ()) &&
6741 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6742 : (TARGET_64BIT)))
6743 : return -1;
6744 : *pnum_clobbers = 1;
6745 : return 1457; /* *jcc_btdi_mask_1 */
6746 :
6747 : default:
6748 : return -1;
6749 : }
6750 :
6751 : case AND:
6752 : if (GET_MODE (x13) != E_QImode)
6753 : return -1;
6754 : x6 = XEXP (x2, 1);
6755 : if (GET_CODE (x6) != LABEL_REF)
6756 : return -1;
6757 : x9 = XEXP (x2, 2);
6758 : if (GET_CODE (x9) != PC)
6759 : return -1;
6760 : x8 = XEXP (x1, 0);
6761 : if (GET_CODE (x8) != PC)
6762 : return -1;
6763 : operands[0] = x3;
6764 : x14 = XEXP (x13, 0);
6765 : operands[2] = x14;
6766 : if (!register_operand (operands[2], E_QImode))
6767 : return -1;
6768 : x17 = XEXP (x13, 1);
6769 : operands[3] = x17;
6770 : if (!const_int_operand (operands[3], E_VOIDmode))
6771 : return -1;
6772 : x10 = XEXP (x6, 0);
6773 : operands[4] = x10;
6774 : switch (GET_MODE (x5))
6775 : {
6776 : case E_SImode:
6777 : if (!nonimmediate_operand (operands[1], E_SImode)
6778 : || !
6779 : #line 20191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6780 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6781 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
6782 : == GET_MODE_BITSIZE (SImode)-1
6783 : && ix86_pre_reload_split ()))
6784 : return -1;
6785 : *pnum_clobbers = 1;
6786 : return 1454; /* *jcc_btsi_mask */
6787 :
6788 : case E_DImode:
6789 : if (!nonimmediate_operand (operands[1], E_DImode)
6790 : || !(
6791 : #line 20191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6792 : ((TARGET_USE_BT || optimize_function_for_size_p (cfun))
6793 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
6794 : == GET_MODE_BITSIZE (DImode)-1
6795 : && ix86_pre_reload_split ()) &&
6796 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6797 : (TARGET_64BIT)))
6798 : return -1;
6799 : *pnum_clobbers = 1;
6800 : return 1455; /* *jcc_btdi_mask */
6801 :
6802 : default:
6803 : return -1;
6804 : }
6805 :
6806 : default:
6807 : return -1;
6808 : }
6809 :
6810 : default:
6811 : return -1;
6812 : }
6813 :
6814 : case REG:
6815 : case SUBREG:
6816 : x8 = XEXP (x1, 0);
6817 : operands[0] = x8;
6818 : switch (GET_MODE (operands[0]))
6819 : {
6820 : case E_SFmode:
6821 : if (pattern253 (x2,
6822 : E_SFmode) != 0
6823 : || !
6824 : #line 27862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6825 : (TARGET_XOP))
6826 : return -1;
6827 : return 1845; /* *xop_pcmov_sf */
6828 :
6829 : case E_DFmode:
6830 : if (pattern253 (x2,
6831 : E_DFmode) != 0
6832 : || !
6833 : #line 27862 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6834 : (TARGET_XOP))
6835 : return -1;
6836 : return 1846; /* *xop_pcmov_df */
6837 :
6838 : case E_V8QImode:
6839 : if (pattern254 (x2,
6840 : E_V8QImode) != 0
6841 : || !
6842 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6843 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6844 : return -1;
6845 : return 2306; /* *xop_pcmov_v8qi */
6846 :
6847 : case E_V4HImode:
6848 : if (pattern254 (x2,
6849 : E_V4HImode) != 0
6850 : || !
6851 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6852 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6853 : return -1;
6854 : return 2307; /* *xop_pcmov_v4hi */
6855 :
6856 : case E_V2SImode:
6857 : if (pattern254 (x2,
6858 : E_V2SImode) != 0
6859 : || !
6860 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6861 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6862 : return -1;
6863 : return 2308; /* *xop_pcmov_v2si */
6864 :
6865 : case E_V2SFmode:
6866 : if (pattern254 (x2,
6867 : E_V2SFmode) != 0
6868 : || !
6869 : #line 4500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6870 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6871 : return -1;
6872 : return 2309; /* *xop_pcmov_v2sf */
6873 :
6874 : case E_V4HFmode:
6875 : if (pattern254 (x2,
6876 : E_V4HFmode) != 0
6877 : || !
6878 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6879 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6880 : return -1;
6881 : return 2310; /* *xop_pcmov_v4hf */
6882 :
6883 : case E_V4BFmode:
6884 : if (pattern254 (x2,
6885 : E_V4BFmode) != 0
6886 : || !
6887 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6888 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
6889 : return -1;
6890 : return 2311; /* *xop_pcmov_v4bf */
6891 :
6892 : case E_V4QImode:
6893 : if (pattern254 (x2,
6894 : E_V4QImode) != 0
6895 : || !
6896 : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6897 : (TARGET_XOP))
6898 : return -1;
6899 : return 2312; /* *xop_pcmov_v4qi */
6900 :
6901 : case E_V2QImode:
6902 : if (pattern254 (x2,
6903 : E_V2QImode) != 0
6904 : || !
6905 : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6906 : (TARGET_XOP))
6907 : return -1;
6908 : return 2313; /* *xop_pcmov_v2qi */
6909 :
6910 : case E_V2HImode:
6911 : if (pattern254 (x2,
6912 : E_V2HImode) != 0
6913 : || !
6914 : #line 4522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6915 : (TARGET_XOP))
6916 : return -1;
6917 : return 2314; /* *xop_pcmov_v2hi */
6918 :
6919 : case E_V2HFmode:
6920 : if (pattern254 (x2,
6921 : E_V2HFmode) != 0
6922 : || !
6923 : #line 4533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6924 : (TARGET_XOP))
6925 : return -1;
6926 : return 2315; /* *xop_pcmov_v2hf */
6927 :
6928 : case E_V2BFmode:
6929 : if (pattern254 (x2,
6930 : E_V2BFmode) != 0
6931 : || !
6932 : #line 4533 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
6933 : (TARGET_XOP))
6934 : return -1;
6935 : return 2316; /* *xop_pcmov_v2bf */
6936 :
6937 : default:
6938 : return -1;
6939 : }
6940 :
6941 : case AND:
6942 : if (GET_MODE (x3) != E_QImode)
6943 : return -1;
6944 : x4 = XEXP (x3, 1);
6945 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6946 : return -1;
6947 : x6 = XEXP (x2, 1);
6948 : if (pattern255 (x6) != 0)
6949 : return -1;
6950 : x8 = XEXP (x1, 0);
6951 : operands[0] = x8;
6952 : x5 = XEXP (x3, 0);
6953 : operands[2] = x5;
6954 : if (!register_operand (operands[2], E_QImode))
6955 : return -1;
6956 : x10 = XEXP (x6, 0);
6957 : operands[1] = x10;
6958 : x9 = XEXP (x2, 2);
6959 : if (!rtx_equal_p (x9, operands[0]))
6960 : return -1;
6961 : switch (GET_MODE (operands[0]))
6962 : {
6963 : case E_HFmode:
6964 : if (pattern1461 (x2,
6965 : E_V8HFmode,
6966 : E_HFmode) != 0
6967 : || !(
6968 : #line 1760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6969 : (TARGET_AVX512F) &&
6970 : #line 1386 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6971 : (TARGET_AVX512FP16)))
6972 : return -1;
6973 : return 2563; /* avx512f_storehf_mask */
6974 :
6975 : case E_SFmode:
6976 : if (pattern1461 (x2,
6977 : E_V4SFmode,
6978 : E_SFmode) != 0
6979 : || !
6980 : #line 1760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6981 : (TARGET_AVX512F))
6982 : return -1;
6983 : return 2564; /* avx512f_storesf_mask */
6984 :
6985 : case E_DFmode:
6986 : if (pattern1461 (x2,
6987 : E_V2DFmode,
6988 : E_DFmode) != 0
6989 : || !
6990 : #line 1760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6991 : (TARGET_AVX512F))
6992 : return -1;
6993 : return 2565; /* avx512f_storedf_mask */
6994 :
6995 : default:
6996 : return -1;
6997 : }
6998 :
6999 : default:
7000 : return -1;
7001 : }
7002 : }
7003 :
7004 : int
7005 : recog_25 (rtx x1 ATTRIBUTE_UNUSED,
7006 : rtx_insn *insn ATTRIBUTE_UNUSED,
7007 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7008 : {
7009 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7010 : rtx x2, x3, x4, x5, x6, x7;
7011 : int res ATTRIBUTE_UNUSED;
7012 : x2 = XEXP (x1, 1);
7013 : x3 = XEXP (x2, 0);
7014 : switch (GET_CODE (x3))
7015 : {
7016 : case REG:
7017 : case SUBREG:
7018 : case MEM:
7019 : switch (pattern38 (x1, pnum_clobbers))
7020 : {
7021 : case 0:
7022 : if (pnum_clobbers != NULL
7023 : && pattern294 (x1,
7024 : E_TImode) == 0
7025 : && (
7026 : #line 17523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7027 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7028 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7029 : == (2 * 8 * BITS_PER_UNIT - 1)))
7030 : && ix86_pre_reload_split ()) &&
7031 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7032 : (TARGET_64BIT)))
7033 : {
7034 : *pnum_clobbers = 1;
7035 : return 1157; /* *ashrti3_doubleword_mask */
7036 : }
7037 : x4 = XEXP (x2, 1);
7038 : operands[2] = x4;
7039 : switch (pattern428 (x1, pnum_clobbers))
7040 : {
7041 : case 0:
7042 : switch (GET_MODE (operands[0]))
7043 : {
7044 : case E_TImode:
7045 : if (pnum_clobbers == NULL
7046 : || pattern861 (x2,
7047 : E_TImode,
7048 : E_QImode) != 0
7049 : || !
7050 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7051 : (TARGET_64BIT))
7052 : return -1;
7053 : *pnum_clobbers = 1;
7054 : return 1165; /* ashrti3_doubleword */
7055 :
7056 : case E_QImode:
7057 : if (pattern637 (x2,
7058 : E_QImode) != 0)
7059 : return -1;
7060 : if (
7061 : #line 18502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7062 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7063 : && TARGET_APX_NF))
7064 : return 1240; /* *ashrqi3_1_nf */
7065 : if (pnum_clobbers == NULL
7066 : || !
7067 : #line 18502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7068 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7069 : && true))
7070 : return -1;
7071 : *pnum_clobbers = 1;
7072 : return 1241; /* *ashrqi3_1 */
7073 :
7074 : case E_HImode:
7075 : if (pattern637 (x2,
7076 : E_HImode) != 0)
7077 : return -1;
7078 : if (
7079 : #line 18502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7080 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7081 : && TARGET_APX_NF))
7082 : return 1242; /* *ashrhi3_1_nf */
7083 : if (pnum_clobbers == NULL
7084 : || !
7085 : #line 18502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7086 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7087 : && true))
7088 : return -1;
7089 : *pnum_clobbers = 1;
7090 : return 1243; /* *ashrhi3_1 */
7091 :
7092 : case E_V4HImode:
7093 : if (pattern861 (x2,
7094 : E_V4HImode,
7095 : E_DImode) != 0
7096 : || !
7097 : #line 3886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7098 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7099 : return -1;
7100 : return 2252; /* mmx_ashrv4hi3 */
7101 :
7102 : case E_V2SImode:
7103 : if (pattern861 (x2,
7104 : E_V2SImode,
7105 : E_DImode) != 0
7106 : || !
7107 : #line 3886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7108 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7109 : return -1;
7110 : return 2253; /* mmx_ashrv2si3 */
7111 :
7112 : case E_V2HImode:
7113 : if (pattern861 (x2,
7114 : E_V2HImode,
7115 : E_DImode) != 0
7116 : || !
7117 : #line 3977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7118 : (TARGET_SSE2))
7119 : return -1;
7120 : return 2266; /* ashrv2hi3 */
7121 :
7122 : case E_V2QImode:
7123 : if (pnum_clobbers == NULL
7124 : || pattern861 (x2,
7125 : E_V2QImode,
7126 : E_QImode) != 0
7127 : || !
7128 : #line 4039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7129 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7130 : return -1;
7131 : *pnum_clobbers = 1;
7132 : return 2270; /* ashrv2qi3 */
7133 :
7134 : default:
7135 : return -1;
7136 : }
7137 :
7138 : case 1:
7139 : if (!
7140 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7141 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7142 : return -1;
7143 : *pnum_clobbers = 1;
7144 : return 1249; /* *ashrqi3_1_slp */
7145 :
7146 : case 2:
7147 : if (!
7148 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7149 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7150 : return -1;
7151 : *pnum_clobbers = 1;
7152 : return 1251; /* *ashrhi3_1_slp */
7153 :
7154 : default:
7155 : return -1;
7156 : }
7157 :
7158 : case 1:
7159 : if (!(
7160 : #line 17584 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7161 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7162 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7163 : == (2 * 8 * BITS_PER_UNIT - 1)))
7164 : && ix86_pre_reload_split ()) &&
7165 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7166 : (TARGET_64BIT)))
7167 : return -1;
7168 : *pnum_clobbers = 1;
7169 : return 1161; /* *ashrti3_doubleword_mask_1 */
7170 :
7171 : default:
7172 : return -1;
7173 : }
7174 :
7175 : case ASHIFT:
7176 : x5 = XEXP (x1, 0);
7177 : operands[0] = x5;
7178 : x6 = XEXP (x3, 0);
7179 : operands[1] = x6;
7180 : x7 = XEXP (x3, 1);
7181 : operands[2] = x7;
7182 : if (!const_int_operand (operands[2], E_QImode))
7183 : return -1;
7184 : x4 = XEXP (x2, 1);
7185 : operands[3] = x4;
7186 : if (!const_int_operand (operands[3], E_QImode))
7187 : return -1;
7188 : switch (GET_MODE (operands[0]))
7189 : {
7190 : case E_TImode:
7191 : if (pnum_clobbers == NULL
7192 : || pattern764 (x2,
7193 : E_TImode) != 0
7194 : || !(
7195 : #line 18929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7196 : (INTVAL (operands[2]) == INTVAL (operands[3])
7197 : && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
7198 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7199 : (TARGET_64BIT)))
7200 : return -1;
7201 : *pnum_clobbers = 1;
7202 : return 1313; /* *extendti2_doubleword_highpart */
7203 :
7204 : case E_V2DImode:
7205 : if (pattern764 (x2,
7206 : E_V2DImode) != 0)
7207 : return -1;
7208 : if (
7209 : #line 18947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7210 : (!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL
7211 : && INTVAL (operands[2]) == INTVAL (operands[3])
7212 : && UINTVAL (operands[2]) < 32))
7213 : return 1314; /* *extendv2di2_highpart_stv */
7214 : if (!
7215 : #line 18964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7216 : (!TARGET_AVX512VL
7217 : && INTVAL (operands[2]) == INTVAL (operands[3])
7218 : && UINTVAL (operands[2]) < 32
7219 : && ix86_pre_reload_split ()))
7220 : return -1;
7221 : return 1315; /* *extendv2di2_highpart_stv_noavx512vl */
7222 :
7223 : default:
7224 : return -1;
7225 : }
7226 :
7227 : default:
7228 : return -1;
7229 : }
7230 : }
7231 :
7232 : int
7233 : recog_31 (rtx x1 ATTRIBUTE_UNUSED,
7234 : rtx_insn *insn ATTRIBUTE_UNUSED,
7235 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7236 : {
7237 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7238 : rtx x2, x3, x4, x5, x6, x7;
7239 : int res ATTRIBUTE_UNUSED;
7240 : x2 = XEXP (x1, 0);
7241 : operands[0] = x2;
7242 : x3 = XEXP (x1, 1);
7243 : x4 = XEXP (x3, 0);
7244 : switch (GET_CODE (x4))
7245 : {
7246 : case REG:
7247 : case SUBREG:
7248 : case MEM:
7249 : operands[1] = x4;
7250 : switch (GET_MODE (operands[0]))
7251 : {
7252 : case E_DImode:
7253 : if (GET_MODE (x3) == E_DImode)
7254 : {
7255 : if (register_operand (operands[0], E_DImode))
7256 : {
7257 : switch (GET_MODE (operands[1]))
7258 : {
7259 : case E_SImode:
7260 : if (nonimmediate_operand (operands[1], E_SImode)
7261 : &&
7262 : #line 5080 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7263 : (TARGET_64BIT))
7264 : return 188; /* *extendsidi2_rex64 */
7265 : break;
7266 :
7267 : case E_QImode:
7268 : if (nonimmediate_operand (operands[1], E_QImode)
7269 : &&
7270 : #line 5239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7271 : (TARGET_64BIT))
7272 : return 191; /* extendqidi2 */
7273 : break;
7274 :
7275 : case E_HImode:
7276 : if (nonimmediate_operand (operands[1], E_HImode)
7277 : &&
7278 : #line 5239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7279 : (TARGET_64BIT))
7280 : return 192; /* extendhidi2 */
7281 : break;
7282 :
7283 : default:
7284 : break;
7285 : }
7286 : }
7287 : if (pnum_clobbers != NULL
7288 : && nonimmediate_operand (operands[0], E_DImode)
7289 : && register_operand (operands[1], E_SImode)
7290 : &&
7291 : #line 5094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7292 : (!TARGET_64BIT))
7293 : {
7294 : *pnum_clobbers = 2;
7295 : return 189; /* extendsidi2_1 */
7296 : }
7297 : }
7298 : break;
7299 :
7300 : case E_TImode:
7301 : if (pattern263 (x3, pnum_clobbers,
7302 : E_DImode,
7303 : E_TImode) == 0
7304 : &&
7305 : #line 5102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7306 : (TARGET_64BIT))
7307 : {
7308 : *pnum_clobbers = 2;
7309 : return 190; /* extendditi2 */
7310 : }
7311 : break;
7312 :
7313 : case E_SImode:
7314 : if (register_operand (operands[0], E_SImode)
7315 : && GET_MODE (x3) == E_SImode)
7316 : {
7317 : switch (GET_MODE (operands[1]))
7318 : {
7319 : case E_HImode:
7320 : if (nonimmediate_operand (operands[1], E_HImode))
7321 : return 193; /* extendhisi2 */
7322 : break;
7323 :
7324 : case E_QImode:
7325 : if (nonimmediate_operand (operands[1], E_QImode))
7326 : return 195; /* extendqisi2 */
7327 : break;
7328 :
7329 : default:
7330 : break;
7331 : }
7332 : }
7333 : break;
7334 :
7335 : case E_HImode:
7336 : if (register_operand (operands[0], E_HImode)
7337 : && GET_MODE (x3) == E_HImode
7338 : && nonimmediate_operand (operands[1], E_QImode))
7339 : return 197; /* extendqihi2 */
7340 : break;
7341 :
7342 : default:
7343 : break;
7344 : }
7345 : if (GET_CODE (x4) != SUBREG
7346 : || maybe_ne (SUBREG_BYTE (x4), 0)
7347 : || GET_MODE (x4) != E_QImode)
7348 : return -1;
7349 : x5 = XEXP (x4, 0);
7350 : switch (GET_CODE (x5))
7351 : {
7352 : case ASHIFTRT:
7353 : case LSHIFTRT:
7354 : case SIGN_EXTRACT:
7355 : case ZERO_EXTRACT:
7356 : operands[2] = x5;
7357 : x6 = XEXP (x5, 0);
7358 : operands[1] = x6;
7359 : if (!int248_register_operand (operands[1], E_VOIDmode))
7360 : return -1;
7361 : switch (GET_MODE (operands[0]))
7362 : {
7363 : case E_HImode:
7364 : switch (pattern1215 (x3,
7365 : E_HImode))
7366 : {
7367 : case 0:
7368 : return 198; /* *extendqihi_ext_1 */
7369 :
7370 : case 1:
7371 : return 199; /* *extendqihi_ext_1 */
7372 :
7373 : case 2:
7374 : if (!
7375 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7376 : (TARGET_64BIT))
7377 : return -1;
7378 : return 200; /* *extendqihi_ext_1 */
7379 :
7380 : default:
7381 : return -1;
7382 : }
7383 :
7384 : case E_SImode:
7385 : switch (pattern1215 (x3,
7386 : E_SImode))
7387 : {
7388 : case 0:
7389 : return 201; /* *extendqisi_ext_1 */
7390 :
7391 : case 1:
7392 : return 202; /* *extendqisi_ext_1 */
7393 :
7394 : case 2:
7395 : if (!
7396 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7397 : (TARGET_64BIT))
7398 : return -1;
7399 : return 203; /* *extendqisi_ext_1 */
7400 :
7401 : default:
7402 : return -1;
7403 : }
7404 :
7405 : default:
7406 : return -1;
7407 : }
7408 :
7409 : default:
7410 : return -1;
7411 : }
7412 :
7413 : case SS_TRUNCATE:
7414 : if (GET_MODE (x4) != E_V2HImode)
7415 : return -1;
7416 : x5 = XEXP (x4, 0);
7417 : if (GET_CODE (x5) != FIX
7418 : || GET_MODE (x5) != E_V2SImode
7419 : || !register_operand (operands[0], E_V2SImode)
7420 : || GET_MODE (x3) != E_V2SImode)
7421 : return -1;
7422 : x6 = XEXP (x5, 0);
7423 : operands[1] = x6;
7424 : if (!nonimmediate_operand (operands[1], E_V2SFmode)
7425 : || !
7426 : #line 1638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7427 : (TARGET_3DNOW_A))
7428 : return -1;
7429 : return 2136; /* mmx_pf2iw */
7430 :
7431 : case VEC_SELECT:
7432 : x7 = XEXP (x4, 1);
7433 : if (GET_CODE (x7) != PARALLEL)
7434 : return -1;
7435 : x5 = XEXP (x4, 0);
7436 : operands[1] = x5;
7437 : switch (XVECLEN (x7, 0))
7438 : {
7439 : case 4:
7440 : if (pattern621 (x3) != 0
7441 : || !
7442 : #line 5045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7443 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7444 : return -1;
7445 : return 2358; /* sse4_1_sign_extendv4qiv4hi2 */
7446 :
7447 : case 2:
7448 : switch (pattern622 (x3))
7449 : {
7450 : case 0:
7451 : if (!
7452 : #line 5078 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7453 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7454 : return -1;
7455 : return 2360; /* sse4_1_sign_extendv2hiv2si2 */
7456 :
7457 : case 1:
7458 : if (!
7459 : #line 5111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7460 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7461 : return -1;
7462 : return 2362; /* sse4_1_sign_extendv2qiv2si2 */
7463 :
7464 : case 2:
7465 : if (!
7466 : #line 5138 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7467 : (TARGET_SSE4_1))
7468 : return -1;
7469 : return 2364; /* sse4_1_sign_extendv2qiv2hi2 */
7470 :
7471 : default:
7472 : return -1;
7473 : }
7474 :
7475 : default:
7476 : return -1;
7477 : }
7478 :
7479 : default:
7480 : return -1;
7481 : }
7482 : }
7483 :
7484 : int
7485 : recog_36 (rtx x1 ATTRIBUTE_UNUSED,
7486 : rtx_insn *insn ATTRIBUTE_UNUSED,
7487 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7488 : {
7489 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7490 : rtx x2, x3, x4, x5, x6;
7491 : int res ATTRIBUTE_UNUSED;
7492 : x2 = XEXP (x1, 0);
7493 : operands[0] = x2;
7494 : x3 = XEXP (x1, 1);
7495 : x4 = XEXP (x3, 0);
7496 : switch (GET_CODE (x4))
7497 : {
7498 : case REG:
7499 : case SUBREG:
7500 : case MEM:
7501 : operands[1] = x4;
7502 : switch (GET_MODE (operands[0]))
7503 : {
7504 : case E_SFmode:
7505 : switch (pattern431 (x3,
7506 : E_SFmode))
7507 : {
7508 : case 0:
7509 : if (!
7510 : #line 6173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7511 : (TARGET_80387
7512 : && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
7513 : || TARGET_MIX_SSE_I387)))
7514 : return -1;
7515 : return 243; /* floathisf2 */
7516 :
7517 : case 1:
7518 : if (!
7519 : #line 6205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7520 : ((TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode))
7521 : || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
7522 : return -1;
7523 : return 248; /* *floatsisf2 */
7524 :
7525 : case 2:
7526 : if ((
7527 : #line 6205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7528 : ((TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode))
7529 : || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)) &&
7530 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7531 : (TARGET_64BIT)))
7532 : return 249; /* *floatdisf2 */
7533 : if (!
7534 : #line 6259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7535 : (!TARGET_64BIT
7536 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)))
7537 : return -1;
7538 : return 256; /* *floatdisf2_i387 */
7539 :
7540 : default:
7541 : return -1;
7542 : }
7543 :
7544 : case E_DFmode:
7545 : switch (pattern431 (x3,
7546 : E_DFmode))
7547 : {
7548 : case 0:
7549 : if (!
7550 : #line 6173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7551 : (TARGET_80387
7552 : && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
7553 : || TARGET_MIX_SSE_I387)))
7554 : return -1;
7555 : return 244; /* floathidf2 */
7556 :
7557 : case 1:
7558 : if (!
7559 : #line 6205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7560 : ((TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode))
7561 : || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
7562 : return -1;
7563 : return 250; /* *floatsidf2 */
7564 :
7565 : case 2:
7566 : if ((
7567 : #line 6205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7568 : ((TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode))
7569 : || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)) &&
7570 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7571 : (TARGET_64BIT)))
7572 : return 251; /* *floatdidf2 */
7573 : if (!
7574 : #line 6259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7575 : (!TARGET_64BIT
7576 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)))
7577 : return -1;
7578 : return 257; /* *floatdidf2_i387 */
7579 :
7580 : default:
7581 : return -1;
7582 : }
7583 :
7584 : case E_XFmode:
7585 : switch (pattern431 (x3,
7586 : E_XFmode))
7587 : {
7588 : case 0:
7589 : if (!
7590 : #line 6173 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7591 : (TARGET_80387
7592 : && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
7593 : || TARGET_MIX_SSE_I387)))
7594 : return -1;
7595 : return 245; /* floathixf2 */
7596 :
7597 : case 1:
7598 : if (!
7599 : #line 6186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7600 : (TARGET_80387))
7601 : return -1;
7602 : return 246; /* floatsixf2 */
7603 :
7604 : case 2:
7605 : if (!
7606 : #line 6186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7607 : (TARGET_80387))
7608 : return -1;
7609 : return 247; /* floatdixf2 */
7610 :
7611 : default:
7612 : return -1;
7613 : }
7614 :
7615 : case E_HFmode:
7616 : switch (pattern266 (x3,
7617 : E_HFmode))
7618 : {
7619 : case 0:
7620 : if (!
7621 : #line 6250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7622 : (TARGET_AVX512FP16))
7623 : return -1;
7624 : return 252; /* floatsihf2 */
7625 :
7626 : case 1:
7627 : if (!(
7628 : #line 6250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7629 : (TARGET_AVX512FP16) &&
7630 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7631 : (TARGET_64BIT)))
7632 : return -1;
7633 : return 254; /* floatdihf2 */
7634 :
7635 : default:
7636 : return -1;
7637 : }
7638 :
7639 : default:
7640 : return -1;
7641 : }
7642 :
7643 : case SIGN_EXTEND:
7644 : if (GET_MODE (x4) != E_V2SImode)
7645 : return -1;
7646 : x5 = XEXP (x4, 0);
7647 : if (GET_CODE (x5) != TRUNCATE
7648 : || GET_MODE (x5) != E_V2HImode
7649 : || !register_operand (operands[0], E_V2SFmode)
7650 : || GET_MODE (x3) != E_V2SFmode)
7651 : return -1;
7652 : x6 = XEXP (x5, 0);
7653 : operands[1] = x6;
7654 : if (!nonimmediate_operand (operands[1], E_V2SImode)
7655 : || !
7656 : #line 1650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7657 : (TARGET_3DNOW_A))
7658 : return -1;
7659 : return 2137; /* mmx_pi2fw */
7660 :
7661 : default:
7662 : return -1;
7663 : }
7664 : }
7665 :
7666 : int
7667 : recog_44 (rtx x1 ATTRIBUTE_UNUSED,
7668 : rtx_insn *insn ATTRIBUTE_UNUSED,
7669 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7670 : {
7671 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7672 : rtx x2, x3, x4, x5, x6;
7673 : int res ATTRIBUTE_UNUSED;
7674 : x2 = XEXP (x1, 1);
7675 : x3 = XEXP (x2, 0);
7676 : switch (GET_CODE (x3))
7677 : {
7678 : case REG:
7679 : case SUBREG:
7680 : case MEM:
7681 : operands[1] = x3;
7682 : x4 = XEXP (x1, 0);
7683 : switch (GET_CODE (x4))
7684 : {
7685 : case REG:
7686 : case SUBREG:
7687 : case MEM:
7688 : operands[0] = x4;
7689 : switch (GET_MODE (operands[0]))
7690 : {
7691 : case E_TImode:
7692 : if (pnum_clobbers == NULL
7693 : || !nonimmediate_operand (operands[0], E_TImode)
7694 : || GET_MODE (x2) != E_TImode
7695 : || !nonimmediate_operand (operands[1], E_TImode)
7696 : || !(
7697 : #line 15121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7698 : (ix86_unary_operator_ok (NEG, TImode, operands, TARGET_APX_NDD)) &&
7699 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7700 : (TARGET_64BIT)))
7701 : return -1;
7702 : *pnum_clobbers = 1;
7703 : return 985; /* *negti2_doubleword */
7704 :
7705 : case E_QImode:
7706 : if (!nonimmediate_operand (operands[0], E_QImode)
7707 : || GET_MODE (x2) != E_QImode
7708 : || !nonimmediate_operand (operands[1], E_QImode))
7709 : return -1;
7710 : if (
7711 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7712 : (ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)
7713 : && TARGET_APX_NF))
7714 : return 986; /* *negqi_1_nf */
7715 : if (pnum_clobbers == NULL
7716 : || !
7717 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7718 : (ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)
7719 : && true))
7720 : return -1;
7721 : *pnum_clobbers = 1;
7722 : return 987; /* *negqi_1 */
7723 :
7724 : case E_HImode:
7725 : if (!nonimmediate_operand (operands[0], E_HImode)
7726 : || GET_MODE (x2) != E_HImode
7727 : || !nonimmediate_operand (operands[1], E_HImode))
7728 : return -1;
7729 : if (
7730 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7731 : (ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)
7732 : && TARGET_APX_NF))
7733 : return 988; /* *neghi_1_nf */
7734 : if (pnum_clobbers == NULL
7735 : || !
7736 : #line 15234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7737 : (ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)
7738 : && true))
7739 : return -1;
7740 : *pnum_clobbers = 1;
7741 : return 989; /* *neghi_1 */
7742 :
7743 : case E_SFmode:
7744 : if (!register_operand (operands[0], E_SFmode)
7745 : || GET_MODE (x2) != E_SFmode
7746 : || !register_operand (operands[1], E_SFmode))
7747 : return -1;
7748 : if (pnum_clobbers != NULL
7749 : &&
7750 : #line 15745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7751 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
7752 : {
7753 : *pnum_clobbers = 1;
7754 : return 1043; /* *negsf2_i387_1 */
7755 : }
7756 : if (!
7757 : #line 15867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7758 : (TARGET_80387 && reload_completed))
7759 : return -1;
7760 : return 1057; /* *negsf2_i387 */
7761 :
7762 : case E_DFmode:
7763 : if (!register_operand (operands[0], E_DFmode)
7764 : || GET_MODE (x2) != E_DFmode
7765 : || !register_operand (operands[1], E_DFmode))
7766 : return -1;
7767 : if (pnum_clobbers != NULL
7768 : &&
7769 : #line 15745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7770 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
7771 : {
7772 : *pnum_clobbers = 1;
7773 : return 1045; /* *negdf2_i387_1 */
7774 : }
7775 : if (!
7776 : #line 15867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7777 : (TARGET_80387 && reload_completed))
7778 : return -1;
7779 : return 1059; /* *negdf2_i387 */
7780 :
7781 : case E_XFmode:
7782 : if (!register_operand (operands[0], E_XFmode)
7783 : || GET_MODE (x2) != E_XFmode
7784 : || !register_operand (operands[1], E_XFmode))
7785 : return -1;
7786 : if (pnum_clobbers != NULL
7787 : &&
7788 : #line 15745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7789 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
7790 : {
7791 : *pnum_clobbers = 1;
7792 : return 1047; /* *negxf2_i387_1 */
7793 : }
7794 : if (!
7795 : #line 15867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7796 : (TARGET_80387 && reload_completed))
7797 : return -1;
7798 : return 1061; /* *negxf2_i387 */
7799 :
7800 : case E_V2QImode:
7801 : if (pattern626 (x2, pnum_clobbers,
7802 : E_V2QImode) != 0
7803 : || !
7804 : #line 3165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7805 : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
7806 : return -1;
7807 : *pnum_clobbers = 1;
7808 : return 2177; /* negv2qi2 */
7809 :
7810 : default:
7811 : return -1;
7812 : }
7813 :
7814 : case STRICT_LOW_PART:
7815 : switch (pattern267 (x1, pnum_clobbers))
7816 : {
7817 : case 0:
7818 : if (!
7819 : #line 15301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7820 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7821 : return -1;
7822 : *pnum_clobbers = 1;
7823 : return 1005; /* *negqi_1_slp */
7824 :
7825 : case 1:
7826 : if (!
7827 : #line 15301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7828 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7829 : return -1;
7830 : *pnum_clobbers = 1;
7831 : return 1006; /* *neghi_1_slp */
7832 :
7833 : default:
7834 : return -1;
7835 : }
7836 :
7837 : default:
7838 : return -1;
7839 : }
7840 :
7841 : case ABS:
7842 : if (pnum_clobbers == NULL)
7843 : return -1;
7844 : x4 = XEXP (x1, 0);
7845 : operands[0] = x4;
7846 : x5 = XEXP (x3, 0);
7847 : operands[1] = x5;
7848 : switch (GET_MODE (operands[0]))
7849 : {
7850 : case E_TImode:
7851 : if (pattern627 (x2,
7852 : E_TImode) != 0
7853 : || !(
7854 : #line 15579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7855 : (TARGET_CMOVE
7856 : && ix86_pre_reload_split ()) &&
7857 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7858 : (TARGET_64BIT)))
7859 : return -1;
7860 : *pnum_clobbers = 1;
7861 : return 1030; /* *nabsti2_doubleword */
7862 :
7863 : case E_QImode:
7864 : if (pattern627 (x2,
7865 : E_QImode) != 0
7866 : || !
7867 : #line 15650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7868 : (TARGET_CMOVE
7869 : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
7870 : && ix86_pre_reload_split ()))
7871 : return -1;
7872 : *pnum_clobbers = 1;
7873 : return 1035; /* *nabsqi2_1 */
7874 :
7875 : case E_HImode:
7876 : if (pattern627 (x2,
7877 : E_HImode) != 0
7878 : || !
7879 : #line 15650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7880 : (TARGET_CMOVE
7881 : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
7882 : && ix86_pre_reload_split ()))
7883 : return -1;
7884 : *pnum_clobbers = 1;
7885 : return 1036; /* *nabshi2_1 */
7886 :
7887 : default:
7888 : return -1;
7889 : }
7890 :
7891 : case LTU:
7892 : case UNLT:
7893 : if (pnum_clobbers == NULL)
7894 : return -1;
7895 : operands[1] = x3;
7896 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
7897 : return -1;
7898 : x5 = XEXP (x3, 0);
7899 : if (GET_CODE (x5) != REG
7900 : || REGNO (x5) != 17)
7901 : return -1;
7902 : x6 = XEXP (x3, 1);
7903 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7904 : return -1;
7905 : x4 = XEXP (x1, 0);
7906 : operands[0] = x4;
7907 : switch (pattern970 (x2))
7908 : {
7909 : case 0:
7910 : *pnum_clobbers = 1;
7911 : return 1831; /* *x86_movqicc_0_m1_neg */
7912 :
7913 : case 1:
7914 : *pnum_clobbers = 1;
7915 : return 1832; /* *x86_movhicc_0_m1_neg */
7916 :
7917 : default:
7918 : return -1;
7919 : }
7920 :
7921 : default:
7922 : return -1;
7923 : }
7924 : }
7925 :
7926 : int
7927 : recog_50 (rtx x1 ATTRIBUTE_UNUSED,
7928 : rtx_insn *insn ATTRIBUTE_UNUSED,
7929 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7930 : {
7931 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7932 : rtx x2, x3, x4;
7933 : int res ATTRIBUTE_UNUSED;
7934 : x2 = XEXP (x1, 1);
7935 : if (GET_CODE (x2) == EQ)
7936 : {
7937 : res = recog_49 (x1, insn, pnum_clobbers);
7938 : if (res >= 0)
7939 : return res;
7940 : }
7941 : if (pnum_clobbers == NULL)
7942 : return -1;
7943 : operands[1] = x2;
7944 : if (!bt_comparison_operator (operands[1], E_QImode))
7945 : return -1;
7946 : x3 = XEXP (x2, 1);
7947 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
7948 : || !nonimmediate_operand (operands[0], E_QImode))
7949 : return -1;
7950 : x4 = XEXP (x2, 0);
7951 : operands[2] = x4;
7952 : switch (GET_MODE (operands[2]))
7953 : {
7954 : case E_QImode:
7955 : if (!register_operand (operands[2], E_QImode)
7956 : || !(
7957 : #line 2420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7958 : (TARGET_AVX512BW) &&
7959 : #line 1588 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7960 : (TARGET_AVX512DQ)))
7961 : return -1;
7962 : *pnum_clobbers = 1;
7963 : return 2695; /* *kortest_cmpqi_setcc */
7964 :
7965 : case E_HImode:
7966 : if (!register_operand (operands[2], E_HImode)
7967 : || !
7968 : #line 2420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7969 : (TARGET_AVX512BW))
7970 : return -1;
7971 : *pnum_clobbers = 1;
7972 : return 2696; /* *kortest_cmphi_setcc */
7973 :
7974 : case E_SImode:
7975 : if (!register_operand (operands[2], E_SImode)
7976 : || !
7977 : #line 2420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7978 : (TARGET_AVX512BW))
7979 : return -1;
7980 : *pnum_clobbers = 1;
7981 : return 2697; /* *kortest_cmpsi_setcc */
7982 :
7983 : case E_DImode:
7984 : if (!register_operand (operands[2], E_DImode)
7985 : || !(
7986 : #line 2420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7987 : (TARGET_AVX512BW) &&
7988 : #line 1589 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7989 : (TARGET_AVX512BW && TARGET_64BIT)))
7990 : return -1;
7991 : *pnum_clobbers = 1;
7992 : return 2698; /* *kortest_cmpdi_setcc */
7993 :
7994 : default:
7995 : return -1;
7996 : }
7997 : }
7998 :
7999 : int
8000 : recog_52 (rtx x1 ATTRIBUTE_UNUSED,
8001 : rtx_insn *insn ATTRIBUTE_UNUSED,
8002 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8003 : {
8004 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8005 : rtx x2, x3, x4, x5;
8006 : int res ATTRIBUTE_UNUSED;
8007 : x2 = XEXP (x1, 0);
8008 : operands[0] = x2;
8009 : x3 = XEXP (x1, 1);
8010 : switch (GET_CODE (x3))
8011 : {
8012 : case NE:
8013 : case EQ:
8014 : case GE:
8015 : case GT:
8016 : case LE:
8017 : case LT:
8018 : res = recog_51 (x1, insn, pnum_clobbers);
8019 : if (res >= 0)
8020 : return res;
8021 : break;
8022 :
8023 : default:
8024 : break;
8025 : }
8026 : operands[3] = x3;
8027 : x4 = XEXP (x3, 0);
8028 : operands[1] = x4;
8029 : x5 = XEXP (x3, 1);
8030 : operands[2] = x5;
8031 : switch (GET_MODE (operands[0]))
8032 : {
8033 : case E_SFmode:
8034 : if (pattern752 (
8035 : E_SFmode) != 0
8036 : || !
8037 : #line 20687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8038 : (SSE_FLOAT_MODE_P (SFmode)))
8039 : return -1;
8040 : return 1485; /* setcc_sf_sse */
8041 :
8042 : case E_DFmode:
8043 : if (pattern752 (
8044 : E_DFmode) != 0
8045 : || !
8046 : #line 20687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8047 : (SSE_FLOAT_MODE_P (DFmode)))
8048 : return -1;
8049 : return 1486; /* setcc_df_sse */
8050 :
8051 : default:
8052 : return -1;
8053 : }
8054 : }
8055 :
8056 : int
8057 : recog_55 (rtx x1 ATTRIBUTE_UNUSED,
8058 : rtx_insn *insn ATTRIBUTE_UNUSED,
8059 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8060 : {
8061 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8062 : rtx x2, x3, x4;
8063 : int res ATTRIBUTE_UNUSED;
8064 : x2 = XEXP (x1, 0);
8065 : operands[0] = x2;
8066 : x3 = XEXP (x1, 1);
8067 : x4 = XEXP (x3, 0);
8068 : operands[1] = x4;
8069 : switch (GET_MODE (operands[0]))
8070 : {
8071 : case E_HImode:
8072 : if (!register_operand (operands[0], E_HImode)
8073 : || GET_MODE (x3) != E_HImode
8074 : || !nonimmediate_operand (operands[1], E_HImode))
8075 : return -1;
8076 : if (
8077 : #line 23543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8078 : (TARGET_POPCNT && TARGET_APX_NF))
8079 : return 1670; /* popcounthi2_nf */
8080 : if (pnum_clobbers == NULL
8081 : || !
8082 : #line 23543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8083 : (TARGET_POPCNT && true))
8084 : return -1;
8085 : *pnum_clobbers = 1;
8086 : return 1671; /* popcounthi2 */
8087 :
8088 : case E_V8QImode:
8089 : if (!register_operand (operands[0], E_V8QImode)
8090 : || GET_MODE (x3) != E_V8QImode
8091 : || !register_operand (operands[1], E_V8QImode)
8092 : || !(
8093 : #line 6990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8094 : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
8095 : #line 76 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8096 : (TARGET_MMX_WITH_SSE)))
8097 : return -1;
8098 : return 2443; /* popcountv8qi2 */
8099 :
8100 : case E_V4QImode:
8101 : if (!register_operand (operands[0], E_V4QImode)
8102 : || GET_MODE (x3) != E_V4QImode
8103 : || !register_operand (operands[1], E_V4QImode)
8104 : || !
8105 : #line 6990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8106 : (TARGET_AVX512VL && TARGET_AVX512BITALG))
8107 : return -1;
8108 : return 2444; /* popcountv4qi2 */
8109 :
8110 : case E_V2QImode:
8111 : if (!register_operand (operands[0], E_V2QImode)
8112 : || GET_MODE (x3) != E_V2QImode
8113 : || !register_operand (operands[1], E_V2QImode)
8114 : || !
8115 : #line 6990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8116 : (TARGET_AVX512VL && TARGET_AVX512BITALG))
8117 : return -1;
8118 : return 2445; /* popcountv2qi2 */
8119 :
8120 : case E_V4HImode:
8121 : if (!register_operand (operands[0], E_V4HImode)
8122 : || GET_MODE (x3) != E_V4HImode
8123 : || !register_operand (operands[1], E_V4HImode)
8124 : || !(
8125 : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8126 : (TARGET_AVX512VL && TARGET_AVX512BITALG) &&
8127 : #line 73 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8128 : (TARGET_MMX_WITH_SSE)))
8129 : return -1;
8130 : return 2446; /* popcountv4hi2 */
8131 :
8132 : case E_V2HImode:
8133 : if (!register_operand (operands[0], E_V2HImode)
8134 : || GET_MODE (x3) != E_V2HImode
8135 : || !register_operand (operands[1], E_V2HImode)
8136 : || !
8137 : #line 6997 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8138 : (TARGET_AVX512VL && TARGET_AVX512BITALG))
8139 : return -1;
8140 : return 2447; /* popcountv2hi2 */
8141 :
8142 : case E_V2SImode:
8143 : if (!register_operand (operands[0], E_V2SImode)
8144 : || GET_MODE (x3) != E_V2SImode
8145 : || !register_operand (operands[1], E_V2SImode)
8146 : || !
8147 : #line 7004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8148 : (TARGET_AVX512VPOPCNTDQ && TARGET_AVX512VL && TARGET_MMX_WITH_SSE))
8149 : return -1;
8150 : return 2448; /* popcountv2si2 */
8151 :
8152 : default:
8153 : return -1;
8154 : }
8155 : }
8156 :
8157 : int
8158 : recog_62 (rtx x1 ATTRIBUTE_UNUSED,
8159 : rtx_insn *insn ATTRIBUTE_UNUSED,
8160 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8161 : {
8162 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8163 : rtx x2, x3, x4, x5, x6, x7;
8164 : int res ATTRIBUTE_UNUSED;
8165 : x2 = XEXP (x1, 1);
8166 : switch (GET_CODE (x2))
8167 : {
8168 : case PLUS:
8169 : res = recog_57 (x1, insn, pnum_clobbers);
8170 : if (res >= 0)
8171 : return res;
8172 : break;
8173 :
8174 : case MINUS:
8175 : res = recog_60 (x1, insn, pnum_clobbers);
8176 : if (res >= 0)
8177 : return res;
8178 : break;
8179 :
8180 : case MULT:
8181 : res = recog_61 (x1, insn, pnum_clobbers);
8182 : if (res >= 0)
8183 : return res;
8184 : break;
8185 :
8186 : case DIV:
8187 : if (GET_MODE (x2) == E_HFmode)
8188 : {
8189 : x3 = XEXP (x1, 0);
8190 : operands[0] = x3;
8191 : if (register_operand (operands[0], E_HFmode))
8192 : {
8193 : x4 = XEXP (x2, 0);
8194 : operands[1] = x4;
8195 : if (nonimmediate_operand (operands[1], E_HFmode))
8196 : {
8197 : x5 = XEXP (x2, 1);
8198 : operands[2] = x5;
8199 : if (nonimmediate_operand (operands[2], E_HFmode)
8200 : &&
8201 : #line 24497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8202 : (TARGET_AVX512FP16
8203 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8204 : return 1711; /* *divhf */
8205 : }
8206 : }
8207 : }
8208 : break;
8209 :
8210 : default:
8211 : break;
8212 : }
8213 : operands[3] = x2;
8214 : x3 = XEXP (x1, 0);
8215 : operands[0] = x3;
8216 : x4 = XEXP (x2, 0);
8217 : switch (GET_CODE (x4))
8218 : {
8219 : case REG:
8220 : case SUBREG:
8221 : case MEM:
8222 : operands[1] = x4;
8223 : x5 = XEXP (x2, 1);
8224 : switch (GET_CODE (x5))
8225 : {
8226 : case REG:
8227 : case SUBREG:
8228 : case MEM:
8229 : operands[2] = x5;
8230 : switch (GET_MODE (operands[0]))
8231 : {
8232 : case E_XFmode:
8233 : if (!register_operand (operands[0], E_XFmode)
8234 : || !binary_fp_operator (operands[3], E_XFmode)
8235 : || !register_operand (operands[1], E_XFmode)
8236 : || !register_operand (operands[2], E_XFmode))
8237 : return -1;
8238 : if (
8239 : #line 24449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8240 : (TARGET_80387
8241 : && COMMUTATIVE_ARITH_P (operands[3])))
8242 : return 1705; /* *fop_xf_comm_i387 */
8243 : if (!
8244 : #line 24547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8245 : (TARGET_80387
8246 : && !COMMUTATIVE_ARITH_P (operands[3])))
8247 : return -1;
8248 : return 1714; /* *fop_xf_1_i387 */
8249 :
8250 : case E_SFmode:
8251 : if (!register_operand (operands[0], E_SFmode)
8252 : || !binary_fp_operator (operands[3], E_SFmode)
8253 : || !nonimmediate_operand (operands[2], E_SFmode))
8254 : return -1;
8255 : if (nonimmediate_operand (operands[1], E_SFmode)
8256 : &&
8257 : #line 24463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8258 : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8259 : || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
8260 : && COMMUTATIVE_ARITH_P (operands[3])
8261 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8262 : return 1706; /* *fop_sf_comm */
8263 : if (!x87nonimm_ssenomem_operand (operands[1], E_SFmode)
8264 : || !
8265 : #line 24563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8266 : (((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8267 : || (TARGET_80387 && X87_ENABLE_ARITH (SFmode)))
8268 : && !COMMUTATIVE_ARITH_P (operands[3])
8269 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8270 : return -1;
8271 : return 1715; /* *fop_sf_1 */
8272 :
8273 : case E_DFmode:
8274 : if (!register_operand (operands[0], E_DFmode)
8275 : || !binary_fp_operator (operands[3], E_DFmode)
8276 : || !nonimmediate_operand (operands[2], E_DFmode))
8277 : return -1;
8278 : if (nonimmediate_operand (operands[1], E_DFmode)
8279 : &&
8280 : #line 24463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8281 : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8282 : || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
8283 : && COMMUTATIVE_ARITH_P (operands[3])
8284 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8285 : return 1707; /* *fop_df_comm */
8286 : if (!x87nonimm_ssenomem_operand (operands[1], E_DFmode)
8287 : || !
8288 : #line 24563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8289 : (((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8290 : || (TARGET_80387 && X87_ENABLE_ARITH (DFmode)))
8291 : && !COMMUTATIVE_ARITH_P (operands[3])
8292 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8293 : return -1;
8294 : return 1716; /* *fop_df_1 */
8295 :
8296 : default:
8297 : return -1;
8298 : }
8299 :
8300 : case FLOAT:
8301 : x6 = XEXP (x5, 0);
8302 : operands[2] = x6;
8303 : switch (GET_MODE (operands[0]))
8304 : {
8305 : case E_SFmode:
8306 : switch (pattern870 (x5,
8307 : E_SFmode))
8308 : {
8309 : case 0:
8310 : if (!
8311 : #line 24619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8312 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
8313 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8314 : && (TARGET_USE_HIMODE_FIOP
8315 : || optimize_function_for_size_p (cfun))))
8316 : return -1;
8317 : return 1723; /* *fop_sf_3_i387 */
8318 :
8319 : case 1:
8320 : if (!
8321 : #line 24619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8322 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
8323 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8324 : && (TARGET_USE_SIMODE_FIOP
8325 : || optimize_function_for_size_p (cfun))))
8326 : return -1;
8327 : return 1726; /* *fop_sf_3_i387 */
8328 :
8329 : default:
8330 : return -1;
8331 : }
8332 :
8333 : case E_DFmode:
8334 : switch (pattern870 (x5,
8335 : E_DFmode))
8336 : {
8337 : case 0:
8338 : if (!
8339 : #line 24619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8340 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
8341 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8342 : && (TARGET_USE_HIMODE_FIOP
8343 : || optimize_function_for_size_p (cfun))))
8344 : return -1;
8345 : return 1724; /* *fop_df_3_i387 */
8346 :
8347 : case 1:
8348 : if (!
8349 : #line 24619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8350 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
8351 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8352 : && (TARGET_USE_SIMODE_FIOP
8353 : || optimize_function_for_size_p (cfun))))
8354 : return -1;
8355 : return 1727; /* *fop_df_3_i387 */
8356 :
8357 : default:
8358 : return -1;
8359 : }
8360 :
8361 : case E_XFmode:
8362 : switch (pattern870 (x5,
8363 : E_XFmode))
8364 : {
8365 : case 0:
8366 : if (!
8367 : #line 24619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8368 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
8369 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8370 : && (TARGET_USE_HIMODE_FIOP
8371 : || optimize_function_for_size_p (cfun))))
8372 : return -1;
8373 : return 1725; /* *fop_xf_3_i387 */
8374 :
8375 : case 1:
8376 : if (!
8377 : #line 24619 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8378 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
8379 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8380 : && (TARGET_USE_SIMODE_FIOP
8381 : || optimize_function_for_size_p (cfun))))
8382 : return -1;
8383 : return 1728; /* *fop_xf_3_i387 */
8384 :
8385 : default:
8386 : return -1;
8387 : }
8388 :
8389 : default:
8390 : return -1;
8391 : }
8392 :
8393 : case FLOAT_EXTEND:
8394 : x6 = XEXP (x5, 0);
8395 : operands[2] = x6;
8396 : switch (pattern754 ())
8397 : {
8398 : case 0:
8399 : if (!register_operand (operands[1], E_XFmode)
8400 : || GET_MODE (x5) != E_XFmode)
8401 : return -1;
8402 : switch (GET_MODE (operands[2]))
8403 : {
8404 : case E_SFmode:
8405 : if (!nonimmediate_operand (operands[2], E_SFmode)
8406 : || !
8407 : #line 24675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8408 : (TARGET_80387))
8409 : return -1;
8410 : return 1732; /* *fop_xf_5_i387 */
8411 :
8412 : case E_DFmode:
8413 : if (!nonimmediate_operand (operands[2], E_DFmode)
8414 : || !
8415 : #line 24675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8416 : (TARGET_80387))
8417 : return -1;
8418 : return 1733; /* *fop_xf_5_i387 */
8419 :
8420 : default:
8421 : return -1;
8422 : }
8423 :
8424 : case 1:
8425 : if (!register_operand (operands[1], E_DFmode)
8426 : || GET_MODE (x5) != E_DFmode
8427 : || !nonimmediate_operand (operands[2], E_SFmode)
8428 : || !
8429 : #line 24692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8430 : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8431 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8432 : return -1;
8433 : return 1734; /* *fop_df_5_i387 */
8434 :
8435 : default:
8436 : return -1;
8437 : }
8438 :
8439 : default:
8440 : return -1;
8441 : }
8442 :
8443 : case FLOAT:
8444 : x7 = XEXP (x4, 0);
8445 : operands[1] = x7;
8446 : x5 = XEXP (x2, 1);
8447 : operands[2] = x5;
8448 : switch (GET_MODE (operands[0]))
8449 : {
8450 : case E_SFmode:
8451 : switch (pattern755 (x4,
8452 : E_SFmode))
8453 : {
8454 : case 0:
8455 : if (!
8456 : #line 24598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8457 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, HImode)
8458 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8459 : && (TARGET_USE_HIMODE_FIOP
8460 : || optimize_function_for_size_p (cfun))))
8461 : return -1;
8462 : return 1717; /* *fop_sf_2_i387 */
8463 :
8464 : case 1:
8465 : if (!
8466 : #line 24598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8467 : (TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode)
8468 : && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
8469 : && (TARGET_USE_SIMODE_FIOP
8470 : || optimize_function_for_size_p (cfun))))
8471 : return -1;
8472 : return 1720; /* *fop_sf_2_i387 */
8473 :
8474 : default:
8475 : return -1;
8476 : }
8477 :
8478 : case E_DFmode:
8479 : switch (pattern755 (x4,
8480 : E_DFmode))
8481 : {
8482 : case 0:
8483 : if (!
8484 : #line 24598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8485 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, HImode)
8486 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8487 : && (TARGET_USE_HIMODE_FIOP
8488 : || optimize_function_for_size_p (cfun))))
8489 : return -1;
8490 : return 1718; /* *fop_df_2_i387 */
8491 :
8492 : case 1:
8493 : if (!
8494 : #line 24598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8495 : (TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode)
8496 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
8497 : && (TARGET_USE_SIMODE_FIOP
8498 : || optimize_function_for_size_p (cfun))))
8499 : return -1;
8500 : return 1721; /* *fop_df_2_i387 */
8501 :
8502 : default:
8503 : return -1;
8504 : }
8505 :
8506 : case E_XFmode:
8507 : switch (pattern755 (x4,
8508 : E_XFmode))
8509 : {
8510 : case 0:
8511 : if (!
8512 : #line 24598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8513 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, HImode)
8514 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8515 : && (TARGET_USE_HIMODE_FIOP
8516 : || optimize_function_for_size_p (cfun))))
8517 : return -1;
8518 : return 1719; /* *fop_xf_2_i387 */
8519 :
8520 : case 1:
8521 : if (!
8522 : #line 24598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8523 : (TARGET_80387 && X87_ENABLE_FLOAT (XFmode, SImode)
8524 : && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
8525 : && (TARGET_USE_SIMODE_FIOP
8526 : || optimize_function_for_size_p (cfun))))
8527 : return -1;
8528 : return 1722; /* *fop_xf_2_i387 */
8529 :
8530 : default:
8531 : return -1;
8532 : }
8533 :
8534 : default:
8535 : return -1;
8536 : }
8537 :
8538 : case FLOAT_EXTEND:
8539 : x7 = XEXP (x4, 0);
8540 : operands[1] = x7;
8541 : x5 = XEXP (x2, 1);
8542 : switch (GET_CODE (x5))
8543 : {
8544 : case REG:
8545 : case SUBREG:
8546 : operands[2] = x5;
8547 : switch (pattern754 ())
8548 : {
8549 : case 0:
8550 : if (GET_MODE (x4) != E_XFmode
8551 : || !register_operand (operands[2], E_XFmode))
8552 : return -1;
8553 : switch (GET_MODE (operands[1]))
8554 : {
8555 : case E_SFmode:
8556 : if (!nonimmediate_operand (operands[1], E_SFmode)
8557 : || !
8558 : #line 24640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8559 : (TARGET_80387))
8560 : return -1;
8561 : return 1729; /* *fop_xf_4_i387 */
8562 :
8563 : case E_DFmode:
8564 : if (!nonimmediate_operand (operands[1], E_DFmode)
8565 : || !
8566 : #line 24640 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8567 : (TARGET_80387))
8568 : return -1;
8569 : return 1730; /* *fop_xf_4_i387 */
8570 :
8571 : default:
8572 : return -1;
8573 : }
8574 :
8575 : case 1:
8576 : if (GET_MODE (x4) != E_DFmode
8577 : || !nonimmediate_operand (operands[1], E_SFmode)
8578 : || !register_operand (operands[2], E_DFmode)
8579 : || !
8580 : #line 24657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8581 : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8582 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8583 : return -1;
8584 : return 1731; /* *fop_df_4_i387 */
8585 :
8586 : default:
8587 : return -1;
8588 : }
8589 :
8590 : case FLOAT_EXTEND:
8591 : x6 = XEXP (x5, 0);
8592 : operands[2] = x6;
8593 : switch (pattern754 ())
8594 : {
8595 : case 0:
8596 : if (GET_MODE (x4) != E_XFmode
8597 : || GET_MODE (x5) != E_XFmode)
8598 : return -1;
8599 : switch (GET_MODE (operands[1]))
8600 : {
8601 : case E_SFmode:
8602 : if (!register_operand (operands[1], E_SFmode)
8603 : || !nonimmediate_operand (operands[2], E_SFmode)
8604 : || !
8605 : #line 24711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8606 : (TARGET_80387))
8607 : return -1;
8608 : return 1735; /* *fop_xf_6_i387 */
8609 :
8610 : case E_DFmode:
8611 : if (!register_operand (operands[1], E_DFmode)
8612 : || !nonimmediate_operand (operands[2], E_DFmode)
8613 : || !
8614 : #line 24711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8615 : (TARGET_80387))
8616 : return -1;
8617 : return 1736; /* *fop_xf_6_i387 */
8618 :
8619 : default:
8620 : return -1;
8621 : }
8622 :
8623 : case 1:
8624 : if (pattern868 (x2,
8625 : E_SFmode,
8626 : E_DFmode) != 0
8627 : || !
8628 : #line 24729 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8629 : (TARGET_80387 && X87_ENABLE_ARITH (DFmode)
8630 : && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8631 : return -1;
8632 : return 1737; /* *fop_df_6_i387 */
8633 :
8634 : default:
8635 : return -1;
8636 : }
8637 :
8638 : default:
8639 : return -1;
8640 : }
8641 :
8642 : default:
8643 : return -1;
8644 : }
8645 : }
8646 :
8647 : int
8648 : recog_75 (rtx x1 ATTRIBUTE_UNUSED,
8649 : rtx_insn *insn ATTRIBUTE_UNUSED,
8650 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8651 : {
8652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8653 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8654 : rtx x10;
8655 : int res ATTRIBUTE_UNUSED;
8656 : x2 = XEXP (x1, 1);
8657 : x3 = XEXP (x2, 0);
8658 : x4 = XEXP (x3, 0);
8659 : switch (GET_CODE (x4))
8660 : {
8661 : case REG:
8662 : case SUBREG:
8663 : case MEM:
8664 : operands[1] = x4;
8665 : x5 = XEXP (x3, 1);
8666 : operands[2] = x5;
8667 : switch (pattern281 (x2))
8668 : {
8669 : case 0:
8670 : if (!nonimmediate_operand (operands[1], E_QImode)
8671 : || !general_operand (operands[2], E_QImode))
8672 : return -1;
8673 : if (
8674 : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8675 : (TARGET_APX_NDD && TARGET_APX_NF
8676 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8677 : return 292; /* *addqi_1_zextsi_nf */
8678 : if (pnum_clobbers == NULL
8679 : || !
8680 : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8681 : (TARGET_APX_NDD && true
8682 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8683 : return -1;
8684 : *pnum_clobbers = 1;
8685 : return 293; /* *addqi_1_zextsi */
8686 :
8687 : case 1:
8688 : if (!nonimmediate_operand (operands[1], E_HImode)
8689 : || !general_operand (operands[2], E_HImode))
8690 : return -1;
8691 : if (
8692 : #line 6888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8693 : (TARGET_APX_NDD && TARGET_APX_NF
8694 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8695 : return 296; /* *addhi_1_zextsi_nf */
8696 : if (pnum_clobbers == NULL
8697 : || !
8698 : #line 6888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8699 : (TARGET_APX_NDD && true
8700 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8701 : return -1;
8702 : *pnum_clobbers = 1;
8703 : return 297; /* *addhi_1_zextsi */
8704 :
8705 : case 2:
8706 : if (!nonimmediate_operand (operands[1], E_QImode)
8707 : || !general_operand (operands[2], E_QImode))
8708 : return -1;
8709 : if (
8710 : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8711 : (TARGET_APX_NDD && TARGET_APX_NF
8712 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8713 : return 294; /* *addqi_1_zextdi_nf */
8714 : if (pnum_clobbers == NULL
8715 : || !
8716 : #line 6846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8717 : (TARGET_APX_NDD && true
8718 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8719 : return -1;
8720 : *pnum_clobbers = 1;
8721 : return 295; /* *addqi_1_zextdi */
8722 :
8723 : case 3:
8724 : if (!nonimmediate_operand (operands[1], E_HImode)
8725 : || !general_operand (operands[2], E_HImode))
8726 : return -1;
8727 : if (
8728 : #line 6888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8729 : (TARGET_APX_NDD && TARGET_APX_NF
8730 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8731 : return 298; /* *addhi_1_zextdi_nf */
8732 : if (pnum_clobbers == NULL
8733 : || !
8734 : #line 6888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8735 : (TARGET_APX_NDD && true
8736 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8737 : return -1;
8738 : *pnum_clobbers = 1;
8739 : return 299; /* *addhi_1_zextdi */
8740 :
8741 : case 4:
8742 : if (pnum_clobbers == NULL
8743 : || !nonimmediate_operand (operands[1], E_SImode)
8744 : || !x86_64_general_operand (operands[2], E_SImode)
8745 : || !
8746 : #line 6937 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8747 : (TARGET_64BIT
8748 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
8749 : return -1;
8750 : *pnum_clobbers = 1;
8751 : return 300; /* addsi_1_zext */
8752 :
8753 : default:
8754 : return -1;
8755 : }
8756 :
8757 : case PLUS:
8758 : if (pnum_clobbers == NULL)
8759 : return -1;
8760 : x6 = XEXP (x4, 0);
8761 : switch (GET_CODE (x6))
8762 : {
8763 : case LTU:
8764 : case UNLT:
8765 : operands[3] = x6;
8766 : x7 = XEXP (x6, 0);
8767 : if (GET_CODE (x7) != REG
8768 : || REGNO (x7) != 17)
8769 : return -1;
8770 : x8 = XEXP (x6, 1);
8771 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8772 : return -1;
8773 : x9 = XEXP (x4, 1);
8774 : operands[1] = x9;
8775 : x5 = XEXP (x3, 1);
8776 : operands[2] = x5;
8777 : switch (pattern281 (x2))
8778 : {
8779 : case 0:
8780 : if (pattern1550 (x4,
8781 : E_QImode) != 0
8782 : || !
8783 : #line 9283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8784 : (TARGET_APX_NDD
8785 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8786 : return -1;
8787 : *pnum_clobbers = 1;
8788 : return 482; /* *addqi3_carry_zextsi */
8789 :
8790 : case 1:
8791 : if (pattern1550 (x4,
8792 : E_HImode) != 0
8793 : || !
8794 : #line 9307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8795 : (TARGET_APX_NDD
8796 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8797 : return -1;
8798 : *pnum_clobbers = 1;
8799 : return 484; /* *addhi3_carry_zextsi */
8800 :
8801 : case 2:
8802 : if (pattern1550 (x4,
8803 : E_QImode) != 0
8804 : || !
8805 : #line 9283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8806 : (TARGET_APX_NDD
8807 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8808 : return -1;
8809 : *pnum_clobbers = 1;
8810 : return 483; /* *addqi3_carry_zextdi */
8811 :
8812 : case 3:
8813 : if (pattern1550 (x4,
8814 : E_HImode) != 0
8815 : || !
8816 : #line 9307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8817 : (TARGET_APX_NDD
8818 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8819 : return -1;
8820 : *pnum_clobbers = 1;
8821 : return 485; /* *addhi3_carry_zextdi */
8822 :
8823 : case 4:
8824 : if (pattern1550 (x4,
8825 : E_SImode) != 0
8826 : || !
8827 : #line 9331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8828 : (TARGET_64BIT
8829 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
8830 : return -1;
8831 : *pnum_clobbers = 1;
8832 : return 486; /* *addsi3_carry_zext */
8833 :
8834 : default:
8835 : return -1;
8836 : }
8837 :
8838 : default:
8839 : return -1;
8840 : }
8841 :
8842 : case LTU:
8843 : case UNLT:
8844 : switch (pattern282 (x2, pnum_clobbers))
8845 : {
8846 : case 0:
8847 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
8848 : || !nonimmediate_operand (operands[1], E_QImode)
8849 : || !
8850 : #line 9355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8851 : (TARGET_APX_NDD))
8852 : return -1;
8853 : *pnum_clobbers = 1;
8854 : return 488; /* *addqi3_carry_zextsi_0 */
8855 :
8856 : case 1:
8857 : if (!ix86_carry_flag_operator (operands[2], E_HImode)
8858 : || !nonimmediate_operand (operands[1], E_HImode)
8859 : || !
8860 : #line 9373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8861 : (TARGET_APX_NDD))
8862 : return -1;
8863 : *pnum_clobbers = 1;
8864 : return 490; /* *addhi3_carry_zextsi_0 */
8865 :
8866 : case 2:
8867 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
8868 : || !nonimmediate_operand (operands[1], E_QImode)
8869 : || !
8870 : #line 9355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8871 : (TARGET_APX_NDD))
8872 : return -1;
8873 : *pnum_clobbers = 1;
8874 : return 489; /* *addqi3_carry_zextdi_0 */
8875 :
8876 : case 3:
8877 : if (!ix86_carry_flag_operator (operands[2], E_HImode)
8878 : || !nonimmediate_operand (operands[1], E_HImode)
8879 : || !
8880 : #line 9373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8881 : (TARGET_APX_NDD))
8882 : return -1;
8883 : *pnum_clobbers = 1;
8884 : return 491; /* *addhi3_carry_zextdi_0 */
8885 :
8886 : case 4:
8887 : if (!ix86_carry_flag_operator (operands[2], E_SImode)
8888 : || !nonimmediate_operand (operands[1], E_SImode)
8889 : || !
8890 : #line 9391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8891 : (TARGET_64BIT))
8892 : return -1;
8893 : *pnum_clobbers = 1;
8894 : return 492; /* *addsi3_carry_zext_0 */
8895 :
8896 : default:
8897 : return -1;
8898 : }
8899 :
8900 : case GE:
8901 : case GEU:
8902 : switch (pattern282 (x2, pnum_clobbers))
8903 : {
8904 : case 0:
8905 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
8906 : || !nonimmediate_operand (operands[1], E_QImode)
8907 : || !
8908 : #line 9413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8909 : (TARGET_APX_NDD))
8910 : return -1;
8911 : *pnum_clobbers = 1;
8912 : return 494; /* *addqi3_carry_zextsi_0r */
8913 :
8914 : case 1:
8915 : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
8916 : || !nonimmediate_operand (operands[1], E_HImode)
8917 : || !
8918 : #line 9431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8919 : (TARGET_APX_NDD))
8920 : return -1;
8921 : *pnum_clobbers = 1;
8922 : return 496; /* *addhi3_carry_zextsi_0r */
8923 :
8924 : case 2:
8925 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
8926 : || !nonimmediate_operand (operands[1], E_QImode)
8927 : || !
8928 : #line 9413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8929 : (TARGET_APX_NDD))
8930 : return -1;
8931 : *pnum_clobbers = 1;
8932 : return 495; /* *addqi3_carry_zextdi_0r */
8933 :
8934 : case 3:
8935 : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
8936 : || !nonimmediate_operand (operands[1], E_HImode)
8937 : || !
8938 : #line 9431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8939 : (TARGET_APX_NDD))
8940 : return -1;
8941 : *pnum_clobbers = 1;
8942 : return 497; /* *addhi3_carry_zextdi_0r */
8943 :
8944 : case 4:
8945 : if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
8946 : || !nonimmediate_operand (operands[1], E_SImode)
8947 : || !
8948 : #line 9449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8949 : (TARGET_64BIT))
8950 : return -1;
8951 : *pnum_clobbers = 1;
8952 : return 498; /* *addsi3_carry_zext_0r */
8953 :
8954 : default:
8955 : return -1;
8956 : }
8957 :
8958 : case UNSPEC:
8959 : if (pnum_clobbers == NULL
8960 : || XVECLEN (x4, 0) != 1
8961 : || XINT (x4, 1) != 20
8962 : || GET_MODE (x4) != E_SImode)
8963 : return -1;
8964 : x10 = XVECEXP (x4, 0, 0);
8965 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
8966 : || !register_operand (operands[0], E_DImode)
8967 : || GET_MODE (x2) != E_DImode
8968 : || GET_MODE (x3) != E_SImode)
8969 : return -1;
8970 : x5 = XEXP (x3, 1);
8971 : operands[1] = x5;
8972 : if (!register_operand (operands[1], E_SImode)
8973 : || !
8974 : #line 24280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8975 : (TARGET_X32))
8976 : return -1;
8977 : *pnum_clobbers = 1;
8978 : return 1695; /* *add_tp_x32_zext */
8979 :
8980 : default:
8981 : return -1;
8982 : }
8983 : }
8984 :
8985 : int
8986 : recog_80 (rtx x1 ATTRIBUTE_UNUSED,
8987 : rtx_insn *insn ATTRIBUTE_UNUSED,
8988 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8989 : {
8990 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8991 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8992 : rtx x10, x11, x12, x13;
8993 : int res ATTRIBUTE_UNUSED;
8994 : x2 = XEXP (x1, 0);
8995 : operands[0] = x2;
8996 : x3 = XEXP (x1, 1);
8997 : x4 = XEXP (x3, 0);
8998 : switch (GET_CODE (x4))
8999 : {
9000 : case PLUS:
9001 : return recog_75 (x1, insn, pnum_clobbers);
9002 :
9003 : case MINUS:
9004 : return recog_77 (x1, insn, pnum_clobbers);
9005 :
9006 : case MULT:
9007 : x5 = XEXP (x4, 0);
9008 : operands[1] = x5;
9009 : x6 = XEXP (x4, 1);
9010 : operands[2] = x6;
9011 : switch (GET_MODE (operands[0]))
9012 : {
9013 : case E_SImode:
9014 : if (!register_operand (operands[0], E_SImode)
9015 : || GET_MODE (x3) != E_SImode
9016 : || GET_MODE (x4) != E_HImode
9017 : || !nonimmediate_operand (operands[1], E_HImode)
9018 : || !immediate_operand (operands[2], E_HImode))
9019 : return -1;
9020 : if (
9021 : #line 11404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9022 : (TARGET_APX_ZU && TARGET_APX_NF))
9023 : return 624; /* *imulhisizu_nf */
9024 : if (pnum_clobbers == NULL
9025 : || !
9026 : #line 11404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9027 : (TARGET_APX_ZU && true))
9028 : return -1;
9029 : *pnum_clobbers = 1;
9030 : return 625; /* *imulhisizu */
9031 :
9032 : case E_DImode:
9033 : if (!register_operand (operands[0], E_DImode)
9034 : || GET_MODE (x3) != E_DImode)
9035 : return -1;
9036 : switch (GET_MODE (x4))
9037 : {
9038 : case E_HImode:
9039 : if (!nonimmediate_operand (operands[1], E_HImode)
9040 : || !immediate_operand (operands[2], E_HImode))
9041 : return -1;
9042 : if (
9043 : #line 11404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9044 : (TARGET_APX_ZU && TARGET_APX_NF))
9045 : return 626; /* *imulhidizu_nf */
9046 : if (pnum_clobbers == NULL
9047 : || !
9048 : #line 11404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9049 : (TARGET_APX_ZU && true))
9050 : return -1;
9051 : *pnum_clobbers = 1;
9052 : return 627; /* *imulhidizu */
9053 :
9054 : case E_SImode:
9055 : if (!nonimmediate_operand (operands[1], E_SImode)
9056 : || !x86_64_general_operand (operands[2], E_SImode))
9057 : return -1;
9058 : if (
9059 : #line 11416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9060 : (TARGET_64BIT
9061 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
9062 : && TARGET_APX_NF))
9063 : return 628; /* *mulsi3_1_zext_nf */
9064 : if (pnum_clobbers == NULL
9065 : || !
9066 : #line 11416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9067 : (TARGET_64BIT
9068 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
9069 : && true))
9070 : return -1;
9071 : *pnum_clobbers = 1;
9072 : return 629; /* *mulsi3_1_zext */
9073 :
9074 : default:
9075 : return -1;
9076 : }
9077 :
9078 : default:
9079 : return -1;
9080 : }
9081 :
9082 : case SMUL_HIGHPART:
9083 : if (pattern113 (x3, pnum_clobbers) != 0
9084 : || !
9085 : #line 11926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9086 : (TARGET_64BIT))
9087 : return -1;
9088 : *pnum_clobbers = 2;
9089 : return 659; /* *smulsi3_highpart_zext */
9090 :
9091 : case UMUL_HIGHPART:
9092 : if (pattern113 (x3, pnum_clobbers) != 0
9093 : || !
9094 : #line 11926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9095 : (TARGET_64BIT))
9096 : return -1;
9097 : *pnum_clobbers = 2;
9098 : return 660; /* *umulsi3_highpart_zext */
9099 :
9100 : case TRUNCATE:
9101 : if (pnum_clobbers == NULL
9102 : || GET_MODE (x4) != E_SImode)
9103 : return -1;
9104 : x5 = XEXP (x4, 0);
9105 : if (GET_CODE (x5) != LSHIFTRT
9106 : || GET_MODE (x5) != E_DImode)
9107 : return -1;
9108 : x7 = XEXP (x5, 0);
9109 : if (GET_CODE (x7) != MULT
9110 : || GET_MODE (x7) != E_DImode)
9111 : return -1;
9112 : x8 = XEXP (x5, 1);
9113 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 32]
9114 : || !register_operand (operands[0], E_DImode)
9115 : || GET_MODE (x3) != E_DImode)
9116 : return -1;
9117 : x9 = XEXP (x7, 0);
9118 : if (GET_MODE (x9) != E_DImode)
9119 : return -1;
9120 : x10 = XEXP (x7, 1);
9121 : if (GET_MODE (x10) != E_DImode)
9122 : return -1;
9123 : switch (GET_CODE (x9))
9124 : {
9125 : case SIGN_EXTEND:
9126 : if (GET_CODE (x10) != SIGN_EXTEND)
9127 : return -1;
9128 : x11 = XEXP (x9, 0);
9129 : operands[1] = x11;
9130 : if (!nonimmediate_operand (operands[1], E_SImode))
9131 : return -1;
9132 : x12 = XEXP (x10, 0);
9133 : operands[2] = x12;
9134 : if (!nonimmediate_operand (operands[2], E_SImode)
9135 : || !
9136 : #line 11974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9137 : (TARGET_64BIT
9138 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9139 : return -1;
9140 : *pnum_clobbers = 2;
9141 : return 663; /* *smulsi3_highpart_zext */
9142 :
9143 : case ZERO_EXTEND:
9144 : if (GET_CODE (x10) != ZERO_EXTEND)
9145 : return -1;
9146 : x11 = XEXP (x9, 0);
9147 : operands[1] = x11;
9148 : if (!nonimmediate_operand (operands[1], E_SImode))
9149 : return -1;
9150 : x12 = XEXP (x10, 0);
9151 : operands[2] = x12;
9152 : if (!nonimmediate_operand (operands[2], E_SImode)
9153 : || !
9154 : #line 11974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9155 : (TARGET_64BIT
9156 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9157 : return -1;
9158 : *pnum_clobbers = 2;
9159 : return 664; /* *umulsi3_highpart_zext */
9160 :
9161 : default:
9162 : return -1;
9163 : }
9164 :
9165 : case AND:
9166 : return recog_76 (x1, insn, pnum_clobbers);
9167 :
9168 : case IOR:
9169 : switch (pattern115 (x3, pnum_clobbers))
9170 : {
9171 : case 0:
9172 : if (
9173 : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9174 : (TARGET_APX_NDD && TARGET_APX_NF
9175 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9176 : return 875; /* *iorqi_1_zextsi_nf */
9177 : if (pnum_clobbers == NULL
9178 : || !
9179 : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9180 : (TARGET_APX_NDD && true
9181 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9182 : return -1;
9183 : *pnum_clobbers = 1;
9184 : return 876; /* *iorqi_1_zextsi */
9185 :
9186 : case 1:
9187 : if (
9188 : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9189 : (TARGET_APX_NDD && TARGET_APX_NF
9190 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9191 : return 883; /* *iorhi_1_zextsi_nf */
9192 : if (pnum_clobbers == NULL
9193 : || !
9194 : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9195 : (TARGET_APX_NDD && true
9196 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9197 : return -1;
9198 : *pnum_clobbers = 1;
9199 : return 884; /* *iorhi_1_zextsi */
9200 :
9201 : case 2:
9202 : if (
9203 : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9204 : (TARGET_APX_NDD && TARGET_APX_NF
9205 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9206 : return 879; /* *iorqi_1_zextdi_nf */
9207 : if (pnum_clobbers == NULL
9208 : || !
9209 : #line 14539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9210 : (TARGET_APX_NDD && true
9211 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9212 : return -1;
9213 : *pnum_clobbers = 1;
9214 : return 880; /* *iorqi_1_zextdi */
9215 :
9216 : case 3:
9217 : if (
9218 : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9219 : (TARGET_APX_NDD && TARGET_APX_NF
9220 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9221 : return 887; /* *iorhi_1_zextdi_nf */
9222 : if (pnum_clobbers == NULL
9223 : || !
9224 : #line 14558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9225 : (TARGET_APX_NDD && true
9226 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9227 : return -1;
9228 : *pnum_clobbers = 1;
9229 : return 888; /* *iorhi_1_zextdi */
9230 :
9231 : case 4:
9232 : if (!
9233 : #line 14579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9234 : (TARGET_64BIT
9235 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
9236 : return -1;
9237 : *pnum_clobbers = 1;
9238 : return 891; /* *iorsi_1_zext */
9239 :
9240 : default:
9241 : return -1;
9242 : }
9243 :
9244 : case XOR:
9245 : return recog_79 (x1, insn, pnum_clobbers);
9246 :
9247 : case NEG:
9248 : x5 = XEXP (x4, 0);
9249 : operands[1] = x5;
9250 : switch (pattern284 (x3, pnum_clobbers))
9251 : {
9252 : case 0:
9253 : if (
9254 : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9255 : (TARGET_APX_NDD && TARGET_APX_NF))
9256 : return 996; /* *negqi_1_zextsi_nf */
9257 : if (pnum_clobbers == NULL
9258 : || !
9259 : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9260 : (TARGET_APX_NDD && true))
9261 : return -1;
9262 : *pnum_clobbers = 1;
9263 : return 997; /* *negqi_1_zextsi */
9264 :
9265 : case 1:
9266 : if (
9267 : #line 15267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9268 : (TARGET_APX_NDD && TARGET_APX_NF))
9269 : return 1000; /* *neghi_1_zextsi_nf */
9270 : if (pnum_clobbers == NULL
9271 : || !
9272 : #line 15267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9273 : (TARGET_APX_NDD && true))
9274 : return -1;
9275 : *pnum_clobbers = 1;
9276 : return 1001; /* *neghi_1_zextsi */
9277 :
9278 : case 2:
9279 : if (
9280 : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9281 : (TARGET_APX_NDD && TARGET_APX_NF))
9282 : return 998; /* *negqi_1_zextdi_nf */
9283 : if (pnum_clobbers == NULL
9284 : || !
9285 : #line 15253 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9286 : (TARGET_APX_NDD && true))
9287 : return -1;
9288 : *pnum_clobbers = 1;
9289 : return 999; /* *negqi_1_zextdi */
9290 :
9291 : case 3:
9292 : if (
9293 : #line 15267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9294 : (TARGET_APX_NDD && TARGET_APX_NF))
9295 : return 1002; /* *neghi_1_zextdi_nf */
9296 : if (pnum_clobbers == NULL
9297 : || !
9298 : #line 15267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9299 : (TARGET_APX_NDD && true))
9300 : return -1;
9301 : *pnum_clobbers = 1;
9302 : return 1003; /* *neghi_1_zextdi */
9303 :
9304 : case 4:
9305 : if (!
9306 : #line 15282 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9307 : (TARGET_64BIT
9308 : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
9309 : return -1;
9310 : *pnum_clobbers = 1;
9311 : return 1004; /* *negsi_1_zext */
9312 :
9313 : default:
9314 : return -1;
9315 : }
9316 :
9317 : case NOT:
9318 : x5 = XEXP (x4, 0);
9319 : operands[1] = x5;
9320 : switch (GET_MODE (operands[0]))
9321 : {
9322 : case E_SImode:
9323 : switch (pattern283 (x3))
9324 : {
9325 : case 0:
9326 : if (!
9327 : #line 15946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9328 : (TARGET_APX_NDD))
9329 : return -1;
9330 : return 1068; /* *one_cmplqi2_1_zextsi */
9331 :
9332 : case 1:
9333 : if (!
9334 : #line 15959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9335 : (TARGET_APX_NDD))
9336 : return -1;
9337 : return 1070; /* *one_cmplhi2_1_zextsi */
9338 :
9339 : default:
9340 : return -1;
9341 : }
9342 :
9343 : case E_DImode:
9344 : if (!register_operand (operands[0], E_DImode)
9345 : || GET_MODE (x3) != E_DImode)
9346 : return -1;
9347 : switch (GET_MODE (x4))
9348 : {
9349 : case E_QImode:
9350 : if (!nonimmediate_operand (operands[1], E_QImode)
9351 : || !
9352 : #line 15946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9353 : (TARGET_APX_NDD))
9354 : return -1;
9355 : return 1069; /* *one_cmplqi2_1_zextdi */
9356 :
9357 : case E_HImode:
9358 : if (!nonimmediate_operand (operands[1], E_HImode)
9359 : || !
9360 : #line 15959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9361 : (TARGET_APX_NDD))
9362 : return -1;
9363 : return 1071; /* *one_cmplhi2_1_zextdi */
9364 :
9365 : case E_SImode:
9366 : if (!nonimmediate_operand (operands[1], E_SImode)
9367 : || !
9368 : #line 15972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9369 : (TARGET_64BIT
9370 : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
9371 : return -1;
9372 : return 1072; /* *one_cmplsi2_1_zext */
9373 :
9374 : default:
9375 : return -1;
9376 : }
9377 :
9378 : default:
9379 : return -1;
9380 : }
9381 :
9382 : case ASHIFT:
9383 : switch (pattern116 (x3))
9384 : {
9385 : case 0:
9386 : if (register_operand (operands[2], E_SImode)
9387 : &&
9388 : #line 16976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9389 : (TARGET_64BIT && TARGET_BMI2))
9390 : return 1124; /* *bmi2_ashlsi3_1_zext */
9391 : if (pnum_clobbers == NULL
9392 : || !nonmemory_operand (operands[2], E_QImode)
9393 : || !
9394 : #line 17017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9395 : (TARGET_64BIT
9396 : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
9397 : return -1;
9398 : *pnum_clobbers = 1;
9399 : return 1135; /* *ashlsi3_1_zext */
9400 :
9401 : case 1:
9402 : if (
9403 : #line 16986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9404 : (TARGET_APX_NDD && TARGET_APX_NF))
9405 : return 1129; /* *ashlqi3_1_zextdi_nf */
9406 : if (pnum_clobbers == NULL
9407 : || !
9408 : #line 16986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9409 : (TARGET_APX_NDD && true))
9410 : return -1;
9411 : *pnum_clobbers = 1;
9412 : return 1130; /* *ashlqi3_1_zextdi */
9413 :
9414 : case 2:
9415 : if (
9416 : #line 17001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9417 : (TARGET_APX_NDD && TARGET_APX_NF))
9418 : return 1133; /* *ashlhi3_1_zextdi_nf */
9419 : if (pnum_clobbers == NULL
9420 : || !
9421 : #line 17001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9422 : (TARGET_APX_NDD && true))
9423 : return -1;
9424 : *pnum_clobbers = 1;
9425 : return 1134; /* *ashlhi3_1_zextdi */
9426 :
9427 : case 3:
9428 : if (
9429 : #line 16986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9430 : (TARGET_APX_NDD && TARGET_APX_NF))
9431 : return 1127; /* *ashlqi3_1_zextsi_nf */
9432 : if (pnum_clobbers == NULL
9433 : || !
9434 : #line 16986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9435 : (TARGET_APX_NDD && true))
9436 : return -1;
9437 : *pnum_clobbers = 1;
9438 : return 1128; /* *ashlqi3_1_zextsi */
9439 :
9440 : case 4:
9441 : if (
9442 : #line 17001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9443 : (TARGET_APX_NDD && TARGET_APX_NF))
9444 : return 1131; /* *ashlhi3_1_zextsi_nf */
9445 : if (pnum_clobbers == NULL
9446 : || !
9447 : #line 17001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9448 : (TARGET_APX_NDD && true))
9449 : return -1;
9450 : *pnum_clobbers = 1;
9451 : return 1132; /* *ashlhi3_1_zextsi */
9452 :
9453 : default:
9454 : return -1;
9455 : }
9456 :
9457 : case ASHIFTRT:
9458 : if (GET_MODE (x4) == E_SImode
9459 : && register_operand (operands[0], E_DImode))
9460 : {
9461 : res = recog_73 (x1, insn, pnum_clobbers);
9462 : if (res >= 0)
9463 : return res;
9464 : }
9465 : x5 = XEXP (x4, 0);
9466 : operands[1] = x5;
9467 : switch (pattern285 (x3, pnum_clobbers))
9468 : {
9469 : case 0:
9470 : if (
9471 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9472 : (TARGET_APX_NDD && TARGET_APX_NF))
9473 : return 1224; /* *ashrqi3_1_zextsi_nf */
9474 : if (pnum_clobbers == NULL
9475 : || !
9476 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9477 : (TARGET_APX_NDD && true))
9478 : return -1;
9479 : *pnum_clobbers = 1;
9480 : return 1225; /* *ashrqi3_1_zextsi */
9481 :
9482 : case 1:
9483 : if (
9484 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9485 : (TARGET_APX_NDD && TARGET_APX_NF))
9486 : return 1232; /* *ashrhi3_1_zextsi_nf */
9487 : if (pnum_clobbers == NULL
9488 : || !
9489 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9490 : (TARGET_APX_NDD && true))
9491 : return -1;
9492 : *pnum_clobbers = 1;
9493 : return 1233; /* *ashrhi3_1_zextsi */
9494 :
9495 : case 2:
9496 : if (
9497 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9498 : (TARGET_APX_NDD && TARGET_APX_NF))
9499 : return 1228; /* *ashrqi3_1_zextdi_nf */
9500 : if (pnum_clobbers == NULL
9501 : || !
9502 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9503 : (TARGET_APX_NDD && true))
9504 : return -1;
9505 : *pnum_clobbers = 1;
9506 : return 1229; /* *ashrqi3_1_zextdi */
9507 :
9508 : case 3:
9509 : if (
9510 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9511 : (TARGET_APX_NDD && TARGET_APX_NF))
9512 : return 1236; /* *ashrhi3_1_zextdi_nf */
9513 : if (pnum_clobbers == NULL
9514 : || !
9515 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9516 : (TARGET_APX_NDD && true))
9517 : return -1;
9518 : *pnum_clobbers = 1;
9519 : return 1237; /* *ashrhi3_1_zextdi */
9520 :
9521 : case 4:
9522 : if (!
9523 : #line 18451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9524 : (TARGET_64BIT
9525 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
9526 : return -1;
9527 : *pnum_clobbers = 1;
9528 : return 1239; /* *ashrsi3_1_zext */
9529 :
9530 : default:
9531 : return -1;
9532 : }
9533 :
9534 : case LSHIFTRT:
9535 : switch (pattern116 (x3))
9536 : {
9537 : case 0:
9538 : if (register_operand (operands[2], E_SImode)
9539 : &&
9540 : #line 18410 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9541 : (TARGET_64BIT && TARGET_BMI2))
9542 : return 1216; /* *bmi2_lshrsi3_1_zext */
9543 : if (pnum_clobbers == NULL
9544 : || !nonmemory_operand (operands[2], E_QImode)
9545 : || !
9546 : #line 18451 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9547 : (TARGET_64BIT
9548 : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
9549 : return -1;
9550 : *pnum_clobbers = 1;
9551 : return 1238; /* *lshrsi3_1_zext */
9552 :
9553 : case 1:
9554 : if (
9555 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9556 : (TARGET_APX_NDD && TARGET_APX_NF))
9557 : return 1226; /* *lshrqi3_1_zextdi_nf */
9558 : if (pnum_clobbers == NULL
9559 : || !
9560 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9561 : (TARGET_APX_NDD && true))
9562 : return -1;
9563 : *pnum_clobbers = 1;
9564 : return 1227; /* *lshrqi3_1_zextdi */
9565 :
9566 : case 2:
9567 : if (
9568 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9569 : (TARGET_APX_NDD && TARGET_APX_NF))
9570 : return 1234; /* *lshrhi3_1_zextdi_nf */
9571 : if (pnum_clobbers == NULL
9572 : || !
9573 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9574 : (TARGET_APX_NDD && true))
9575 : return -1;
9576 : *pnum_clobbers = 1;
9577 : return 1235; /* *lshrhi3_1_zextdi */
9578 :
9579 : case 3:
9580 : if (
9581 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9582 : (TARGET_APX_NDD && TARGET_APX_NF))
9583 : return 1222; /* *lshrqi3_1_zextsi_nf */
9584 : if (pnum_clobbers == NULL
9585 : || !
9586 : #line 18420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9587 : (TARGET_APX_NDD && true))
9588 : return -1;
9589 : *pnum_clobbers = 1;
9590 : return 1223; /* *lshrqi3_1_zextsi */
9591 :
9592 : case 4:
9593 : if (
9594 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9595 : (TARGET_APX_NDD && TARGET_APX_NF))
9596 : return 1230; /* *lshrhi3_1_zextsi_nf */
9597 : if (pnum_clobbers == NULL
9598 : || !
9599 : #line 18435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9600 : (TARGET_APX_NDD && true))
9601 : return -1;
9602 : *pnum_clobbers = 1;
9603 : return 1231; /* *lshrhi3_1_zextsi */
9604 :
9605 : default:
9606 : return -1;
9607 : }
9608 :
9609 : case ROTATERT:
9610 : switch (pattern116 (x3))
9611 : {
9612 : case 0:
9613 : if (const_0_to_31_operand (operands[2], E_QImode)
9614 : &&
9615 : #line 19516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9616 : (TARGET_64BIT && TARGET_BMI2 && !optimize_function_for_size_p (cfun)))
9617 : return 1382; /* *bmi2_rorxsi3_1_zext */
9618 : if (pnum_clobbers == NULL
9619 : || !nonmemory_operand (operands[2], E_QImode)
9620 : || !
9621 : #line 19557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9622 : (TARGET_64BIT && ix86_binary_operator_ok (ROTATERT, SImode, operands)))
9623 : return -1;
9624 : *pnum_clobbers = 1;
9625 : return 1404; /* *rotrsi3_1_zext */
9626 :
9627 : case 1:
9628 : if (
9629 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9630 : (TARGET_APX_NDD && TARGET_APX_NF))
9631 : return 1393; /* *rotrqi3_1_zextdi_nf */
9632 : if (pnum_clobbers == NULL
9633 : || !
9634 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9635 : (TARGET_APX_NDD && true))
9636 : return -1;
9637 : *pnum_clobbers = 1;
9638 : return 1394; /* *rotrqi3_1_zextdi */
9639 :
9640 : case 2:
9641 : if (
9642 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9643 : (TARGET_APX_NDD && TARGET_APX_NF))
9644 : return 1401; /* *rotrhi3_1_zextdi_nf */
9645 : if (pnum_clobbers == NULL
9646 : || !
9647 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9648 : (TARGET_APX_NDD && true))
9649 : return -1;
9650 : *pnum_clobbers = 1;
9651 : return 1402; /* *rotrhi3_1_zextdi */
9652 :
9653 : case 3:
9654 : if (
9655 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9656 : (TARGET_APX_NDD && TARGET_APX_NF))
9657 : return 1389; /* *rotrqi3_1_zextsi_nf */
9658 : if (pnum_clobbers == NULL
9659 : || !
9660 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9661 : (TARGET_APX_NDD && true))
9662 : return -1;
9663 : *pnum_clobbers = 1;
9664 : return 1390; /* *rotrqi3_1_zextsi */
9665 :
9666 : case 4:
9667 : if (
9668 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9669 : (TARGET_APX_NDD && TARGET_APX_NF))
9670 : return 1397; /* *rotrhi3_1_zextsi_nf */
9671 : if (pnum_clobbers == NULL
9672 : || !
9673 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9674 : (TARGET_APX_NDD && true))
9675 : return -1;
9676 : *pnum_clobbers = 1;
9677 : return 1398; /* *rotrhi3_1_zextsi */
9678 :
9679 : default:
9680 : return -1;
9681 : }
9682 :
9683 : case ROTATE:
9684 : x5 = XEXP (x4, 0);
9685 : operands[1] = x5;
9686 : switch (pattern285 (x3, pnum_clobbers))
9687 : {
9688 : case 0:
9689 : if (
9690 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9691 : (TARGET_APX_NDD && TARGET_APX_NF))
9692 : return 1387; /* *rotlqi3_1_zextsi_nf */
9693 : if (pnum_clobbers == NULL
9694 : || !
9695 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9696 : (TARGET_APX_NDD && true))
9697 : return -1;
9698 : *pnum_clobbers = 1;
9699 : return 1388; /* *rotlqi3_1_zextsi */
9700 :
9701 : case 1:
9702 : if (
9703 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9704 : (TARGET_APX_NDD && TARGET_APX_NF))
9705 : return 1395; /* *rotlhi3_1_zextsi_nf */
9706 : if (pnum_clobbers == NULL
9707 : || !
9708 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9709 : (TARGET_APX_NDD && true))
9710 : return -1;
9711 : *pnum_clobbers = 1;
9712 : return 1396; /* *rotlhi3_1_zextsi */
9713 :
9714 : case 2:
9715 : if (
9716 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9717 : (TARGET_APX_NDD && TARGET_APX_NF))
9718 : return 1391; /* *rotlqi3_1_zextdi_nf */
9719 : if (pnum_clobbers == NULL
9720 : || !
9721 : #line 19526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9722 : (TARGET_APX_NDD && true))
9723 : return -1;
9724 : *pnum_clobbers = 1;
9725 : return 1392; /* *rotlqi3_1_zextdi */
9726 :
9727 : case 3:
9728 : if (
9729 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9730 : (TARGET_APX_NDD && TARGET_APX_NF))
9731 : return 1399; /* *rotlhi3_1_zextdi_nf */
9732 : if (pnum_clobbers == NULL
9733 : || !
9734 : #line 19541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9735 : (TARGET_APX_NDD && true))
9736 : return -1;
9737 : *pnum_clobbers = 1;
9738 : return 1400; /* *rotlhi3_1_zextdi */
9739 :
9740 : case 4:
9741 : if (!
9742 : #line 19557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9743 : (TARGET_64BIT && ix86_binary_operator_ok (ROTATE, SImode, operands)))
9744 : return -1;
9745 : *pnum_clobbers = 1;
9746 : return 1403; /* *rotlsi3_1_zext */
9747 :
9748 : default:
9749 : return -1;
9750 : }
9751 :
9752 : case CTZ:
9753 : if (pattern117 (x3, pnum_clobbers,
9754 : E_SImode,
9755 : E_DImode) != 0
9756 : || !
9757 : #line 22178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9758 : (TARGET_64BIT))
9759 : return -1;
9760 : *pnum_clobbers = 1;
9761 : return 1551; /* *ctzsidi2_uext */
9762 :
9763 : case CLZ:
9764 : if (pattern117 (x3, pnum_clobbers,
9765 : E_SImode,
9766 : E_DImode) != 0
9767 : || !
9768 : #line 22621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9769 : (TARGET_LZCNT && TARGET_64BIT))
9770 : return -1;
9771 : *pnum_clobbers = 1;
9772 : return 1575; /* *clzsi2_lzcnt_zext_2 */
9773 :
9774 : case POPCOUNT:
9775 : if (pnum_clobbers == NULL)
9776 : return -1;
9777 : x5 = XEXP (x4, 0);
9778 : operands[1] = x5;
9779 : switch (GET_MODE (operands[0]))
9780 : {
9781 : case E_DImode:
9782 : if (pattern630 (x3,
9783 : E_DImode,
9784 : E_SImode) != 0
9785 : || !
9786 : #line 23460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9787 : (TARGET_POPCNT && TARGET_64BIT))
9788 : return -1;
9789 : *pnum_clobbers = 1;
9790 : return 1666; /* *popcountsi2_zext_2 */
9791 :
9792 : case E_SImode:
9793 : if (pattern630 (x3,
9794 : E_SImode,
9795 : E_HImode) != 0
9796 : || !
9797 : #line 23526 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9798 : (TARGET_POPCNT
9799 : && ix86_pre_reload_split ()))
9800 : return -1;
9801 : *pnum_clobbers = 1;
9802 : return 1669; /* *popcounthi2_2 */
9803 :
9804 : default:
9805 : return -1;
9806 : }
9807 :
9808 : case UNSPEC:
9809 : return recog_74 (x1, insn, pnum_clobbers);
9810 :
9811 : case IF_THEN_ELSE:
9812 : if (GET_MODE (x4) != E_SImode)
9813 : return -1;
9814 : x5 = XEXP (x4, 0);
9815 : if (!ix86_comparison_operator (x5, E_VOIDmode))
9816 : return -1;
9817 : operands[1] = x5;
9818 : x7 = XEXP (x5, 0);
9819 : if (GET_CODE (x7) != REG
9820 : || REGNO (x7) != 17)
9821 : return -1;
9822 : x8 = XEXP (x5, 1);
9823 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
9824 : || !nonimmediate_operand (operands[0], E_DImode)
9825 : || GET_MODE (x3) != E_DImode)
9826 : return -1;
9827 : x6 = XEXP (x4, 1);
9828 : operands[2] = x6;
9829 : if (!nonimmediate_operand (operands[2], E_SImode))
9830 : return -1;
9831 : x13 = XEXP (x4, 2);
9832 : operands[3] = x13;
9833 : if (!nonimmediate_operand (operands[3], E_SImode)
9834 : || !
9835 : #line 27504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9836 : (TARGET_64BIT
9837 : && TARGET_CMOVE && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9838 : return -1;
9839 : return 1839; /* *movsicc_noc_zext_1 */
9840 :
9841 : case VEC_SELECT:
9842 : return recog_78 (x1, insn, pnum_clobbers);
9843 :
9844 : case SUBREG:
9845 : if (pattern118 (x3) != 0
9846 : || !
9847 : #line 22657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9848 : (TARGET_SSE2 && ix86_pre_reload_split ()))
9849 : return -1;
9850 : return 8636; /* *sse2_pmovskb_zexthisi */
9851 :
9852 : default:
9853 : return -1;
9854 : }
9855 : }
9856 :
9857 : int
9858 : recog_108 (rtx x1 ATTRIBUTE_UNUSED,
9859 : rtx_insn *insn ATTRIBUTE_UNUSED,
9860 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9861 : {
9862 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9863 : rtx x2, x3, x4, x5, x6, x7, x8;
9864 : int res ATTRIBUTE_UNUSED;
9865 : x2 = XEXP (x1, 0);
9866 : if (GET_CODE (x2) == SUBREG
9867 : && known_eq (SUBREG_BYTE (x2), 0))
9868 : {
9869 : x3 = XEXP (x2, 0);
9870 : operands[0] = x3;
9871 : if (register_operand (operands[0], E_QImode))
9872 : {
9873 : x4 = XEXP (x1, 1);
9874 : x5 = XEXP (x4, 2);
9875 : operands[2] = x5;
9876 : if (register_operand (operands[2], E_QImode))
9877 : {
9878 : switch (GET_MODE (x2))
9879 : {
9880 : case E_SImode:
9881 : if (GET_MODE (x4) == E_SImode
9882 : && nonimmediate_operand (operands[1], E_SImode)
9883 : &&
9884 : #line 20322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9885 : (TARGET_USE_BT && ix86_pre_reload_split ()))
9886 : {
9887 : *pnum_clobbers = 1;
9888 : return 1464; /* *btsi_setcqi */
9889 : }
9890 : break;
9891 :
9892 : case E_DImode:
9893 : if (GET_MODE (x4) == E_DImode
9894 : && nonimmediate_operand (operands[1], E_DImode)
9895 : && (
9896 : #line 20322 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9897 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
9898 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9899 : (TARGET_64BIT)))
9900 : {
9901 : *pnum_clobbers = 1;
9902 : return 1465; /* *btdi_setcqi */
9903 : }
9904 : break;
9905 :
9906 : default:
9907 : break;
9908 : }
9909 : }
9910 : }
9911 : }
9912 : x4 = XEXP (x1, 1);
9913 : x5 = XEXP (x4, 2);
9914 : if (GET_CODE (x5) != SUBREG
9915 : || maybe_ne (SUBREG_BYTE (x5), 0)
9916 : || GET_MODE (x5) != E_QImode)
9917 : return -1;
9918 : x6 = XEXP (x5, 0);
9919 : if (GET_CODE (x6) != AND)
9920 : return -1;
9921 : operands[0] = x2;
9922 : x7 = XEXP (x6, 0);
9923 : operands[2] = x7;
9924 : if (!int248_register_operand (operands[2], E_VOIDmode))
9925 : return -1;
9926 : x8 = XEXP (x6, 1);
9927 : operands[3] = x8;
9928 : if (!const_int_operand (operands[3], E_VOIDmode))
9929 : return -1;
9930 : switch (pattern132 (x4))
9931 : {
9932 : case 0:
9933 : if (!
9934 : #line 20403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9935 : (TARGET_USE_BT
9936 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
9937 : == GET_MODE_BITSIZE (SImode)-1
9938 : && ix86_pre_reload_split ()))
9939 : return -1;
9940 : *pnum_clobbers = 1;
9941 : return 1472; /* *btsi_setcsi_mask */
9942 :
9943 : case 1:
9944 : if (!(
9945 : #line 20403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9946 : (TARGET_USE_BT
9947 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
9948 : == GET_MODE_BITSIZE (DImode)-1
9949 : && ix86_pre_reload_split ()) &&
9950 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9951 : (TARGET_64BIT)))
9952 : return -1;
9953 : *pnum_clobbers = 1;
9954 : return 1473; /* *btdi_setcdi_mask */
9955 :
9956 : default:
9957 : return -1;
9958 : }
9959 : }
9960 :
9961 : int
9962 : recog_111 (rtx x1 ATTRIBUTE_UNUSED,
9963 : rtx_insn *insn ATTRIBUTE_UNUSED,
9964 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9965 : {
9966 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9967 : rtx x2, x3, x4, x5;
9968 : int res ATTRIBUTE_UNUSED;
9969 : x2 = XEXP (x1, 1);
9970 : if (GET_MODE (x2) != E_SImode)
9971 : return -1;
9972 : x3 = XEXP (x1, 0);
9973 : operands[0] = x3;
9974 : if (!register_operand (operands[0], E_SImode))
9975 : return -1;
9976 : x4 = XVECEXP (x2, 0, 0);
9977 : switch (GET_CODE (x4))
9978 : {
9979 : case REG:
9980 : case SUBREG:
9981 : operands[1] = x4;
9982 : switch (GET_MODE (operands[1]))
9983 : {
9984 : case E_DFmode:
9985 : if (register_operand (operands[1], E_DFmode)
9986 : &&
9987 : #line 26546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9988 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
9989 : return 1791; /* movmsk_df */
9990 : break;
9991 :
9992 : case E_V8QImode:
9993 : if (register_operand (operands[1], E_V8QImode)
9994 : &&
9995 : #line 6881 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9996 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9997 : && (TARGET_SSE || TARGET_3DNOW_A)))
9998 : return 2438; /* mmx_pmovmskb */
9999 : break;
10000 :
10001 : case E_V8SFmode:
10002 : if (register_operand (operands[1], E_V8SFmode)
10003 : && (
10004 : #line 22447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10005 : (TARGET_SSE) &&
10006 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10007 : (TARGET_AVX)))
10008 : return 8583; /* avx_movmskps256 */
10009 : break;
10010 :
10011 : case E_V4SFmode:
10012 : if (register_operand (operands[1], E_V4SFmode)
10013 : &&
10014 : #line 22447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10015 : (TARGET_SSE))
10016 : return 8584; /* sse_movmskps */
10017 : break;
10018 :
10019 : case E_V4DFmode:
10020 : if (register_operand (operands[1], E_V4DFmode)
10021 : && (
10022 : #line 22447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10023 : (TARGET_SSE) &&
10024 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10025 : (TARGET_AVX)))
10026 : return 8585; /* avx_movmskpd256 */
10027 : break;
10028 :
10029 : case E_V2DFmode:
10030 : if (register_operand (operands[1], E_V2DFmode)
10031 : && (
10032 : #line 22447 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10033 : (TARGET_SSE) &&
10034 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10035 : (TARGET_SSE2)))
10036 : return 8586; /* sse2_movmskpd */
10037 : break;
10038 :
10039 : case E_V32QImode:
10040 : if (register_operand (operands[1], E_V32QImode)
10041 : && (
10042 : #line 22599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10043 : (TARGET_SSE2) &&
10044 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10045 : (TARGET_AVX2)))
10046 : return 8631; /* avx2_pmovmskb */
10047 : break;
10048 :
10049 : case E_V16QImode:
10050 : if (register_operand (operands[1], E_V16QImode)
10051 : &&
10052 : #line 22599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10053 : (TARGET_SSE2))
10054 : return 8632; /* sse2_pmovmskb */
10055 : break;
10056 :
10057 : default:
10058 : break;
10059 : }
10060 : if (GET_CODE (x4) != SUBREG
10061 : || maybe_ne (SUBREG_BYTE (x4), 0))
10062 : return -1;
10063 : x5 = XEXP (x4, 0);
10064 : switch (GET_CODE (x5))
10065 : {
10066 : case VEC_MERGE:
10067 : switch (pattern1108 (x4))
10068 : {
10069 : case 0:
10070 : if (!(
10071 : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10072 : (TARGET_SSE) &&
10073 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10074 : (TARGET_AVX)))
10075 : return -1;
10076 : return 8599; /* *avx_movmskps256_lt_avx512 */
10077 :
10078 : case 1:
10079 : if (!
10080 : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10081 : (TARGET_SSE))
10082 : return -1;
10083 : return 8600; /* *sse_movmskps_lt_avx512 */
10084 :
10085 : case 2:
10086 : if (!(
10087 : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10088 : (TARGET_SSE) &&
10089 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10090 : (TARGET_AVX)))
10091 : return -1;
10092 : return 8601; /* *avx_movmskpd256_lt_avx512 */
10093 :
10094 : case 3:
10095 : if (!(
10096 : #line 22500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10097 : (TARGET_SSE) &&
10098 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10099 : (TARGET_SSE2)))
10100 : return -1;
10101 : return 8602; /* *sse2_movmskpd_lt_avx512 */
10102 :
10103 : default:
10104 : return -1;
10105 : }
10106 :
10107 : case ASHIFTRT:
10108 : switch (pattern1109 (x4))
10109 : {
10110 : case 0:
10111 : if (!(
10112 : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10113 : (TARGET_SSE) &&
10114 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10115 : (TARGET_AVX)))
10116 : return -1;
10117 : return 8619; /* *avx_movmskps256_shift */
10118 :
10119 : case 1:
10120 : if (!
10121 : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10122 : (TARGET_SSE))
10123 : return -1;
10124 : return 8620; /* *sse_movmskps_shift */
10125 :
10126 : case 2:
10127 : if (!(
10128 : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10129 : (TARGET_SSE) &&
10130 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10131 : (TARGET_AVX)))
10132 : return -1;
10133 : return 8621; /* *avx_movmskpd256_shift */
10134 :
10135 : case 3:
10136 : if (!(
10137 : #line 22563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10138 : (TARGET_SSE) &&
10139 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10140 : (TARGET_SSE2)))
10141 : return -1;
10142 : return 8622; /* *sse2_movmskpd_shift */
10143 :
10144 : default:
10145 : return -1;
10146 : }
10147 :
10148 : default:
10149 : return -1;
10150 : }
10151 :
10152 : case LT:
10153 : switch (pattern771 (x4))
10154 : {
10155 : case 0:
10156 : if (!(
10157 : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10158 : (TARGET_SSE) &&
10159 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10160 : (TARGET_AVX)))
10161 : return -1;
10162 : return 8595; /* *avx_movmskps256_lt */
10163 :
10164 : case 1:
10165 : if (!
10166 : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10167 : (TARGET_SSE))
10168 : return -1;
10169 : return 8596; /* *sse_movmskps_lt */
10170 :
10171 : case 2:
10172 : if (!(
10173 : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10174 : (TARGET_SSE) &&
10175 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10176 : (TARGET_AVX)))
10177 : return -1;
10178 : return 8597; /* *avx_movmskpd256_lt */
10179 :
10180 : case 3:
10181 : if (!(
10182 : #line 22476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10183 : (TARGET_SSE) &&
10184 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10185 : (TARGET_SSE2)))
10186 : return -1;
10187 : return 8598; /* *sse2_movmskpd_lt */
10188 :
10189 : case 4:
10190 : if (!(
10191 : #line 22731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10192 : (TARGET_SSE2) &&
10193 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10194 : (TARGET_AVX2)))
10195 : return -1;
10196 : return 8637; /* *avx2_pmovmskb_lt */
10197 :
10198 : case 5:
10199 : if (!
10200 : #line 22731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10201 : (TARGET_SSE2))
10202 : return -1;
10203 : return 8638; /* *sse2_pmovmskb_lt */
10204 :
10205 : default:
10206 : return -1;
10207 : }
10208 :
10209 : case VEC_MERGE:
10210 : switch (pattern773 (x4))
10211 : {
10212 : case 0:
10213 : if (!(
10214 : #line 22759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10215 : (TARGET_SSE2) &&
10216 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10217 : (TARGET_AVX2)))
10218 : return -1;
10219 : return 8639; /* *avx2_pmovmskb_lt_avx512 */
10220 :
10221 : case 1:
10222 : if (!
10223 : #line 22759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10224 : (TARGET_SSE2))
10225 : return -1;
10226 : return 8640; /* *sse2_pmovmskb_lt_avx512 */
10227 :
10228 : case 2:
10229 : if (!
10230 : #line 22887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10231 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10232 : return -1;
10233 : return 8648; /* *pmovsk_kmask_v16qi_avx512 */
10234 :
10235 : case 3:
10236 : if (!
10237 : #line 22901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10238 : (TARGET_SSE2 && ix86_pre_reload_split ()))
10239 : return -1;
10240 : return 8649; /* *pmovsk_mask_v32qi_avx512 */
10241 :
10242 : default:
10243 : return -1;
10244 : }
10245 :
10246 : default:
10247 : return -1;
10248 : }
10249 : }
10250 :
10251 : int
10252 : recog_125 (rtx x1 ATTRIBUTE_UNUSED,
10253 : rtx_insn *insn ATTRIBUTE_UNUSED,
10254 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10255 : {
10256 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10257 : rtx x2, x3, x4, x5, x6;
10258 : int res ATTRIBUTE_UNUSED;
10259 : x2 = XEXP (x1, 1);
10260 : x3 = XEXP (x2, 0);
10261 : x4 = XVECEXP (x3, 0, 0);
10262 : operands[1] = x4;
10263 : x5 = XEXP (x2, 2);
10264 : switch (GET_CODE (x5))
10265 : {
10266 : case REG:
10267 : case SUBREG:
10268 : operands[3] = x5;
10269 : switch (GET_MODE (operands[0]))
10270 : {
10271 : case E_V16SImode:
10272 : if (pattern1006 (x2,
10273 : E_V16SImode,
10274 : E_HImode) != 0
10275 : || !
10276 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10277 : (TARGET_AVX512F))
10278 : return -1;
10279 : return 2503; /* *avx512f_loadv16si_mask */
10280 :
10281 : case E_V8SImode:
10282 : if (pattern1006 (x2,
10283 : E_V8SImode,
10284 : E_QImode) != 0
10285 : || !(
10286 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10287 : (TARGET_AVX512F) &&
10288 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10289 : (TARGET_AVX512VL)))
10290 : return -1;
10291 : return 2504; /* *avx512vl_loadv8si_mask */
10292 :
10293 : case E_V4SImode:
10294 : if (pattern1006 (x2,
10295 : E_V4SImode,
10296 : E_QImode) != 0
10297 : || !(
10298 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10299 : (TARGET_AVX512F) &&
10300 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10301 : (TARGET_AVX512VL)))
10302 : return -1;
10303 : return 2505; /* *avx512vl_loadv4si_mask */
10304 :
10305 : case E_V8DImode:
10306 : if (pattern1006 (x2,
10307 : E_V8DImode,
10308 : E_QImode) != 0
10309 : || !
10310 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10311 : (TARGET_AVX512F))
10312 : return -1;
10313 : return 2506; /* *avx512f_loadv8di_mask */
10314 :
10315 : case E_V4DImode:
10316 : if (pattern1006 (x2,
10317 : E_V4DImode,
10318 : E_QImode) != 0
10319 : || !(
10320 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10321 : (TARGET_AVX512F) &&
10322 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10323 : (TARGET_AVX512VL)))
10324 : return -1;
10325 : return 2507; /* *avx512vl_loadv4di_mask */
10326 :
10327 : case E_V2DImode:
10328 : if (pattern1006 (x2,
10329 : E_V2DImode,
10330 : E_QImode) != 0
10331 : || !(
10332 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10333 : (TARGET_AVX512F) &&
10334 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10335 : (TARGET_AVX512VL)))
10336 : return -1;
10337 : return 2508; /* *avx512vl_loadv2di_mask */
10338 :
10339 : case E_V16SFmode:
10340 : if (pattern1006 (x2,
10341 : E_V16SFmode,
10342 : E_HImode) != 0
10343 : || !
10344 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10345 : (TARGET_AVX512F))
10346 : return -1;
10347 : return 2509; /* *avx512f_loadv16sf_mask */
10348 :
10349 : case E_V8SFmode:
10350 : if (pattern1006 (x2,
10351 : E_V8SFmode,
10352 : E_QImode) != 0
10353 : || !(
10354 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10355 : (TARGET_AVX512F) &&
10356 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10357 : (TARGET_AVX512VL)))
10358 : return -1;
10359 : return 2510; /* *avx512vl_loadv8sf_mask */
10360 :
10361 : case E_V4SFmode:
10362 : if (pattern1006 (x2,
10363 : E_V4SFmode,
10364 : E_QImode) != 0
10365 : || !(
10366 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10367 : (TARGET_AVX512F) &&
10368 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10369 : (TARGET_AVX512VL)))
10370 : return -1;
10371 : return 2511; /* *avx512vl_loadv4sf_mask */
10372 :
10373 : case E_V8DFmode:
10374 : if (pattern1006 (x2,
10375 : E_V8DFmode,
10376 : E_QImode) != 0
10377 : || !
10378 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10379 : (TARGET_AVX512F))
10380 : return -1;
10381 : return 2512; /* *avx512f_loadv8df_mask */
10382 :
10383 : case E_V4DFmode:
10384 : if (pattern1006 (x2,
10385 : E_V4DFmode,
10386 : E_QImode) != 0
10387 : || !(
10388 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10389 : (TARGET_AVX512F) &&
10390 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10391 : (TARGET_AVX512VL)))
10392 : return -1;
10393 : return 2513; /* *avx512vl_loadv4df_mask */
10394 :
10395 : case E_V2DFmode:
10396 : if (pattern1006 (x2,
10397 : E_V2DFmode,
10398 : E_QImode) != 0
10399 : || !(
10400 : #line 1593 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10401 : (TARGET_AVX512F) &&
10402 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10403 : (TARGET_AVX512VL)))
10404 : return -1;
10405 : return 2514; /* *avx512vl_loadv2df_mask */
10406 :
10407 : case E_V64QImode:
10408 : if (pattern1006 (x2,
10409 : E_V64QImode,
10410 : E_DImode) != 0
10411 : || !
10412 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10413 : (TARGET_AVX512BW))
10414 : return -1;
10415 : return 2533; /* *avx512bw_loadv64qi_mask */
10416 :
10417 : case E_V16QImode:
10418 : if (pattern1006 (x2,
10419 : E_V16QImode,
10420 : E_HImode) != 0
10421 : || !(
10422 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10423 : (TARGET_AVX512BW) &&
10424 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10425 : (TARGET_AVX512VL)))
10426 : return -1;
10427 : return 2534; /* *avx512vl_loadv16qi_mask */
10428 :
10429 : case E_V32QImode:
10430 : if (pattern1006 (x2,
10431 : E_V32QImode,
10432 : E_SImode) != 0
10433 : || !(
10434 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10435 : (TARGET_AVX512BW) &&
10436 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10437 : (TARGET_AVX512VL)))
10438 : return -1;
10439 : return 2535; /* *avx512vl_loadv32qi_mask */
10440 :
10441 : case E_V32HImode:
10442 : if (pattern1006 (x2,
10443 : E_V32HImode,
10444 : E_SImode) != 0
10445 : || !
10446 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10447 : (TARGET_AVX512BW))
10448 : return -1;
10449 : return 2536; /* *avx512bw_loadv32hi_mask */
10450 :
10451 : case E_V16HImode:
10452 : if (pattern1006 (x2,
10453 : E_V16HImode,
10454 : E_HImode) != 0
10455 : || !(
10456 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10457 : (TARGET_AVX512BW) &&
10458 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10459 : (TARGET_AVX512VL)))
10460 : return -1;
10461 : return 2537; /* *avx512vl_loadv16hi_mask */
10462 :
10463 : case E_V8HImode:
10464 : if (pattern1006 (x2,
10465 : E_V8HImode,
10466 : E_QImode) != 0
10467 : || !(
10468 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10469 : (TARGET_AVX512BW) &&
10470 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10471 : (TARGET_AVX512VL)))
10472 : return -1;
10473 : return 2538; /* *avx512vl_loadv8hi_mask */
10474 :
10475 : case E_V32HFmode:
10476 : if (pattern1006 (x2,
10477 : E_V32HFmode,
10478 : E_SImode) != 0
10479 : || !
10480 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10481 : (TARGET_AVX512BW))
10482 : return -1;
10483 : return 2539; /* *avx512bw_loadv32hf_mask */
10484 :
10485 : case E_V16HFmode:
10486 : if (pattern1006 (x2,
10487 : E_V16HFmode,
10488 : E_HImode) != 0
10489 : || !(
10490 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10491 : (TARGET_AVX512BW) &&
10492 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10493 : (TARGET_AVX512VL)))
10494 : return -1;
10495 : return 2540; /* *avx512vl_loadv16hf_mask */
10496 :
10497 : case E_V8HFmode:
10498 : if (pattern1006 (x2,
10499 : E_V8HFmode,
10500 : E_QImode) != 0
10501 : || !(
10502 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10503 : (TARGET_AVX512BW) &&
10504 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10505 : (TARGET_AVX512VL)))
10506 : return -1;
10507 : return 2541; /* *avx512fp16_loadv8hf_mask */
10508 :
10509 : case E_V32BFmode:
10510 : if (pattern1006 (x2,
10511 : E_V32BFmode,
10512 : E_SImode) != 0
10513 : || !
10514 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10515 : (TARGET_AVX512BW))
10516 : return -1;
10517 : return 2542; /* *avx512bw_loadv32bf_mask */
10518 :
10519 : case E_V16BFmode:
10520 : if (pattern1006 (x2,
10521 : E_V16BFmode,
10522 : E_HImode) != 0
10523 : || !(
10524 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10525 : (TARGET_AVX512BW) &&
10526 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10527 : (TARGET_AVX512VL)))
10528 : return -1;
10529 : return 2543; /* *avx512vl_loadv16bf_mask */
10530 :
10531 : case E_V8BFmode:
10532 : if (pattern1006 (x2,
10533 : E_V8BFmode,
10534 : E_QImode) != 0
10535 : || !(
10536 : #line 1690 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10537 : (TARGET_AVX512BW) &&
10538 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10539 : (TARGET_AVX512VL)))
10540 : return -1;
10541 : return 2544; /* *avx512vl_loadv8bf_mask */
10542 :
10543 : default:
10544 : return -1;
10545 : }
10546 :
10547 : case AND:
10548 : if (GET_MODE (x5) != E_QImode)
10549 : return -1;
10550 : x6 = XEXP (x5, 1);
10551 : if (GET_CODE (x6) != CONST_INT)
10552 : return -1;
10553 : switch (pattern1113 (x2))
10554 : {
10555 : case 0:
10556 : if (!(
10557 : #line 1634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10558 : (TARGET_AVX512F) &&
10559 : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10560 : (TARGET_AVX512VL)))
10561 : return -1;
10562 : return 2527; /* *avx512vl_loadv4sfmask_and15 */
10563 :
10564 : case 1:
10565 : if (!(
10566 : #line 1634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10567 : (TARGET_AVX512F) &&
10568 : #line 521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10569 : (TARGET_AVX512VL)))
10570 : return -1;
10571 : return 2528; /* *avx512vl_loadv4dfmask_and15 */
10572 :
10573 : case 2:
10574 : if (!(
10575 : #line 1634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10576 : (TARGET_AVX512F) &&
10577 : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10578 : (TARGET_AVX512VL)))
10579 : return -1;
10580 : return 2529; /* *avx512vl_loadv4simask_and15 */
10581 :
10582 : case 3:
10583 : if (!(
10584 : #line 1634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10585 : (TARGET_AVX512F) &&
10586 : #line 522 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10587 : (TARGET_AVX512VL)))
10588 : return -1;
10589 : return 2530; /* *avx512vl_loadv4dimask_and15 */
10590 :
10591 : case 4:
10592 : if (!(
10593 : #line 1653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10594 : (TARGET_AVX512F) &&
10595 : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10596 : (TARGET_AVX512VL)))
10597 : return -1;
10598 : return 2531; /* *avx512vl_loadv2dfmask_and3 */
10599 :
10600 : case 5:
10601 : if (!(
10602 : #line 1653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10603 : (TARGET_AVX512F) &&
10604 : #line 528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10605 : (TARGET_AVX512VL)))
10606 : return -1;
10607 : return 2532; /* *avx512vl_loadv2dimask_and3 */
10608 :
10609 : default:
10610 : return -1;
10611 : }
10612 :
10613 : default:
10614 : return -1;
10615 : }
10616 : }
10617 :
10618 : int
10619 : recog_131 (rtx x1 ATTRIBUTE_UNUSED,
10620 : rtx_insn *insn ATTRIBUTE_UNUSED,
10621 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10622 : {
10623 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10624 : rtx x2, x3, x4, x5;
10625 : int res ATTRIBUTE_UNUSED;
10626 : x2 = XEXP (x1, 1);
10627 : x3 = XEXP (x2, 0);
10628 : x4 = XVECEXP (x3, 0, 0);
10629 : operands[1] = x4;
10630 : x5 = XEXP (x2, 2);
10631 : operands[3] = x5;
10632 : switch (GET_MODE (operands[0]))
10633 : {
10634 : case E_V32HFmode:
10635 : if (pattern1004 (x2,
10636 : E_V32HFmode,
10637 : E_SImode) != 0
10638 : || !(
10639 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10640 : (TARGET_AVX512F) && (
10641 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10642 : (TARGET_AVX512F) &&
10643 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10644 : (TARGET_AVX512FP16))))
10645 : return -1;
10646 : return 7064; /* avx512bw_getexpv32hf_mask */
10647 :
10648 : case E_V16HFmode:
10649 : if (pattern1004 (x2,
10650 : E_V16HFmode,
10651 : E_HImode) != 0
10652 : || !(
10653 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10654 : (TARGET_AVX512F) && (
10655 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10656 : (TARGET_AVX512F) &&
10657 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10658 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10659 : return -1;
10660 : return 7068; /* avx512vl_getexpv16hf_mask */
10661 :
10662 : case E_V8HFmode:
10663 : if (pattern1004 (x2,
10664 : E_V8HFmode,
10665 : E_QImode) != 0
10666 : || !(
10667 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10668 : (TARGET_AVX512F) && (
10669 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10670 : (TARGET_AVX512F) &&
10671 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10672 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10673 : return -1;
10674 : return 7072; /* avx512fp16_getexpv8hf_mask */
10675 :
10676 : case E_V16SFmode:
10677 : if (pattern1004 (x2,
10678 : E_V16SFmode,
10679 : E_HImode) != 0
10680 : || !
10681 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10682 : (TARGET_AVX512F))
10683 : return -1;
10684 : return 7076; /* avx512f_getexpv16sf_mask */
10685 :
10686 : case E_V8SFmode:
10687 : if (pattern1004 (x2,
10688 : E_V8SFmode,
10689 : E_QImode) != 0
10690 : || !(
10691 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10692 : (TARGET_AVX512F) && (
10693 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10694 : (TARGET_AVX512F) &&
10695 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10696 : (TARGET_AVX512VL))))
10697 : return -1;
10698 : return 7080; /* avx512vl_getexpv8sf_mask */
10699 :
10700 : case E_V4SFmode:
10701 : if (pattern1004 (x2,
10702 : E_V4SFmode,
10703 : E_QImode) != 0
10704 : || !(
10705 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10706 : (TARGET_AVX512F) && (
10707 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10708 : (TARGET_AVX512F) &&
10709 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10710 : (TARGET_AVX512VL))))
10711 : return -1;
10712 : return 7084; /* avx512vl_getexpv4sf_mask */
10713 :
10714 : case E_V8DFmode:
10715 : if (pattern1004 (x2,
10716 : E_V8DFmode,
10717 : E_QImode) != 0
10718 : || !
10719 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10720 : (TARGET_AVX512F))
10721 : return -1;
10722 : return 7088; /* avx512f_getexpv8df_mask */
10723 :
10724 : case E_V4DFmode:
10725 : if (pattern1004 (x2,
10726 : E_V4DFmode,
10727 : E_QImode) != 0
10728 : || !(
10729 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10730 : (TARGET_AVX512F) && (
10731 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10732 : (TARGET_AVX512F) &&
10733 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10734 : (TARGET_AVX512VL))))
10735 : return -1;
10736 : return 7092; /* avx512vl_getexpv4df_mask */
10737 :
10738 : case E_V2DFmode:
10739 : if (pattern1004 (x2,
10740 : E_V2DFmode,
10741 : E_QImode) != 0
10742 : || !(
10743 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10744 : (TARGET_AVX512F) && (
10745 : #line 14432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10746 : (TARGET_AVX512F) &&
10747 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10748 : (TARGET_AVX512VL))))
10749 : return -1;
10750 : return 7096; /* avx512vl_getexpv2df_mask */
10751 :
10752 : case E_V32BFmode:
10753 : if (pattern640 (x2,
10754 : E_V32BFmode,
10755 : E_SImode) != 0
10756 : || !(
10757 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10758 : (TARGET_AVX512F) &&
10759 : #line 33491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10760 : (TARGET_AVX10_2)))
10761 : return -1;
10762 : return 10799; /* avx10_2_getexpbf16_v32bf_mask */
10763 :
10764 : case E_V16BFmode:
10765 : if (pattern640 (x2,
10766 : E_V16BFmode,
10767 : E_HImode) != 0
10768 : || !(
10769 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10770 : (TARGET_AVX512F) &&
10771 : #line 33491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10772 : (TARGET_AVX10_2)))
10773 : return -1;
10774 : return 10801; /* avx10_2_getexpbf16_v16bf_mask */
10775 :
10776 : case E_V8BFmode:
10777 : if (pattern640 (x2,
10778 : E_V8BFmode,
10779 : E_QImode) != 0
10780 : || !(
10781 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10782 : (TARGET_AVX512F) &&
10783 : #line 33491 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10784 : (TARGET_AVX10_2)))
10785 : return -1;
10786 : return 10803; /* avx10_2_getexpbf16_v8bf_mask */
10787 :
10788 : default:
10789 : return -1;
10790 : }
10791 : }
10792 :
10793 : int
10794 : recog_138 (rtx x1 ATTRIBUTE_UNUSED,
10795 : rtx_insn *insn ATTRIBUTE_UNUSED,
10796 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10797 : {
10798 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10799 : rtx x2, x3, x4, x5, x6, x7, x8;
10800 : int res ATTRIBUTE_UNUSED;
10801 : x2 = XEXP (x1, 1);
10802 : x3 = XEXP (x2, 0);
10803 : x4 = XVECEXP (x3, 0, 0);
10804 : operands[1] = x4;
10805 : x5 = XVECEXP (x3, 0, 1);
10806 : operands[2] = x5;
10807 : x6 = XVECEXP (x3, 0, 2);
10808 : operands[3] = x6;
10809 : if (!const_0_to_255_operand (operands[3], E_SImode))
10810 : return -1;
10811 : x7 = XEXP (x2, 2);
10812 : switch (GET_CODE (x7))
10813 : {
10814 : case REG:
10815 : case SUBREG:
10816 : operands[5] = x7;
10817 : x8 = XEXP (x2, 1);
10818 : operands[4] = x8;
10819 : switch (GET_MODE (operands[0]))
10820 : {
10821 : case E_V32HFmode:
10822 : if (pattern477 (x2,
10823 : E_V32HFmode,
10824 : E_SImode) != 0
10825 : || !(
10826 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10827 : (TARGET_AVX512F) && (
10828 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10829 : (TARGET_AVX10_2) &&
10830 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10831 : (TARGET_AVX512FP16))))
10832 : return -1;
10833 : return 11010; /* avx10_2_minmaxpv32hf_mask */
10834 :
10835 : case E_V16HFmode:
10836 : if (pattern477 (x2,
10837 : E_V16HFmode,
10838 : E_HImode) != 0
10839 : || !(
10840 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10841 : (TARGET_AVX512F) && (
10842 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10843 : (TARGET_AVX10_2) &&
10844 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10845 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10846 : return -1;
10847 : return 11014; /* avx10_2_minmaxpv16hf_mask */
10848 :
10849 : case E_V8HFmode:
10850 : if (pattern477 (x2,
10851 : E_V8HFmode,
10852 : E_QImode) != 0
10853 : || !(
10854 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10855 : (TARGET_AVX512F) && (
10856 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10857 : (TARGET_AVX10_2) &&
10858 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10859 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
10860 : return -1;
10861 : return 11018; /* avx10_2_minmaxpv8hf_mask */
10862 :
10863 : case E_V16SFmode:
10864 : if (pattern477 (x2,
10865 : E_V16SFmode,
10866 : E_HImode) != 0
10867 : || !(
10868 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10869 : (TARGET_AVX512F) &&
10870 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10871 : (TARGET_AVX10_2)))
10872 : return -1;
10873 : return 11022; /* avx10_2_minmaxpv16sf_mask */
10874 :
10875 : case E_V8SFmode:
10876 : if (pattern477 (x2,
10877 : E_V8SFmode,
10878 : E_QImode) != 0
10879 : || !(
10880 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10881 : (TARGET_AVX512F) && (
10882 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10883 : (TARGET_AVX10_2) &&
10884 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10885 : (TARGET_AVX512VL))))
10886 : return -1;
10887 : return 11026; /* avx10_2_minmaxpv8sf_mask */
10888 :
10889 : case E_V4SFmode:
10890 : if (pattern477 (x2,
10891 : E_V4SFmode,
10892 : E_QImode) != 0
10893 : || !(
10894 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10895 : (TARGET_AVX512F) && (
10896 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10897 : (TARGET_AVX10_2) &&
10898 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10899 : (TARGET_AVX512VL))))
10900 : return -1;
10901 : return 11030; /* avx10_2_minmaxpv4sf_mask */
10902 :
10903 : case E_V8DFmode:
10904 : if (pattern477 (x2,
10905 : E_V8DFmode,
10906 : E_QImode) != 0
10907 : || !(
10908 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10909 : (TARGET_AVX512F) &&
10910 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10911 : (TARGET_AVX10_2)))
10912 : return -1;
10913 : return 11034; /* avx10_2_minmaxpv8df_mask */
10914 :
10915 : case E_V4DFmode:
10916 : if (pattern477 (x2,
10917 : E_V4DFmode,
10918 : E_QImode) != 0
10919 : || !(
10920 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10921 : (TARGET_AVX512F) && (
10922 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10923 : (TARGET_AVX10_2) &&
10924 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10925 : (TARGET_AVX512VL))))
10926 : return -1;
10927 : return 11038; /* avx10_2_minmaxpv4df_mask */
10928 :
10929 : case E_V2DFmode:
10930 : if (pattern477 (x2,
10931 : E_V2DFmode,
10932 : E_QImode) != 0
10933 : || !(
10934 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10935 : (TARGET_AVX512F) && (
10936 : #line 33726 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10937 : (TARGET_AVX10_2) &&
10938 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10939 : (TARGET_AVX512VL))))
10940 : return -1;
10941 : return 11042; /* avx10_2_minmaxpv2df_mask */
10942 :
10943 : default:
10944 : return -1;
10945 : }
10946 :
10947 : case CONST_INT:
10948 : if (XWINT (x7, 0) != 1L)
10949 : return -1;
10950 : switch (pattern462 (x2))
10951 : {
10952 : case 0:
10953 : if (!(
10954 : #line 33741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10955 : (TARGET_AVX10_2) &&
10956 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10957 : (TARGET_AVX512FP16)))
10958 : return -1;
10959 : return 11044; /* avx10_2_minmaxsv8hf */
10960 :
10961 : case 1:
10962 : if (!
10963 : #line 33741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10964 : (TARGET_AVX10_2))
10965 : return -1;
10966 : return 11048; /* avx10_2_minmaxsv4sf */
10967 :
10968 : case 2:
10969 : if (!(
10970 : #line 33741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10971 : (TARGET_AVX10_2) &&
10972 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10973 : (TARGET_SSE2)))
10974 : return -1;
10975 : return 11052; /* avx10_2_minmaxsv2df */
10976 :
10977 : default:
10978 : return -1;
10979 : }
10980 :
10981 : default:
10982 : return -1;
10983 : }
10984 : }
10985 :
10986 : int
10987 : recog_146 (rtx x1 ATTRIBUTE_UNUSED,
10988 : rtx_insn *insn ATTRIBUTE_UNUSED,
10989 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10990 : {
10991 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10992 : rtx x2;
10993 : int res ATTRIBUTE_UNUSED;
10994 : x2 = XEXP (x1, 1);
10995 : switch (pattern483 (x2))
10996 : {
10997 : case 0:
10998 : if (!(
10999 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11000 : (TARGET_AVX512F) &&
11001 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11002 : (TARGET_AVX512VBMI2)))
11003 : return -1;
11004 : return 10306; /* vpshld_v32hi_mask */
11005 :
11006 : case 1:
11007 : if (!(
11008 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11009 : (TARGET_AVX512F) &&
11010 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11011 : (TARGET_AVX512VBMI2)))
11012 : return -1;
11013 : return 10308; /* vpshld_v16si_mask */
11014 :
11015 : case 2:
11016 : if (!(
11017 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11018 : (TARGET_AVX512F) &&
11019 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11020 : (TARGET_AVX512VBMI2)))
11021 : return -1;
11022 : return 10310; /* vpshld_v8di_mask */
11023 :
11024 : case 3:
11025 : if (!(
11026 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11027 : (TARGET_AVX512F) && (
11028 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11029 : (TARGET_AVX512VBMI2) &&
11030 : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11031 : (TARGET_AVX512VL))))
11032 : return -1;
11033 : return 10312; /* vpshld_v16hi_mask */
11034 :
11035 : case 4:
11036 : if (!(
11037 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11038 : (TARGET_AVX512F) && (
11039 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11040 : (TARGET_AVX512VBMI2) &&
11041 : #line 747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11042 : (TARGET_AVX512VL))))
11043 : return -1;
11044 : return 10314; /* vpshld_v8si_mask */
11045 :
11046 : case 5:
11047 : if (!(
11048 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11049 : (TARGET_AVX512F) && (
11050 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11051 : (TARGET_AVX512VBMI2) &&
11052 : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11053 : (TARGET_AVX512VL))))
11054 : return -1;
11055 : return 10316; /* vpshld_v4di_mask */
11056 :
11057 : case 6:
11058 : if (!(
11059 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11060 : (TARGET_AVX512F) && (
11061 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11062 : (TARGET_AVX512VBMI2) &&
11063 : #line 748 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11064 : (TARGET_AVX512VL))))
11065 : return -1;
11066 : return 10318; /* vpshld_v8hi_mask */
11067 :
11068 : case 7:
11069 : if (!(
11070 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11071 : (TARGET_AVX512F) && (
11072 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11073 : (TARGET_AVX512VBMI2) &&
11074 : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11075 : (TARGET_AVX512VL))))
11076 : return -1;
11077 : return 10320; /* vpshld_v4si_mask */
11078 :
11079 : case 8:
11080 : if (!(
11081 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11082 : (TARGET_AVX512F) && (
11083 : #line 31467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11084 : (TARGET_AVX512VBMI2) &&
11085 : #line 749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11086 : (TARGET_AVX512VL))))
11087 : return -1;
11088 : return 10322; /* vpshld_v2di_mask */
11089 :
11090 : default:
11091 : return -1;
11092 : }
11093 : }
11094 :
11095 : int
11096 : recog_153 (rtx x1 ATTRIBUTE_UNUSED,
11097 : rtx_insn *insn ATTRIBUTE_UNUSED,
11098 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11099 : {
11100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11101 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
11102 : rtx x10;
11103 : int res ATTRIBUTE_UNUSED;
11104 : x2 = XEXP (x1, 1);
11105 : x3 = XEXP (x2, 0);
11106 : x4 = XEXP (x3, 0);
11107 : x5 = XEXP (x4, 1);
11108 : if (GET_CODE (x5) != PARALLEL)
11109 : return -1;
11110 : switch (XVECLEN (x5, 0))
11111 : {
11112 : case 1:
11113 : x6 = XVECEXP (x5, 0, 0);
11114 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
11115 : return -1;
11116 : x7 = XEXP (x2, 2);
11117 : switch (GET_CODE (x7))
11118 : {
11119 : case CONST_INT:
11120 : if (XWINT (x7, 0) != 1L)
11121 : return -1;
11122 : switch (pattern1017 (x2))
11123 : {
11124 : case 0:
11125 : if (!
11126 : #line 12436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11127 : (TARGET_SSE2 && ix86_pre_reload_split ()))
11128 : return -1;
11129 : return 5322; /* *vec_setv8hi_0_1 */
11130 :
11131 : case 1:
11132 : if (!
11133 : #line 12436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11134 : (TARGET_SSE2 && ix86_pre_reload_split ()))
11135 : return -1;
11136 : return 5323; /* *vec_setv8hf_0_1 */
11137 :
11138 : case 2:
11139 : if (!
11140 : #line 12436 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11141 : (TARGET_SSE2 && ix86_pre_reload_split ()))
11142 : return -1;
11143 : return 5324; /* *vec_setv8bf_0_1 */
11144 :
11145 : default:
11146 : return -1;
11147 : }
11148 :
11149 : case REG:
11150 : case SUBREG:
11151 : operands[3] = x7;
11152 : x8 = XEXP (x4, 0);
11153 : operands[1] = x8;
11154 : x9 = XEXP (x2, 1);
11155 : operands[2] = x9;
11156 : switch (GET_MODE (operands[0]))
11157 : {
11158 : case E_V16SImode:
11159 : if (pattern1293 (x2,
11160 : E_V16SImode,
11161 : E_HImode,
11162 : E_V4SImode,
11163 : E_SImode) != 0
11164 : || !
11165 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11166 : (TARGET_AVX512F))
11167 : return -1;
11168 : return 9283; /* avx512f_vec_dupv16si_mask */
11169 :
11170 : case E_V8SImode:
11171 : if (pattern1293 (x2,
11172 : E_V8SImode,
11173 : E_QImode,
11174 : E_V4SImode,
11175 : E_SImode) != 0
11176 : || !(
11177 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11178 : (TARGET_AVX512F) && (
11179 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11180 : (TARGET_AVX512F) &&
11181 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11182 : (TARGET_AVX512VL))))
11183 : return -1;
11184 : return 9285; /* avx512vl_vec_dupv8si_mask */
11185 :
11186 : case E_V4SImode:
11187 : if (pattern1294 (x2,
11188 : E_V4SImode,
11189 : E_SImode,
11190 : E_QImode) != 0
11191 : || !(
11192 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11193 : (TARGET_AVX512F) && (
11194 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11195 : (TARGET_AVX512F) &&
11196 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11197 : (TARGET_AVX512VL))))
11198 : return -1;
11199 : return 9287; /* avx512vl_vec_dupv4si_mask */
11200 :
11201 : case E_V8DImode:
11202 : if (pattern1293 (x2,
11203 : E_V8DImode,
11204 : E_QImode,
11205 : E_V2DImode,
11206 : E_DImode) != 0
11207 : || !
11208 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11209 : (TARGET_AVX512F))
11210 : return -1;
11211 : return 9289; /* avx512f_vec_dupv8di_mask */
11212 :
11213 : case E_V4DImode:
11214 : if (pattern1293 (x2,
11215 : E_V4DImode,
11216 : E_QImode,
11217 : E_V2DImode,
11218 : E_DImode) != 0
11219 : || !(
11220 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11221 : (TARGET_AVX512F) && (
11222 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11223 : (TARGET_AVX512F) &&
11224 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11225 : (TARGET_AVX512VL))))
11226 : return -1;
11227 : return 9291; /* avx512vl_vec_dupv4di_mask */
11228 :
11229 : case E_V2DImode:
11230 : if (pattern1294 (x2,
11231 : E_V2DImode,
11232 : E_DImode,
11233 : E_QImode) != 0
11234 : || !(
11235 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11236 : (TARGET_AVX512F) && (
11237 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11238 : (TARGET_AVX512F) &&
11239 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11240 : (TARGET_AVX512VL))))
11241 : return -1;
11242 : return 9293; /* avx512vl_vec_dupv2di_mask */
11243 :
11244 : case E_V16SFmode:
11245 : if (pattern1293 (x2,
11246 : E_V16SFmode,
11247 : E_HImode,
11248 : E_V4SFmode,
11249 : E_SFmode) != 0
11250 : || !
11251 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11252 : (TARGET_AVX512F))
11253 : return -1;
11254 : return 9295; /* avx512f_vec_dupv16sf_mask */
11255 :
11256 : case E_V8SFmode:
11257 : if (pattern1293 (x2,
11258 : E_V8SFmode,
11259 : E_QImode,
11260 : E_V4SFmode,
11261 : E_SFmode) != 0
11262 : || !(
11263 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11264 : (TARGET_AVX512F) && (
11265 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11266 : (TARGET_AVX512F) &&
11267 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11268 : (TARGET_AVX512VL))))
11269 : return -1;
11270 : return 9297; /* avx512vl_vec_dupv8sf_mask */
11271 :
11272 : case E_V4SFmode:
11273 : if (pattern1294 (x2,
11274 : E_V4SFmode,
11275 : E_SFmode,
11276 : E_QImode) != 0
11277 : || !(
11278 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11279 : (TARGET_AVX512F) && (
11280 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11281 : (TARGET_AVX512F) &&
11282 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11283 : (TARGET_AVX512VL))))
11284 : return -1;
11285 : return 9299; /* avx512vl_vec_dupv4sf_mask */
11286 :
11287 : case E_V8DFmode:
11288 : if (pattern1293 (x2,
11289 : E_V8DFmode,
11290 : E_QImode,
11291 : E_V2DFmode,
11292 : E_DFmode) != 0
11293 : || !
11294 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11295 : (TARGET_AVX512F))
11296 : return -1;
11297 : return 9301; /* avx512f_vec_dupv8df_mask */
11298 :
11299 : case E_V4DFmode:
11300 : if (pattern1293 (x2,
11301 : E_V4DFmode,
11302 : E_QImode,
11303 : E_V2DFmode,
11304 : E_DFmode) != 0
11305 : || !(
11306 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11307 : (TARGET_AVX512F) && (
11308 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11309 : (TARGET_AVX512F) &&
11310 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11311 : (TARGET_AVX512VL))))
11312 : return -1;
11313 : return 9303; /* avx512vl_vec_dupv4df_mask */
11314 :
11315 : case E_V2DFmode:
11316 : if (pattern1294 (x2,
11317 : E_V2DFmode,
11318 : E_DFmode,
11319 : E_QImode) != 0
11320 : || !(
11321 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11322 : (TARGET_AVX512F) && (
11323 : #line 28655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11324 : (TARGET_AVX512F) &&
11325 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11326 : (TARGET_AVX512VL))))
11327 : return -1;
11328 : return 9305; /* avx512vl_vec_dupv2df_mask */
11329 :
11330 : case E_V64QImode:
11331 : if (pattern1293 (x2,
11332 : E_V64QImode,
11333 : E_DImode,
11334 : E_V16QImode,
11335 : E_QImode) != 0
11336 : || !(
11337 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11338 : (TARGET_AVX512F) &&
11339 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11340 : (TARGET_AVX512BW)))
11341 : return -1;
11342 : return 9307; /* avx512bw_vec_dupv64qi_mask */
11343 :
11344 : case E_V16QImode:
11345 : if (pattern1294 (x2,
11346 : E_V16QImode,
11347 : E_QImode,
11348 : E_HImode) != 0
11349 : || !(
11350 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11351 : (TARGET_AVX512F) && (
11352 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11353 : (TARGET_AVX512BW) &&
11354 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11355 : (TARGET_AVX512VL))))
11356 : return -1;
11357 : return 9309; /* avx512vl_vec_dupv16qi_mask */
11358 :
11359 : case E_V32QImode:
11360 : if (pattern1293 (x2,
11361 : E_V32QImode,
11362 : E_SImode,
11363 : E_V16QImode,
11364 : E_QImode) != 0
11365 : || !(
11366 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11367 : (TARGET_AVX512F) && (
11368 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11369 : (TARGET_AVX512BW) &&
11370 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11371 : (TARGET_AVX512VL))))
11372 : return -1;
11373 : return 9311; /* avx512vl_vec_dupv32qi_mask */
11374 :
11375 : case E_V32HImode:
11376 : if (pattern1293 (x2,
11377 : E_V32HImode,
11378 : E_SImode,
11379 : E_V8HImode,
11380 : E_HImode) != 0
11381 : || !(
11382 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11383 : (TARGET_AVX512F) &&
11384 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11385 : (TARGET_AVX512BW)))
11386 : return -1;
11387 : return 9313; /* avx512bw_vec_dupv32hi_mask */
11388 :
11389 : case E_V16HImode:
11390 : if (pattern780 (x2,
11391 : E_HImode,
11392 : E_V16HImode) != 0
11393 : || !nonimmediate_operand (operands[1], E_V8HImode)
11394 : || !nonimm_or_0_operand (operands[2], E_V16HImode)
11395 : || !register_operand (operands[3], E_HImode)
11396 : || !(
11397 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11398 : (TARGET_AVX512F) && (
11399 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11400 : (TARGET_AVX512BW) &&
11401 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11402 : (TARGET_AVX512VL))))
11403 : return -1;
11404 : return 9315; /* avx512vl_vec_dupv16hi_mask */
11405 :
11406 : case E_V8HImode:
11407 : if (pattern1294 (x2,
11408 : E_V8HImode,
11409 : E_HImode,
11410 : E_QImode) != 0
11411 : || !(
11412 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11413 : (TARGET_AVX512F) && (
11414 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11415 : (TARGET_AVX512BW) &&
11416 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11417 : (TARGET_AVX512VL))))
11418 : return -1;
11419 : return 9317; /* avx512vl_vec_dupv8hi_mask */
11420 :
11421 : case E_V32HFmode:
11422 : if (pattern1293 (x2,
11423 : E_V32HFmode,
11424 : E_SImode,
11425 : E_V8HFmode,
11426 : E_HFmode) != 0
11427 : || !(
11428 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11429 : (TARGET_AVX512F) &&
11430 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11431 : (TARGET_AVX512BW)))
11432 : return -1;
11433 : return 9319; /* avx512bw_vec_dupv32hf_mask */
11434 :
11435 : case E_V16HFmode:
11436 : if (pattern1293 (x2,
11437 : E_V16HFmode,
11438 : E_HImode,
11439 : E_V8HFmode,
11440 : E_HFmode) != 0
11441 : || !(
11442 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11443 : (TARGET_AVX512F) && (
11444 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11445 : (TARGET_AVX512BW) &&
11446 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11447 : (TARGET_AVX512VL))))
11448 : return -1;
11449 : return 9321; /* avx512vl_vec_dupv16hf_mask */
11450 :
11451 : case E_V8HFmode:
11452 : if (pattern1294 (x2,
11453 : E_V8HFmode,
11454 : E_HFmode,
11455 : E_QImode) != 0
11456 : || !(
11457 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11458 : (TARGET_AVX512F) && (
11459 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11460 : (TARGET_AVX512BW) &&
11461 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11462 : (TARGET_AVX512VL))))
11463 : return -1;
11464 : return 9323; /* avx512fp16_vec_dupv8hf_mask */
11465 :
11466 : case E_V32BFmode:
11467 : if (pattern1293 (x2,
11468 : E_V32BFmode,
11469 : E_SImode,
11470 : E_V8BFmode,
11471 : E_BFmode) != 0
11472 : || !(
11473 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11474 : (TARGET_AVX512F) &&
11475 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11476 : (TARGET_AVX512BW)))
11477 : return -1;
11478 : return 9325; /* avx512bw_vec_dupv32bf_mask */
11479 :
11480 : case E_V16BFmode:
11481 : if (pattern1293 (x2,
11482 : E_V16BFmode,
11483 : E_HImode,
11484 : E_V8BFmode,
11485 : E_BFmode) != 0
11486 : || !(
11487 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11488 : (TARGET_AVX512F) && (
11489 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11490 : (TARGET_AVX512BW) &&
11491 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11492 : (TARGET_AVX512VL))))
11493 : return -1;
11494 : return 9327; /* avx512vl_vec_dupv16bf_mask */
11495 :
11496 : case E_V8BFmode:
11497 : if (pattern1294 (x2,
11498 : E_V8BFmode,
11499 : E_BFmode,
11500 : E_QImode) != 0
11501 : || !(
11502 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11503 : (TARGET_AVX512F) && (
11504 : #line 28674 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11505 : (TARGET_AVX512BW) &&
11506 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11507 : (TARGET_AVX512VL))))
11508 : return -1;
11509 : return 9329; /* avx512vl_vec_dupv8bf_mask */
11510 :
11511 : default:
11512 : return -1;
11513 : }
11514 :
11515 : default:
11516 : return -1;
11517 : }
11518 :
11519 : case 2:
11520 : x6 = XVECEXP (x5, 0, 0);
11521 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
11522 : return -1;
11523 : x10 = XVECEXP (x5, 0, 1);
11524 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
11525 : return -1;
11526 : x8 = XEXP (x4, 0);
11527 : operands[1] = x8;
11528 : x9 = XEXP (x2, 1);
11529 : operands[2] = x9;
11530 : x7 = XEXP (x2, 2);
11531 : operands[3] = x7;
11532 : switch (GET_MODE (operands[0]))
11533 : {
11534 : case E_V16SImode:
11535 : if (pattern1293 (x2,
11536 : E_V16SImode,
11537 : E_HImode,
11538 : E_V4SImode,
11539 : E_V2SImode) != 0
11540 : || !(
11541 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11542 : (TARGET_AVX512F) &&
11543 : #line 28998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11544 : (TARGET_AVX512DQ)))
11545 : return -1;
11546 : return 9425; /* avx512dq_broadcastv16si_mask */
11547 :
11548 : case E_V8SImode:
11549 : if (pattern1293 (x2,
11550 : E_V8SImode,
11551 : E_QImode,
11552 : E_V4SImode,
11553 : E_V2SImode) != 0
11554 : || !(
11555 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11556 : (TARGET_AVX512F) && (
11557 : #line 28998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11558 : (TARGET_AVX512DQ) &&
11559 : #line 28982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11560 : (TARGET_AVX512VL))))
11561 : return -1;
11562 : return 9427; /* avx512dq_broadcastv8si_mask */
11563 :
11564 : case E_V4SImode:
11565 : if (pattern1294 (x2,
11566 : E_V4SImode,
11567 : E_V2SImode,
11568 : E_QImode) != 0
11569 : || !(
11570 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11571 : (TARGET_AVX512F) && (
11572 : #line 28998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11573 : (TARGET_AVX512DQ) &&
11574 : #line 28982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11575 : (TARGET_AVX512VL))))
11576 : return -1;
11577 : return 9429; /* avx512dq_broadcastv4si_mask */
11578 :
11579 : case E_V16SFmode:
11580 : if (pattern1293 (x2,
11581 : E_V16SFmode,
11582 : E_HImode,
11583 : E_V4SFmode,
11584 : E_V2SFmode) != 0
11585 : || !(
11586 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11587 : (TARGET_AVX512F) &&
11588 : #line 28998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11589 : (TARGET_AVX512DQ)))
11590 : return -1;
11591 : return 9431; /* avx512dq_broadcastv16sf_mask */
11592 :
11593 : case E_V8SFmode:
11594 : if (pattern1293 (x2,
11595 : E_V8SFmode,
11596 : E_QImode,
11597 : E_V4SFmode,
11598 : E_V2SFmode) != 0
11599 : || !(
11600 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
11601 : (TARGET_AVX512F) && (
11602 : #line 28998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11603 : (TARGET_AVX512DQ) &&
11604 : #line 28983 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11605 : (TARGET_AVX512VL))))
11606 : return -1;
11607 : return 9433; /* avx512dq_broadcastv8sf_mask */
11608 :
11609 : default:
11610 : return -1;
11611 : }
11612 :
11613 : default:
11614 : return -1;
11615 : }
11616 : }
11617 :
11618 : int
11619 : recog_160 (rtx x1 ATTRIBUTE_UNUSED,
11620 : rtx_insn *insn ATTRIBUTE_UNUSED,
11621 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11622 : {
11623 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11624 : rtx x2, x3, x4, x5, x6, x7;
11625 : int res ATTRIBUTE_UNUSED;
11626 : x2 = XEXP (x1, 1);
11627 : x3 = XEXP (x2, 1);
11628 : switch (GET_CODE (x3))
11629 : {
11630 : case CONST_INT:
11631 : case CONST_WIDE_INT:
11632 : case CONST_POLY_INT:
11633 : case CONST_FIXED:
11634 : case CONST_DOUBLE:
11635 : case CONST_VECTOR:
11636 : case CONST:
11637 : case REG:
11638 : case SUBREG:
11639 : case MEM:
11640 : case LABEL_REF:
11641 : case SYMBOL_REF:
11642 : case HIGH:
11643 : x4 = XEXP (x2, 2);
11644 : switch (GET_CODE (x4))
11645 : {
11646 : case REG:
11647 : case SUBREG:
11648 : return recog_159 (x1, insn, pnum_clobbers);
11649 :
11650 : case CONST_INT:
11651 : if (XWINT (x4, 0) == 1L)
11652 : {
11653 : switch (GET_MODE (operands[0]))
11654 : {
11655 : case E_V2DImode:
11656 : if (GET_MODE (x2) == E_V2DImode)
11657 : {
11658 : x5 = XEXP (x2, 0);
11659 : if (nonimmediate_operand (x5, E_V2DImode))
11660 : {
11661 : operands[1] = x5;
11662 : if (register_operand (operands[0], E_V2DImode))
11663 : {
11664 : operands[2] = x3;
11665 : if (const0_operand (operands[2], E_V2DImode)
11666 : &&
11667 : #line 1887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11668 : (TARGET_SSE2))
11669 : return 2616; /* *sse2_movq128_v2di_1 */
11670 : }
11671 : operands[2] = x5;
11672 : if (nonimmediate_operand (operands[0], E_V2DImode))
11673 : {
11674 : operands[1] = x3;
11675 : if (nonimmediate_operand (operands[1], E_V2DImode)
11676 : &&
11677 : #line 15248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11678 : (TARGET_SSE2))
11679 : return 7259; /* sse2_movsd_v2di */
11680 : }
11681 : }
11682 : }
11683 : break;
11684 :
11685 : case E_V2DFmode:
11686 : if (GET_MODE (x2) == E_V2DFmode)
11687 : {
11688 : x5 = XEXP (x2, 0);
11689 : if (nonimmediate_operand (x5, E_V2DFmode))
11690 : {
11691 : operands[1] = x5;
11692 : if (register_operand (operands[0], E_V2DFmode))
11693 : {
11694 : operands[2] = x3;
11695 : if (const0_operand (operands[2], E_V2DFmode)
11696 : &&
11697 : #line 1887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11698 : (TARGET_SSE2))
11699 : return 2617; /* *sse2_movq128_v2df_1 */
11700 : }
11701 : operands[2] = x5;
11702 : if (nonimmediate_operand (operands[0], E_V2DFmode))
11703 : {
11704 : operands[1] = x3;
11705 : if (nonimmediate_operand (operands[1], E_V2DFmode)
11706 : &&
11707 : #line 15248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11708 : (TARGET_SSE2))
11709 : return 7260; /* sse2_movsd_v2df */
11710 : }
11711 : }
11712 : }
11713 : break;
11714 :
11715 : case E_V4SImode:
11716 : if (pattern903 (x2,
11717 : E_V4SImode) == 0
11718 : &&
11719 : #line 12085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11720 : (TARGET_SSE))
11721 : return 5299; /* sse_movss_v4si */
11722 : break;
11723 :
11724 : case E_V4SFmode:
11725 : if (pattern903 (x2,
11726 : E_V4SFmode) == 0
11727 : &&
11728 : #line 12085 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11729 : (TARGET_SSE))
11730 : return 5300; /* sse_movss_v4sf */
11731 : break;
11732 :
11733 : case E_V8HImode:
11734 : if (pattern903 (x2,
11735 : E_V8HImode) == 0
11736 : &&
11737 : #line 12514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11738 : (TARGET_AVX512FP16
11739 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8HImode))))
11740 : return 5338; /* *avx512fp16_movv8hi */
11741 : break;
11742 :
11743 : case E_V8HFmode:
11744 : if (pattern903 (x2,
11745 : E_V8HFmode) == 0
11746 : &&
11747 : #line 12514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11748 : (TARGET_AVX512FP16
11749 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8HFmode))))
11750 : return 5339; /* *avx512fp16_movv8hf */
11751 : break;
11752 :
11753 : case E_V8BFmode:
11754 : if (pattern903 (x2,
11755 : E_V8BFmode) == 0
11756 : &&
11757 : #line 12514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11758 : (TARGET_AVX512FP16
11759 : || (TARGET_AVX10_2 && const0_operand (operands[1], V8BFmode))))
11760 : return 5340; /* *avx512fp16_movv8bf */
11761 : break;
11762 :
11763 : default:
11764 : break;
11765 : }
11766 : }
11767 : operands[3] = x4;
11768 : x5 = XEXP (x2, 0);
11769 : operands[2] = x5;
11770 : operands[1] = x3;
11771 : switch (GET_MODE (operands[0]))
11772 : {
11773 : case E_V8SFmode:
11774 : if (pattern1130 (x2,
11775 : E_V8SFmode) != 0
11776 : || !(
11777 : #line 24036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11778 : (TARGET_SSE4_1) &&
11779 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11780 : (TARGET_AVX)))
11781 : return -1;
11782 : return 8754; /* avx_blendps256 */
11783 :
11784 : case E_V4SFmode:
11785 : if (pattern1131 (x2,
11786 : E_V4SFmode) != 0
11787 : || !
11788 : #line 24036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11789 : (TARGET_SSE4_1))
11790 : return -1;
11791 : return 8755; /* sse4_1_blendps */
11792 :
11793 : case E_V4DFmode:
11794 : if (pattern1131 (x2,
11795 : E_V4DFmode) != 0
11796 : || !(
11797 : #line 24036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11798 : (TARGET_SSE4_1) &&
11799 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11800 : (TARGET_AVX)))
11801 : return -1;
11802 : return 8756; /* avx_blendpd256 */
11803 :
11804 : case E_V2DFmode:
11805 : if (!register_operand (operands[0], E_V2DFmode)
11806 : || GET_MODE (x2) != E_V2DFmode
11807 : || !vector_operand (operands[2], E_V2DFmode)
11808 : || !register_operand (operands[1], E_V2DFmode)
11809 : || !const_0_to_3_operand (operands[3], E_SImode)
11810 : || !(
11811 : #line 24036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11812 : (TARGET_SSE4_1) &&
11813 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11814 : (TARGET_SSE2)))
11815 : return -1;
11816 : return 8757; /* sse4_1_blendpd */
11817 :
11818 : case E_V8HImode:
11819 : if (pattern1130 (x2,
11820 : E_V8HImode) != 0
11821 : || !
11822 : #line 24541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11823 : (TARGET_SSE4_1))
11824 : return -1;
11825 : return 8819; /* sse4_1_pblendw */
11826 :
11827 : case E_V8HFmode:
11828 : if (pattern1130 (x2,
11829 : E_V8HFmode) != 0
11830 : || !
11831 : #line 24541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11832 : (TARGET_SSE4_1))
11833 : return -1;
11834 : return 8820; /* sse4_1_pblendph */
11835 :
11836 : case E_V8BFmode:
11837 : if (pattern1130 (x2,
11838 : E_V8BFmode) != 0
11839 : || !
11840 : #line 24541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11841 : (TARGET_SSE4_1))
11842 : return -1;
11843 : return 8821; /* sse4_1_pblendbf */
11844 :
11845 : case E_V16HImode:
11846 : if (pattern1132 (x2,
11847 : E_V16HImode) != 0
11848 : || !
11849 : #line 24615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11850 : (TARGET_AVX2))
11851 : return -1;
11852 : return 8822; /* *avx2_pblendw */
11853 :
11854 : case E_V16HFmode:
11855 : if (pattern1132 (x2,
11856 : E_V16HFmode) != 0
11857 : || !
11858 : #line 24615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11859 : (TARGET_AVX2))
11860 : return -1;
11861 : return 8823; /* *avx2_pblendph */
11862 :
11863 : case E_V16BFmode:
11864 : if (pattern1132 (x2,
11865 : E_V16BFmode) != 0
11866 : || !
11867 : #line 24615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11868 : (TARGET_AVX2))
11869 : return -1;
11870 : return 8824; /* *avx2_pblendbf */
11871 :
11872 : case E_V8SImode:
11873 : if (pattern1133 (x2,
11874 : E_V8SImode) != 0
11875 : || !
11876 : #line 24634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11877 : (TARGET_AVX2))
11878 : return -1;
11879 : return 8825; /* avx2_pblenddv8si */
11880 :
11881 : case E_V4SImode:
11882 : if (pattern1133 (x2,
11883 : E_V4SImode) != 0
11884 : || !
11885 : #line 24634 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11886 : (TARGET_AVX2))
11887 : return -1;
11888 : return 8826; /* avx2_pblenddv4si */
11889 :
11890 : default:
11891 : return -1;
11892 : }
11893 :
11894 : case UNSPEC:
11895 : if (XVECLEN (x4, 0) != 3
11896 : || XINT (x4, 1) != 60)
11897 : return -1;
11898 : x5 = XEXP (x2, 0);
11899 : operands[1] = x5;
11900 : switch (pattern1020 (x2))
11901 : {
11902 : case 0:
11903 : x6 = XVECEXP (x4, 0, 0);
11904 : operands[3] = x6;
11905 : switch (pattern1475 (x2))
11906 : {
11907 : case 0:
11908 : if ((
11909 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11910 : (TARGET_SSE && ix86_pre_reload_split ()
11911 : && ((rtx_equal_p (operands[1], operands[3])
11912 : && rtx_equal_p (operands[2], operands[4]))
11913 : || (rtx_equal_p (operands[1], operands[4])
11914 : && rtx_equal_p (operands[2], operands[3])))
11915 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11916 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11917 : (TARGET_AVX512FP16)))
11918 : return 3099; /* *minmaxv32hf3_1 */
11919 : break;
11920 :
11921 : case 1:
11922 : if ((
11923 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11924 : (TARGET_SSE && ix86_pre_reload_split ()
11925 : && ((rtx_equal_p (operands[1], operands[3])
11926 : && rtx_equal_p (operands[2], operands[4]))
11927 : || (rtx_equal_p (operands[1], operands[4])
11928 : && rtx_equal_p (operands[2], operands[3])))
11929 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11930 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11931 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11932 : return 3100; /* *minmaxv16hf3_1 */
11933 : break;
11934 :
11935 : case 2:
11936 : if ((
11937 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11938 : (TARGET_SSE && ix86_pre_reload_split ()
11939 : && ((rtx_equal_p (operands[1], operands[3])
11940 : && rtx_equal_p (operands[2], operands[4]))
11941 : || (rtx_equal_p (operands[1], operands[4])
11942 : && rtx_equal_p (operands[2], operands[3])))
11943 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11944 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11945 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11946 : return 3101; /* *minmaxv8hf3_1 */
11947 : break;
11948 :
11949 : case 3:
11950 : if ((
11951 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11952 : (TARGET_SSE && ix86_pre_reload_split ()
11953 : && ((rtx_equal_p (operands[1], operands[3])
11954 : && rtx_equal_p (operands[2], operands[4]))
11955 : || (rtx_equal_p (operands[1], operands[4])
11956 : && rtx_equal_p (operands[2], operands[3])))
11957 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11958 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11959 : (TARGET_AVX512F)))
11960 : return 3102; /* *minmaxv16sf3_1 */
11961 : break;
11962 :
11963 : case 4:
11964 : if (nonimmediate_operand (operands[1], E_V8SFmode)
11965 : && pattern1691 (
11966 : E_V8SFmode) == 0
11967 : && (
11968 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11969 : (TARGET_SSE && ix86_pre_reload_split ()
11970 : && ((rtx_equal_p (operands[1], operands[3])
11971 : && rtx_equal_p (operands[2], operands[4]))
11972 : || (rtx_equal_p (operands[1], operands[4])
11973 : && rtx_equal_p (operands[2], operands[3])))
11974 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
11975 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11976 : (TARGET_AVX)))
11977 : return 3103; /* *minmaxv8sf3_1 */
11978 : if (vector_operand (operands[1], E_V8SFmode)
11979 : && pattern1692 (
11980 : E_V8SImode,
11981 : E_V8SFmode) == 0
11982 : && (
11983 : #line 4482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11984 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11985 : /* LT or GE 0 */
11986 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
11987 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11988 : (TARGET_AVX)))
11989 : return 3304; /* *avx_cmpv8sf3_lt */
11990 : break;
11991 :
11992 : case 5:
11993 : if (nonimmediate_operand (operands[1], E_V4SFmode)
11994 : && pattern1691 (
11995 : E_V4SFmode) == 0
11996 : &&
11997 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11998 : (TARGET_SSE && ix86_pre_reload_split ()
11999 : && ((rtx_equal_p (operands[1], operands[3])
12000 : && rtx_equal_p (operands[2], operands[4]))
12001 : || (rtx_equal_p (operands[1], operands[4])
12002 : && rtx_equal_p (operands[2], operands[3])))
12003 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)))
12004 : return 3104; /* *minmaxv4sf3_1 */
12005 : if (vector_operand (operands[1], E_V4SFmode)
12006 : && pattern1692 (
12007 : E_V4SImode,
12008 : E_V4SFmode) == 0
12009 : &&
12010 : #line 4482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12011 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12012 : /* LT or GE 0 */
12013 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
12014 : return 3305; /* *avx_cmpv4sf3_lt */
12015 : break;
12016 :
12017 : case 6:
12018 : if ((
12019 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12020 : (TARGET_SSE && ix86_pre_reload_split ()
12021 : && ((rtx_equal_p (operands[1], operands[3])
12022 : && rtx_equal_p (operands[2], operands[4]))
12023 : || (rtx_equal_p (operands[1], operands[4])
12024 : && rtx_equal_p (operands[2], operands[3])))
12025 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
12026 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12027 : (TARGET_AVX512F)))
12028 : return 3105; /* *minmaxv8df3_1 */
12029 : break;
12030 :
12031 : case 7:
12032 : if (nonimmediate_operand (operands[1], E_V4DFmode)
12033 : && pattern1691 (
12034 : E_V4DFmode) == 0
12035 : && (
12036 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12037 : (TARGET_SSE && ix86_pre_reload_split ()
12038 : && ((rtx_equal_p (operands[1], operands[3])
12039 : && rtx_equal_p (operands[2], operands[4]))
12040 : || (rtx_equal_p (operands[1], operands[4])
12041 : && rtx_equal_p (operands[2], operands[3])))
12042 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
12043 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12044 : (TARGET_AVX)))
12045 : return 3106; /* *minmaxv4df3_1 */
12046 : if (vector_operand (operands[1], E_V4DFmode)
12047 : && pattern1692 (
12048 : E_V4DImode,
12049 : E_V4DFmode) == 0
12050 : && (
12051 : #line 4482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12052 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12053 : /* LT or GE 0 */
12054 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12055 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12056 : (TARGET_AVX)))
12057 : return 3306; /* *avx_cmpv4df3_lt */
12058 : break;
12059 :
12060 : case 8:
12061 : if (nonimmediate_operand (operands[1], E_V2DFmode)
12062 : && pattern1691 (
12063 : E_V2DFmode) == 0
12064 : && (
12065 : #line 3382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12066 : (TARGET_SSE && ix86_pre_reload_split ()
12067 : && ((rtx_equal_p (operands[1], operands[3])
12068 : && rtx_equal_p (operands[2], operands[4]))
12069 : || (rtx_equal_p (operands[1], operands[4])
12070 : && rtx_equal_p (operands[2], operands[3])))
12071 : && (INTVAL (operands[5]) == 1 || INTVAL (operands[5]) == 14)) &&
12072 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12073 : (TARGET_SSE2)))
12074 : return 3107; /* *minmaxv2df3_1 */
12075 : if (vector_operand (operands[1], E_V2DFmode)
12076 : && pattern1692 (
12077 : E_V2DImode,
12078 : E_V2DFmode) == 0
12079 : && (
12080 : #line 4482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12081 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12082 : /* LT or GE 0 */
12083 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12084 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12085 : (TARGET_SSE2)))
12086 : return 3307; /* *avx_cmpv2df3_lt */
12087 : break;
12088 :
12089 : case 9:
12090 : if (
12091 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12092 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12093 : /* LT or GE 0 */
12094 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
12095 : return 3308; /* *avx_cmpv4si3_ltint */
12096 : break;
12097 :
12098 : case 10:
12099 : if (
12100 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12101 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12102 : /* LT or GE 0 */
12103 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
12104 : return 3309; /* *avx_cmpv2di3_ltint */
12105 : break;
12106 :
12107 : case 11:
12108 : if ((
12109 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12110 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12111 : /* LT or GE 0 */
12112 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12113 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12114 : (TARGET_AVX)))
12115 : return 3310; /* *avx_cmpv8si3_ltint */
12116 : break;
12117 :
12118 : case 12:
12119 : if ((
12120 : #line 4511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12121 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12122 : /* LT or GE 0 */
12123 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12124 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12125 : (TARGET_AVX)))
12126 : return 3311; /* *avx_cmpv4di3_ltint */
12127 : break;
12128 :
12129 : case 13:
12130 : if ((
12131 : #line 18494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12132 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12133 : /* LT or GE 0 */
12134 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
12135 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))) &&
12136 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12137 : (TARGET_AVX2)))
12138 : return 7981; /* *avx2_pcmpv32qi3_3 */
12139 : break;
12140 :
12141 : case 14:
12142 : if (
12143 : #line 18494 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12144 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12145 : /* LT or GE 0 */
12146 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[2]))
12147 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[1])))))
12148 : return 7982; /* *avx2_pcmpv16qi3_3 */
12149 : break;
12150 :
12151 : default:
12152 : break;
12153 : }
12154 : if (GET_CODE (x6) != SUBREG)
12155 : return -1;
12156 : switch (pattern1478 (x2))
12157 : {
12158 : case 0:
12159 : if (!
12160 : #line 4546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12161 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12162 : /* not LT or GE 0 */
12163 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
12164 : return -1;
12165 : return 3312; /* *avx_cmpv4si3_ltint_not */
12166 :
12167 : case 1:
12168 : if (!
12169 : #line 4546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12170 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12171 : /* not LT or GE 0 */
12172 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))))
12173 : return -1;
12174 : return 3313; /* *avx_cmpv2di3_ltint_not */
12175 :
12176 : case 2:
12177 : if (!(
12178 : #line 4546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12179 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12180 : /* not LT or GE 0 */
12181 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12182 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12183 : (TARGET_AVX)))
12184 : return -1;
12185 : return 3314; /* *avx_cmpv8si3_ltint_not */
12186 :
12187 : case 3:
12188 : if (!(
12189 : #line 4546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12190 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12191 : /* not LT or GE 0 */
12192 : && ((INTVAL (operands[5]) == 1) || (INTVAL (operands[5]) == 5))) &&
12193 : #line 608 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12194 : (TARGET_AVX)))
12195 : return -1;
12196 : return 3315; /* *avx_cmpv4di3_ltint_not */
12197 :
12198 : case 4:
12199 : if (!(
12200 : #line 18523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12201 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12202 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
12203 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 32
12204 : /* LT or GE 0 */
12205 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12206 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) &&
12207 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12208 : (TARGET_AVX2)))
12209 : return -1;
12210 : return 7983; /* *avx2_pcmpv32qi3_4 */
12211 :
12212 : case 5:
12213 : if (!
12214 : #line 18523 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12215 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12216 : && GET_MODE_CLASS (GET_MODE (operands[3])) == MODE_VECTOR_INT
12217 : && GET_MODE_SIZE (GET_MODE (operands[3])) == 16
12218 : /* LT or GE 0 */
12219 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12220 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
12221 : return -1;
12222 : return 7984; /* *avx2_pcmpv16qi3_4 */
12223 :
12224 : default:
12225 : return -1;
12226 : }
12227 :
12228 : case 1:
12229 : if (!(
12230 : #line 18555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12231 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12232 : /* LT or GE 0 */
12233 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12234 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))) &&
12235 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12236 : (TARGET_AVX2)))
12237 : return -1;
12238 : return 7985; /* *avx2_pcmpv32qi3_5 */
12239 :
12240 : case 2:
12241 : if (!
12242 : #line 18555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12243 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12244 : /* LT or GE 0 */
12245 : && ((INTVAL (operands[5]) == 1 && !MEM_P (operands[1]))
12246 : || (INTVAL (operands[5]) == 5 && !MEM_P (operands[2])))))
12247 : return -1;
12248 : return 7986; /* *avx2_pcmpv16qi3_5 */
12249 :
12250 : default:
12251 : return -1;
12252 : }
12253 :
12254 : default:
12255 : return -1;
12256 : }
12257 :
12258 : case VEC_DUPLICATE:
12259 : x5 = XEXP (x2, 0);
12260 : operands[1] = x5;
12261 : x7 = XEXP (x3, 0);
12262 : operands[2] = x7;
12263 : x4 = XEXP (x2, 2);
12264 : operands[3] = x4;
12265 : if (!const_int_operand (operands[3], E_SImode))
12266 : return -1;
12267 : switch (GET_MODE (operands[0]))
12268 : {
12269 : case E_V8DFmode:
12270 : if (pattern1134 (x2,
12271 : E_V2DFmode,
12272 : E_V8DFmode) != 0
12273 : || !(
12274 : #line 20508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12275 : (TARGET_AVX512F) &&
12276 : #line 12793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12277 : (TARGET_AVX512DQ)))
12278 : return -1;
12279 : return 8464; /* *avx512dq_vinsertf64x2_1 */
12280 :
12281 : case E_V8DImode:
12282 : if (pattern1134 (x2,
12283 : E_V2DImode,
12284 : E_V8DImode) != 0
12285 : || !(
12286 : #line 20508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12287 : (TARGET_AVX512F) &&
12288 : #line 12793 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12289 : (TARGET_AVX512DQ)))
12290 : return -1;
12291 : return 8466; /* *avx512dq_vinserti64x2_1 */
12292 :
12293 : case E_V16SFmode:
12294 : if (pattern1134 (x2,
12295 : E_V4SFmode,
12296 : E_V16SFmode) != 0
12297 : || !
12298 : #line 20508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12299 : (TARGET_AVX512F))
12300 : return -1;
12301 : return 8468; /* *avx512f_vinsertf32x4_1 */
12302 :
12303 : case E_V16SImode:
12304 : if (pattern1134 (x2,
12305 : E_V4SImode,
12306 : E_V16SImode) != 0
12307 : || !
12308 : #line 20508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12309 : (TARGET_AVX512F))
12310 : return -1;
12311 : return 8470; /* *avx512f_vinserti32x4_1 */
12312 :
12313 : default:
12314 : return -1;
12315 : }
12316 :
12317 : default:
12318 : return -1;
12319 : }
12320 : }
12321 :
12322 : int
12323 : recog_174 (rtx x1 ATTRIBUTE_UNUSED,
12324 : rtx_insn *insn ATTRIBUTE_UNUSED,
12325 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12326 : {
12327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12328 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12329 : rtx x10, x11, x12, x13, x14;
12330 : int res ATTRIBUTE_UNUSED;
12331 : x2 = XEXP (x1, 1);
12332 : x3 = XEXP (x2, 0);
12333 : x4 = XEXP (x3, 1);
12334 : if (pattern932 (x4) != 0)
12335 : return -1;
12336 : x5 = XEXP (x2, 1);
12337 : operands[2] = x5;
12338 : x6 = XEXP (x2, 2);
12339 : operands[3] = x6;
12340 : if (!register_operand (operands[3], E_QImode))
12341 : return -1;
12342 : x7 = XVECEXP (x4, 0, 0);
12343 : switch (XWINT (x7, 0))
12344 : {
12345 : case 8L:
12346 : x8 = XVECEXP (x4, 0, 1);
12347 : if (XWINT (x8, 0) != 9L)
12348 : return -1;
12349 : x9 = XVECEXP (x4, 0, 2);
12350 : if (XWINT (x9, 0) != 10L)
12351 : return -1;
12352 : x10 = XVECEXP (x4, 0, 3);
12353 : if (XWINT (x10, 0) != 11L)
12354 : return -1;
12355 : x11 = XVECEXP (x4, 0, 4);
12356 : if (XWINT (x11, 0) != 12L)
12357 : return -1;
12358 : x12 = XVECEXP (x4, 0, 5);
12359 : if (XWINT (x12, 0) != 13L)
12360 : return -1;
12361 : x13 = XVECEXP (x4, 0, 6);
12362 : if (XWINT (x13, 0) != 14L)
12363 : return -1;
12364 : x14 = XVECEXP (x4, 0, 7);
12365 : if (XWINT (x14, 0) != 15L)
12366 : return -1;
12367 : switch (pattern1853 (x2))
12368 : {
12369 : case 0:
12370 : if (!
12371 : #line 13087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12372 : (TARGET_AVX512DQ
12373 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12374 : return -1;
12375 : return 5372; /* vec_extract_hi_v16sf_mask */
12376 :
12377 : case 1:
12378 : if (!
12379 : #line 13087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12380 : (TARGET_AVX512DQ
12381 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12382 : return -1;
12383 : return 5373; /* vec_extract_hi_v16si_mask */
12384 :
12385 : default:
12386 : return -1;
12387 : }
12388 :
12389 : case 0L:
12390 : x8 = XVECEXP (x4, 0, 1);
12391 : if (XWINT (x8, 0) != 1L
12392 : || pattern1569 (x4) != 0)
12393 : return -1;
12394 : switch (pattern1853 (x2))
12395 : {
12396 : case 0:
12397 : if (!
12398 : #line 13191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12399 : (TARGET_AVX512DQ
12400 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12401 : return -1;
12402 : return 5376; /* vec_extract_lo_v16sf_mask */
12403 :
12404 : case 1:
12405 : if (!
12406 : #line 13191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12407 : (TARGET_AVX512DQ
12408 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12409 : return -1;
12410 : return 5377; /* vec_extract_lo_v16si_mask */
12411 :
12412 : default:
12413 : return -1;
12414 : }
12415 :
12416 : default:
12417 : return -1;
12418 : }
12419 : }
12420 :
12421 : int
12422 : recog_178 (rtx x1 ATTRIBUTE_UNUSED,
12423 : rtx_insn *insn ATTRIBUTE_UNUSED,
12424 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12425 : {
12426 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12427 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12428 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12429 : rtx x18, x19, x20;
12430 : int res ATTRIBUTE_UNUSED;
12431 : x2 = XEXP (x1, 1);
12432 : x3 = XEXP (x2, 0);
12433 : x4 = XEXP (x3, 1);
12434 : x5 = XVECEXP (x4, 0, 1);
12435 : operands[3] = x5;
12436 : x6 = XVECEXP (x4, 0, 2);
12437 : operands[4] = x6;
12438 : x7 = XVECEXP (x4, 0, 3);
12439 : operands[5] = x7;
12440 : x8 = XVECEXP (x4, 0, 5);
12441 : operands[7] = x8;
12442 : x9 = XVECEXP (x4, 0, 6);
12443 : operands[8] = x9;
12444 : x10 = XVECEXP (x4, 0, 7);
12445 : operands[9] = x10;
12446 : x11 = XVECEXP (x4, 0, 8);
12447 : operands[10] = x11;
12448 : x12 = XVECEXP (x4, 0, 9);
12449 : operands[11] = x12;
12450 : x13 = XVECEXP (x4, 0, 10);
12451 : operands[12] = x13;
12452 : x14 = XVECEXP (x4, 0, 11);
12453 : operands[13] = x14;
12454 : x15 = XVECEXP (x4, 0, 12);
12455 : operands[14] = x15;
12456 : x16 = XVECEXP (x4, 0, 13);
12457 : operands[15] = x16;
12458 : x17 = XVECEXP (x4, 0, 14);
12459 : operands[16] = x17;
12460 : x18 = XVECEXP (x4, 0, 15);
12461 : operands[17] = x18;
12462 : x19 = XEXP (x2, 1);
12463 : operands[18] = x19;
12464 : x20 = XEXP (x2, 2);
12465 : operands[19] = x20;
12466 : if (!register_operand (operands[19], E_HImode))
12467 : return -1;
12468 : switch (GET_MODE (operands[0]))
12469 : {
12470 : case E_V16SFmode:
12471 : if (!register_operand (operands[0], E_V16SFmode)
12472 : || GET_MODE (x2) != E_V16SFmode
12473 : || GET_MODE (x3) != E_V16SFmode
12474 : || !register_operand (operands[1], E_V16SFmode)
12475 : || pattern1884 () != 0
12476 : || !nonimm_or_0_operand (operands[18], E_V16SFmode)
12477 : || !(
12478 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12479 : (TARGET_AVX512F) &&
12480 : #line 20946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12481 : (TARGET_AVX512F
12482 : && (INTVAL (operands[2]) & 3) == 0
12483 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12484 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12485 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12486 : && (INTVAL (operands[6]) & 3) == 0
12487 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12488 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12489 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12490 : && (INTVAL (operands[10]) & 3) == 0
12491 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12492 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12493 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12494 : && (INTVAL (operands[14]) & 3) == 0
12495 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12496 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12497 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12498 : return -1;
12499 : return 8509; /* *avx512f_shuf_f32x4_1_mask_1 */
12500 :
12501 : case E_V16SImode:
12502 : if (!register_operand (operands[0], E_V16SImode)
12503 : || GET_MODE (x2) != E_V16SImode
12504 : || GET_MODE (x3) != E_V16SImode
12505 : || !nonimm_or_0_operand (operands[18], E_V16SImode))
12506 : return -1;
12507 : if (register_operand (operands[1], E_V16SImode)
12508 : && pattern1884 () == 0
12509 : && (
12510 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12511 : (TARGET_AVX512F) &&
12512 : #line 20946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12513 : (TARGET_AVX512F
12514 : && (INTVAL (operands[2]) & 3) == 0
12515 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12516 : && INTVAL (operands[2]) == INTVAL (operands[4]) - 2
12517 : && INTVAL (operands[2]) == INTVAL (operands[5]) - 3
12518 : && (INTVAL (operands[6]) & 3) == 0
12519 : && INTVAL (operands[6]) == INTVAL (operands[7]) - 1
12520 : && INTVAL (operands[6]) == INTVAL (operands[8]) - 2
12521 : && INTVAL (operands[6]) == INTVAL (operands[9]) - 3
12522 : && (INTVAL (operands[10]) & 3) == 0
12523 : && INTVAL (operands[10]) == INTVAL (operands[11]) - 1
12524 : && INTVAL (operands[10]) == INTVAL (operands[12]) - 2
12525 : && INTVAL (operands[10]) == INTVAL (operands[13]) - 3
12526 : && (INTVAL (operands[14]) & 3) == 0
12527 : && INTVAL (operands[14]) == INTVAL (operands[15]) - 1
12528 : && INTVAL (operands[14]) == INTVAL (operands[16]) - 2
12529 : && INTVAL (operands[14]) == INTVAL (operands[17]) - 3)))
12530 : return 8511; /* *avx512f_shuf_i32x4_1_mask_1 */
12531 : if (!nonimmediate_operand (operands[1], E_V16SImode)
12532 : || pattern1838 () != 0
12533 : || !const_8_to_11_operand (operands[10], E_VOIDmode)
12534 : || !const_8_to_11_operand (operands[11], E_VOIDmode)
12535 : || !const_8_to_11_operand (operands[12], E_VOIDmode)
12536 : || !const_8_to_11_operand (operands[13], E_VOIDmode)
12537 : || !const_12_to_15_operand (operands[14], E_VOIDmode)
12538 : || !const_12_to_15_operand (operands[15], E_VOIDmode)
12539 : || !const_12_to_15_operand (operands[16], E_VOIDmode)
12540 : || !const_12_to_15_operand (operands[17], E_VOIDmode)
12541 : || !(
12542 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12543 : (TARGET_AVX512F) &&
12544 : #line 21029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12545 : (TARGET_AVX512F
12546 : && INTVAL (operands[2]) + 4 == INTVAL (operands[6])
12547 : && INTVAL (operands[3]) + 4 == INTVAL (operands[7])
12548 : && INTVAL (operands[4]) + 4 == INTVAL (operands[8])
12549 : && INTVAL (operands[5]) + 4 == INTVAL (operands[9])
12550 : && INTVAL (operands[2]) + 8 == INTVAL (operands[10])
12551 : && INTVAL (operands[3]) + 8 == INTVAL (operands[11])
12552 : && INTVAL (operands[4]) + 8 == INTVAL (operands[12])
12553 : && INTVAL (operands[5]) + 8 == INTVAL (operands[13])
12554 : && INTVAL (operands[2]) + 12 == INTVAL (operands[14])
12555 : && INTVAL (operands[3]) + 12 == INTVAL (operands[15])
12556 : && INTVAL (operands[4]) + 12 == INTVAL (operands[16])
12557 : && INTVAL (operands[5]) + 12 == INTVAL (operands[17]))))
12558 : return -1;
12559 : return 8513; /* avx512f_pshufd_1_mask */
12560 :
12561 : default:
12562 : return -1;
12563 : }
12564 : }
12565 :
12566 : int
12567 : recog_189 (rtx x1 ATTRIBUTE_UNUSED,
12568 : rtx_insn *insn ATTRIBUTE_UNUSED,
12569 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12570 : {
12571 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12572 : rtx x2, x3, x4, x5, x6, x7;
12573 : int res ATTRIBUTE_UNUSED;
12574 : x2 = XEXP (x1, 1);
12575 : x3 = XEXP (x2, 0);
12576 : x4 = XEXP (x3, 0);
12577 : operands[1] = x4;
12578 : x5 = XEXP (x3, 1);
12579 : operands[2] = x5;
12580 : x6 = XEXP (x2, 1);
12581 : operands[3] = x6;
12582 : x7 = XEXP (x2, 2);
12583 : operands[4] = x7;
12584 : switch (GET_MODE (operands[0]))
12585 : {
12586 : case E_V16HImode:
12587 : if (pattern135 (x2,
12588 : E_HImode,
12589 : E_V16HImode) != 0)
12590 : return -1;
12591 : if (nonimmediate_operand (operands[1], E_V16HImode)
12592 : && nonmemory_operand (operands[2], E_DImode)
12593 : && (
12594 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12595 : (TARGET_AVX512F) && (
12596 : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12597 : (TARGET_AVX512VL) &&
12598 : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12599 : (TARGET_AVX512BW))))
12600 : return 7676; /* ashrv16hi3_mask */
12601 : if (!register_operand (operands[1], E_V16HImode)
12602 : || !nonimmediate_operand (operands[2], E_V16HImode)
12603 : || !(
12604 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12605 : (TARGET_AVX512F) && (
12606 : #line 29959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12607 : (TARGET_AVX512BW) &&
12608 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12609 : (TARGET_AVX512VL))))
12610 : return -1;
12611 : return 9672; /* avx512vl_ashrvv16hi_mask */
12612 :
12613 : case E_V8HImode:
12614 : if (pattern135 (x2,
12615 : E_QImode,
12616 : E_V8HImode) != 0)
12617 : return -1;
12618 : if (nonimmediate_operand (operands[1], E_V8HImode)
12619 : && nonmemory_operand (operands[2], E_DImode)
12620 : && (
12621 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12622 : (TARGET_AVX512F) && (
12623 : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12624 : (TARGET_AVX512VL) &&
12625 : #line 781 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12626 : (TARGET_AVX512BW))))
12627 : return 7678; /* ashrv8hi3_mask */
12628 : if (!register_operand (operands[1], E_V8HImode)
12629 : || !nonimmediate_operand (operands[2], E_V8HImode)
12630 : || !(
12631 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12632 : (TARGET_AVX512F) && (
12633 : #line 29959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12634 : (TARGET_AVX512BW) &&
12635 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12636 : (TARGET_AVX512VL))))
12637 : return -1;
12638 : return 9670; /* avx512vl_ashrvv8hi_mask */
12639 :
12640 : case E_V8SImode:
12641 : if (pattern135 (x2,
12642 : E_QImode,
12643 : E_V8SImode) != 0)
12644 : return -1;
12645 : if (nonimmediate_operand (operands[1], E_V8SImode)
12646 : && nonmemory_operand (operands[2], E_DImode)
12647 : && (
12648 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12649 : (TARGET_AVX512F) &&
12650 : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12651 : (TARGET_AVX512VL)))
12652 : return 7680; /* ashrv8si3_mask */
12653 : if (!register_operand (operands[1], E_V8SImode)
12654 : || !nonimmediate_operand (operands[2], E_V8SImode)
12655 : || !(
12656 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12657 : (TARGET_AVX512F) &&
12658 : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12659 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12660 : return -1;
12661 : return 9660; /* avx2_ashrvv8si_mask */
12662 :
12663 : case E_V4SImode:
12664 : if (pattern135 (x2,
12665 : E_QImode,
12666 : E_V4SImode) != 0)
12667 : return -1;
12668 : if (nonimmediate_operand (operands[1], E_V4SImode)
12669 : && nonmemory_operand (operands[2], E_DImode)
12670 : && (
12671 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12672 : (TARGET_AVX512F) &&
12673 : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12674 : (TARGET_AVX512VL)))
12675 : return 7682; /* ashrv4si3_mask */
12676 : if (!register_operand (operands[1], E_V4SImode)
12677 : || !nonimmediate_operand (operands[2], E_V4SImode)
12678 : || !(
12679 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12680 : (TARGET_AVX512F) &&
12681 : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12682 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12683 : return -1;
12684 : return 9658; /* avx2_ashrvv4si_mask */
12685 :
12686 : case E_V2DImode:
12687 : if (pattern135 (x2,
12688 : E_QImode,
12689 : E_V2DImode) != 0)
12690 : return -1;
12691 : if (nonimmediate_operand (operands[1], E_V2DImode)
12692 : && nonmemory_operand (operands[2], E_DImode)
12693 : && (
12694 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12695 : (TARGET_AVX512F) &&
12696 : #line 17536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12697 : (TARGET_AVX512VL)))
12698 : return 7684; /* ashrv2di3_mask */
12699 : if (!register_operand (operands[1], E_V2DImode)
12700 : || !nonimmediate_operand (operands[2], E_V2DImode)
12701 : || !(
12702 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12703 : (TARGET_AVX512F) && (
12704 : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12705 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL)) &&
12706 : #line 671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12707 : (TARGET_AVX512VL))))
12708 : return -1;
12709 : return 9664; /* avx2_ashrvv2di_mask */
12710 :
12711 : case E_V32HImode:
12712 : if (pattern135 (x2,
12713 : E_SImode,
12714 : E_V32HImode) != 0)
12715 : return -1;
12716 : if (nonimmediate_operand (operands[1], E_V32HImode)
12717 : && nonmemory_operand (operands[2], E_DImode)
12718 : && (
12719 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12720 : (TARGET_AVX512F) && (
12721 : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12722 : (TARGET_AVX512F) &&
12723 : #line 776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12724 : (TARGET_AVX512BW))))
12725 : return 7694; /* ashrv32hi3_mask */
12726 : if (!register_operand (operands[1], E_V32HImode)
12727 : || !nonimmediate_operand (operands[2], E_V32HImode)
12728 : || !(
12729 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12730 : (TARGET_AVX512F) &&
12731 : #line 29959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12732 : (TARGET_AVX512BW)))
12733 : return -1;
12734 : return 9674; /* avx512bw_ashrvv32hi_mask */
12735 :
12736 : case E_V4DImode:
12737 : if (pattern135 (x2,
12738 : E_QImode,
12739 : E_V4DImode) != 0)
12740 : return -1;
12741 : if (nonimmediate_operand (operands[1], E_V4DImode)
12742 : && nonmemory_operand (operands[2], E_DImode)
12743 : && (
12744 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12745 : (TARGET_AVX512F) && (
12746 : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12747 : (TARGET_AVX512F) &&
12748 : #line 777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12749 : (TARGET_AVX512VL))))
12750 : return 7696; /* ashrv4di3_mask */
12751 : if (!register_operand (operands[1], E_V4DImode)
12752 : || !nonimmediate_operand (operands[2], E_V4DImode)
12753 : || !(
12754 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12755 : (TARGET_AVX512F) && (
12756 : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12757 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL)) &&
12758 : #line 671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12759 : (TARGET_AVX512VL))))
12760 : return -1;
12761 : return 9666; /* avx2_ashrvv4di_mask */
12762 :
12763 : case E_V16SImode:
12764 : if (pattern135 (x2,
12765 : E_HImode,
12766 : E_V16SImode) != 0)
12767 : return -1;
12768 : if (nonimmediate_operand (operands[1], E_V16SImode)
12769 : && nonmemory_operand (operands[2], E_DImode)
12770 : &&
12771 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12772 : (TARGET_AVX512F))
12773 : return 7698; /* ashrv16si3_mask */
12774 : if (!register_operand (operands[1], E_V16SImode)
12775 : || !nonimmediate_operand (operands[2], E_V16SImode)
12776 : || !(
12777 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12778 : (TARGET_AVX512F) && (
12779 : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12780 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12781 : #line 670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12782 : (TARGET_AVX512F))))
12783 : return -1;
12784 : return 9662; /* avx512f_ashrvv16si_mask */
12785 :
12786 : case E_V8DImode:
12787 : if (pattern135 (x2,
12788 : E_QImode,
12789 : E_V8DImode) != 0)
12790 : return -1;
12791 : if (nonimmediate_operand (operands[1], E_V8DImode)
12792 : && nonmemory_operand (operands[2], E_DImode)
12793 : &&
12794 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12795 : (TARGET_AVX512F))
12796 : return 7700; /* ashrv8di3_mask */
12797 : if (!register_operand (operands[1], E_V8DImode)
12798 : || !nonimmediate_operand (operands[2], E_V8DImode)
12799 : || !(
12800 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12801 : (TARGET_AVX512F) && (
12802 : #line 29948 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12803 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12804 : #line 672 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12805 : (TARGET_AVX512F))))
12806 : return -1;
12807 : return 9668; /* avx512f_ashrvv8di_mask */
12808 :
12809 : default:
12810 : return -1;
12811 : }
12812 : }
12813 :
12814 : int
12815 : recog_191 (rtx x1 ATTRIBUTE_UNUSED,
12816 : rtx_insn *insn ATTRIBUTE_UNUSED,
12817 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12818 : {
12819 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12820 : rtx x2;
12821 : int res ATTRIBUTE_UNUSED;
12822 : x2 = XEXP (x1, 1);
12823 : switch (pattern148 (x2))
12824 : {
12825 : case 0:
12826 : if (nonimmediate_operand (operands[1], E_V16HImode)
12827 : && nonmemory_operand (operands[2], E_DImode)
12828 : && (
12829 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12830 : (TARGET_AVX512F) && (
12831 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12832 : (TARGET_AVX512VL) &&
12833 : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12834 : (TARGET_AVX512BW))))
12835 : return 7713; /* lshrv16hi3_mask */
12836 : if (!register_operand (operands[1], E_V16HImode)
12837 : || !nonimmediate_operand (operands[2], E_V16HImode)
12838 : || !(
12839 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12840 : (TARGET_AVX512F) && (
12841 : #line 29981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12842 : (TARGET_AVX512BW) &&
12843 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12844 : (TARGET_AVX512VL))))
12845 : return -1;
12846 : return 9706; /* avx512vl_lshrvv16hi_mask */
12847 :
12848 : case 1:
12849 : if (nonimmediate_operand (operands[1], E_V8HImode)
12850 : && nonmemory_operand (operands[2], E_DImode)
12851 : && (
12852 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12853 : (TARGET_AVX512F) && (
12854 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12855 : (TARGET_AVX512VL) &&
12856 : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12857 : (TARGET_AVX512BW))))
12858 : return 7717; /* lshrv8hi3_mask */
12859 : if (!register_operand (operands[1], E_V8HImode)
12860 : || !nonimmediate_operand (operands[2], E_V8HImode)
12861 : || !(
12862 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12863 : (TARGET_AVX512F) && (
12864 : #line 29981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12865 : (TARGET_AVX512BW) &&
12866 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12867 : (TARGET_AVX512VL))))
12868 : return -1;
12869 : return 9702; /* avx512vl_lshrvv8hi_mask */
12870 :
12871 : case 2:
12872 : if (nonimmediate_operand (operands[1], E_V8SImode)
12873 : && nonmemory_operand (operands[2], E_DImode)
12874 : && (
12875 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12876 : (TARGET_AVX512F) &&
12877 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12878 : (TARGET_AVX512VL)))
12879 : return 7721; /* lshrv8si3_mask */
12880 : if (!register_operand (operands[1], E_V8SImode)
12881 : || !nonimmediate_operand (operands[2], E_V8SImode)
12882 : || !(
12883 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12884 : (TARGET_AVX512F) &&
12885 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12886 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12887 : return -1;
12888 : return 9682; /* avx2_lshrvv8si_mask */
12889 :
12890 : case 3:
12891 : if (nonimmediate_operand (operands[1], E_V4SImode)
12892 : && nonmemory_operand (operands[2], E_DImode)
12893 : && (
12894 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12895 : (TARGET_AVX512F) &&
12896 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12897 : (TARGET_AVX512VL)))
12898 : return 7725; /* lshrv4si3_mask */
12899 : if (!register_operand (operands[1], E_V4SImode)
12900 : || !nonimmediate_operand (operands[2], E_V4SImode)
12901 : || !(
12902 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12903 : (TARGET_AVX512F) &&
12904 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12905 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12906 : return -1;
12907 : return 9686; /* avx2_lshrvv4si_mask */
12908 :
12909 : case 4:
12910 : if (nonimmediate_operand (operands[1], E_V4DImode)
12911 : && nonmemory_operand (operands[2], E_DImode)
12912 : && (
12913 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12914 : (TARGET_AVX512F) &&
12915 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12916 : (TARGET_AVX512VL)))
12917 : return 7729; /* lshrv4di3_mask */
12918 : if (!register_operand (operands[1], E_V4DImode)
12919 : || !nonimmediate_operand (operands[2], E_V4DImode)
12920 : || !(
12921 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12922 : (TARGET_AVX512F) &&
12923 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12924 : (TARGET_AVX2 && (32 == 64 || TARGET_AVX512VL))))
12925 : return -1;
12926 : return 9694; /* avx2_lshrvv4di_mask */
12927 :
12928 : case 5:
12929 : if (nonimmediate_operand (operands[1], E_V2DImode)
12930 : && nonmemory_operand (operands[2], E_DImode)
12931 : && (
12932 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12933 : (TARGET_AVX512F) &&
12934 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12935 : (TARGET_AVX512VL)))
12936 : return 7733; /* lshrv2di3_mask */
12937 : if (!register_operand (operands[1], E_V2DImode)
12938 : || !nonimmediate_operand (operands[2], E_V2DImode)
12939 : || !(
12940 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12941 : (TARGET_AVX512F) &&
12942 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12943 : (TARGET_AVX2 && (16 == 64 || TARGET_AVX512VL))))
12944 : return -1;
12945 : return 9698; /* avx2_lshrvv2di_mask */
12946 :
12947 : case 6:
12948 : if (nonimmediate_operand (operands[1], E_V32HImode)
12949 : && nonmemory_operand (operands[2], E_DImode)
12950 : && (
12951 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12952 : (TARGET_AVX512F) && (
12953 : #line 17820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12954 : (TARGET_AVX512F) &&
12955 : #line 773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12956 : (TARGET_AVX512BW))))
12957 : return 7753; /* lshrv32hi3_mask */
12958 : if (!register_operand (operands[1], E_V32HImode)
12959 : || !nonimmediate_operand (operands[2], E_V32HImode)
12960 : || !(
12961 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12962 : (TARGET_AVX512F) &&
12963 : #line 29981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12964 : (TARGET_AVX512BW)))
12965 : return -1;
12966 : return 9710; /* avx512bw_lshrvv32hi_mask */
12967 :
12968 : case 7:
12969 : if (nonimmediate_operand (operands[1], E_V16SImode)
12970 : && nonmemory_operand (operands[2], E_DImode)
12971 : &&
12972 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12973 : (TARGET_AVX512F))
12974 : return 7757; /* lshrv16si3_mask */
12975 : if (!register_operand (operands[1], E_V16SImode)
12976 : || !nonimmediate_operand (operands[2], E_V16SImode)
12977 : || !(
12978 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12979 : (TARGET_AVX512F) && (
12980 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12981 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
12982 : #line 791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12983 : (TARGET_AVX512F))))
12984 : return -1;
12985 : return 9678; /* avx512f_lshrvv16si_mask */
12986 :
12987 : case 8:
12988 : if (nonimmediate_operand (operands[1], E_V8DImode)
12989 : && nonmemory_operand (operands[2], E_DImode)
12990 : &&
12991 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12992 : (TARGET_AVX512F))
12993 : return 7761; /* lshrv8di3_mask */
12994 : if (!register_operand (operands[1], E_V8DImode)
12995 : || !nonimmediate_operand (operands[2], E_V8DImode)
12996 : || !(
12997 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12998 : (TARGET_AVX512F) && (
12999 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13000 : (TARGET_AVX2 && (64 == 64 || TARGET_AVX512VL)) &&
13001 : #line 792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13002 : (TARGET_AVX512F))))
13003 : return -1;
13004 : return 9690; /* avx512f_lshrvv8di_mask */
13005 :
13006 : default:
13007 : return -1;
13008 : }
13009 : }
13010 :
13011 : int
13012 : recog_197 (rtx x1 ATTRIBUTE_UNUSED,
13013 : rtx_insn *insn ATTRIBUTE_UNUSED,
13014 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13015 : {
13016 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13017 : rtx x2, x3, x4, x5;
13018 : int res ATTRIBUTE_UNUSED;
13019 : x2 = XEXP (x1, 1);
13020 : switch (pattern157 (x2))
13021 : {
13022 : case 0:
13023 : if (!(
13024 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13025 : (TARGET_AVX512F) &&
13026 : #line 24661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13027 : (TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
13028 : return -1;
13029 : return 8829; /* avx2_sign_extendv16qiv16hi2_mask */
13030 :
13031 : case 1:
13032 : if (!(
13033 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13034 : (TARGET_AVX512F) &&
13035 : #line 24716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13036 : (TARGET_AVX512BW)))
13037 : return -1;
13038 : return 8837; /* avx512bw_sign_extendv32qiv32hi2_mask */
13039 :
13040 : case 2:
13041 : if (!(
13042 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13043 : (TARGET_AVX512F) &&
13044 : #line 24788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13045 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
13046 : return -1;
13047 : return 8849; /* *sse4_1_sign_extendv8qiv8hi2_mask_1 */
13048 :
13049 : case 3:
13050 : if (!
13051 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13052 : (TARGET_AVX512F))
13053 : return -1;
13054 : return 8861; /* avx512f_sign_extendv16qiv16si2_mask */
13055 :
13056 : case 4:
13057 : if (!
13058 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13059 : (TARGET_AVX512F))
13060 : return -1;
13061 : return 8891; /* avx512f_sign_extendv16hiv16si2_mask */
13062 :
13063 : case 5:
13064 : if (!(
13065 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13066 : (TARGET_AVX512F) &&
13067 : #line 24974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13068 : (TARGET_AVX2 && TARGET_AVX512VL)))
13069 : return -1;
13070 : return 8869; /* *avx2_sign_extendv8qiv8si2_mask_1 */
13071 :
13072 : case 6:
13073 : if (!(
13074 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13075 : (TARGET_AVX512F) &&
13076 : #line 25198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13077 : (TARGET_AVX2 && TARGET_AVX512VL)))
13078 : return -1;
13079 : return 8899; /* avx2_sign_extendv8hiv8si2_mask */
13080 :
13081 : case 7:
13082 : if (!(
13083 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13084 : (TARGET_AVX512F) &&
13085 : #line 25064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13086 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13087 : return -1;
13088 : return 8881; /* *sse4_1_sign_extendv4qiv4si2_mask_1 */
13089 :
13090 : case 8:
13091 : if (!(
13092 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13093 : (TARGET_AVX512F) &&
13094 : #line 25270 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13095 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13096 : return -1;
13097 : return 8911; /* *sse4_1_sign_extendv4hiv4si2_mask_1 */
13098 :
13099 : case 9:
13100 : if (!
13101 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13102 : (TARGET_AVX512F))
13103 : return -1;
13104 : return 8927; /* *avx512f_sign_extendv8qiv8di2_mask_1 */
13105 :
13106 : case 10:
13107 : if (!
13108 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13109 : (TARGET_AVX512F))
13110 : return -1;
13111 : return 8958; /* avx512f_sign_extendv8hiv8di2_mask */
13112 :
13113 : case 11:
13114 : if (!
13115 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13116 : (TARGET_AVX512F))
13117 : return -1;
13118 : return 8986; /* avx512f_sign_extendv8siv8di2_mask */
13119 :
13120 : case 12:
13121 : if (!(
13122 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13123 : (TARGET_AVX512F) &&
13124 : #line 25514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13125 : (TARGET_AVX2 && TARGET_AVX512VL)))
13126 : return -1;
13127 : return 8939; /* *avx2_sign_extendv4qiv4di2_mask_1 */
13128 :
13129 : case 13:
13130 : if (!(
13131 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13132 : (TARGET_AVX512F) &&
13133 : #line 25691 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13134 : (TARGET_AVX2 && TARGET_AVX512VL)))
13135 : return -1;
13136 : return 8966; /* *avx2_sign_extendv4hiv4di2_mask_1 */
13137 :
13138 : case 14:
13139 : if (!(
13140 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13141 : (TARGET_AVX512F) &&
13142 : #line 25906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13143 : (TARGET_AVX2 && TARGET_AVX512VL)))
13144 : return -1;
13145 : return 8992; /* avx2_sign_extendv4siv4di2_mask */
13146 :
13147 : case 15:
13148 : if (!(
13149 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13150 : (TARGET_AVX512F) &&
13151 : #line 25607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13152 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13153 : return -1;
13154 : return 8951; /* *sse4_1_sign_extendv2qiv2di2_mask_1 */
13155 :
13156 : case 16:
13157 : if (!(
13158 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13159 : (TARGET_AVX512F) &&
13160 : #line 25776 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13161 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13162 : return -1;
13163 : return 8978; /* *sse4_1_sign_extendv2hiv2di2_mask_1 */
13164 :
13165 : case 17:
13166 : if (!(
13167 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13168 : (TARGET_AVX512F) &&
13169 : #line 25974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13170 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13171 : return -1;
13172 : return 9002; /* *sse4_1_sign_extendv2siv2di2_mask_1 */
13173 :
13174 : case 18:
13175 : x3 = XEXP (x2, 0);
13176 : x4 = XEXP (x3, 0);
13177 : x5 = XEXP (x4, 0);
13178 : operands[1] = x5;
13179 : switch (pattern910 (x2))
13180 : {
13181 : case 0:
13182 : if ((
13183 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13184 : (TARGET_AVX512F) &&
13185 : #line 24775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13186 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
13187 : return 8845; /* sse4_1_sign_extendv8qiv8hi2_mask */
13188 : break;
13189 :
13190 : case 1:
13191 : if ((
13192 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13193 : (TARGET_AVX512F) &&
13194 : #line 24962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13195 : (TARGET_AVX2 && TARGET_AVX512VL)))
13196 : return 8865; /* avx2_sign_extendv8qiv8si2_mask */
13197 : break;
13198 :
13199 : case 2:
13200 : if (
13201 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13202 : (TARGET_AVX512F))
13203 : return 8923; /* avx512f_sign_extendv8qiv8di2_mask */
13204 : break;
13205 :
13206 : case 3:
13207 : if ((
13208 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13209 : (TARGET_AVX512F) &&
13210 : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13211 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13212 : return 8877; /* sse4_1_sign_extendv4qiv4si2_mask */
13213 : break;
13214 :
13215 : case 4:
13216 : if ((
13217 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13218 : (TARGET_AVX512F) &&
13219 : #line 25257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13220 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13221 : return 8907; /* sse4_1_sign_extendv4hiv4si2_mask */
13222 : break;
13223 :
13224 : case 5:
13225 : if ((
13226 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13227 : (TARGET_AVX512F) &&
13228 : #line 25502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13229 : (TARGET_AVX2 && TARGET_AVX512VL)))
13230 : return 8935; /* avx2_sign_extendv4qiv4di2_mask */
13231 : break;
13232 :
13233 : case 6:
13234 : if ((
13235 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13236 : (TARGET_AVX512F) &&
13237 : #line 25679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13238 : (TARGET_AVX2 && TARGET_AVX512VL)))
13239 : return 8962; /* avx2_sign_extendv4hiv4di2_mask */
13240 : break;
13241 :
13242 : case 7:
13243 : if ((
13244 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13245 : (TARGET_AVX512F) &&
13246 : #line 25594 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13247 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13248 : return 8947; /* sse4_1_sign_extendv2qiv2di2_mask */
13249 : break;
13250 :
13251 : case 8:
13252 : if ((
13253 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13254 : (TARGET_AVX512F) &&
13255 : #line 25763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13256 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13257 : return 8974; /* sse4_1_sign_extendv2hiv2di2_mask */
13258 : break;
13259 :
13260 : case 9:
13261 : if ((
13262 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13263 : (TARGET_AVX512F) &&
13264 : #line 25961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13265 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13266 : return 8998; /* sse4_1_sign_extendv2siv2di2_mask */
13267 : break;
13268 :
13269 : default:
13270 : break;
13271 : }
13272 : if (GET_CODE (x5) != SUBREG
13273 : || maybe_ne (SUBREG_BYTE (x5), 0))
13274 : return -1;
13275 : switch (pattern416 (x2))
13276 : {
13277 : case 0:
13278 : if (!
13279 : #line 24836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13280 : (TARGET_AVX512VL && TARGET_AVX512BW
13281 : && ix86_pre_reload_split ()))
13282 : return -1;
13283 : return 8854; /* *avx512vl_sign_extendv8qiv8hi2_mask_2 */
13284 :
13285 : case 1:
13286 : if (!
13287 : #line 25017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13288 : (TARGET_AVX512VL
13289 : && ix86_pre_reload_split ()))
13290 : return -1;
13291 : return 8874; /* *avx512vl_sign_extendv8qiv8si2_mask_2 */
13292 :
13293 : case 2:
13294 : if (!
13295 : #line 25469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13296 : (TARGET_AVX512F && ix86_pre_reload_split ()))
13297 : return -1;
13298 : return 8932; /* *avx512f_sign_extendv8qiv8di2_mask_2 */
13299 :
13300 : case 3:
13301 : if (!
13302 : #line 25311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13303 : (TARGET_AVX512VL
13304 : && ix86_pre_reload_split ()))
13305 : return -1;
13306 : return 8916; /* *avx512vl_sign_extendv4hiv4si2_mask_2 */
13307 :
13308 : case 4:
13309 : if (!
13310 : #line 25730 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13311 : (TARGET_AVX512VL
13312 : && ix86_pre_reload_split ()))
13313 : return -1;
13314 : return 8971; /* *avx512vl_sign_extendv4hiv4di2_mask_2 */
13315 :
13316 : case 5:
13317 : if (!
13318 : #line 26013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13319 : (TARGET_AVX512VL
13320 : && ix86_pre_reload_split ()))
13321 : return -1;
13322 : return 9007; /* *avx512vl_sign_extendv2siv2di2_mask_2 */
13323 :
13324 : case 6:
13325 : if ((
13326 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13327 : (TARGET_AVX512F) &&
13328 : #line 25088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13329 : (TARGET_SSE4_1 && TARGET_AVX512VL
13330 : && ix86_pre_reload_split ())))
13331 : return 8885; /* *sse4_1_sign_extendv4qiv4si2_2 */
13332 : if (!
13333 : #line 25113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13334 : (TARGET_AVX512VL
13335 : && ix86_pre_reload_split ()))
13336 : return -1;
13337 : return 8888; /* *avx512vl_sign_extendv4qiv4si2_mask_2 */
13338 :
13339 : case 7:
13340 : if (!
13341 : #line 25561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13342 : (TARGET_AVX512VL
13343 : && ix86_pre_reload_split ()))
13344 : return -1;
13345 : return 8944; /* *avx512vl_sign_extendv4qiv4di2_mask_2 */
13346 :
13347 : case 8:
13348 : if (!
13349 : #line 25823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13350 : (TARGET_AVX512VL
13351 : && ix86_pre_reload_split ()))
13352 : return -1;
13353 : return 8983; /* *avx512vl_sign_extendv2hiv2di2_mask_2 */
13354 :
13355 : default:
13356 : return -1;
13357 : }
13358 :
13359 : default:
13360 : return -1;
13361 : }
13362 : }
13363 :
13364 : int
13365 : recog_206 (rtx x1 ATTRIBUTE_UNUSED,
13366 : rtx_insn *insn ATTRIBUTE_UNUSED,
13367 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13368 : {
13369 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13370 : rtx x2;
13371 : int res ATTRIBUTE_UNUSED;
13372 : x2 = XEXP (x1, 1);
13373 : switch (pattern144 (x2))
13374 : {
13375 : case 0:
13376 : if (!(
13377 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13378 : (TARGET_AVX512F) && (
13379 : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13380 : (TARGET_AVX512FP16) &&
13381 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13382 : (TARGET_AVX512VL))))
13383 : return -1;
13384 : return 4660; /* avx512fp16_fix_truncv8hi2_mask */
13385 :
13386 : case 1:
13387 : if (!(
13388 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13389 : (TARGET_AVX512F) && (
13390 : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13391 : (TARGET_AVX512FP16) &&
13392 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13393 : (TARGET_AVX512VL))))
13394 : return -1;
13395 : return 4668; /* avx512fp16_fix_truncv16hi2_mask */
13396 :
13397 : case 2:
13398 : if (!(
13399 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13400 : (TARGET_AVX512F) &&
13401 : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13402 : (TARGET_AVX512FP16)))
13403 : return -1;
13404 : return 4676; /* avx512fp16_fix_truncv32hi2_mask */
13405 :
13406 : case 3:
13407 : switch (GET_MODE (operands[1]))
13408 : {
13409 : case E_V8HFmode:
13410 : if (!vector_operand (operands[1], E_V8HFmode)
13411 : || !(
13412 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13413 : (TARGET_AVX512F) && (
13414 : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13415 : (TARGET_AVX512FP16) &&
13416 : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13417 : (TARGET_AVX512VL))))
13418 : return -1;
13419 : return 4684; /* avx512fp16_fix_truncv8si2_mask */
13420 :
13421 : case E_V8SFmode:
13422 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13423 : || !(
13424 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13425 : (TARGET_AVX512F) &&
13426 : #line 9184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13427 : (TARGET_AVX && TARGET_AVX512VL)))
13428 : return -1;
13429 : return 4935; /* fix_truncv8sfv8si2_mask */
13430 :
13431 : case E_V8DFmode:
13432 : if (!vector_operand (operands[1], E_V8DFmode)
13433 : || !
13434 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13435 : (TARGET_AVX512F))
13436 : return -1;
13437 : return 5075; /* fix_truncv8dfv8si2_mask */
13438 :
13439 : default:
13440 : return -1;
13441 : }
13442 :
13443 : case 4:
13444 : if (!(
13445 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13446 : (TARGET_AVX512F) &&
13447 : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13448 : (TARGET_AVX512FP16)))
13449 : return -1;
13450 : return 4692; /* avx512fp16_fix_truncv16si2_mask */
13451 :
13452 : case 5:
13453 : if (!
13454 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13455 : (TARGET_AVX512F))
13456 : return -1;
13457 : return 4926; /* fix_truncv16sfv16si2_mask */
13458 :
13459 : case 6:
13460 : if (!(
13461 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13462 : (TARGET_AVX512F) &&
13463 : #line 8269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13464 : (TARGET_AVX512FP16)))
13465 : return -1;
13466 : return 4700; /* avx512fp16_fix_truncv8di2_mask */
13467 :
13468 : case 7:
13469 : if (!(
13470 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13471 : (TARGET_AVX512F) &&
13472 : #line 10088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13473 : (TARGET_AVX512DQ && 1)))
13474 : return -1;
13475 : return 5112; /* fix_truncv8dfv8di2_mask */
13476 :
13477 : case 8:
13478 : if (!(
13479 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13480 : (TARGET_AVX512F) &&
13481 : #line 10131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13482 : (TARGET_AVX512DQ && 1)))
13483 : return -1;
13484 : return 5156; /* fix_truncv8sfv8di2_mask */
13485 :
13486 : case 9:
13487 : switch (GET_MODE (operands[1]))
13488 : {
13489 : case E_V4HFmode:
13490 : if (!memory_operand (operands[1], E_V4HFmode)
13491 : || !(
13492 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13493 : (TARGET_AVX512F) &&
13494 : #line 8319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13495 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13496 : return -1;
13497 : return 4723; /* *avx512fp16_fix_truncv4si2_load_mask */
13498 :
13499 : case E_V4SFmode:
13500 : if (!vector_operand (operands[1], E_V4SFmode)
13501 : || !(
13502 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13503 : (TARGET_AVX512F) &&
13504 : #line 9214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13505 : (TARGET_SSE2 && TARGET_AVX512VL)))
13506 : return -1;
13507 : return 4939; /* fix_truncv4sfv4si2_mask */
13508 :
13509 : case E_V4DFmode:
13510 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13511 : || !(
13512 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13513 : (TARGET_AVX512F) &&
13514 : #line 10048 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13515 : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
13516 : return -1;
13517 : return 5089; /* fix_truncv4dfv4si2_mask */
13518 :
13519 : default:
13520 : return -1;
13521 : }
13522 :
13523 : case 10:
13524 : if (!(
13525 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13526 : (TARGET_AVX512F) &&
13527 : #line 8319 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13528 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13529 : return -1;
13530 : return 4727; /* *avx512fp16_fix_truncv4di2_load_mask */
13531 :
13532 : case 11:
13533 : if (!(
13534 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13535 : (TARGET_AVX512F) && (
13536 : #line 10088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13537 : (TARGET_AVX512DQ && 1) &&
13538 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13539 : (TARGET_AVX512VL))))
13540 : return -1;
13541 : return 5119; /* fix_truncv4dfv4di2_mask */
13542 :
13543 : case 12:
13544 : if (!(
13545 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13546 : (TARGET_AVX512F) && (
13547 : #line 10131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13548 : (TARGET_AVX512DQ && 1) &&
13549 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13550 : (TARGET_AVX512VL))))
13551 : return -1;
13552 : return 5163; /* fix_truncv4sfv4di2_mask */
13553 :
13554 : case 13:
13555 : if (!(
13556 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13557 : (TARGET_AVX512F) &&
13558 : #line 8369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13559 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13560 : return -1;
13561 : return 4739; /* *avx512fp16_fix_truncv2di2_load_mask */
13562 :
13563 : case 14:
13564 : if (!(
13565 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13566 : (TARGET_AVX512F) && (
13567 : #line 10088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13568 : (TARGET_AVX512DQ && 1) &&
13569 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13570 : (TARGET_AVX512VL))))
13571 : return -1;
13572 : return 5123; /* fix_truncv2dfv2di2_mask */
13573 :
13574 : case 15:
13575 : if (!(
13576 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13577 : (TARGET_AVX512F) &&
13578 : #line 8309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13579 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13580 : return -1;
13581 : return 4715; /* avx512fp16_fix_truncv4si2_mask */
13582 :
13583 : case 16:
13584 : if (!(
13585 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13586 : (TARGET_AVX512F) &&
13587 : #line 8309 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13588 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13589 : return -1;
13590 : return 4719; /* avx512fp16_fix_truncv4di2_mask */
13591 :
13592 : case 17:
13593 : if (!(
13594 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13595 : (TARGET_AVX512F) &&
13596 : #line 8359 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13597 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13598 : return -1;
13599 : return 4735; /* avx512fp16_fix_truncv2di2_mask */
13600 :
13601 : case 18:
13602 : if (!(
13603 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13604 : (TARGET_AVX512F) &&
13605 : #line 10154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13606 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
13607 : return -1;
13608 : return 5171; /* avx512dq_fix_truncv2sfv2di2_mask */
13609 :
13610 : default:
13611 : return -1;
13612 : }
13613 : }
13614 :
13615 : int
13616 : recog_217 (rtx x1 ATTRIBUTE_UNUSED,
13617 : rtx_insn *insn ATTRIBUTE_UNUSED,
13618 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13619 : {
13620 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13621 : rtx x2, x3;
13622 : int res ATTRIBUTE_UNUSED;
13623 : x2 = XEXP (x1, 1);
13624 : x3 = XVECEXP (x2, 0, 0);
13625 : operands[1] = x3;
13626 : switch (GET_MODE (operands[0]))
13627 : {
13628 : case E_V8SFmode:
13629 : if (!register_operand (operands[0], E_V8SFmode)
13630 : || GET_MODE (x2) != E_V8SFmode
13631 : || !vector_operand (operands[1], E_V8SFmode)
13632 : || !(
13633 : #line 3184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13634 : (TARGET_SSE) &&
13635 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13636 : (TARGET_AVX)))
13637 : return -1;
13638 : return 3021; /* avx_rsqrtv8sf2 */
13639 :
13640 : case E_V4SFmode:
13641 : if (!register_operand (operands[0], E_V4SFmode)
13642 : || GET_MODE (x2) != E_V4SFmode
13643 : || !vector_operand (operands[1], E_V4SFmode)
13644 : || !
13645 : #line 3184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13646 : (TARGET_SSE))
13647 : return -1;
13648 : return 3022; /* sse_rsqrtv4sf2 */
13649 :
13650 : case E_V32HFmode:
13651 : if (!register_operand (operands[0], E_V32HFmode)
13652 : || GET_MODE (x2) != E_V32HFmode
13653 : || !vector_operand (operands[1], E_V32HFmode)
13654 : || !
13655 : #line 3196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13656 : (TARGET_AVX512FP16))
13657 : return -1;
13658 : return 3023; /* avx512fp16_rsqrtv32hf2 */
13659 :
13660 : case E_V16HFmode:
13661 : if (!register_operand (operands[0], E_V16HFmode)
13662 : || GET_MODE (x2) != E_V16HFmode
13663 : || !vector_operand (operands[1], E_V16HFmode)
13664 : || !(
13665 : #line 3196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13666 : (TARGET_AVX512FP16) &&
13667 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13668 : (TARGET_AVX512VL)))
13669 : return -1;
13670 : return 3025; /* avx512fp16_rsqrtv16hf2 */
13671 :
13672 : case E_V8HFmode:
13673 : if (!register_operand (operands[0], E_V8HFmode)
13674 : || GET_MODE (x2) != E_V8HFmode
13675 : || !vector_operand (operands[1], E_V8HFmode)
13676 : || !(
13677 : #line 3196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13678 : (TARGET_AVX512FP16) &&
13679 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13680 : (TARGET_AVX512VL)))
13681 : return -1;
13682 : return 3027; /* avx512fp16_rsqrtv8hf2 */
13683 :
13684 : case E_V32BFmode:
13685 : if (!register_operand (operands[0], E_V32BFmode)
13686 : || GET_MODE (x2) != E_V32BFmode
13687 : || !nonimmediate_operand (operands[1], E_V32BFmode)
13688 : || !
13689 : #line 33465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13690 : (TARGET_AVX10_2))
13691 : return -1;
13692 : return 10780; /* avx10_2_rsqrtbf16_v32bf */
13693 :
13694 : case E_V16BFmode:
13695 : if (!register_operand (operands[0], E_V16BFmode)
13696 : || GET_MODE (x2) != E_V16BFmode
13697 : || !nonimmediate_operand (operands[1], E_V16BFmode)
13698 : || !
13699 : #line 33465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13700 : (TARGET_AVX10_2))
13701 : return -1;
13702 : return 10782; /* avx10_2_rsqrtbf16_v16bf */
13703 :
13704 : case E_V8BFmode:
13705 : if (!register_operand (operands[0], E_V8BFmode)
13706 : || GET_MODE (x2) != E_V8BFmode
13707 : || !nonimmediate_operand (operands[1], E_V8BFmode)
13708 : || !
13709 : #line 33465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13710 : (TARGET_AVX10_2))
13711 : return -1;
13712 : return 10784; /* avx10_2_rsqrtbf16_v8bf */
13713 :
13714 : default:
13715 : return -1;
13716 : }
13717 : }
13718 :
13719 : int
13720 : recog_221 (rtx x1 ATTRIBUTE_UNUSED,
13721 : rtx_insn *insn ATTRIBUTE_UNUSED,
13722 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13723 : {
13724 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13725 : rtx x2, x3;
13726 : int res ATTRIBUTE_UNUSED;
13727 : x2 = XEXP (x1, 1);
13728 : x3 = XVECEXP (x2, 0, 0);
13729 : operands[1] = x3;
13730 : switch (GET_MODE (operands[0]))
13731 : {
13732 : case E_V4SFmode:
13733 : if (!register_operand (operands[0], E_V4SFmode)
13734 : || GET_MODE (x2) != E_V4SFmode
13735 : || !nonimmediate_operand (operands[1], E_V4SFmode)
13736 : || !
13737 : #line 27921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13738 : (TARGET_XOP))
13739 : return -1;
13740 : return 9140; /* xop_frczv4sf2 */
13741 :
13742 : case E_V2DFmode:
13743 : if (!register_operand (operands[0], E_V2DFmode)
13744 : || GET_MODE (x2) != E_V2DFmode
13745 : || !nonimmediate_operand (operands[1], E_V2DFmode)
13746 : || !
13747 : #line 27921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13748 : (TARGET_XOP))
13749 : return -1;
13750 : return 9141; /* xop_frczv2df2 */
13751 :
13752 : case E_V8SFmode:
13753 : if (!register_operand (operands[0], E_V8SFmode)
13754 : || GET_MODE (x2) != E_V8SFmode
13755 : || !nonimmediate_operand (operands[1], E_V8SFmode)
13756 : || !
13757 : #line 27921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13758 : (TARGET_XOP))
13759 : return -1;
13760 : return 9142; /* xop_frczv8sf2 */
13761 :
13762 : case E_V4DFmode:
13763 : if (!register_operand (operands[0], E_V4DFmode)
13764 : || GET_MODE (x2) != E_V4DFmode
13765 : || !nonimmediate_operand (operands[1], E_V4DFmode)
13766 : || !
13767 : #line 27921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13768 : (TARGET_XOP))
13769 : return -1;
13770 : return 9143; /* xop_frczv4df2 */
13771 :
13772 : default:
13773 : return -1;
13774 : }
13775 : }
13776 :
13777 : int
13778 : recog_226 (rtx x1 ATTRIBUTE_UNUSED,
13779 : rtx_insn *insn ATTRIBUTE_UNUSED,
13780 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13781 : {
13782 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13783 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13784 : rtx x10;
13785 : int res ATTRIBUTE_UNUSED;
13786 : x2 = XEXP (x1, 1);
13787 : x3 = XVECEXP (x2, 0, 0);
13788 : x4 = XEXP (x3, 0);
13789 : x5 = XEXP (x4, 0);
13790 : operands[1] = x5;
13791 : x6 = XEXP (x4, 2);
13792 : switch (GET_CODE (x6))
13793 : {
13794 : case REG:
13795 : case SUBREG:
13796 : case MEM:
13797 : operands[3] = x6;
13798 : x7 = XEXP (x3, 1);
13799 : switch (GET_CODE (x7))
13800 : {
13801 : case CONST_INT:
13802 : case CONST_DOUBLE:
13803 : case CONST_VECTOR:
13804 : operands[4] = x7;
13805 : x8 = XEXP (x3, 2);
13806 : operands[5] = x8;
13807 : x9 = XVECEXP (x2, 0, 1);
13808 : operands[6] = x9;
13809 : switch (GET_MODE (operands[0]))
13810 : {
13811 : case E_V32HFmode:
13812 : if (pattern1606 (x2,
13813 : E_SImode,
13814 : E_V32HFmode) != 0
13815 : || !(
13816 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13817 : (TARGET_AVX512F) && (
13818 : #line 6346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13819 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13820 : || V32HFmode == V8DFmode
13821 : || V32HFmode == V8DImode
13822 : || V32HFmode == V16SImode
13823 : || V32HFmode == V32HFmode)) &&
13824 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13825 : (TARGET_AVX512FP16))))
13826 : return -1;
13827 : return 3885; /* fma_fmadd_v32hf_maskz_1_round */
13828 :
13829 : case E_V16SFmode:
13830 : if (pattern1606 (x2,
13831 : E_HImode,
13832 : E_V16SFmode) != 0
13833 : || !(
13834 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13835 : (TARGET_AVX512F) &&
13836 : #line 6346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13837 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13838 : || V16SFmode == V8DFmode
13839 : || V16SFmode == V8DImode
13840 : || V16SFmode == V16SImode
13841 : || V16SFmode == V32HFmode))))
13842 : return -1;
13843 : return 3895; /* fma_fmadd_v16sf_maskz_1_round */
13844 :
13845 : case E_V8DFmode:
13846 : if (pattern1606 (x2,
13847 : E_QImode,
13848 : E_V8DFmode) != 0
13849 : || !(
13850 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13851 : (TARGET_AVX512F) &&
13852 : #line 6346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13853 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13854 : || V8DFmode == V8DFmode
13855 : || V8DFmode == V8DImode
13856 : || V8DFmode == V16SImode
13857 : || V8DFmode == V32HFmode))))
13858 : return -1;
13859 : return 3904; /* fma_fmadd_v8df_maskz_1_round */
13860 :
13861 : default:
13862 : return -1;
13863 : }
13864 :
13865 : case REG:
13866 : case SUBREG:
13867 : case MEM:
13868 : switch (pattern1418 (x2))
13869 : {
13870 : case 0:
13871 : if (pattern1607 (x2,
13872 : E_SImode,
13873 : E_V32HFmode) != 0)
13874 : return -1;
13875 : if (nonimmediate_operand (operands[1], E_V32HFmode)
13876 : && register_operand (operands[3], E_V32HFmode)
13877 : && rtx_equal_p (x7, operands[1])
13878 : && (
13879 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13880 : (TARGET_AVX512F) && (
13881 : #line 6387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13882 : (TARGET_AVX512F && (V32HFmode == V16SFmode
13883 : || V32HFmode == V8DFmode
13884 : || V32HFmode == V8DImode
13885 : || V32HFmode == V16SImode
13886 : || V32HFmode == V32HFmode)) &&
13887 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13888 : (TARGET_AVX512FP16))))
13889 : return 3910; /* avx512bw_fmadd_v32hf_mask_round */
13890 : if (!register_operand (operands[1], E_V32HFmode)
13891 : || !nonimmediate_operand (operands[3], E_V32HFmode)
13892 : || !rtx_equal_p (x7, operands[3])
13893 : || !(
13894 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13895 : (TARGET_AVX512F) && (
13896 : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13897 : (TARGET_AVX512F) &&
13898 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13899 : (TARGET_AVX512FP16))))
13900 : return -1;
13901 : return 3922; /* avx512bw_fmadd_v32hf_mask3_round */
13902 :
13903 : case 1:
13904 : if (pattern1607 (x2,
13905 : E_HImode,
13906 : E_V16SFmode) != 0)
13907 : return -1;
13908 : if (nonimmediate_operand (operands[1], E_V16SFmode)
13909 : && register_operand (operands[3], E_V16SFmode)
13910 : && rtx_equal_p (x7, operands[1])
13911 : && (
13912 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13913 : (TARGET_AVX512F) &&
13914 : #line 6387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13915 : (TARGET_AVX512F && (V16SFmode == V16SFmode
13916 : || V16SFmode == V8DFmode
13917 : || V16SFmode == V8DImode
13918 : || V16SFmode == V16SImode
13919 : || V16SFmode == V32HFmode))))
13920 : return 3914; /* avx512f_fmadd_v16sf_mask_round */
13921 : if (!register_operand (operands[1], E_V16SFmode)
13922 : || !nonimmediate_operand (operands[3], E_V16SFmode)
13923 : || !rtx_equal_p (x7, operands[3])
13924 : || !
13925 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13926 : (TARGET_AVX512F))
13927 : return -1;
13928 : return 3928; /* avx512f_fmadd_v16sf_mask3_round */
13929 :
13930 : case 2:
13931 : if (pattern1607 (x2,
13932 : E_QImode,
13933 : E_V8DFmode) != 0)
13934 : return -1;
13935 : if (nonimmediate_operand (operands[1], E_V8DFmode)
13936 : && register_operand (operands[3], E_V8DFmode)
13937 : && rtx_equal_p (x7, operands[1])
13938 : && (
13939 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13940 : (TARGET_AVX512F) &&
13941 : #line 6387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13942 : (TARGET_AVX512F && (V8DFmode == V16SFmode
13943 : || V8DFmode == V8DFmode
13944 : || V8DFmode == V8DImode
13945 : || V8DFmode == V16SImode
13946 : || V8DFmode == V32HFmode))))
13947 : return 3918; /* avx512f_fmadd_v8df_mask_round */
13948 : if (!register_operand (operands[1], E_V8DFmode)
13949 : || !nonimmediate_operand (operands[3], E_V8DFmode)
13950 : || !rtx_equal_p (x7, operands[3])
13951 : || !
13952 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13953 : (TARGET_AVX512F))
13954 : return -1;
13955 : return 3934; /* avx512f_fmadd_v8df_mask3_round */
13956 :
13957 : case 3:
13958 : if (pattern1608 (x2,
13959 : E_V16HFmode,
13960 : E_HImode) != 0
13961 : || !(
13962 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13963 : (TARGET_AVX512F) && (
13964 : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13965 : (TARGET_AVX512F) &&
13966 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13967 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13968 : return -1;
13969 : return 3924; /* avx512vl_fmadd_v16hf_mask3_round */
13970 :
13971 : case 4:
13972 : if (pattern1608 (x2,
13973 : E_V8HFmode,
13974 : E_QImode) != 0
13975 : || !(
13976 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13977 : (TARGET_AVX512F) && (
13978 : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13979 : (TARGET_AVX512F) &&
13980 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13981 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13982 : return -1;
13983 : return 3926; /* avx512fp16_fmadd_v8hf_mask3_round */
13984 :
13985 : case 5:
13986 : if (pattern1608 (x2,
13987 : E_V8SFmode,
13988 : E_QImode) != 0
13989 : || !(
13990 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13991 : (TARGET_AVX512F) && (
13992 : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13993 : (TARGET_AVX512F) &&
13994 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13995 : (TARGET_AVX512VL))))
13996 : return -1;
13997 : return 3930; /* avx512vl_fmadd_v8sf_mask3_round */
13998 :
13999 : case 6:
14000 : if (pattern1608 (x2,
14001 : E_V4SFmode,
14002 : E_QImode) != 0
14003 : || !(
14004 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14005 : (TARGET_AVX512F) && (
14006 : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14007 : (TARGET_AVX512F) &&
14008 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14009 : (TARGET_AVX512VL))))
14010 : return -1;
14011 : return 3932; /* avx512vl_fmadd_v4sf_mask3_round */
14012 :
14013 : case 7:
14014 : if (pattern1608 (x2,
14015 : E_V4DFmode,
14016 : E_QImode) != 0
14017 : || !(
14018 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14019 : (TARGET_AVX512F) && (
14020 : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14021 : (TARGET_AVX512F) &&
14022 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14023 : (TARGET_AVX512VL))))
14024 : return -1;
14025 : return 3936; /* avx512vl_fmadd_v4df_mask3_round */
14026 :
14027 : case 8:
14028 : if (pattern1608 (x2,
14029 : E_V2DFmode,
14030 : E_QImode) != 0
14031 : || !(
14032 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14033 : (TARGET_AVX512F) && (
14034 : #line 6404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14035 : (TARGET_AVX512F) &&
14036 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14037 : (TARGET_AVX512VL))))
14038 : return -1;
14039 : return 3938; /* avx512vl_fmadd_v2df_mask3_round */
14040 :
14041 : case 9:
14042 : if (pattern1671 (x2,
14043 : E_V8HFmode) != 0
14044 : || !(
14045 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14046 : (TARGET_AVX512F) && (
14047 : #line 7000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14048 : (TARGET_FMA || TARGET_AVX512F) &&
14049 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14050 : (TARGET_AVX512FP16))))
14051 : return -1;
14052 : return 4265; /* *fmai_fmadd_v8hf */
14053 :
14054 : case 10:
14055 : if (pattern1671 (x2,
14056 : E_V4SFmode) != 0
14057 : || !(
14058 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14059 : (TARGET_AVX512F) &&
14060 : #line 7000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14061 : (TARGET_FMA || TARGET_AVX512F)))
14062 : return -1;
14063 : return 4267; /* *fmai_fmadd_v4sf */
14064 :
14065 : case 11:
14066 : if (pattern1671 (x2,
14067 : E_V2DFmode) != 0
14068 : || !(
14069 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14070 : (TARGET_AVX512F) && (
14071 : #line 7000 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14072 : (TARGET_FMA || TARGET_AVX512F) &&
14073 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14074 : (TARGET_SSE2))))
14075 : return -1;
14076 : return 4269; /* *fmai_fmadd_v2df */
14077 :
14078 : default:
14079 : return -1;
14080 : }
14081 :
14082 : default:
14083 : return -1;
14084 : }
14085 :
14086 : case NEG:
14087 : x10 = XEXP (x6, 0);
14088 : operands[3] = x10;
14089 : x7 = XEXP (x3, 1);
14090 : switch (GET_CODE (x7))
14091 : {
14092 : case CONST_INT:
14093 : case CONST_DOUBLE:
14094 : case CONST_VECTOR:
14095 : operands[4] = x7;
14096 : x8 = XEXP (x3, 2);
14097 : operands[5] = x8;
14098 : x9 = XVECEXP (x2, 0, 1);
14099 : operands[6] = x9;
14100 : switch (GET_MODE (operands[0]))
14101 : {
14102 : case E_V32HFmode:
14103 : if (pattern1610 (x2,
14104 : E_SImode,
14105 : E_V32HFmode) != 0
14106 : || !(
14107 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14108 : (TARGET_AVX512F) && (
14109 : #line 6449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14110 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14111 : || V32HFmode == V8DFmode
14112 : || V32HFmode == V8DImode
14113 : || V32HFmode == V16SImode
14114 : || V32HFmode == V32HFmode)) &&
14115 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14116 : (TARGET_AVX512FP16))))
14117 : return -1;
14118 : return 3948; /* fma_fmsub_v32hf_maskz_1_round */
14119 :
14120 : case E_V16SFmode:
14121 : if (pattern1610 (x2,
14122 : E_HImode,
14123 : E_V16SFmode) != 0
14124 : || !(
14125 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14126 : (TARGET_AVX512F) &&
14127 : #line 6449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14128 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14129 : || V16SFmode == V8DFmode
14130 : || V16SFmode == V8DImode
14131 : || V16SFmode == V16SImode
14132 : || V16SFmode == V32HFmode))))
14133 : return -1;
14134 : return 3958; /* fma_fmsub_v16sf_maskz_1_round */
14135 :
14136 : case E_V8DFmode:
14137 : if (pattern1610 (x2,
14138 : E_QImode,
14139 : E_V8DFmode) != 0
14140 : || !(
14141 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14142 : (TARGET_AVX512F) &&
14143 : #line 6449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14144 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14145 : || V8DFmode == V8DFmode
14146 : || V8DFmode == V8DImode
14147 : || V8DFmode == V16SImode
14148 : || V8DFmode == V32HFmode))))
14149 : return -1;
14150 : return 3967; /* fma_fmsub_v8df_maskz_1_round */
14151 :
14152 : default:
14153 : return -1;
14154 : }
14155 :
14156 : case REG:
14157 : case SUBREG:
14158 : case MEM:
14159 : x8 = XEXP (x3, 2);
14160 : switch (GET_CODE (x8))
14161 : {
14162 : case REG:
14163 : case SUBREG:
14164 : operands[4] = x8;
14165 : x9 = XVECEXP (x2, 0, 1);
14166 : operands[5] = x9;
14167 : switch (GET_MODE (operands[0]))
14168 : {
14169 : case E_V32HFmode:
14170 : if (pattern1611 (x2,
14171 : E_SImode,
14172 : E_V32HFmode) != 0)
14173 : return -1;
14174 : if (nonimmediate_operand (operands[1], E_V32HFmode)
14175 : && register_operand (operands[3], E_V32HFmode)
14176 : && rtx_equal_p (x7, operands[1])
14177 : && (
14178 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14179 : (TARGET_AVX512F) && (
14180 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14181 : (TARGET_AVX512F) &&
14182 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14183 : (TARGET_AVX512FP16))))
14184 : return 3973; /* avx512bw_fmsub_v32hf_mask_round */
14185 : if (!register_operand (operands[1], E_V32HFmode)
14186 : || !nonimmediate_operand (operands[3], E_V32HFmode)
14187 : || !rtx_equal_p (x7, operands[3])
14188 : || !(
14189 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14190 : (TARGET_AVX512F) && (
14191 : #line 6510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14192 : (TARGET_AVX512F && (V32HFmode == V16SFmode
14193 : || V32HFmode == V8DFmode
14194 : || V32HFmode == V8DImode
14195 : || V32HFmode == V16SImode
14196 : || V32HFmode == V32HFmode)) &&
14197 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14198 : (TARGET_AVX512FP16))))
14199 : return -1;
14200 : return 3991; /* avx512bw_fmsub_v32hf_mask3_round */
14201 :
14202 : case E_V16HFmode:
14203 : if (pattern1612 (x2,
14204 : E_V16HFmode,
14205 : E_HImode) != 0
14206 : || !(
14207 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14208 : (TARGET_AVX512F) && (
14209 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14210 : (TARGET_AVX512F) &&
14211 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14212 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14213 : return -1;
14214 : return 3975; /* avx512vl_fmsub_v16hf_mask_round */
14215 :
14216 : case E_V8HFmode:
14217 : if (pattern1612 (x2,
14218 : E_V8HFmode,
14219 : E_QImode) != 0
14220 : || !(
14221 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14222 : (TARGET_AVX512F) && (
14223 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14224 : (TARGET_AVX512F) &&
14225 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14226 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14227 : return -1;
14228 : return 3977; /* avx512fp16_fmsub_v8hf_mask_round */
14229 :
14230 : case E_V16SFmode:
14231 : if (pattern1611 (x2,
14232 : E_HImode,
14233 : E_V16SFmode) != 0)
14234 : return -1;
14235 : if (nonimmediate_operand (operands[1], E_V16SFmode)
14236 : && register_operand (operands[3], E_V16SFmode)
14237 : && rtx_equal_p (x7, operands[1])
14238 : &&
14239 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14240 : (TARGET_AVX512F))
14241 : return 3979; /* avx512f_fmsub_v16sf_mask_round */
14242 : if (!register_operand (operands[1], E_V16SFmode)
14243 : || !nonimmediate_operand (operands[3], E_V16SFmode)
14244 : || !rtx_equal_p (x7, operands[3])
14245 : || !(
14246 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14247 : (TARGET_AVX512F) &&
14248 : #line 6510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14249 : (TARGET_AVX512F && (V16SFmode == V16SFmode
14250 : || V16SFmode == V8DFmode
14251 : || V16SFmode == V8DImode
14252 : || V16SFmode == V16SImode
14253 : || V16SFmode == V32HFmode))))
14254 : return -1;
14255 : return 3995; /* avx512f_fmsub_v16sf_mask3_round */
14256 :
14257 : case E_V8SFmode:
14258 : if (pattern1612 (x2,
14259 : E_V8SFmode,
14260 : E_QImode) != 0
14261 : || !(
14262 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14263 : (TARGET_AVX512F) && (
14264 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14265 : (TARGET_AVX512F) &&
14266 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14267 : (TARGET_AVX512VL))))
14268 : return -1;
14269 : return 3981; /* avx512vl_fmsub_v8sf_mask_round */
14270 :
14271 : case E_V4SFmode:
14272 : if (pattern1612 (x2,
14273 : E_V4SFmode,
14274 : E_QImode) != 0
14275 : || !(
14276 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14277 : (TARGET_AVX512F) && (
14278 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14279 : (TARGET_AVX512F) &&
14280 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14281 : (TARGET_AVX512VL))))
14282 : return -1;
14283 : return 3983; /* avx512vl_fmsub_v4sf_mask_round */
14284 :
14285 : case E_V8DFmode:
14286 : if (pattern1611 (x2,
14287 : E_QImode,
14288 : E_V8DFmode) != 0)
14289 : return -1;
14290 : if (nonimmediate_operand (operands[1], E_V8DFmode)
14291 : && register_operand (operands[3], E_V8DFmode)
14292 : && rtx_equal_p (x7, operands[1])
14293 : &&
14294 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14295 : (TARGET_AVX512F))
14296 : return 3985; /* avx512f_fmsub_v8df_mask_round */
14297 : if (!register_operand (operands[1], E_V8DFmode)
14298 : || !nonimmediate_operand (operands[3], E_V8DFmode)
14299 : || !rtx_equal_p (x7, operands[3])
14300 : || !(
14301 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14302 : (TARGET_AVX512F) &&
14303 : #line 6510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14304 : (TARGET_AVX512F && (V8DFmode == V16SFmode
14305 : || V8DFmode == V8DFmode
14306 : || V8DFmode == V8DImode
14307 : || V8DFmode == V16SImode
14308 : || V8DFmode == V32HFmode))))
14309 : return -1;
14310 : return 3999; /* avx512f_fmsub_v8df_mask3_round */
14311 :
14312 : case E_V4DFmode:
14313 : if (pattern1612 (x2,
14314 : E_V4DFmode,
14315 : E_QImode) != 0
14316 : || !(
14317 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14318 : (TARGET_AVX512F) && (
14319 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14320 : (TARGET_AVX512F) &&
14321 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14322 : (TARGET_AVX512VL))))
14323 : return -1;
14324 : return 3987; /* avx512vl_fmsub_v4df_mask_round */
14325 :
14326 : case E_V2DFmode:
14327 : if (pattern1612 (x2,
14328 : E_V2DFmode,
14329 : E_QImode) != 0
14330 : || !(
14331 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14332 : (TARGET_AVX512F) && (
14333 : #line 6492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14334 : (TARGET_AVX512F) &&
14335 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14336 : (TARGET_AVX512VL))))
14337 : return -1;
14338 : return 3989; /* avx512vl_fmsub_v2df_mask_round */
14339 :
14340 : default:
14341 : return -1;
14342 : }
14343 :
14344 : case CONST_INT:
14345 : if (XWINT (x8, 0) != 1L)
14346 : return -1;
14347 : x9 = XVECEXP (x2, 0, 1);
14348 : operands[4] = x9;
14349 : if (!rtx_equal_p (x7, operands[1]))
14350 : return -1;
14351 : switch (GET_MODE (operands[0]))
14352 : {
14353 : case E_V8HFmode:
14354 : if (pattern1672 (x2,
14355 : E_V8HFmode) != 0
14356 : || !(
14357 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14358 : (TARGET_AVX512F) && (
14359 : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14360 : (TARGET_FMA || TARGET_AVX512F) &&
14361 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14362 : (TARGET_AVX512FP16))))
14363 : return -1;
14364 : return 4271; /* *fmai_fmsub_v8hf */
14365 :
14366 : case E_V4SFmode:
14367 : if (pattern1672 (x2,
14368 : E_V4SFmode) != 0
14369 : || !(
14370 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14371 : (TARGET_AVX512F) &&
14372 : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14373 : (TARGET_FMA || TARGET_AVX512F)))
14374 : return -1;
14375 : return 4273; /* *fmai_fmsub_v4sf */
14376 :
14377 : case E_V2DFmode:
14378 : if (pattern1672 (x2,
14379 : E_V2DFmode) != 0
14380 : || !(
14381 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14382 : (TARGET_AVX512F) && (
14383 : #line 7018 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14384 : (TARGET_FMA || TARGET_AVX512F) &&
14385 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14386 : (TARGET_SSE2))))
14387 : return -1;
14388 : return 4275; /* *fmai_fmsub_v2df */
14389 :
14390 : default:
14391 : return -1;
14392 : }
14393 :
14394 : default:
14395 : return -1;
14396 : }
14397 :
14398 : default:
14399 : return -1;
14400 : }
14401 :
14402 : default:
14403 : return -1;
14404 : }
14405 : }
14406 :
14407 : int
14408 : recog_234 (rtx x1 ATTRIBUTE_UNUSED,
14409 : rtx_insn *insn ATTRIBUTE_UNUSED,
14410 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14411 : {
14412 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14413 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14414 : int res ATTRIBUTE_UNUSED;
14415 : x2 = XEXP (x1, 1);
14416 : x3 = XVECEXP (x2, 0, 0);
14417 : x4 = XEXP (x3, 1);
14418 : operands[2] = x4;
14419 : x5 = XVECEXP (x2, 0, 1);
14420 : operands[4] = x5;
14421 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
14422 : return -1;
14423 : x6 = XEXP (x3, 0);
14424 : switch (GET_CODE (x6))
14425 : {
14426 : case REG:
14427 : case SUBREG:
14428 : operands[1] = x6;
14429 : x7 = XEXP (x3, 2);
14430 : switch (GET_CODE (x7))
14431 : {
14432 : case REG:
14433 : case SUBREG:
14434 : operands[3] = x7;
14435 : switch (GET_MODE (operands[0]))
14436 : {
14437 : case E_V32HFmode:
14438 : if (pattern1419 (x2,
14439 : E_V32HFmode) != 0
14440 : || !(
14441 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14442 : (TARGET_AVX512F) && (
14443 : #line 6346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14444 : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14445 : || V32HFmode == V8DFmode
14446 : || V32HFmode == V8DImode
14447 : || V32HFmode == V16SImode
14448 : || V32HFmode == V32HFmode)) &&
14449 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14450 : (TARGET_AVX512FP16))))
14451 : return -1;
14452 : return 3884; /* *fma_fmadd_v32hf_round */
14453 :
14454 : case E_V16SFmode:
14455 : if (pattern1419 (x2,
14456 : E_V16SFmode) != 0
14457 : || !(
14458 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14459 : (TARGET_AVX512F) &&
14460 : #line 6346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14461 : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14462 : || V16SFmode == V8DFmode
14463 : || V16SFmode == V8DImode
14464 : || V16SFmode == V16SImode
14465 : || V16SFmode == V32HFmode))))
14466 : return -1;
14467 : return 3894; /* *fma_fmadd_v16sf_round */
14468 :
14469 : case E_V8DFmode:
14470 : if (pattern1419 (x2,
14471 : E_V8DFmode) != 0
14472 : || !(
14473 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14474 : (TARGET_AVX512F) &&
14475 : #line 6346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14476 : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14477 : || V8DFmode == V8DFmode
14478 : || V8DFmode == V8DImode
14479 : || V8DFmode == V16SImode
14480 : || V8DFmode == V32HFmode))))
14481 : return -1;
14482 : return 3903; /* *fma_fmadd_v8df_round */
14483 :
14484 : default:
14485 : return -1;
14486 : }
14487 :
14488 : case NEG:
14489 : x8 = XEXP (x7, 0);
14490 : operands[3] = x8;
14491 : switch (GET_MODE (operands[0]))
14492 : {
14493 : case E_V32HFmode:
14494 : if (pattern1420 (x2,
14495 : E_V32HFmode) != 0
14496 : || !(
14497 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14498 : (TARGET_AVX512F) && (
14499 : #line 6449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14500 : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14501 : || V32HFmode == V8DFmode
14502 : || V32HFmode == V8DImode
14503 : || V32HFmode == V16SImode
14504 : || V32HFmode == V32HFmode)) &&
14505 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14506 : (TARGET_AVX512FP16))))
14507 : return -1;
14508 : return 3947; /* *fma_fmsub_v32hf_round */
14509 :
14510 : case E_V16SFmode:
14511 : if (pattern1420 (x2,
14512 : E_V16SFmode) != 0
14513 : || !(
14514 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14515 : (TARGET_AVX512F) &&
14516 : #line 6449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14517 : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14518 : || V16SFmode == V8DFmode
14519 : || V16SFmode == V8DImode
14520 : || V16SFmode == V16SImode
14521 : || V16SFmode == V32HFmode))))
14522 : return -1;
14523 : return 3957; /* *fma_fmsub_v16sf_round */
14524 :
14525 : case E_V8DFmode:
14526 : if (pattern1420 (x2,
14527 : E_V8DFmode) != 0
14528 : || !(
14529 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14530 : (TARGET_AVX512F) &&
14531 : #line 6449 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14532 : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14533 : || V8DFmode == V8DFmode
14534 : || V8DFmode == V8DImode
14535 : || V8DFmode == V16SImode
14536 : || V8DFmode == V32HFmode))))
14537 : return -1;
14538 : return 3966; /* *fma_fmsub_v8df_round */
14539 :
14540 : default:
14541 : return -1;
14542 : }
14543 :
14544 : default:
14545 : return -1;
14546 : }
14547 :
14548 : case NEG:
14549 : x9 = XEXP (x6, 0);
14550 : operands[1] = x9;
14551 : x7 = XEXP (x3, 2);
14552 : switch (GET_CODE (x7))
14553 : {
14554 : case REG:
14555 : case SUBREG:
14556 : operands[3] = x7;
14557 : switch (GET_MODE (operands[0]))
14558 : {
14559 : case E_V32HFmode:
14560 : if (pattern1421 (x2,
14561 : E_V32HFmode) != 0
14562 : || !(
14563 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14564 : (TARGET_AVX512F) && (
14565 : #line 6555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14566 : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14567 : || V32HFmode == V8DFmode
14568 : || V32HFmode == V8DImode
14569 : || V32HFmode == V16SImode
14570 : || V32HFmode == V32HFmode)) &&
14571 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14572 : (TARGET_AVX512FP16))))
14573 : return -1;
14574 : return 4010; /* *fma_fnmadd_v32hf_round */
14575 :
14576 : case E_V16SFmode:
14577 : if (pattern1421 (x2,
14578 : E_V16SFmode) != 0
14579 : || !(
14580 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14581 : (TARGET_AVX512F) &&
14582 : #line 6555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14583 : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14584 : || V16SFmode == V8DFmode
14585 : || V16SFmode == V8DImode
14586 : || V16SFmode == V16SImode
14587 : || V16SFmode == V32HFmode))))
14588 : return -1;
14589 : return 4020; /* *fma_fnmadd_v16sf_round */
14590 :
14591 : case E_V8DFmode:
14592 : if (pattern1421 (x2,
14593 : E_V8DFmode) != 0
14594 : || !(
14595 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14596 : (TARGET_AVX512F) &&
14597 : #line 6555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14598 : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14599 : || V8DFmode == V8DFmode
14600 : || V8DFmode == V8DImode
14601 : || V8DFmode == V16SImode
14602 : || V8DFmode == V32HFmode))))
14603 : return -1;
14604 : return 4029; /* *fma_fnmadd_v8df_round */
14605 :
14606 : default:
14607 : return -1;
14608 : }
14609 :
14610 : case NEG:
14611 : x8 = XEXP (x7, 0);
14612 : operands[3] = x8;
14613 : switch (GET_MODE (operands[0]))
14614 : {
14615 : case E_V4SFmode:
14616 : if (pattern1367 (x2,
14617 : E_V4SFmode) != 0
14618 : || !(
14619 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14620 : (TARGET_AVX512F) &&
14621 : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14622 : (TARGET_FMA || TARGET_FMA4)))
14623 : return -1;
14624 : return 4065; /* *fma_fnmsub_v4sf */
14625 :
14626 : case E_V2DFmode:
14627 : if (pattern1367 (x2,
14628 : E_V2DFmode) != 0
14629 : || !(
14630 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14631 : (TARGET_AVX512F) &&
14632 : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14633 : (TARGET_FMA || TARGET_FMA4)))
14634 : return -1;
14635 : return 4069; /* *fma_fnmsub_v2df */
14636 :
14637 : case E_V8SFmode:
14638 : if (pattern1367 (x2,
14639 : E_V8SFmode) != 0
14640 : || !(
14641 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14642 : (TARGET_AVX512F) &&
14643 : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14644 : (TARGET_FMA || TARGET_FMA4)))
14645 : return -1;
14646 : return 4073; /* *fma_fnmsub_v8sf */
14647 :
14648 : case E_V4DFmode:
14649 : if (pattern1367 (x2,
14650 : E_V4DFmode) != 0
14651 : || !(
14652 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14653 : (TARGET_AVX512F) &&
14654 : #line 6630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14655 : (TARGET_FMA || TARGET_FMA4)))
14656 : return -1;
14657 : return 4077; /* *fma_fnmsub_v4df */
14658 :
14659 : case E_V32HFmode:
14660 : if (pattern1422 (x2,
14661 : E_V32HFmode) != 0
14662 : || !(
14663 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14664 : (TARGET_AVX512F) && (
14665 : #line 6663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14666 : (TARGET_AVX512F && 1 && (V32HFmode == V16SFmode
14667 : || V32HFmode == V8DFmode
14668 : || V32HFmode == V8DImode
14669 : || V32HFmode == V16SImode
14670 : || V32HFmode == V32HFmode)) &&
14671 : #line 6333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14672 : (TARGET_AVX512FP16))))
14673 : return -1;
14674 : return 4081; /* *fma_fnmsub_v32hf_round */
14675 :
14676 : case E_V16SFmode:
14677 : if (pattern1422 (x2,
14678 : E_V16SFmode) != 0
14679 : || !(
14680 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14681 : (TARGET_AVX512F) &&
14682 : #line 6663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14683 : (TARGET_AVX512F && 1 && (V16SFmode == V16SFmode
14684 : || V16SFmode == V8DFmode
14685 : || V16SFmode == V8DImode
14686 : || V16SFmode == V16SImode
14687 : || V16SFmode == V32HFmode))))
14688 : return -1;
14689 : return 4091; /* *fma_fnmsub_v16sf_round */
14690 :
14691 : case E_V8DFmode:
14692 : if (pattern1422 (x2,
14693 : E_V8DFmode) != 0
14694 : || !(
14695 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14696 : (TARGET_AVX512F) &&
14697 : #line 6663 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14698 : (TARGET_AVX512F && 1 && (V8DFmode == V16SFmode
14699 : || V8DFmode == V8DFmode
14700 : || V8DFmode == V8DImode
14701 : || V8DFmode == V16SImode
14702 : || V8DFmode == V32HFmode))))
14703 : return -1;
14704 : return 4100; /* *fma_fnmsub_v8df_round */
14705 :
14706 : default:
14707 : return -1;
14708 : }
14709 :
14710 : default:
14711 : return -1;
14712 : }
14713 :
14714 : default:
14715 : return -1;
14716 : }
14717 : }
14718 :
14719 : int
14720 : recog_239 (rtx x1 ATTRIBUTE_UNUSED,
14721 : rtx_insn *insn ATTRIBUTE_UNUSED,
14722 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14723 : {
14724 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14725 : rtx x2, x3, x4, x5;
14726 : int res ATTRIBUTE_UNUSED;
14727 : x2 = XEXP (x1, 0);
14728 : operands[0] = x2;
14729 : x3 = XEXP (x1, 1);
14730 : x4 = XVECEXP (x3, 0, 0);
14731 : operands[1] = x4;
14732 : x5 = XVECEXP (x3, 0, 1);
14733 : operands[2] = x5;
14734 : switch (GET_MODE (operands[0]))
14735 : {
14736 : case E_V8SImode:
14737 : if (pattern789 (x3,
14738 : E_V8SImode) != 0
14739 : || !
14740 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14741 : (TARGET_AVX2 && 1))
14742 : return -1;
14743 : return 9199; /* avx2_permvarv8si */
14744 :
14745 : case E_V8SFmode:
14746 : if (pattern790 (x3,
14747 : E_V8SImode,
14748 : E_V8SFmode) != 0
14749 : || !
14750 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14751 : (TARGET_AVX2 && 1))
14752 : return -1;
14753 : return 9201; /* avx2_permvarv8sf */
14754 :
14755 : case E_V16SImode:
14756 : if (pattern789 (x3,
14757 : E_V16SImode) != 0
14758 : || !(
14759 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14760 : (TARGET_AVX2 && 1) &&
14761 : #line 978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14762 : (TARGET_AVX512F)))
14763 : return -1;
14764 : return 9203; /* avx512f_permvarv16si */
14765 :
14766 : case E_V16SFmode:
14767 : if (pattern790 (x3,
14768 : E_V16SImode,
14769 : E_V16SFmode) != 0
14770 : || !(
14771 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14772 : (TARGET_AVX2 && 1) &&
14773 : #line 978 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14774 : (TARGET_AVX512F)))
14775 : return -1;
14776 : return 9205; /* avx512f_permvarv16sf */
14777 :
14778 : case E_V8DImode:
14779 : if (pattern789 (x3,
14780 : E_V8DImode) != 0
14781 : || !(
14782 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14783 : (TARGET_AVX2 && 1) &&
14784 : #line 979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14785 : (TARGET_AVX512F)))
14786 : return -1;
14787 : return 9207; /* avx512f_permvarv8di */
14788 :
14789 : case E_V8DFmode:
14790 : if (pattern790 (x3,
14791 : E_V8DImode,
14792 : E_V8DFmode) != 0
14793 : || !(
14794 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14795 : (TARGET_AVX2 && 1) &&
14796 : #line 979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14797 : (TARGET_AVX512F)))
14798 : return -1;
14799 : return 9209; /* avx512f_permvarv8df */
14800 :
14801 : case E_V4DImode:
14802 : if (pattern789 (x3,
14803 : E_V4DImode) != 0
14804 : || !(
14805 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14806 : (TARGET_AVX2 && 1) &&
14807 : #line 980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14808 : (TARGET_AVX512VL)))
14809 : return -1;
14810 : return 9211; /* avx2_permvarv4di */
14811 :
14812 : case E_V4DFmode:
14813 : if (pattern790 (x3,
14814 : E_V4DImode,
14815 : E_V4DFmode) != 0
14816 : || !(
14817 : #line 28251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14818 : (TARGET_AVX2 && 1) &&
14819 : #line 980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14820 : (TARGET_AVX512VL)))
14821 : return -1;
14822 : return 9213; /* avx2_permvarv4df */
14823 :
14824 : case E_V64QImode:
14825 : if (pattern789 (x3,
14826 : E_V64QImode) != 0
14827 : || !
14828 : #line 28271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14829 : (TARGET_AVX512VBMI && 1))
14830 : return -1;
14831 : return 9215; /* avx512bw_permvarv64qi */
14832 :
14833 : case E_V16QImode:
14834 : if (pattern789 (x3,
14835 : E_V16QImode) != 0
14836 : || !(
14837 : #line 28271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14838 : (TARGET_AVX512VBMI && 1) &&
14839 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14840 : (TARGET_AVX512VL)))
14841 : return -1;
14842 : return 9217; /* avx512vl_permvarv16qi */
14843 :
14844 : case E_V32QImode:
14845 : if (pattern789 (x3,
14846 : E_V32QImode) != 0
14847 : || !(
14848 : #line 28271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14849 : (TARGET_AVX512VBMI && 1) &&
14850 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14851 : (TARGET_AVX512VL)))
14852 : return -1;
14853 : return 9219; /* avx512vl_permvarv32qi */
14854 :
14855 : case E_V8HImode:
14856 : if (pattern789 (x3,
14857 : E_V8HImode) != 0
14858 : || !(
14859 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14860 : (TARGET_AVX512BW && 1) &&
14861 : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14862 : (TARGET_AVX512VL)))
14863 : return -1;
14864 : return 9221; /* avx512vl_permvarv8hi */
14865 :
14866 : case E_V16HImode:
14867 : if (pattern789 (x3,
14868 : E_V16HImode) != 0
14869 : || !(
14870 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14871 : (TARGET_AVX512BW && 1) &&
14872 : #line 678 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14873 : (TARGET_AVX512VL)))
14874 : return -1;
14875 : return 9223; /* avx512vl_permvarv16hi */
14876 :
14877 : case E_V32HImode:
14878 : if (pattern789 (x3,
14879 : E_V32HImode) != 0
14880 : || !
14881 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14882 : (TARGET_AVX512BW && 1))
14883 : return -1;
14884 : return 9225; /* avx512bw_permvarv32hi */
14885 :
14886 : case E_V8HFmode:
14887 : if (pattern790 (x3,
14888 : E_V8HImode,
14889 : E_V8HFmode) != 0
14890 : || !(
14891 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14892 : (TARGET_AVX512BW && 1) &&
14893 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14894 : (TARGET_AVX512VL)))
14895 : return -1;
14896 : return 9227; /* avx512fp16_permvarv8hf */
14897 :
14898 : case E_V16HFmode:
14899 : if (pattern790 (x3,
14900 : E_V16HImode,
14901 : E_V16HFmode) != 0
14902 : || !(
14903 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14904 : (TARGET_AVX512BW && 1) &&
14905 : #line 679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14906 : (TARGET_AVX512VL)))
14907 : return -1;
14908 : return 9229; /* avx512vl_permvarv16hf */
14909 :
14910 : case E_V32HFmode:
14911 : if (pattern790 (x3,
14912 : E_V32HImode,
14913 : E_V32HFmode) != 0
14914 : || !
14915 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14916 : (TARGET_AVX512BW && 1))
14917 : return -1;
14918 : return 9231; /* avx512bw_permvarv32hf */
14919 :
14920 : case E_V8BFmode:
14921 : if (pattern790 (x3,
14922 : E_V8HImode,
14923 : E_V8BFmode) != 0
14924 : || !(
14925 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14926 : (TARGET_AVX512BW && 1) &&
14927 : #line 680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14928 : (TARGET_AVX512VL)))
14929 : return -1;
14930 : return 9233; /* avx512vl_permvarv8bf */
14931 :
14932 : case E_V16BFmode:
14933 : if (pattern790 (x3,
14934 : E_V16HImode,
14935 : E_V16BFmode) != 0
14936 : || !(
14937 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14938 : (TARGET_AVX512BW && 1) &&
14939 : #line 680 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14940 : (TARGET_AVX512VL)))
14941 : return -1;
14942 : return 9235; /* avx512vl_permvarv16bf */
14943 :
14944 : case E_V32BFmode:
14945 : if (pattern790 (x3,
14946 : E_V32HImode,
14947 : E_V32BFmode) != 0
14948 : || !
14949 : #line 28284 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14950 : (TARGET_AVX512BW && 1))
14951 : return -1;
14952 : return 9237; /* avx512bw_permvarv32bf */
14953 :
14954 : default:
14955 : return -1;
14956 : }
14957 : }
14958 :
14959 : int
14960 : recog_243 (rtx x1 ATTRIBUTE_UNUSED,
14961 : rtx_insn *insn ATTRIBUTE_UNUSED,
14962 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14963 : {
14964 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14965 : rtx x2, x3, x4, x5;
14966 : int res ATTRIBUTE_UNUSED;
14967 : x2 = XEXP (x1, 0);
14968 : operands[0] = x2;
14969 : x3 = XEXP (x1, 1);
14970 : x4 = XVECEXP (x3, 0, 0);
14971 : operands[1] = x4;
14972 : x5 = XVECEXP (x3, 0, 1);
14973 : operands[2] = x5;
14974 : switch (GET_MODE (operands[0]))
14975 : {
14976 : case E_V32HFmode:
14977 : if (pattern64 (x3,
14978 : E_V32HFmode) != 0
14979 : || !(
14980 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14981 : (TARGET_AVX512F) &&
14982 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14983 : (TARGET_AVX512FP16)))
14984 : return -1;
14985 : return 5448; /* avx512bw_scalefv32hf */
14986 :
14987 : case E_V16HFmode:
14988 : if (pattern64 (x3,
14989 : E_V16HFmode) != 0
14990 : || !(
14991 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14992 : (TARGET_AVX512F) &&
14993 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14994 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
14995 : return -1;
14996 : return 5452; /* avx512vl_scalefv16hf */
14997 :
14998 : case E_V8HFmode:
14999 : if (pattern64 (x3,
15000 : E_V8HFmode) != 0
15001 : || !(
15002 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15003 : (TARGET_AVX512F) &&
15004 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15005 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
15006 : return -1;
15007 : return 5456; /* avx512fp16_scalefv8hf */
15008 :
15009 : case E_V16SFmode:
15010 : if (pattern64 (x3,
15011 : E_V16SFmode) != 0
15012 : || !
15013 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15014 : (TARGET_AVX512F))
15015 : return -1;
15016 : return 5460; /* avx512f_scalefv16sf */
15017 :
15018 : case E_V8SFmode:
15019 : if (pattern64 (x3,
15020 : E_V8SFmode) != 0
15021 : || !(
15022 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15023 : (TARGET_AVX512F) &&
15024 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15025 : (TARGET_AVX512VL)))
15026 : return -1;
15027 : return 5464; /* avx512vl_scalefv8sf */
15028 :
15029 : case E_V4SFmode:
15030 : if (pattern64 (x3,
15031 : E_V4SFmode) != 0
15032 : || !(
15033 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15034 : (TARGET_AVX512F) &&
15035 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15036 : (TARGET_AVX512VL)))
15037 : return -1;
15038 : return 5468; /* avx512vl_scalefv4sf */
15039 :
15040 : case E_V8DFmode:
15041 : if (pattern64 (x3,
15042 : E_V8DFmode) != 0
15043 : || !
15044 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15045 : (TARGET_AVX512F))
15046 : return -1;
15047 : return 5472; /* avx512f_scalefv8df */
15048 :
15049 : case E_V4DFmode:
15050 : if (pattern64 (x3,
15051 : E_V4DFmode) != 0
15052 : || !(
15053 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15054 : (TARGET_AVX512F) &&
15055 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15056 : (TARGET_AVX512VL)))
15057 : return -1;
15058 : return 5476; /* avx512vl_scalefv4df */
15059 :
15060 : case E_V2DFmode:
15061 : if (pattern64 (x3,
15062 : E_V2DFmode) != 0
15063 : || !(
15064 : #line 14024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15065 : (TARGET_AVX512F) &&
15066 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15067 : (TARGET_AVX512VL)))
15068 : return -1;
15069 : return 5480; /* avx512vl_scalefv2df */
15070 :
15071 : default:
15072 : return -1;
15073 : }
15074 : }
15075 :
15076 : int
15077 : recog_248 (rtx x1 ATTRIBUTE_UNUSED,
15078 : rtx_insn *insn ATTRIBUTE_UNUSED,
15079 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15080 : {
15081 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15082 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15083 : rtx x10;
15084 : int res ATTRIBUTE_UNUSED;
15085 : if (pnum_clobbers == NULL)
15086 : return -1;
15087 : x2 = XEXP (x1, 1);
15088 : x3 = XVECEXP (x2, 0, 2);
15089 : if (GET_CODE (x3) != MEM)
15090 : return -1;
15091 : x4 = XEXP (x3, 0);
15092 : if (GET_CODE (x4) != UNSPEC
15093 : || XVECLEN (x4, 0) != 3
15094 : || XINT (x4, 1) != 155)
15095 : return -1;
15096 : x5 = XEXP (x1, 0);
15097 : operands[0] = x5;
15098 : x6 = XVECEXP (x4, 0, 2);
15099 : if (!const1248_operand (x6, E_SImode))
15100 : return -1;
15101 : x7 = XVECEXP (x2, 0, 0);
15102 : switch (GET_CODE (x7))
15103 : {
15104 : case REG:
15105 : case SUBREG:
15106 : operands[1] = x7;
15107 : x8 = XVECEXP (x2, 0, 1);
15108 : operands[7] = x8;
15109 : operands[6] = x3;
15110 : x9 = XVECEXP (x4, 0, 0);
15111 : operands[4] = x9;
15112 : x10 = XVECEXP (x4, 0, 1);
15113 : operands[3] = x10;
15114 : operands[5] = x6;
15115 : switch (GET_MODE (operands[0]))
15116 : {
15117 : case E_V16SImode:
15118 : if (!register_operand (operands[0], E_V16SImode)
15119 : || GET_MODE (x2) != E_V16SImode
15120 : || !vsib_mem_operator (operands[6], E_SImode))
15121 : return -1;
15122 : switch (GET_MODE (operands[1]))
15123 : {
15124 : case E_V16SImode:
15125 : if (!register_operand (operands[1], E_V16SImode)
15126 : || !register_operand (operands[7], E_HImode))
15127 : return -1;
15128 : switch (pattern1811 (x4,
15129 : E_V16SImode))
15130 : {
15131 : case 0:
15132 : if (!(
15133 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15134 : (TARGET_AVX512F) &&
15135 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15136 : (Pmode == SImode)))
15137 : return -1;
15138 : *pnum_clobbers = 1;
15139 : return 9846; /* *avx512f_gathersiv16si */
15140 :
15141 : case 1:
15142 : if (!(
15143 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15144 : (TARGET_AVX512F) &&
15145 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15146 : (Pmode == DImode)))
15147 : return -1;
15148 : *pnum_clobbers = 1;
15149 : return 9858; /* *avx512f_gathersiv16si */
15150 :
15151 : default:
15152 : return -1;
15153 : }
15154 :
15155 : case E_V8SImode:
15156 : if (!register_operand (operands[1], E_V8SImode)
15157 : || !register_operand (operands[7], E_QImode))
15158 : return -1;
15159 : switch (pattern1811 (x4,
15160 : E_V8DImode))
15161 : {
15162 : case 0:
15163 : if (!(
15164 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15165 : (TARGET_AVX512F) &&
15166 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15167 : (Pmode == SImode)))
15168 : return -1;
15169 : *pnum_clobbers = 1;
15170 : return 9894; /* *avx512f_gatherdiv16si */
15171 :
15172 : case 1:
15173 : if (!(
15174 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15175 : (TARGET_AVX512F) &&
15176 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15177 : (Pmode == DImode)))
15178 : return -1;
15179 : *pnum_clobbers = 1;
15180 : return 9906; /* *avx512f_gatherdiv16si */
15181 :
15182 : default:
15183 : return -1;
15184 : }
15185 :
15186 : default:
15187 : return -1;
15188 : }
15189 :
15190 : case E_V16SFmode:
15191 : if (!register_operand (operands[0], E_V16SFmode)
15192 : || GET_MODE (x2) != E_V16SFmode
15193 : || !vsib_mem_operator (operands[6], E_SFmode))
15194 : return -1;
15195 : switch (GET_MODE (operands[1]))
15196 : {
15197 : case E_V16SFmode:
15198 : if (!register_operand (operands[1], E_V16SFmode)
15199 : || !register_operand (operands[7], E_HImode))
15200 : return -1;
15201 : switch (pattern1811 (x4,
15202 : E_V16SImode))
15203 : {
15204 : case 0:
15205 : if (!(
15206 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15207 : (TARGET_AVX512F) &&
15208 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15209 : (Pmode == SImode)))
15210 : return -1;
15211 : *pnum_clobbers = 1;
15212 : return 9847; /* *avx512f_gathersiv16sf */
15213 :
15214 : case 1:
15215 : if (!(
15216 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15217 : (TARGET_AVX512F) &&
15218 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15219 : (Pmode == DImode)))
15220 : return -1;
15221 : *pnum_clobbers = 1;
15222 : return 9859; /* *avx512f_gathersiv16sf */
15223 :
15224 : default:
15225 : return -1;
15226 : }
15227 :
15228 : case E_V8SFmode:
15229 : if (!register_operand (operands[1], E_V8SFmode)
15230 : || !register_operand (operands[7], E_QImode))
15231 : return -1;
15232 : switch (pattern1811 (x4,
15233 : E_V8DImode))
15234 : {
15235 : case 0:
15236 : if (!(
15237 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15238 : (TARGET_AVX512F) &&
15239 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15240 : (Pmode == SImode)))
15241 : return -1;
15242 : *pnum_clobbers = 1;
15243 : return 9895; /* *avx512f_gatherdiv16sf */
15244 :
15245 : case 1:
15246 : if (!(
15247 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15248 : (TARGET_AVX512F) &&
15249 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15250 : (Pmode == DImode)))
15251 : return -1;
15252 : *pnum_clobbers = 1;
15253 : return 9907; /* *avx512f_gatherdiv16sf */
15254 :
15255 : default:
15256 : return -1;
15257 : }
15258 :
15259 : default:
15260 : return -1;
15261 : }
15262 :
15263 : case E_V8DImode:
15264 : switch (pattern1676 (x2,
15265 : E_DImode,
15266 : E_V8DImode))
15267 : {
15268 : case 0:
15269 : if (!(
15270 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15271 : (TARGET_AVX512F) &&
15272 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15273 : (Pmode == SImode)))
15274 : return -1;
15275 : *pnum_clobbers = 1;
15276 : return 9848; /* *avx512f_gathersiv8di */
15277 :
15278 : case 1:
15279 : if (!(
15280 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15281 : (TARGET_AVX512F) &&
15282 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15283 : (Pmode == SImode)))
15284 : return -1;
15285 : *pnum_clobbers = 1;
15286 : return 9896; /* *avx512f_gatherdiv8di */
15287 :
15288 : case 2:
15289 : if (!(
15290 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15291 : (TARGET_AVX512F) &&
15292 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15293 : (Pmode == DImode)))
15294 : return -1;
15295 : *pnum_clobbers = 1;
15296 : return 9860; /* *avx512f_gathersiv8di */
15297 :
15298 : case 3:
15299 : if (!(
15300 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15301 : (TARGET_AVX512F) &&
15302 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15303 : (Pmode == DImode)))
15304 : return -1;
15305 : *pnum_clobbers = 1;
15306 : return 9908; /* *avx512f_gatherdiv8di */
15307 :
15308 : default:
15309 : return -1;
15310 : }
15311 :
15312 : case E_V8DFmode:
15313 : switch (pattern1676 (x2,
15314 : E_DFmode,
15315 : E_V8DFmode))
15316 : {
15317 : case 0:
15318 : if (!(
15319 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15320 : (TARGET_AVX512F) &&
15321 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15322 : (Pmode == SImode)))
15323 : return -1;
15324 : *pnum_clobbers = 1;
15325 : return 9849; /* *avx512f_gathersiv8df */
15326 :
15327 : case 1:
15328 : if (!(
15329 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15330 : (TARGET_AVX512F) &&
15331 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15332 : (Pmode == SImode)))
15333 : return -1;
15334 : *pnum_clobbers = 1;
15335 : return 9897; /* *avx512f_gatherdiv8df */
15336 :
15337 : case 2:
15338 : if (!(
15339 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15340 : (TARGET_AVX512F) &&
15341 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15342 : (Pmode == DImode)))
15343 : return -1;
15344 : *pnum_clobbers = 1;
15345 : return 9861; /* *avx512f_gathersiv8df */
15346 :
15347 : case 3:
15348 : if (!(
15349 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15350 : (TARGET_AVX512F) &&
15351 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15352 : (Pmode == DImode)))
15353 : return -1;
15354 : *pnum_clobbers = 1;
15355 : return 9909; /* *avx512f_gatherdiv8df */
15356 :
15357 : default:
15358 : return -1;
15359 : }
15360 :
15361 : case E_V8SImode:
15362 : if (pattern1677 (x2,
15363 : E_SImode,
15364 : E_V8SImode) != 0)
15365 : return -1;
15366 : switch (GET_MODE (operands[1]))
15367 : {
15368 : case E_V8SImode:
15369 : if (!register_operand (operands[1], E_V8SImode))
15370 : return -1;
15371 : switch (pattern1811 (x4,
15372 : E_V8SImode))
15373 : {
15374 : case 0:
15375 : if (!(
15376 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15377 : (TARGET_AVX512F) && ((
15378 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15379 : (TARGET_AVX512VL) &&
15380 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15381 : (Pmode == SImode)) &&
15382 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15383 : (Pmode == SImode))))
15384 : return -1;
15385 : *pnum_clobbers = 1;
15386 : return 9850; /* *avx512f_gathersiv8si */
15387 :
15388 : case 1:
15389 : if (!(
15390 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15391 : (TARGET_AVX512F) && ((
15392 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15393 : (TARGET_AVX512VL) &&
15394 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15395 : (Pmode == DImode)) &&
15396 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15397 : (Pmode == DImode))))
15398 : return -1;
15399 : *pnum_clobbers = 1;
15400 : return 9862; /* *avx512f_gathersiv8si */
15401 :
15402 : default:
15403 : return -1;
15404 : }
15405 :
15406 : case E_V4SImode:
15407 : if (!register_operand (operands[1], E_V4SImode))
15408 : return -1;
15409 : switch (pattern1811 (x4,
15410 : E_V4DImode))
15411 : {
15412 : case 0:
15413 : if (!(
15414 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15415 : (TARGET_AVX512F) && ((
15416 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15417 : (TARGET_AVX512VL) &&
15418 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15419 : (Pmode == SImode)) &&
15420 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15421 : (Pmode == SImode))))
15422 : return -1;
15423 : *pnum_clobbers = 1;
15424 : return 9898; /* *avx512f_gatherdiv8si */
15425 :
15426 : case 1:
15427 : if (!(
15428 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15429 : (TARGET_AVX512F) && ((
15430 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15431 : (TARGET_AVX512VL) &&
15432 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15433 : (Pmode == DImode)) &&
15434 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15435 : (Pmode == DImode))))
15436 : return -1;
15437 : *pnum_clobbers = 1;
15438 : return 9910; /* *avx512f_gatherdiv8si */
15439 :
15440 : default:
15441 : return -1;
15442 : }
15443 :
15444 : default:
15445 : return -1;
15446 : }
15447 :
15448 : case E_V8SFmode:
15449 : if (pattern1677 (x2,
15450 : E_SFmode,
15451 : E_V8SFmode) != 0)
15452 : return -1;
15453 : switch (GET_MODE (operands[1]))
15454 : {
15455 : case E_V8SFmode:
15456 : if (!register_operand (operands[1], E_V8SFmode))
15457 : return -1;
15458 : switch (pattern1811 (x4,
15459 : E_V8SImode))
15460 : {
15461 : case 0:
15462 : if (!(
15463 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15464 : (TARGET_AVX512F) && ((
15465 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15466 : (TARGET_AVX512VL) &&
15467 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15468 : (Pmode == SImode)) &&
15469 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15470 : (Pmode == SImode))))
15471 : return -1;
15472 : *pnum_clobbers = 1;
15473 : return 9851; /* *avx512f_gathersiv8sf */
15474 :
15475 : case 1:
15476 : if (!(
15477 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15478 : (TARGET_AVX512F) && ((
15479 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15480 : (TARGET_AVX512VL) &&
15481 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15482 : (Pmode == DImode)) &&
15483 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15484 : (Pmode == DImode))))
15485 : return -1;
15486 : *pnum_clobbers = 1;
15487 : return 9863; /* *avx512f_gathersiv8sf */
15488 :
15489 : default:
15490 : return -1;
15491 : }
15492 :
15493 : case E_V4SFmode:
15494 : if (!register_operand (operands[1], E_V4SFmode))
15495 : return -1;
15496 : switch (pattern1811 (x4,
15497 : E_V4DImode))
15498 : {
15499 : case 0:
15500 : if (!(
15501 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15502 : (TARGET_AVX512F) && ((
15503 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15504 : (TARGET_AVX512VL) &&
15505 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15506 : (Pmode == SImode)) &&
15507 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15508 : (Pmode == SImode))))
15509 : return -1;
15510 : *pnum_clobbers = 1;
15511 : return 9899; /* *avx512f_gatherdiv8sf */
15512 :
15513 : case 1:
15514 : if (!(
15515 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15516 : (TARGET_AVX512F) && ((
15517 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15518 : (TARGET_AVX512VL) &&
15519 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15520 : (Pmode == DImode)) &&
15521 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15522 : (Pmode == DImode))))
15523 : return -1;
15524 : *pnum_clobbers = 1;
15525 : return 9911; /* *avx512f_gatherdiv8sf */
15526 :
15527 : default:
15528 : return -1;
15529 : }
15530 :
15531 : default:
15532 : return -1;
15533 : }
15534 :
15535 : case E_V4DImode:
15536 : switch (pattern1679 (x2,
15537 : E_DImode,
15538 : E_V4DImode))
15539 : {
15540 : case 0:
15541 : if (!(
15542 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15543 : (TARGET_AVX512F) && ((
15544 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15545 : (TARGET_AVX512VL) &&
15546 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15547 : (Pmode == SImode)) &&
15548 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15549 : (Pmode == SImode))))
15550 : return -1;
15551 : *pnum_clobbers = 1;
15552 : return 9852; /* *avx512f_gathersiv4di */
15553 :
15554 : case 1:
15555 : if (!(
15556 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15557 : (TARGET_AVX512F) && ((
15558 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15559 : (TARGET_AVX512VL) &&
15560 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15561 : (Pmode == SImode)) &&
15562 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15563 : (Pmode == SImode))))
15564 : return -1;
15565 : *pnum_clobbers = 1;
15566 : return 9900; /* *avx512f_gatherdiv4di */
15567 :
15568 : case 2:
15569 : if (!(
15570 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15571 : (TARGET_AVX512F) && ((
15572 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15573 : (TARGET_AVX512VL) &&
15574 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15575 : (Pmode == DImode)) &&
15576 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15577 : (Pmode == DImode))))
15578 : return -1;
15579 : *pnum_clobbers = 1;
15580 : return 9864; /* *avx512f_gathersiv4di */
15581 :
15582 : case 3:
15583 : if (!(
15584 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15585 : (TARGET_AVX512F) && ((
15586 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15587 : (TARGET_AVX512VL) &&
15588 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15589 : (Pmode == DImode)) &&
15590 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15591 : (Pmode == DImode))))
15592 : return -1;
15593 : *pnum_clobbers = 1;
15594 : return 9912; /* *avx512f_gatherdiv4di */
15595 :
15596 : default:
15597 : return -1;
15598 : }
15599 :
15600 : case E_V4DFmode:
15601 : switch (pattern1679 (x2,
15602 : E_DFmode,
15603 : E_V4DFmode))
15604 : {
15605 : case 0:
15606 : if (!(
15607 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15608 : (TARGET_AVX512F) && ((
15609 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15610 : (TARGET_AVX512VL) &&
15611 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15612 : (Pmode == SImode)) &&
15613 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15614 : (Pmode == SImode))))
15615 : return -1;
15616 : *pnum_clobbers = 1;
15617 : return 9853; /* *avx512f_gathersiv4df */
15618 :
15619 : case 1:
15620 : if (!(
15621 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15622 : (TARGET_AVX512F) && ((
15623 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15624 : (TARGET_AVX512VL) &&
15625 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15626 : (Pmode == SImode)) &&
15627 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15628 : (Pmode == SImode))))
15629 : return -1;
15630 : *pnum_clobbers = 1;
15631 : return 9901; /* *avx512f_gatherdiv4df */
15632 :
15633 : case 2:
15634 : if (!(
15635 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15636 : (TARGET_AVX512F) && ((
15637 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15638 : (TARGET_AVX512VL) &&
15639 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15640 : (Pmode == DImode)) &&
15641 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15642 : (Pmode == DImode))))
15643 : return -1;
15644 : *pnum_clobbers = 1;
15645 : return 9865; /* *avx512f_gathersiv4df */
15646 :
15647 : case 3:
15648 : if (!(
15649 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15650 : (TARGET_AVX512F) && ((
15651 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15652 : (TARGET_AVX512VL) &&
15653 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15654 : (Pmode == DImode)) &&
15655 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15656 : (Pmode == DImode))))
15657 : return -1;
15658 : *pnum_clobbers = 1;
15659 : return 9913; /* *avx512f_gatherdiv4df */
15660 :
15661 : default:
15662 : return -1;
15663 : }
15664 :
15665 : case E_V4SImode:
15666 : switch (pattern1681 (x2,
15667 : E_SImode,
15668 : E_V4SImode))
15669 : {
15670 : case 0:
15671 : if (!(
15672 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15673 : (TARGET_AVX512F) && ((
15674 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15675 : (TARGET_AVX512VL) &&
15676 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15677 : (Pmode == SImode)) &&
15678 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15679 : (Pmode == SImode))))
15680 : return -1;
15681 : *pnum_clobbers = 1;
15682 : return 9854; /* *avx512f_gathersiv4si */
15683 :
15684 : case 1:
15685 : if (!(
15686 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15687 : (TARGET_AVX512F) && ((
15688 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15689 : (TARGET_AVX512VL) &&
15690 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15691 : (Pmode == SImode)) &&
15692 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15693 : (Pmode == SImode))))
15694 : return -1;
15695 : *pnum_clobbers = 1;
15696 : return 9902; /* *avx512f_gatherdiv4si */
15697 :
15698 : case 2:
15699 : if (!(
15700 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15701 : (TARGET_AVX512F) && ((
15702 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15703 : (TARGET_AVX512VL) &&
15704 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15705 : (Pmode == DImode)) &&
15706 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15707 : (Pmode == DImode))))
15708 : return -1;
15709 : *pnum_clobbers = 1;
15710 : return 9866; /* *avx512f_gathersiv4si */
15711 :
15712 : case 3:
15713 : if (!(
15714 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15715 : (TARGET_AVX512F) && ((
15716 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15717 : (TARGET_AVX512VL) &&
15718 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15719 : (Pmode == DImode)) &&
15720 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15721 : (Pmode == DImode))))
15722 : return -1;
15723 : *pnum_clobbers = 1;
15724 : return 9914; /* *avx512f_gatherdiv4si */
15725 :
15726 : default:
15727 : return -1;
15728 : }
15729 :
15730 : case E_V4SFmode:
15731 : switch (pattern1681 (x2,
15732 : E_SFmode,
15733 : E_V4SFmode))
15734 : {
15735 : case 0:
15736 : if (!(
15737 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15738 : (TARGET_AVX512F) && ((
15739 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15740 : (TARGET_AVX512VL) &&
15741 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15742 : (Pmode == SImode)) &&
15743 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15744 : (Pmode == SImode))))
15745 : return -1;
15746 : *pnum_clobbers = 1;
15747 : return 9855; /* *avx512f_gathersiv4sf */
15748 :
15749 : case 1:
15750 : if (!(
15751 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15752 : (TARGET_AVX512F) && ((
15753 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15754 : (TARGET_AVX512VL) &&
15755 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15756 : (Pmode == SImode)) &&
15757 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15758 : (Pmode == SImode))))
15759 : return -1;
15760 : *pnum_clobbers = 1;
15761 : return 9903; /* *avx512f_gatherdiv4sf */
15762 :
15763 : case 2:
15764 : if (!(
15765 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15766 : (TARGET_AVX512F) && ((
15767 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15768 : (TARGET_AVX512VL) &&
15769 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15770 : (Pmode == DImode)) &&
15771 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15772 : (Pmode == DImode))))
15773 : return -1;
15774 : *pnum_clobbers = 1;
15775 : return 9867; /* *avx512f_gathersiv4sf */
15776 :
15777 : case 3:
15778 : if (!(
15779 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15780 : (TARGET_AVX512F) && ((
15781 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15782 : (TARGET_AVX512VL) &&
15783 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15784 : (Pmode == DImode)) &&
15785 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15786 : (Pmode == DImode))))
15787 : return -1;
15788 : *pnum_clobbers = 1;
15789 : return 9915; /* *avx512f_gatherdiv4sf */
15790 :
15791 : default:
15792 : return -1;
15793 : }
15794 :
15795 : case E_V2DImode:
15796 : switch (pattern1681 (x2,
15797 : E_DImode,
15798 : E_V2DImode))
15799 : {
15800 : case 0:
15801 : if (!(
15802 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15803 : (TARGET_AVX512F) && ((
15804 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15805 : (TARGET_AVX512VL) &&
15806 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15807 : (Pmode == SImode)) &&
15808 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15809 : (Pmode == SImode))))
15810 : return -1;
15811 : *pnum_clobbers = 1;
15812 : return 9856; /* *avx512f_gathersiv2di */
15813 :
15814 : case 1:
15815 : if (!(
15816 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15817 : (TARGET_AVX512F) && ((
15818 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15819 : (TARGET_AVX512VL) &&
15820 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15821 : (Pmode == SImode)) &&
15822 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15823 : (Pmode == SImode))))
15824 : return -1;
15825 : *pnum_clobbers = 1;
15826 : return 9904; /* *avx512f_gatherdiv2di */
15827 :
15828 : case 2:
15829 : if (!(
15830 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15831 : (TARGET_AVX512F) && ((
15832 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15833 : (TARGET_AVX512VL) &&
15834 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15835 : (Pmode == DImode)) &&
15836 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15837 : (Pmode == DImode))))
15838 : return -1;
15839 : *pnum_clobbers = 1;
15840 : return 9868; /* *avx512f_gathersiv2di */
15841 :
15842 : case 3:
15843 : if (!(
15844 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15845 : (TARGET_AVX512F) && ((
15846 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15847 : (TARGET_AVX512VL) &&
15848 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15849 : (Pmode == DImode)) &&
15850 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15851 : (Pmode == DImode))))
15852 : return -1;
15853 : *pnum_clobbers = 1;
15854 : return 9916; /* *avx512f_gatherdiv2di */
15855 :
15856 : default:
15857 : return -1;
15858 : }
15859 :
15860 : case E_V2DFmode:
15861 : switch (pattern1681 (x2,
15862 : E_DFmode,
15863 : E_V2DFmode))
15864 : {
15865 : case 0:
15866 : if (!(
15867 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15868 : (TARGET_AVX512F) && ((
15869 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15870 : (TARGET_AVX512VL) &&
15871 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15872 : (Pmode == SImode)) &&
15873 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15874 : (Pmode == SImode))))
15875 : return -1;
15876 : *pnum_clobbers = 1;
15877 : return 9857; /* *avx512f_gathersiv2df */
15878 :
15879 : case 1:
15880 : if (!(
15881 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15882 : (TARGET_AVX512F) && ((
15883 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15884 : (TARGET_AVX512VL) &&
15885 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15886 : (Pmode == SImode)) &&
15887 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15888 : (Pmode == SImode))))
15889 : return -1;
15890 : *pnum_clobbers = 1;
15891 : return 9905; /* *avx512f_gatherdiv2df */
15892 :
15893 : case 2:
15894 : if (!(
15895 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15896 : (TARGET_AVX512F) && ((
15897 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15898 : (TARGET_AVX512VL) &&
15899 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15900 : (Pmode == DImode)) &&
15901 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15902 : (Pmode == DImode))))
15903 : return -1;
15904 : *pnum_clobbers = 1;
15905 : return 9869; /* *avx512f_gathersiv2df */
15906 :
15907 : case 3:
15908 : if (!(
15909 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15910 : (TARGET_AVX512F) && ((
15911 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15912 : (TARGET_AVX512VL) &&
15913 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15914 : (Pmode == DImode)) &&
15915 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15916 : (Pmode == DImode))))
15917 : return -1;
15918 : *pnum_clobbers = 1;
15919 : return 9917; /* *avx512f_gatherdiv2df */
15920 :
15921 : default:
15922 : return -1;
15923 : }
15924 :
15925 : default:
15926 : return -1;
15927 : }
15928 :
15929 : case PC:
15930 : x8 = XVECEXP (x2, 0, 1);
15931 : operands[6] = x8;
15932 : operands[5] = x3;
15933 : x9 = XVECEXP (x4, 0, 0);
15934 : operands[3] = x9;
15935 : x10 = XVECEXP (x4, 0, 1);
15936 : operands[2] = x10;
15937 : operands[4] = x6;
15938 : switch (GET_MODE (operands[0]))
15939 : {
15940 : case E_V16SImode:
15941 : switch (pattern1627 (x2,
15942 : E_SImode,
15943 : E_V16SImode))
15944 : {
15945 : case 0:
15946 : if (!(
15947 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15948 : (TARGET_AVX512F) &&
15949 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15950 : (Pmode == SImode)))
15951 : return -1;
15952 : *pnum_clobbers = 1;
15953 : return 9870; /* *avx512f_gathersiv16si_2 */
15954 :
15955 : case 1:
15956 : if (!(
15957 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15958 : (TARGET_AVX512F) &&
15959 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15960 : (Pmode == DImode)))
15961 : return -1;
15962 : *pnum_clobbers = 1;
15963 : return 9882; /* *avx512f_gathersiv16si_2 */
15964 :
15965 : case 2:
15966 : if (!(
15967 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15968 : (TARGET_AVX512F) &&
15969 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15970 : (Pmode == SImode)))
15971 : return -1;
15972 : *pnum_clobbers = 1;
15973 : return 9918; /* *avx512f_gatherdiv16si_2 */
15974 :
15975 : case 3:
15976 : if (!(
15977 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15978 : (TARGET_AVX512F) &&
15979 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15980 : (Pmode == DImode)))
15981 : return -1;
15982 : *pnum_clobbers = 1;
15983 : return 9930; /* *avx512f_gatherdiv16si_2 */
15984 :
15985 : default:
15986 : return -1;
15987 : }
15988 :
15989 : case E_V16SFmode:
15990 : switch (pattern1627 (x2,
15991 : E_SFmode,
15992 : E_V16SFmode))
15993 : {
15994 : case 0:
15995 : if (!(
15996 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15997 : (TARGET_AVX512F) &&
15998 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15999 : (Pmode == SImode)))
16000 : return -1;
16001 : *pnum_clobbers = 1;
16002 : return 9871; /* *avx512f_gathersiv16sf_2 */
16003 :
16004 : case 1:
16005 : if (!(
16006 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16007 : (TARGET_AVX512F) &&
16008 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16009 : (Pmode == DImode)))
16010 : return -1;
16011 : *pnum_clobbers = 1;
16012 : return 9883; /* *avx512f_gathersiv16sf_2 */
16013 :
16014 : case 2:
16015 : if (!(
16016 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16017 : (TARGET_AVX512F) &&
16018 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16019 : (Pmode == SImode)))
16020 : return -1;
16021 : *pnum_clobbers = 1;
16022 : return 9919; /* *avx512f_gatherdiv16sf_2 */
16023 :
16024 : case 3:
16025 : if (!(
16026 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16027 : (TARGET_AVX512F) &&
16028 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16029 : (Pmode == DImode)))
16030 : return -1;
16031 : *pnum_clobbers = 1;
16032 : return 9931; /* *avx512f_gatherdiv16sf_2 */
16033 :
16034 : default:
16035 : return -1;
16036 : }
16037 :
16038 : case E_V8DImode:
16039 : switch (pattern1629 (x2,
16040 : E_DImode,
16041 : E_V8DImode))
16042 : {
16043 : case 0:
16044 : if (!(
16045 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16046 : (TARGET_AVX512F) &&
16047 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16048 : (Pmode == SImode)))
16049 : return -1;
16050 : *pnum_clobbers = 1;
16051 : return 9872; /* *avx512f_gathersiv8di_2 */
16052 :
16053 : case 1:
16054 : if (!(
16055 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16056 : (TARGET_AVX512F) &&
16057 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16058 : (Pmode == SImode)))
16059 : return -1;
16060 : *pnum_clobbers = 1;
16061 : return 9920; /* *avx512f_gatherdiv8di_2 */
16062 :
16063 : case 2:
16064 : if (!(
16065 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16066 : (TARGET_AVX512F) &&
16067 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16068 : (Pmode == DImode)))
16069 : return -1;
16070 : *pnum_clobbers = 1;
16071 : return 9884; /* *avx512f_gathersiv8di_2 */
16072 :
16073 : case 3:
16074 : if (!(
16075 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16076 : (TARGET_AVX512F) &&
16077 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16078 : (Pmode == DImode)))
16079 : return -1;
16080 : *pnum_clobbers = 1;
16081 : return 9932; /* *avx512f_gatherdiv8di_2 */
16082 :
16083 : default:
16084 : return -1;
16085 : }
16086 :
16087 : case E_V8DFmode:
16088 : switch (pattern1629 (x2,
16089 : E_DFmode,
16090 : E_V8DFmode))
16091 : {
16092 : case 0:
16093 : if (!(
16094 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16095 : (TARGET_AVX512F) &&
16096 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16097 : (Pmode == SImode)))
16098 : return -1;
16099 : *pnum_clobbers = 1;
16100 : return 9873; /* *avx512f_gathersiv8df_2 */
16101 :
16102 : case 1:
16103 : if (!(
16104 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16105 : (TARGET_AVX512F) &&
16106 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16107 : (Pmode == SImode)))
16108 : return -1;
16109 : *pnum_clobbers = 1;
16110 : return 9921; /* *avx512f_gatherdiv8df_2 */
16111 :
16112 : case 2:
16113 : if (!(
16114 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16115 : (TARGET_AVX512F) &&
16116 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16117 : (Pmode == DImode)))
16118 : return -1;
16119 : *pnum_clobbers = 1;
16120 : return 9885; /* *avx512f_gathersiv8df_2 */
16121 :
16122 : case 3:
16123 : if (!(
16124 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16125 : (TARGET_AVX512F) &&
16126 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16127 : (Pmode == DImode)))
16128 : return -1;
16129 : *pnum_clobbers = 1;
16130 : return 9933; /* *avx512f_gatherdiv8df_2 */
16131 :
16132 : default:
16133 : return -1;
16134 : }
16135 :
16136 : case E_V8SImode:
16137 : switch (pattern1631 (x2,
16138 : E_SImode,
16139 : E_V8SImode))
16140 : {
16141 : case 0:
16142 : if (!(
16143 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16144 : (TARGET_AVX512F) && ((
16145 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16146 : (TARGET_AVX512VL) &&
16147 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16148 : (Pmode == SImode)) &&
16149 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16150 : (Pmode == SImode))))
16151 : return -1;
16152 : *pnum_clobbers = 1;
16153 : return 9874; /* *avx512f_gathersiv8si_2 */
16154 :
16155 : case 1:
16156 : if (!(
16157 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16158 : (TARGET_AVX512F) && ((
16159 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16160 : (TARGET_AVX512VL) &&
16161 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16162 : (Pmode == SImode)) &&
16163 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16164 : (Pmode == SImode))))
16165 : return -1;
16166 : *pnum_clobbers = 1;
16167 : return 9922; /* *avx512f_gatherdiv8si_2 */
16168 :
16169 : case 2:
16170 : if (!(
16171 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16172 : (TARGET_AVX512F) && ((
16173 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16174 : (TARGET_AVX512VL) &&
16175 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16176 : (Pmode == DImode)) &&
16177 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16178 : (Pmode == DImode))))
16179 : return -1;
16180 : *pnum_clobbers = 1;
16181 : return 9886; /* *avx512f_gathersiv8si_2 */
16182 :
16183 : case 3:
16184 : if (!(
16185 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16186 : (TARGET_AVX512F) && ((
16187 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16188 : (TARGET_AVX512VL) &&
16189 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16190 : (Pmode == DImode)) &&
16191 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16192 : (Pmode == DImode))))
16193 : return -1;
16194 : *pnum_clobbers = 1;
16195 : return 9934; /* *avx512f_gatherdiv8si_2 */
16196 :
16197 : default:
16198 : return -1;
16199 : }
16200 :
16201 : case E_V8SFmode:
16202 : switch (pattern1631 (x2,
16203 : E_SFmode,
16204 : E_V8SFmode))
16205 : {
16206 : case 0:
16207 : if (!(
16208 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16209 : (TARGET_AVX512F) && ((
16210 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16211 : (TARGET_AVX512VL) &&
16212 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16213 : (Pmode == SImode)) &&
16214 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16215 : (Pmode == SImode))))
16216 : return -1;
16217 : *pnum_clobbers = 1;
16218 : return 9875; /* *avx512f_gathersiv8sf_2 */
16219 :
16220 : case 1:
16221 : if (!(
16222 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16223 : (TARGET_AVX512F) && ((
16224 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16225 : (TARGET_AVX512VL) &&
16226 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16227 : (Pmode == SImode)) &&
16228 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16229 : (Pmode == SImode))))
16230 : return -1;
16231 : *pnum_clobbers = 1;
16232 : return 9923; /* *avx512f_gatherdiv8sf_2 */
16233 :
16234 : case 2:
16235 : if (!(
16236 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16237 : (TARGET_AVX512F) && ((
16238 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16239 : (TARGET_AVX512VL) &&
16240 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16241 : (Pmode == DImode)) &&
16242 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16243 : (Pmode == DImode))))
16244 : return -1;
16245 : *pnum_clobbers = 1;
16246 : return 9887; /* *avx512f_gathersiv8sf_2 */
16247 :
16248 : case 3:
16249 : if (!(
16250 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16251 : (TARGET_AVX512F) && ((
16252 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16253 : (TARGET_AVX512VL) &&
16254 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16255 : (Pmode == DImode)) &&
16256 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16257 : (Pmode == DImode))))
16258 : return -1;
16259 : *pnum_clobbers = 1;
16260 : return 9935; /* *avx512f_gatherdiv8sf_2 */
16261 :
16262 : default:
16263 : return -1;
16264 : }
16265 :
16266 : case E_V4DImode:
16267 : switch (pattern1633 (x2,
16268 : E_DImode,
16269 : E_V4DImode))
16270 : {
16271 : case 0:
16272 : if (!(
16273 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16274 : (TARGET_AVX512F) && ((
16275 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16276 : (TARGET_AVX512VL) &&
16277 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16278 : (Pmode == SImode)) &&
16279 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16280 : (Pmode == SImode))))
16281 : return -1;
16282 : *pnum_clobbers = 1;
16283 : return 9876; /* *avx512f_gathersiv4di_2 */
16284 :
16285 : case 1:
16286 : if (!(
16287 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16288 : (TARGET_AVX512F) && ((
16289 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16290 : (TARGET_AVX512VL) &&
16291 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16292 : (Pmode == SImode)) &&
16293 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16294 : (Pmode == SImode))))
16295 : return -1;
16296 : *pnum_clobbers = 1;
16297 : return 9924; /* *avx512f_gatherdiv4di_2 */
16298 :
16299 : case 2:
16300 : if (!(
16301 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16302 : (TARGET_AVX512F) && ((
16303 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16304 : (TARGET_AVX512VL) &&
16305 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16306 : (Pmode == DImode)) &&
16307 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16308 : (Pmode == DImode))))
16309 : return -1;
16310 : *pnum_clobbers = 1;
16311 : return 9888; /* *avx512f_gathersiv4di_2 */
16312 :
16313 : case 3:
16314 : if (!(
16315 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16316 : (TARGET_AVX512F) && ((
16317 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16318 : (TARGET_AVX512VL) &&
16319 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16320 : (Pmode == DImode)) &&
16321 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16322 : (Pmode == DImode))))
16323 : return -1;
16324 : *pnum_clobbers = 1;
16325 : return 9936; /* *avx512f_gatherdiv4di_2 */
16326 :
16327 : default:
16328 : return -1;
16329 : }
16330 :
16331 : case E_V4DFmode:
16332 : switch (pattern1633 (x2,
16333 : E_DFmode,
16334 : E_V4DFmode))
16335 : {
16336 : case 0:
16337 : if (!(
16338 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16339 : (TARGET_AVX512F) && ((
16340 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16341 : (TARGET_AVX512VL) &&
16342 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16343 : (Pmode == SImode)) &&
16344 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16345 : (Pmode == SImode))))
16346 : return -1;
16347 : *pnum_clobbers = 1;
16348 : return 9877; /* *avx512f_gathersiv4df_2 */
16349 :
16350 : case 1:
16351 : if (!(
16352 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16353 : (TARGET_AVX512F) && ((
16354 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16355 : (TARGET_AVX512VL) &&
16356 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16357 : (Pmode == SImode)) &&
16358 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16359 : (Pmode == SImode))))
16360 : return -1;
16361 : *pnum_clobbers = 1;
16362 : return 9925; /* *avx512f_gatherdiv4df_2 */
16363 :
16364 : case 2:
16365 : if (!(
16366 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16367 : (TARGET_AVX512F) && ((
16368 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16369 : (TARGET_AVX512VL) &&
16370 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16371 : (Pmode == DImode)) &&
16372 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16373 : (Pmode == DImode))))
16374 : return -1;
16375 : *pnum_clobbers = 1;
16376 : return 9889; /* *avx512f_gathersiv4df_2 */
16377 :
16378 : case 3:
16379 : if (!(
16380 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16381 : (TARGET_AVX512F) && ((
16382 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16383 : (TARGET_AVX512VL) &&
16384 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16385 : (Pmode == DImode)) &&
16386 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16387 : (Pmode == DImode))))
16388 : return -1;
16389 : *pnum_clobbers = 1;
16390 : return 9937; /* *avx512f_gatherdiv4df_2 */
16391 :
16392 : default:
16393 : return -1;
16394 : }
16395 :
16396 : case E_V4SImode:
16397 : switch (pattern1635 (x2,
16398 : E_SImode,
16399 : E_V4SImode))
16400 : {
16401 : case 0:
16402 : if (!(
16403 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16404 : (TARGET_AVX512F) && ((
16405 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16406 : (TARGET_AVX512VL) &&
16407 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16408 : (Pmode == SImode)) &&
16409 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16410 : (Pmode == SImode))))
16411 : return -1;
16412 : *pnum_clobbers = 1;
16413 : return 9878; /* *avx512f_gathersiv4si_2 */
16414 :
16415 : case 1:
16416 : if (!(
16417 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16418 : (TARGET_AVX512F) && ((
16419 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16420 : (TARGET_AVX512VL) &&
16421 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16422 : (Pmode == SImode)) &&
16423 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16424 : (Pmode == SImode))))
16425 : return -1;
16426 : *pnum_clobbers = 1;
16427 : return 9926; /* *avx512f_gatherdiv4si_2 */
16428 :
16429 : case 2:
16430 : if (!(
16431 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16432 : (TARGET_AVX512F) && ((
16433 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16434 : (TARGET_AVX512VL) &&
16435 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16436 : (Pmode == DImode)) &&
16437 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16438 : (Pmode == DImode))))
16439 : return -1;
16440 : *pnum_clobbers = 1;
16441 : return 9890; /* *avx512f_gathersiv4si_2 */
16442 :
16443 : case 3:
16444 : if (!(
16445 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16446 : (TARGET_AVX512F) && ((
16447 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16448 : (TARGET_AVX512VL) &&
16449 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16450 : (Pmode == DImode)) &&
16451 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16452 : (Pmode == DImode))))
16453 : return -1;
16454 : *pnum_clobbers = 1;
16455 : return 9938; /* *avx512f_gatherdiv4si_2 */
16456 :
16457 : default:
16458 : return -1;
16459 : }
16460 :
16461 : case E_V4SFmode:
16462 : switch (pattern1635 (x2,
16463 : E_SFmode,
16464 : E_V4SFmode))
16465 : {
16466 : case 0:
16467 : if (!(
16468 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16469 : (TARGET_AVX512F) && ((
16470 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16471 : (TARGET_AVX512VL) &&
16472 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16473 : (Pmode == SImode)) &&
16474 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16475 : (Pmode == SImode))))
16476 : return -1;
16477 : *pnum_clobbers = 1;
16478 : return 9879; /* *avx512f_gathersiv4sf_2 */
16479 :
16480 : case 1:
16481 : if (!(
16482 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16483 : (TARGET_AVX512F) && ((
16484 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16485 : (TARGET_AVX512VL) &&
16486 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16487 : (Pmode == SImode)) &&
16488 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16489 : (Pmode == SImode))))
16490 : return -1;
16491 : *pnum_clobbers = 1;
16492 : return 9927; /* *avx512f_gatherdiv4sf_2 */
16493 :
16494 : case 2:
16495 : if (!(
16496 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16497 : (TARGET_AVX512F) && ((
16498 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16499 : (TARGET_AVX512VL) &&
16500 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16501 : (Pmode == DImode)) &&
16502 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16503 : (Pmode == DImode))))
16504 : return -1;
16505 : *pnum_clobbers = 1;
16506 : return 9891; /* *avx512f_gathersiv4sf_2 */
16507 :
16508 : case 3:
16509 : if (!(
16510 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16511 : (TARGET_AVX512F) && ((
16512 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16513 : (TARGET_AVX512VL) &&
16514 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16515 : (Pmode == DImode)) &&
16516 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16517 : (Pmode == DImode))))
16518 : return -1;
16519 : *pnum_clobbers = 1;
16520 : return 9939; /* *avx512f_gatherdiv4sf_2 */
16521 :
16522 : default:
16523 : return -1;
16524 : }
16525 :
16526 : case E_V2DImode:
16527 : switch (pattern1635 (x2,
16528 : E_DImode,
16529 : E_V2DImode))
16530 : {
16531 : case 0:
16532 : if (!(
16533 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16534 : (TARGET_AVX512F) && ((
16535 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16536 : (TARGET_AVX512VL) &&
16537 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16538 : (Pmode == SImode)) &&
16539 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16540 : (Pmode == SImode))))
16541 : return -1;
16542 : *pnum_clobbers = 1;
16543 : return 9880; /* *avx512f_gathersiv2di_2 */
16544 :
16545 : case 1:
16546 : if (!(
16547 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16548 : (TARGET_AVX512F) && ((
16549 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16550 : (TARGET_AVX512VL) &&
16551 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16552 : (Pmode == SImode)) &&
16553 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16554 : (Pmode == SImode))))
16555 : return -1;
16556 : *pnum_clobbers = 1;
16557 : return 9928; /* *avx512f_gatherdiv2di_2 */
16558 :
16559 : case 2:
16560 : if (!(
16561 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16562 : (TARGET_AVX512F) && ((
16563 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16564 : (TARGET_AVX512VL) &&
16565 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16566 : (Pmode == DImode)) &&
16567 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16568 : (Pmode == DImode))))
16569 : return -1;
16570 : *pnum_clobbers = 1;
16571 : return 9892; /* *avx512f_gathersiv2di_2 */
16572 :
16573 : case 3:
16574 : if (!(
16575 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16576 : (TARGET_AVX512F) && ((
16577 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16578 : (TARGET_AVX512VL) &&
16579 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16580 : (Pmode == DImode)) &&
16581 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16582 : (Pmode == DImode))))
16583 : return -1;
16584 : *pnum_clobbers = 1;
16585 : return 9940; /* *avx512f_gatherdiv2di_2 */
16586 :
16587 : default:
16588 : return -1;
16589 : }
16590 :
16591 : case E_V2DFmode:
16592 : switch (pattern1635 (x2,
16593 : E_DFmode,
16594 : E_V2DFmode))
16595 : {
16596 : case 0:
16597 : if (!(
16598 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16599 : (TARGET_AVX512F) && ((
16600 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16601 : (TARGET_AVX512VL) &&
16602 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16603 : (Pmode == SImode)) &&
16604 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16605 : (Pmode == SImode))))
16606 : return -1;
16607 : *pnum_clobbers = 1;
16608 : return 9881; /* *avx512f_gathersiv2df_2 */
16609 :
16610 : case 1:
16611 : if (!(
16612 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16613 : (TARGET_AVX512F) && ((
16614 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16615 : (TARGET_AVX512VL) &&
16616 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16617 : (Pmode == SImode)) &&
16618 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16619 : (Pmode == SImode))))
16620 : return -1;
16621 : *pnum_clobbers = 1;
16622 : return 9929; /* *avx512f_gatherdiv2df_2 */
16623 :
16624 : case 2:
16625 : if (!(
16626 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16627 : (TARGET_AVX512F) && ((
16628 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16629 : (TARGET_AVX512VL) &&
16630 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16631 : (Pmode == DImode)) &&
16632 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16633 : (Pmode == DImode))))
16634 : return -1;
16635 : *pnum_clobbers = 1;
16636 : return 9893; /* *avx512f_gathersiv2df_2 */
16637 :
16638 : case 3:
16639 : if (!(
16640 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16641 : (TARGET_AVX512F) && ((
16642 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16643 : (TARGET_AVX512VL) &&
16644 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16645 : (Pmode == DImode)) &&
16646 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16647 : (Pmode == DImode))))
16648 : return -1;
16649 : *pnum_clobbers = 1;
16650 : return 9941; /* *avx512f_gatherdiv2df_2 */
16651 :
16652 : default:
16653 : return -1;
16654 : }
16655 :
16656 : default:
16657 : return -1;
16658 : }
16659 :
16660 : default:
16661 : return -1;
16662 : }
16663 : }
16664 :
16665 : int
16666 : recog_295 (rtx x1 ATTRIBUTE_UNUSED,
16667 : rtx_insn *insn ATTRIBUTE_UNUSED,
16668 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16669 : {
16670 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16671 : rtx x2, x3, x4, x5, x6, x7;
16672 : int res ATTRIBUTE_UNUSED;
16673 : x2 = XEXP (x1, 1);
16674 : x3 = XEXP (x2, 1);
16675 : x4 = XVECEXP (x3, 0, 4);
16676 : if (GET_CODE (x4) != CONST_INT)
16677 : return -1;
16678 : operands[6] = x4;
16679 : res = recog_294 (x1, insn, pnum_clobbers);
16680 : if (res >= 0)
16681 : return res;
16682 : if (XWINT (x4, 0) != 4L)
16683 : return -1;
16684 : x5 = XVECEXP (x3, 0, 5);
16685 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
16686 : return -1;
16687 : x6 = XVECEXP (x3, 0, 6);
16688 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
16689 : return -1;
16690 : x7 = XVECEXP (x3, 0, 7);
16691 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
16692 : || !register_operand (operands[0], E_V8HImode)
16693 : || GET_MODE (x2) != E_V8HImode
16694 : || !vector_operand (operands[1], E_V8HImode)
16695 : || pattern756 (x3) != 0
16696 : || !
16697 : #line 21328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16698 : (TARGET_SSE2 && 1 && 1))
16699 : return -1;
16700 : return 8522; /* sse2_pshuflw_1 */
16701 : }
16702 :
16703 : int
16704 : recog_296 (rtx x1 ATTRIBUTE_UNUSED,
16705 : rtx_insn *insn ATTRIBUTE_UNUSED,
16706 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16707 : {
16708 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16709 : rtx x2, x3, x4, x5, x6, x7;
16710 : int res ATTRIBUTE_UNUSED;
16711 : x2 = XEXP (x1, 1);
16712 : x3 = XEXP (x2, 1);
16713 : x4 = XVECEXP (x3, 0, 0);
16714 : if (GET_CODE (x4) != CONST_INT)
16715 : return -1;
16716 : x5 = XVECEXP (x3, 0, 1);
16717 : if (GET_CODE (x5) == CONST_INT)
16718 : {
16719 : res = recog_293 (x1, insn, pnum_clobbers);
16720 : if (res >= 0)
16721 : return res;
16722 : }
16723 : operands[2] = x4;
16724 : res = recog_295 (x1, insn, pnum_clobbers);
16725 : if (res >= 0)
16726 : return res;
16727 : if (XWINT (x4, 0) != 0L
16728 : || x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16729 : return -1;
16730 : x6 = XVECEXP (x3, 0, 2);
16731 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
16732 : return -1;
16733 : x7 = XVECEXP (x3, 0, 3);
16734 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
16735 : || !register_operand (operands[0], E_V8HImode)
16736 : || GET_MODE (x2) != E_V8HImode
16737 : || !vector_operand (operands[1], E_V8HImode)
16738 : || pattern1495 (x3) != 0
16739 : || !
16740 : #line 21485 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16741 : (TARGET_SSE2 && 1 && 1))
16742 : return -1;
16743 : return 8528; /* sse2_pshufhw_1 */
16744 : }
16745 :
16746 : int
16747 : recog_302 (rtx x1 ATTRIBUTE_UNUSED,
16748 : rtx_insn *insn ATTRIBUTE_UNUSED,
16749 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16750 : {
16751 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16752 : rtx x2, x3, x4;
16753 : int res ATTRIBUTE_UNUSED;
16754 : x2 = XEXP (x1, 1);
16755 : x3 = XEXP (x2, 1);
16756 : x4 = XVECEXP (x3, 0, 0);
16757 : operands[3] = x4;
16758 : if (!const_int_operand (operands[3], E_VOIDmode))
16759 : return -1;
16760 : switch (GET_MODE (operands[0]))
16761 : {
16762 : case E_V4SFmode:
16763 : if (!register_operand (operands[0], E_V4SFmode)
16764 : || GET_MODE (x2) != E_V4SFmode)
16765 : return -1;
16766 : if (nonimmediate_operand (operands[1], E_V4SFmode))
16767 : {
16768 : if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
16769 : &&
16770 : #line 28300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16771 : (TARGET_AVX))
16772 : return 9239; /* *avx_vperm_broadcast_v4sf */
16773 : if (
16774 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16775 : (TARGET_AVX && 1
16776 : && avx_vpermilp_parallel (operands[2], V4SFmode)))
16777 : return 9258; /* *avx_vpermilpv4sf */
16778 : }
16779 : if (!register_operand (operands[1], E_V4SFmode)
16780 : || !palignr_operand (operands[2], E_VOIDmode)
16781 : || !
16782 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16783 : (TARGET_SSSE3))
16784 : return -1;
16785 : return 9564; /* *ssse3_palignrv4sf_perm */
16786 :
16787 : case E_V8SFmode:
16788 : if (!register_operand (operands[0], E_V8SFmode)
16789 : || GET_MODE (x2) != E_V8SFmode
16790 : || !nonimmediate_operand (operands[1], E_V8SFmode))
16791 : return -1;
16792 : if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
16793 : &&
16794 : #line 28328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16795 : (TARGET_AVX
16796 : && (V8SFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)))
16797 : return 9240; /* *avx_vperm_broadcast_v8sf */
16798 : if (!(
16799 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16800 : (TARGET_AVX && 1
16801 : && avx_vpermilp_parallel (operands[2], V8SFmode)) &&
16802 : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16803 : (TARGET_AVX)))
16804 : return -1;
16805 : return 9256; /* *avx_vpermilpv8sf */
16806 :
16807 : case E_V4DFmode:
16808 : if (!register_operand (operands[0], E_V4DFmode)
16809 : || GET_MODE (x2) != E_V4DFmode
16810 : || !nonimmediate_operand (operands[1], E_V4DFmode))
16811 : return -1;
16812 : if (avx_vbroadcast_operand (operands[2], E_VOIDmode)
16813 : &&
16814 : #line 28328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16815 : (TARGET_AVX
16816 : && (V4DFmode != V4DFmode || !TARGET_AVX2 || operands[3] == const0_rtx)))
16817 : return 9241; /* *avx_vperm_broadcast_v4df */
16818 : if (!(
16819 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16820 : (TARGET_AVX && 1
16821 : && avx_vpermilp_parallel (operands[2], V4DFmode)) &&
16822 : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16823 : (TARGET_AVX)))
16824 : return -1;
16825 : return 9262; /* *avx_vpermilpv4df */
16826 :
16827 : case E_V16SImode:
16828 : if (!register_operand (operands[0], E_V16SImode)
16829 : || GET_MODE (x2) != E_V16SImode
16830 : || !nonimmediate_operand (operands[1], E_V16SImode)
16831 : || !(
16832 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16833 : (TARGET_AVX && 1
16834 : && avx_vpermilp_parallel (operands[2], V16SImode)) &&
16835 : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16836 : (TARGET_AVX512F)))
16837 : return -1;
16838 : return 9242; /* *avx512f_vpermilpv16si */
16839 :
16840 : case E_V8SImode:
16841 : if (!register_operand (operands[0], E_V8SImode)
16842 : || GET_MODE (x2) != E_V8SImode
16843 : || !nonimmediate_operand (operands[1], E_V8SImode)
16844 : || !(
16845 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16846 : (TARGET_AVX && 1
16847 : && avx_vpermilp_parallel (operands[2], V8SImode)) &&
16848 : #line 311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16849 : (TARGET_AVX)))
16850 : return -1;
16851 : return 9244; /* *avx_vpermilpv8si */
16852 :
16853 : case E_V4SImode:
16854 : if (!register_operand (operands[0], E_V4SImode)
16855 : || GET_MODE (x2) != E_V4SImode)
16856 : return -1;
16857 : if (nonimmediate_operand (operands[1], E_V4SImode)
16858 : &&
16859 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16860 : (TARGET_AVX && 1
16861 : && avx_vpermilp_parallel (operands[2], V4SImode)))
16862 : return 9246; /* *sse2_vpermilpv4si */
16863 : if (!register_operand (operands[1], E_V4SImode)
16864 : || !palignr_operand (operands[2], E_VOIDmode)
16865 : || !
16866 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16867 : (TARGET_SSSE3))
16868 : return -1;
16869 : return 9562; /* *ssse3_palignrv4si_perm */
16870 :
16871 : case E_V8DImode:
16872 : if (!register_operand (operands[0], E_V8DImode)
16873 : || GET_MODE (x2) != E_V8DImode
16874 : || !nonimmediate_operand (operands[1], E_V8DImode)
16875 : || !(
16876 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16877 : (TARGET_AVX && 1
16878 : && avx_vpermilp_parallel (operands[2], V8DImode)) &&
16879 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16880 : (TARGET_AVX512F)))
16881 : return -1;
16882 : return 9248; /* *avx512f_vpermilpv8di */
16883 :
16884 : case E_V4DImode:
16885 : if (!register_operand (operands[0], E_V4DImode)
16886 : || GET_MODE (x2) != E_V4DImode
16887 : || !nonimmediate_operand (operands[1], E_V4DImode)
16888 : || !(
16889 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16890 : (TARGET_AVX && 1
16891 : && avx_vpermilp_parallel (operands[2], V4DImode)) &&
16892 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16893 : (TARGET_AVX)))
16894 : return -1;
16895 : return 9250; /* *avx512vl_vpermilpv4di */
16896 :
16897 : case E_V2DImode:
16898 : if (!register_operand (operands[0], E_V2DImode)
16899 : || GET_MODE (x2) != E_V2DImode)
16900 : return -1;
16901 : if (nonimmediate_operand (operands[1], E_V2DImode)
16902 : && (
16903 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16904 : (TARGET_AVX && 1
16905 : && avx_vpermilp_parallel (operands[2], V2DImode)) &&
16906 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16907 : (TARGET_SSE2)))
16908 : return 9252; /* *avx512vl_vpermilpv2di */
16909 : if (!register_operand (operands[1], E_V2DImode)
16910 : || !palignr_operand (operands[2], E_VOIDmode)
16911 : || !
16912 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16913 : (TARGET_SSSE3))
16914 : return -1;
16915 : return 9563; /* *ssse3_palignrv2di_perm */
16916 :
16917 : case E_V16SFmode:
16918 : if (!register_operand (operands[0], E_V16SFmode)
16919 : || GET_MODE (x2) != E_V16SFmode
16920 : || !nonimmediate_operand (operands[1], E_V16SFmode)
16921 : || !(
16922 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16923 : (TARGET_AVX && 1
16924 : && avx_vpermilp_parallel (operands[2], V16SFmode)) &&
16925 : #line 313 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16926 : (TARGET_AVX512F)))
16927 : return -1;
16928 : return 9254; /* *avx512f_vpermilpv16sf */
16929 :
16930 : case E_V8DFmode:
16931 : if (!register_operand (operands[0], E_V8DFmode)
16932 : || GET_MODE (x2) != E_V8DFmode
16933 : || !nonimmediate_operand (operands[1], E_V8DFmode)
16934 : || !(
16935 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16936 : (TARGET_AVX && 1
16937 : && avx_vpermilp_parallel (operands[2], V8DFmode)) &&
16938 : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16939 : (TARGET_AVX512F)))
16940 : return -1;
16941 : return 9260; /* *avx512f_vpermilpv8df */
16942 :
16943 : case E_V2DFmode:
16944 : if (!register_operand (operands[0], E_V2DFmode)
16945 : || GET_MODE (x2) != E_V2DFmode)
16946 : return -1;
16947 : if (nonimmediate_operand (operands[1], E_V2DFmode)
16948 : && (
16949 : #line 28437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16950 : (TARGET_AVX && 1
16951 : && avx_vpermilp_parallel (operands[2], V2DFmode)) &&
16952 : #line 314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16953 : (TARGET_SSE2)))
16954 : return 9264; /* *avx_vpermilpv2df */
16955 : if (!register_operand (operands[1], E_V2DFmode)
16956 : || !palignr_operand (operands[2], E_VOIDmode)
16957 : || !(
16958 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16959 : (TARGET_SSSE3) &&
16960 : #line 356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16961 : (TARGET_SSE2)))
16962 : return -1;
16963 : return 9565; /* *ssse3_palignrv2df_perm */
16964 :
16965 : case E_V16QImode:
16966 : if (pattern1157 (x2,
16967 : E_V16QImode) != 0
16968 : || !
16969 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16970 : (TARGET_SSSE3))
16971 : return -1;
16972 : return 9558; /* *ssse3_palignrv16qi_perm */
16973 :
16974 : case E_V8HImode:
16975 : if (pattern1157 (x2,
16976 : E_V8HImode) != 0
16977 : || !
16978 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16979 : (TARGET_SSSE3))
16980 : return -1;
16981 : return 9559; /* *ssse3_palignrv8hi_perm */
16982 :
16983 : case E_V8HFmode:
16984 : if (pattern1157 (x2,
16985 : E_V8HFmode) != 0
16986 : || !
16987 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16988 : (TARGET_SSSE3))
16989 : return -1;
16990 : return 9560; /* *ssse3_palignrv8hf_perm */
16991 :
16992 : case E_V8BFmode:
16993 : if (pattern1157 (x2,
16994 : E_V8BFmode) != 0
16995 : || !
16996 : #line 29315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16997 : (TARGET_SSSE3))
16998 : return -1;
16999 : return 9561; /* *ssse3_palignrv8bf_perm */
17000 :
17001 : default:
17002 : return -1;
17003 : }
17004 : }
17005 :
17006 : int
17007 : recog_312 (rtx x1 ATTRIBUTE_UNUSED,
17008 : rtx_insn *insn ATTRIBUTE_UNUSED,
17009 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17010 : {
17011 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17012 : rtx x2, x3, x4;
17013 : int res ATTRIBUTE_UNUSED;
17014 : x2 = XEXP (x1, 1);
17015 : x3 = XEXP (x2, 0);
17016 : x4 = XEXP (x3, 0);
17017 : switch (GET_CODE (x4))
17018 : {
17019 : case REG:
17020 : case SUBREG:
17021 : case MEM:
17022 : case NOT:
17023 : switch (pattern537 (x2))
17024 : {
17025 : case 0:
17026 : if (!(
17027 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17028 : ((64 == 64 || TARGET_AVX512VL
17029 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17030 : && ix86_pre_reload_split ()
17031 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17032 : STRIP_UNARY (operands[4]))
17033 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17034 : STRIP_UNARY (operands[4]))
17035 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17036 : STRIP_UNARY (operands[3]))
17037 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17038 : STRIP_UNARY (operands[3])))) &&
17039 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17040 : (TARGET_AVX512F)))
17041 : return -1;
17042 : return 5555; /* *avx512bw_vpternlogv64qi_1 */
17043 :
17044 : case 1:
17045 : if (!(
17046 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17047 : ((32 == 64 || TARGET_AVX512VL
17048 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17049 : && ix86_pre_reload_split ()
17050 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17051 : STRIP_UNARY (operands[4]))
17052 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17053 : STRIP_UNARY (operands[4]))
17054 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17055 : STRIP_UNARY (operands[3]))
17056 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17057 : STRIP_UNARY (operands[3])))) &&
17058 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17059 : (TARGET_AVX)))
17060 : return -1;
17061 : return 5582; /* *avx512vl_vpternlogv32qi_1 */
17062 :
17063 : case 2:
17064 : if (!
17065 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17066 : ((16 == 64 || TARGET_AVX512VL
17067 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17068 : && ix86_pre_reload_split ()
17069 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17070 : STRIP_UNARY (operands[4]))
17071 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17072 : STRIP_UNARY (operands[4]))
17073 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17074 : STRIP_UNARY (operands[3]))
17075 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17076 : STRIP_UNARY (operands[3])))))
17077 : return -1;
17078 : return 5609; /* *avx512vl_vpternlogv16qi_1 */
17079 :
17080 : case 3:
17081 : if (!(
17082 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17083 : ((64 == 64 || TARGET_AVX512VL
17084 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17085 : && ix86_pre_reload_split ()
17086 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17087 : STRIP_UNARY (operands[4]))
17088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17089 : STRIP_UNARY (operands[4]))
17090 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17091 : STRIP_UNARY (operands[3]))
17092 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17093 : STRIP_UNARY (operands[3])))) &&
17094 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17095 : (TARGET_AVX512F)))
17096 : return -1;
17097 : return 5636; /* *avx512bw_vpternlogv32hi_1 */
17098 :
17099 : case 4:
17100 : if (!(
17101 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17102 : ((32 == 64 || TARGET_AVX512VL
17103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17104 : && ix86_pre_reload_split ()
17105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17106 : STRIP_UNARY (operands[4]))
17107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17108 : STRIP_UNARY (operands[4]))
17109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17110 : STRIP_UNARY (operands[3]))
17111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17112 : STRIP_UNARY (operands[3])))) &&
17113 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17114 : (TARGET_AVX)))
17115 : return -1;
17116 : return 5663; /* *avx512vl_vpternlogv16hi_1 */
17117 :
17118 : case 5:
17119 : if (!
17120 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17121 : ((16 == 64 || TARGET_AVX512VL
17122 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17123 : && ix86_pre_reload_split ()
17124 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17125 : STRIP_UNARY (operands[4]))
17126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17127 : STRIP_UNARY (operands[4]))
17128 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17129 : STRIP_UNARY (operands[3]))
17130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17131 : STRIP_UNARY (operands[3])))))
17132 : return -1;
17133 : return 5690; /* *avx512vl_vpternlogv8hi_1 */
17134 :
17135 : case 6:
17136 : if (!(
17137 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17138 : ((64 == 64 || TARGET_AVX512VL
17139 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17140 : && ix86_pre_reload_split ()
17141 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17142 : STRIP_UNARY (operands[4]))
17143 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17144 : STRIP_UNARY (operands[4]))
17145 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17146 : STRIP_UNARY (operands[3]))
17147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17148 : STRIP_UNARY (operands[3])))) &&
17149 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17150 : (TARGET_AVX512F)))
17151 : return -1;
17152 : return 5717; /* *avx512f_vpternlogv16si_1 */
17153 :
17154 : case 7:
17155 : if (!(
17156 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17157 : ((32 == 64 || TARGET_AVX512VL
17158 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17159 : && ix86_pre_reload_split ()
17160 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17161 : STRIP_UNARY (operands[4]))
17162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17163 : STRIP_UNARY (operands[4]))
17164 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17165 : STRIP_UNARY (operands[3]))
17166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17167 : STRIP_UNARY (operands[3])))) &&
17168 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17169 : (TARGET_AVX)))
17170 : return -1;
17171 : return 5744; /* *avx512vl_vpternlogv8si_1 */
17172 :
17173 : case 8:
17174 : if (!
17175 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17176 : ((16 == 64 || TARGET_AVX512VL
17177 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17178 : && ix86_pre_reload_split ()
17179 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17180 : STRIP_UNARY (operands[4]))
17181 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17182 : STRIP_UNARY (operands[4]))
17183 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17184 : STRIP_UNARY (operands[3]))
17185 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17186 : STRIP_UNARY (operands[3])))))
17187 : return -1;
17188 : return 5771; /* *avx512vl_vpternlogv4si_1 */
17189 :
17190 : case 9:
17191 : if (!(
17192 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17193 : ((64 == 64 || TARGET_AVX512VL
17194 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17195 : && ix86_pre_reload_split ()
17196 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17197 : STRIP_UNARY (operands[4]))
17198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17199 : STRIP_UNARY (operands[4]))
17200 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17201 : STRIP_UNARY (operands[3]))
17202 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17203 : STRIP_UNARY (operands[3])))) &&
17204 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17205 : (TARGET_AVX512F)))
17206 : return -1;
17207 : return 5798; /* *avx512f_vpternlogv8di_1 */
17208 :
17209 : case 10:
17210 : if (!(
17211 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17212 : ((32 == 64 || TARGET_AVX512VL
17213 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17214 : && ix86_pre_reload_split ()
17215 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17216 : STRIP_UNARY (operands[4]))
17217 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17218 : STRIP_UNARY (operands[4]))
17219 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17220 : STRIP_UNARY (operands[3]))
17221 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17222 : STRIP_UNARY (operands[3])))) &&
17223 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17224 : (TARGET_AVX)))
17225 : return -1;
17226 : return 5825; /* *avx512vl_vpternlogv4di_1 */
17227 :
17228 : case 11:
17229 : if (!
17230 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17231 : ((16 == 64 || TARGET_AVX512VL
17232 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17233 : && ix86_pre_reload_split ()
17234 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17235 : STRIP_UNARY (operands[4]))
17236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17237 : STRIP_UNARY (operands[4]))
17238 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17239 : STRIP_UNARY (operands[3]))
17240 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17241 : STRIP_UNARY (operands[3])))))
17242 : return -1;
17243 : return 5852; /* *avx512vl_vpternlogv2di_1 */
17244 :
17245 : case 12:
17246 : if (!(
17247 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17248 : ((64 == 64 || TARGET_AVX512VL
17249 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17250 : && ix86_pre_reload_split ()
17251 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17252 : STRIP_UNARY (operands[4]))
17253 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17254 : STRIP_UNARY (operands[4]))
17255 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17256 : STRIP_UNARY (operands[3]))
17257 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17258 : STRIP_UNARY (operands[3])))) &&
17259 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17260 : (TARGET_AVX512F)))
17261 : return -1;
17262 : return 5558; /* *avx512bw_vpternlogv64qi_1 */
17263 :
17264 : case 13:
17265 : if (!(
17266 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17267 : ((32 == 64 || TARGET_AVX512VL
17268 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17269 : && ix86_pre_reload_split ()
17270 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17271 : STRIP_UNARY (operands[4]))
17272 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17273 : STRIP_UNARY (operands[4]))
17274 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17275 : STRIP_UNARY (operands[3]))
17276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17277 : STRIP_UNARY (operands[3])))) &&
17278 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17279 : (TARGET_AVX)))
17280 : return -1;
17281 : return 5585; /* *avx512vl_vpternlogv32qi_1 */
17282 :
17283 : case 14:
17284 : if (!
17285 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17286 : ((16 == 64 || TARGET_AVX512VL
17287 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17288 : && ix86_pre_reload_split ()
17289 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17290 : STRIP_UNARY (operands[4]))
17291 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17292 : STRIP_UNARY (operands[4]))
17293 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17294 : STRIP_UNARY (operands[3]))
17295 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17296 : STRIP_UNARY (operands[3])))))
17297 : return -1;
17298 : return 5612; /* *avx512vl_vpternlogv16qi_1 */
17299 :
17300 : case 15:
17301 : if (!(
17302 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17303 : ((64 == 64 || TARGET_AVX512VL
17304 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17305 : && ix86_pre_reload_split ()
17306 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17307 : STRIP_UNARY (operands[4]))
17308 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17309 : STRIP_UNARY (operands[4]))
17310 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17311 : STRIP_UNARY (operands[3]))
17312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17313 : STRIP_UNARY (operands[3])))) &&
17314 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17315 : (TARGET_AVX512F)))
17316 : return -1;
17317 : return 5639; /* *avx512bw_vpternlogv32hi_1 */
17318 :
17319 : case 16:
17320 : if (!(
17321 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17322 : ((32 == 64 || TARGET_AVX512VL
17323 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17324 : && ix86_pre_reload_split ()
17325 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17326 : STRIP_UNARY (operands[4]))
17327 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17328 : STRIP_UNARY (operands[4]))
17329 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17330 : STRIP_UNARY (operands[3]))
17331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17332 : STRIP_UNARY (operands[3])))) &&
17333 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17334 : (TARGET_AVX)))
17335 : return -1;
17336 : return 5666; /* *avx512vl_vpternlogv16hi_1 */
17337 :
17338 : case 17:
17339 : if (!
17340 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17341 : ((16 == 64 || TARGET_AVX512VL
17342 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17343 : && ix86_pre_reload_split ()
17344 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17345 : STRIP_UNARY (operands[4]))
17346 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17347 : STRIP_UNARY (operands[4]))
17348 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17349 : STRIP_UNARY (operands[3]))
17350 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17351 : STRIP_UNARY (operands[3])))))
17352 : return -1;
17353 : return 5693; /* *avx512vl_vpternlogv8hi_1 */
17354 :
17355 : case 18:
17356 : if (!(
17357 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17358 : ((64 == 64 || TARGET_AVX512VL
17359 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17360 : && ix86_pre_reload_split ()
17361 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17362 : STRIP_UNARY (operands[4]))
17363 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17364 : STRIP_UNARY (operands[4]))
17365 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17366 : STRIP_UNARY (operands[3]))
17367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17368 : STRIP_UNARY (operands[3])))) &&
17369 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17370 : (TARGET_AVX512F)))
17371 : return -1;
17372 : return 5720; /* *avx512f_vpternlogv16si_1 */
17373 :
17374 : case 19:
17375 : if (!(
17376 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17377 : ((32 == 64 || TARGET_AVX512VL
17378 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17379 : && ix86_pre_reload_split ()
17380 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17381 : STRIP_UNARY (operands[4]))
17382 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17383 : STRIP_UNARY (operands[4]))
17384 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17385 : STRIP_UNARY (operands[3]))
17386 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17387 : STRIP_UNARY (operands[3])))) &&
17388 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17389 : (TARGET_AVX)))
17390 : return -1;
17391 : return 5747; /* *avx512vl_vpternlogv8si_1 */
17392 :
17393 : case 20:
17394 : if (!
17395 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17396 : ((16 == 64 || TARGET_AVX512VL
17397 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17398 : && ix86_pre_reload_split ()
17399 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17400 : STRIP_UNARY (operands[4]))
17401 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17402 : STRIP_UNARY (operands[4]))
17403 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17404 : STRIP_UNARY (operands[3]))
17405 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17406 : STRIP_UNARY (operands[3])))))
17407 : return -1;
17408 : return 5774; /* *avx512vl_vpternlogv4si_1 */
17409 :
17410 : case 21:
17411 : if (!(
17412 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17413 : ((64 == 64 || TARGET_AVX512VL
17414 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17415 : && ix86_pre_reload_split ()
17416 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17417 : STRIP_UNARY (operands[4]))
17418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17419 : STRIP_UNARY (operands[4]))
17420 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17421 : STRIP_UNARY (operands[3]))
17422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17423 : STRIP_UNARY (operands[3])))) &&
17424 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17425 : (TARGET_AVX512F)))
17426 : return -1;
17427 : return 5801; /* *avx512f_vpternlogv8di_1 */
17428 :
17429 : case 22:
17430 : if (!(
17431 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17432 : ((32 == 64 || TARGET_AVX512VL
17433 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17434 : && ix86_pre_reload_split ()
17435 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17436 : STRIP_UNARY (operands[4]))
17437 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17438 : STRIP_UNARY (operands[4]))
17439 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17440 : STRIP_UNARY (operands[3]))
17441 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17442 : STRIP_UNARY (operands[3])))) &&
17443 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17444 : (TARGET_AVX)))
17445 : return -1;
17446 : return 5828; /* *avx512vl_vpternlogv4di_1 */
17447 :
17448 : case 23:
17449 : if (!
17450 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17451 : ((16 == 64 || TARGET_AVX512VL
17452 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17453 : && ix86_pre_reload_split ()
17454 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17455 : STRIP_UNARY (operands[4]))
17456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17457 : STRIP_UNARY (operands[4]))
17458 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17459 : STRIP_UNARY (operands[3]))
17460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17461 : STRIP_UNARY (operands[3])))))
17462 : return -1;
17463 : return 5855; /* *avx512vl_vpternlogv2di_1 */
17464 :
17465 : case 24:
17466 : if (!(
17467 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17468 : ((64 == 64 || TARGET_AVX512VL
17469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17470 : && ix86_pre_reload_split ()
17471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17472 : STRIP_UNARY (operands[4]))
17473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17474 : STRIP_UNARY (operands[4]))
17475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17476 : STRIP_UNARY (operands[3]))
17477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17478 : STRIP_UNARY (operands[3])))) &&
17479 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17480 : (TARGET_AVX512F)))
17481 : return -1;
17482 : return 5561; /* *avx512bw_vpternlogv64qi_1 */
17483 :
17484 : case 25:
17485 : if (!(
17486 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17487 : ((32 == 64 || TARGET_AVX512VL
17488 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17489 : && ix86_pre_reload_split ()
17490 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17491 : STRIP_UNARY (operands[4]))
17492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17493 : STRIP_UNARY (operands[4]))
17494 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17495 : STRIP_UNARY (operands[3]))
17496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17497 : STRIP_UNARY (operands[3])))) &&
17498 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17499 : (TARGET_AVX)))
17500 : return -1;
17501 : return 5588; /* *avx512vl_vpternlogv32qi_1 */
17502 :
17503 : case 26:
17504 : if (!
17505 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17506 : ((16 == 64 || TARGET_AVX512VL
17507 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17508 : && ix86_pre_reload_split ()
17509 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17510 : STRIP_UNARY (operands[4]))
17511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17512 : STRIP_UNARY (operands[4]))
17513 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17514 : STRIP_UNARY (operands[3]))
17515 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17516 : STRIP_UNARY (operands[3])))))
17517 : return -1;
17518 : return 5615; /* *avx512vl_vpternlogv16qi_1 */
17519 :
17520 : case 27:
17521 : if (!(
17522 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17523 : ((64 == 64 || TARGET_AVX512VL
17524 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17525 : && ix86_pre_reload_split ()
17526 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17527 : STRIP_UNARY (operands[4]))
17528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17529 : STRIP_UNARY (operands[4]))
17530 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17531 : STRIP_UNARY (operands[3]))
17532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17533 : STRIP_UNARY (operands[3])))) &&
17534 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17535 : (TARGET_AVX512F)))
17536 : return -1;
17537 : return 5642; /* *avx512bw_vpternlogv32hi_1 */
17538 :
17539 : case 28:
17540 : if (!(
17541 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17542 : ((32 == 64 || TARGET_AVX512VL
17543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17544 : && ix86_pre_reload_split ()
17545 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17546 : STRIP_UNARY (operands[4]))
17547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17548 : STRIP_UNARY (operands[4]))
17549 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17550 : STRIP_UNARY (operands[3]))
17551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17552 : STRIP_UNARY (operands[3])))) &&
17553 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17554 : (TARGET_AVX)))
17555 : return -1;
17556 : return 5669; /* *avx512vl_vpternlogv16hi_1 */
17557 :
17558 : case 29:
17559 : if (!
17560 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17561 : ((16 == 64 || TARGET_AVX512VL
17562 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17563 : && ix86_pre_reload_split ()
17564 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17565 : STRIP_UNARY (operands[4]))
17566 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17567 : STRIP_UNARY (operands[4]))
17568 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17569 : STRIP_UNARY (operands[3]))
17570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17571 : STRIP_UNARY (operands[3])))))
17572 : return -1;
17573 : return 5696; /* *avx512vl_vpternlogv8hi_1 */
17574 :
17575 : case 30:
17576 : if (!(
17577 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17578 : ((64 == 64 || TARGET_AVX512VL
17579 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17580 : && ix86_pre_reload_split ()
17581 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17582 : STRIP_UNARY (operands[4]))
17583 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17584 : STRIP_UNARY (operands[4]))
17585 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17586 : STRIP_UNARY (operands[3]))
17587 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17588 : STRIP_UNARY (operands[3])))) &&
17589 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17590 : (TARGET_AVX512F)))
17591 : return -1;
17592 : return 5723; /* *avx512f_vpternlogv16si_1 */
17593 :
17594 : case 31:
17595 : if (!(
17596 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17597 : ((32 == 64 || TARGET_AVX512VL
17598 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17599 : && ix86_pre_reload_split ()
17600 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17601 : STRIP_UNARY (operands[4]))
17602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17603 : STRIP_UNARY (operands[4]))
17604 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17605 : STRIP_UNARY (operands[3]))
17606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17607 : STRIP_UNARY (operands[3])))) &&
17608 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17609 : (TARGET_AVX)))
17610 : return -1;
17611 : return 5750; /* *avx512vl_vpternlogv8si_1 */
17612 :
17613 : case 32:
17614 : if (!
17615 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17616 : ((16 == 64 || TARGET_AVX512VL
17617 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17618 : && ix86_pre_reload_split ()
17619 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17620 : STRIP_UNARY (operands[4]))
17621 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17622 : STRIP_UNARY (operands[4]))
17623 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17624 : STRIP_UNARY (operands[3]))
17625 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17626 : STRIP_UNARY (operands[3])))))
17627 : return -1;
17628 : return 5777; /* *avx512vl_vpternlogv4si_1 */
17629 :
17630 : case 33:
17631 : if (!(
17632 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17633 : ((64 == 64 || TARGET_AVX512VL
17634 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17635 : && ix86_pre_reload_split ()
17636 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17637 : STRIP_UNARY (operands[4]))
17638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17639 : STRIP_UNARY (operands[4]))
17640 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17641 : STRIP_UNARY (operands[3]))
17642 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17643 : STRIP_UNARY (operands[3])))) &&
17644 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17645 : (TARGET_AVX512F)))
17646 : return -1;
17647 : return 5804; /* *avx512f_vpternlogv8di_1 */
17648 :
17649 : case 34:
17650 : if (!(
17651 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17652 : ((32 == 64 || TARGET_AVX512VL
17653 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17654 : && ix86_pre_reload_split ()
17655 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17656 : STRIP_UNARY (operands[4]))
17657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17658 : STRIP_UNARY (operands[4]))
17659 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17660 : STRIP_UNARY (operands[3]))
17661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17662 : STRIP_UNARY (operands[3])))) &&
17663 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17664 : (TARGET_AVX)))
17665 : return -1;
17666 : return 5831; /* *avx512vl_vpternlogv4di_1 */
17667 :
17668 : case 35:
17669 : if (!
17670 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17671 : ((16 == 64 || TARGET_AVX512VL
17672 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17673 : && ix86_pre_reload_split ()
17674 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17675 : STRIP_UNARY (operands[4]))
17676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17677 : STRIP_UNARY (operands[4]))
17678 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17679 : STRIP_UNARY (operands[3]))
17680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17681 : STRIP_UNARY (operands[3])))))
17682 : return -1;
17683 : return 5858; /* *avx512vl_vpternlogv2di_1 */
17684 :
17685 : case 36:
17686 : if (!(
17687 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17688 : ((64 == 64 || TARGET_AVX512VL
17689 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17690 : && ix86_pre_reload_split ()) &&
17691 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17692 : (TARGET_AVX512F)))
17693 : return -1;
17694 : return 6845; /* *avx512bw_vpternlogv64qi_3 */
17695 :
17696 : case 37:
17697 : if (!(
17698 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17699 : ((32 == 64 || TARGET_AVX512VL
17700 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17701 : && ix86_pre_reload_split ()) &&
17702 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17703 : (TARGET_AVX)))
17704 : return -1;
17705 : return 6854; /* *avx512vl_vpternlogv32qi_3 */
17706 :
17707 : case 38:
17708 : if (!
17709 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17710 : ((16 == 64 || TARGET_AVX512VL
17711 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17712 : && ix86_pre_reload_split ()))
17713 : return -1;
17714 : return 6863; /* *avx512vl_vpternlogv16qi_3 */
17715 :
17716 : case 39:
17717 : if (!(
17718 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17719 : ((64 == 64 || TARGET_AVX512VL
17720 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17721 : && ix86_pre_reload_split ()) &&
17722 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17723 : (TARGET_AVX512F)))
17724 : return -1;
17725 : return 6872; /* *avx512bw_vpternlogv32hi_3 */
17726 :
17727 : case 40:
17728 : if (!(
17729 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17730 : ((32 == 64 || TARGET_AVX512VL
17731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17732 : && ix86_pre_reload_split ()) &&
17733 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17734 : (TARGET_AVX)))
17735 : return -1;
17736 : return 6881; /* *avx512vl_vpternlogv16hi_3 */
17737 :
17738 : case 41:
17739 : if (!
17740 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17741 : ((16 == 64 || TARGET_AVX512VL
17742 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17743 : && ix86_pre_reload_split ()))
17744 : return -1;
17745 : return 6890; /* *avx512vl_vpternlogv8hi_3 */
17746 :
17747 : case 42:
17748 : if (!(
17749 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17750 : ((64 == 64 || TARGET_AVX512VL
17751 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17752 : && ix86_pre_reload_split ()) &&
17753 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17754 : (TARGET_AVX512F)))
17755 : return -1;
17756 : return 6899; /* *avx512f_vpternlogv16si_3 */
17757 :
17758 : case 43:
17759 : if (!(
17760 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17761 : ((32 == 64 || TARGET_AVX512VL
17762 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17763 : && ix86_pre_reload_split ()) &&
17764 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17765 : (TARGET_AVX)))
17766 : return -1;
17767 : return 6908; /* *avx512vl_vpternlogv8si_3 */
17768 :
17769 : case 44:
17770 : if (!
17771 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17772 : ((16 == 64 || TARGET_AVX512VL
17773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17774 : && ix86_pre_reload_split ()))
17775 : return -1;
17776 : return 6917; /* *avx512vl_vpternlogv4si_3 */
17777 :
17778 : case 45:
17779 : if (!(
17780 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17781 : ((64 == 64 || TARGET_AVX512VL
17782 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17783 : && ix86_pre_reload_split ()) &&
17784 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17785 : (TARGET_AVX512F)))
17786 : return -1;
17787 : return 6926; /* *avx512f_vpternlogv8di_3 */
17788 :
17789 : case 46:
17790 : if (!(
17791 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17792 : ((32 == 64 || TARGET_AVX512VL
17793 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17794 : && ix86_pre_reload_split ()) &&
17795 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17796 : (TARGET_AVX)))
17797 : return -1;
17798 : return 6935; /* *avx512vl_vpternlogv4di_3 */
17799 :
17800 : case 47:
17801 : if (!
17802 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17803 : ((16 == 64 || TARGET_AVX512VL
17804 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17805 : && ix86_pre_reload_split ()))
17806 : return -1;
17807 : return 6944; /* *avx512vl_vpternlogv2di_3 */
17808 :
17809 : default:
17810 : return -1;
17811 : }
17812 :
17813 : case AND:
17814 : switch (pattern539 (x2))
17815 : {
17816 : case 0:
17817 : if (!(
17818 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17819 : ((64 == 64 || TARGET_AVX512VL
17820 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17821 : && ix86_pre_reload_split ()
17822 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17823 : STRIP_UNARY (operands[4]))
17824 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17825 : STRIP_UNARY (operands[4]))
17826 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17827 : STRIP_UNARY (operands[3]))
17828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17829 : STRIP_UNARY (operands[3])))) &&
17830 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17831 : (TARGET_AVX512F)))
17832 : return -1;
17833 : return 6203; /* *avx512bw_vpternlogv64qi_2 */
17834 :
17835 : case 1:
17836 : if (!(
17837 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17838 : ((32 == 64 || TARGET_AVX512VL
17839 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17840 : && ix86_pre_reload_split ()
17841 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17842 : STRIP_UNARY (operands[4]))
17843 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17844 : STRIP_UNARY (operands[4]))
17845 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17846 : STRIP_UNARY (operands[3]))
17847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17848 : STRIP_UNARY (operands[3])))) &&
17849 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17850 : (TARGET_AVX)))
17851 : return -1;
17852 : return 6230; /* *avx512vl_vpternlogv32qi_2 */
17853 :
17854 : case 2:
17855 : if (!
17856 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17857 : ((16 == 64 || TARGET_AVX512VL
17858 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17859 : && ix86_pre_reload_split ()
17860 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17861 : STRIP_UNARY (operands[4]))
17862 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17863 : STRIP_UNARY (operands[4]))
17864 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17865 : STRIP_UNARY (operands[3]))
17866 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17867 : STRIP_UNARY (operands[3])))))
17868 : return -1;
17869 : return 6257; /* *avx512vl_vpternlogv16qi_2 */
17870 :
17871 : case 3:
17872 : if (!(
17873 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17874 : ((64 == 64 || TARGET_AVX512VL
17875 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17876 : && ix86_pre_reload_split ()
17877 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17878 : STRIP_UNARY (operands[4]))
17879 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17880 : STRIP_UNARY (operands[4]))
17881 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17882 : STRIP_UNARY (operands[3]))
17883 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17884 : STRIP_UNARY (operands[3])))) &&
17885 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17886 : (TARGET_AVX512F)))
17887 : return -1;
17888 : return 6284; /* *avx512bw_vpternlogv32hi_2 */
17889 :
17890 : case 4:
17891 : if (!(
17892 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17893 : ((32 == 64 || TARGET_AVX512VL
17894 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17895 : && ix86_pre_reload_split ()
17896 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17897 : STRIP_UNARY (operands[4]))
17898 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17899 : STRIP_UNARY (operands[4]))
17900 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17901 : STRIP_UNARY (operands[3]))
17902 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17903 : STRIP_UNARY (operands[3])))) &&
17904 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17905 : (TARGET_AVX)))
17906 : return -1;
17907 : return 6311; /* *avx512vl_vpternlogv16hi_2 */
17908 :
17909 : case 5:
17910 : if (!
17911 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17912 : ((16 == 64 || TARGET_AVX512VL
17913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17914 : && ix86_pre_reload_split ()
17915 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17916 : STRIP_UNARY (operands[4]))
17917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17918 : STRIP_UNARY (operands[4]))
17919 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17920 : STRIP_UNARY (operands[3]))
17921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17922 : STRIP_UNARY (operands[3])))))
17923 : return -1;
17924 : return 6338; /* *avx512vl_vpternlogv8hi_2 */
17925 :
17926 : case 6:
17927 : if (!(
17928 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17929 : ((64 == 64 || TARGET_AVX512VL
17930 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17931 : && ix86_pre_reload_split ()
17932 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17933 : STRIP_UNARY (operands[4]))
17934 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17935 : STRIP_UNARY (operands[4]))
17936 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17937 : STRIP_UNARY (operands[3]))
17938 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17939 : STRIP_UNARY (operands[3])))) &&
17940 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17941 : (TARGET_AVX512F)))
17942 : return -1;
17943 : return 6365; /* *avx512f_vpternlogv16si_2 */
17944 :
17945 : case 7:
17946 : if (!(
17947 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17948 : ((32 == 64 || TARGET_AVX512VL
17949 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17950 : && ix86_pre_reload_split ()
17951 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17952 : STRIP_UNARY (operands[4]))
17953 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17954 : STRIP_UNARY (operands[4]))
17955 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17956 : STRIP_UNARY (operands[3]))
17957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17958 : STRIP_UNARY (operands[3])))) &&
17959 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17960 : (TARGET_AVX)))
17961 : return -1;
17962 : return 6392; /* *avx512vl_vpternlogv8si_2 */
17963 :
17964 : case 8:
17965 : if (!
17966 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17967 : ((16 == 64 || TARGET_AVX512VL
17968 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17969 : && ix86_pre_reload_split ()
17970 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17971 : STRIP_UNARY (operands[4]))
17972 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17973 : STRIP_UNARY (operands[4]))
17974 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17975 : STRIP_UNARY (operands[3]))
17976 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17977 : STRIP_UNARY (operands[3])))))
17978 : return -1;
17979 : return 6419; /* *avx512vl_vpternlogv4si_2 */
17980 :
17981 : case 9:
17982 : if (!(
17983 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17984 : ((64 == 64 || TARGET_AVX512VL
17985 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17986 : && ix86_pre_reload_split ()
17987 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17988 : STRIP_UNARY (operands[4]))
17989 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17990 : STRIP_UNARY (operands[4]))
17991 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17992 : STRIP_UNARY (operands[3]))
17993 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17994 : STRIP_UNARY (operands[3])))) &&
17995 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17996 : (TARGET_AVX512F)))
17997 : return -1;
17998 : return 6446; /* *avx512f_vpternlogv8di_2 */
17999 :
18000 : case 10:
18001 : if (!(
18002 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18003 : ((32 == 64 || TARGET_AVX512VL
18004 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18005 : && ix86_pre_reload_split ()
18006 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18007 : STRIP_UNARY (operands[4]))
18008 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18009 : STRIP_UNARY (operands[4]))
18010 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18011 : STRIP_UNARY (operands[3]))
18012 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18013 : STRIP_UNARY (operands[3])))) &&
18014 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18015 : (TARGET_AVX)))
18016 : return -1;
18017 : return 6473; /* *avx512vl_vpternlogv4di_2 */
18018 :
18019 : case 11:
18020 : if (!
18021 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18022 : ((16 == 64 || TARGET_AVX512VL
18023 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18024 : && ix86_pre_reload_split ()
18025 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18026 : STRIP_UNARY (operands[4]))
18027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18028 : STRIP_UNARY (operands[4]))
18029 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18030 : STRIP_UNARY (operands[3]))
18031 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18032 : STRIP_UNARY (operands[3])))))
18033 : return -1;
18034 : return 6500; /* *avx512vl_vpternlogv2di_2 */
18035 :
18036 : default:
18037 : return -1;
18038 : }
18039 :
18040 : case IOR:
18041 : switch (pattern539 (x2))
18042 : {
18043 : case 0:
18044 : if (!(
18045 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18046 : ((64 == 64 || TARGET_AVX512VL
18047 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18048 : && ix86_pre_reload_split ()
18049 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18050 : STRIP_UNARY (operands[4]))
18051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18052 : STRIP_UNARY (operands[4]))
18053 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18054 : STRIP_UNARY (operands[3]))
18055 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18056 : STRIP_UNARY (operands[3])))) &&
18057 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18058 : (TARGET_AVX512F)))
18059 : return -1;
18060 : return 6206; /* *avx512bw_vpternlogv64qi_2 */
18061 :
18062 : case 1:
18063 : if (!(
18064 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18065 : ((32 == 64 || TARGET_AVX512VL
18066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18067 : && ix86_pre_reload_split ()
18068 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18069 : STRIP_UNARY (operands[4]))
18070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18071 : STRIP_UNARY (operands[4]))
18072 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18073 : STRIP_UNARY (operands[3]))
18074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18075 : STRIP_UNARY (operands[3])))) &&
18076 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18077 : (TARGET_AVX)))
18078 : return -1;
18079 : return 6233; /* *avx512vl_vpternlogv32qi_2 */
18080 :
18081 : case 2:
18082 : if (!
18083 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18084 : ((16 == 64 || TARGET_AVX512VL
18085 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18086 : && ix86_pre_reload_split ()
18087 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18088 : STRIP_UNARY (operands[4]))
18089 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18090 : STRIP_UNARY (operands[4]))
18091 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18092 : STRIP_UNARY (operands[3]))
18093 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18094 : STRIP_UNARY (operands[3])))))
18095 : return -1;
18096 : return 6260; /* *avx512vl_vpternlogv16qi_2 */
18097 :
18098 : case 3:
18099 : if (!(
18100 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18101 : ((64 == 64 || TARGET_AVX512VL
18102 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18103 : && ix86_pre_reload_split ()
18104 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18105 : STRIP_UNARY (operands[4]))
18106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18107 : STRIP_UNARY (operands[4]))
18108 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18109 : STRIP_UNARY (operands[3]))
18110 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18111 : STRIP_UNARY (operands[3])))) &&
18112 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18113 : (TARGET_AVX512F)))
18114 : return -1;
18115 : return 6287; /* *avx512bw_vpternlogv32hi_2 */
18116 :
18117 : case 4:
18118 : if (!(
18119 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18120 : ((32 == 64 || TARGET_AVX512VL
18121 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18122 : && ix86_pre_reload_split ()
18123 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18124 : STRIP_UNARY (operands[4]))
18125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18126 : STRIP_UNARY (operands[4]))
18127 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18128 : STRIP_UNARY (operands[3]))
18129 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18130 : STRIP_UNARY (operands[3])))) &&
18131 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18132 : (TARGET_AVX)))
18133 : return -1;
18134 : return 6314; /* *avx512vl_vpternlogv16hi_2 */
18135 :
18136 : case 5:
18137 : if (!
18138 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18139 : ((16 == 64 || TARGET_AVX512VL
18140 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18141 : && ix86_pre_reload_split ()
18142 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18143 : STRIP_UNARY (operands[4]))
18144 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18145 : STRIP_UNARY (operands[4]))
18146 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18147 : STRIP_UNARY (operands[3]))
18148 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18149 : STRIP_UNARY (operands[3])))))
18150 : return -1;
18151 : return 6341; /* *avx512vl_vpternlogv8hi_2 */
18152 :
18153 : case 6:
18154 : if (!(
18155 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18156 : ((64 == 64 || TARGET_AVX512VL
18157 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18158 : && ix86_pre_reload_split ()
18159 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18160 : STRIP_UNARY (operands[4]))
18161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18162 : STRIP_UNARY (operands[4]))
18163 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18164 : STRIP_UNARY (operands[3]))
18165 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18166 : STRIP_UNARY (operands[3])))) &&
18167 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18168 : (TARGET_AVX512F)))
18169 : return -1;
18170 : return 6368; /* *avx512f_vpternlogv16si_2 */
18171 :
18172 : case 7:
18173 : if (!(
18174 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18175 : ((32 == 64 || TARGET_AVX512VL
18176 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18177 : && ix86_pre_reload_split ()
18178 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18179 : STRIP_UNARY (operands[4]))
18180 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18181 : STRIP_UNARY (operands[4]))
18182 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18183 : STRIP_UNARY (operands[3]))
18184 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18185 : STRIP_UNARY (operands[3])))) &&
18186 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18187 : (TARGET_AVX)))
18188 : return -1;
18189 : return 6395; /* *avx512vl_vpternlogv8si_2 */
18190 :
18191 : case 8:
18192 : if (!
18193 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18194 : ((16 == 64 || TARGET_AVX512VL
18195 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18196 : && ix86_pre_reload_split ()
18197 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18198 : STRIP_UNARY (operands[4]))
18199 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18200 : STRIP_UNARY (operands[4]))
18201 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18202 : STRIP_UNARY (operands[3]))
18203 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18204 : STRIP_UNARY (operands[3])))))
18205 : return -1;
18206 : return 6422; /* *avx512vl_vpternlogv4si_2 */
18207 :
18208 : case 9:
18209 : if (!(
18210 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18211 : ((64 == 64 || TARGET_AVX512VL
18212 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18213 : && ix86_pre_reload_split ()
18214 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18215 : STRIP_UNARY (operands[4]))
18216 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18217 : STRIP_UNARY (operands[4]))
18218 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18219 : STRIP_UNARY (operands[3]))
18220 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18221 : STRIP_UNARY (operands[3])))) &&
18222 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18223 : (TARGET_AVX512F)))
18224 : return -1;
18225 : return 6449; /* *avx512f_vpternlogv8di_2 */
18226 :
18227 : case 10:
18228 : if (!(
18229 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18230 : ((32 == 64 || TARGET_AVX512VL
18231 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18232 : && ix86_pre_reload_split ()
18233 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18234 : STRIP_UNARY (operands[4]))
18235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18236 : STRIP_UNARY (operands[4]))
18237 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18238 : STRIP_UNARY (operands[3]))
18239 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18240 : STRIP_UNARY (operands[3])))) &&
18241 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18242 : (TARGET_AVX)))
18243 : return -1;
18244 : return 6476; /* *avx512vl_vpternlogv4di_2 */
18245 :
18246 : case 11:
18247 : if (!
18248 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18249 : ((16 == 64 || TARGET_AVX512VL
18250 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18251 : && ix86_pre_reload_split ()
18252 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18253 : STRIP_UNARY (operands[4]))
18254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18255 : STRIP_UNARY (operands[4]))
18256 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18257 : STRIP_UNARY (operands[3]))
18258 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18259 : STRIP_UNARY (operands[3])))))
18260 : return -1;
18261 : return 6503; /* *avx512vl_vpternlogv2di_2 */
18262 :
18263 : default:
18264 : return -1;
18265 : }
18266 :
18267 : case XOR:
18268 : switch (pattern539 (x2))
18269 : {
18270 : case 0:
18271 : if (!(
18272 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18273 : ((64 == 64 || TARGET_AVX512VL
18274 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18275 : && ix86_pre_reload_split ()
18276 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18277 : STRIP_UNARY (operands[4]))
18278 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18279 : STRIP_UNARY (operands[4]))
18280 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18281 : STRIP_UNARY (operands[3]))
18282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18283 : STRIP_UNARY (operands[3])))) &&
18284 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18285 : (TARGET_AVX512F)))
18286 : return -1;
18287 : return 6209; /* *avx512bw_vpternlogv64qi_2 */
18288 :
18289 : case 1:
18290 : if (!(
18291 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18292 : ((32 == 64 || TARGET_AVX512VL
18293 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18294 : && ix86_pre_reload_split ()
18295 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18296 : STRIP_UNARY (operands[4]))
18297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18298 : STRIP_UNARY (operands[4]))
18299 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18300 : STRIP_UNARY (operands[3]))
18301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18302 : STRIP_UNARY (operands[3])))) &&
18303 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18304 : (TARGET_AVX)))
18305 : return -1;
18306 : return 6236; /* *avx512vl_vpternlogv32qi_2 */
18307 :
18308 : case 2:
18309 : if (!
18310 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18311 : ((16 == 64 || TARGET_AVX512VL
18312 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18313 : && ix86_pre_reload_split ()
18314 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18315 : STRIP_UNARY (operands[4]))
18316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18317 : STRIP_UNARY (operands[4]))
18318 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18319 : STRIP_UNARY (operands[3]))
18320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18321 : STRIP_UNARY (operands[3])))))
18322 : return -1;
18323 : return 6263; /* *avx512vl_vpternlogv16qi_2 */
18324 :
18325 : case 3:
18326 : if (!(
18327 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18328 : ((64 == 64 || TARGET_AVX512VL
18329 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18330 : && ix86_pre_reload_split ()
18331 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18332 : STRIP_UNARY (operands[4]))
18333 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18334 : STRIP_UNARY (operands[4]))
18335 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18336 : STRIP_UNARY (operands[3]))
18337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18338 : STRIP_UNARY (operands[3])))) &&
18339 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18340 : (TARGET_AVX512F)))
18341 : return -1;
18342 : return 6290; /* *avx512bw_vpternlogv32hi_2 */
18343 :
18344 : case 4:
18345 : if (!(
18346 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18347 : ((32 == 64 || TARGET_AVX512VL
18348 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18349 : && ix86_pre_reload_split ()
18350 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18351 : STRIP_UNARY (operands[4]))
18352 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18353 : STRIP_UNARY (operands[4]))
18354 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18355 : STRIP_UNARY (operands[3]))
18356 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18357 : STRIP_UNARY (operands[3])))) &&
18358 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18359 : (TARGET_AVX)))
18360 : return -1;
18361 : return 6317; /* *avx512vl_vpternlogv16hi_2 */
18362 :
18363 : case 5:
18364 : if (!
18365 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18366 : ((16 == 64 || TARGET_AVX512VL
18367 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18368 : && ix86_pre_reload_split ()
18369 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18370 : STRIP_UNARY (operands[4]))
18371 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18372 : STRIP_UNARY (operands[4]))
18373 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18374 : STRIP_UNARY (operands[3]))
18375 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18376 : STRIP_UNARY (operands[3])))))
18377 : return -1;
18378 : return 6344; /* *avx512vl_vpternlogv8hi_2 */
18379 :
18380 : case 6:
18381 : if (!(
18382 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18383 : ((64 == 64 || TARGET_AVX512VL
18384 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18385 : && ix86_pre_reload_split ()
18386 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18387 : STRIP_UNARY (operands[4]))
18388 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18389 : STRIP_UNARY (operands[4]))
18390 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18391 : STRIP_UNARY (operands[3]))
18392 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18393 : STRIP_UNARY (operands[3])))) &&
18394 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18395 : (TARGET_AVX512F)))
18396 : return -1;
18397 : return 6371; /* *avx512f_vpternlogv16si_2 */
18398 :
18399 : case 7:
18400 : if (!(
18401 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18402 : ((32 == 64 || TARGET_AVX512VL
18403 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18404 : && ix86_pre_reload_split ()
18405 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18406 : STRIP_UNARY (operands[4]))
18407 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18408 : STRIP_UNARY (operands[4]))
18409 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18410 : STRIP_UNARY (operands[3]))
18411 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18412 : STRIP_UNARY (operands[3])))) &&
18413 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18414 : (TARGET_AVX)))
18415 : return -1;
18416 : return 6398; /* *avx512vl_vpternlogv8si_2 */
18417 :
18418 : case 8:
18419 : if (!
18420 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18421 : ((16 == 64 || TARGET_AVX512VL
18422 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18423 : && ix86_pre_reload_split ()
18424 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18425 : STRIP_UNARY (operands[4]))
18426 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18427 : STRIP_UNARY (operands[4]))
18428 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18429 : STRIP_UNARY (operands[3]))
18430 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18431 : STRIP_UNARY (operands[3])))))
18432 : return -1;
18433 : return 6425; /* *avx512vl_vpternlogv4si_2 */
18434 :
18435 : case 9:
18436 : if (!(
18437 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18438 : ((64 == 64 || TARGET_AVX512VL
18439 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18440 : && ix86_pre_reload_split ()
18441 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18442 : STRIP_UNARY (operands[4]))
18443 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18444 : STRIP_UNARY (operands[4]))
18445 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18446 : STRIP_UNARY (operands[3]))
18447 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18448 : STRIP_UNARY (operands[3])))) &&
18449 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18450 : (TARGET_AVX512F)))
18451 : return -1;
18452 : return 6452; /* *avx512f_vpternlogv8di_2 */
18453 :
18454 : case 10:
18455 : if (!(
18456 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18457 : ((32 == 64 || TARGET_AVX512VL
18458 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18459 : && ix86_pre_reload_split ()
18460 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18461 : STRIP_UNARY (operands[4]))
18462 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18463 : STRIP_UNARY (operands[4]))
18464 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18465 : STRIP_UNARY (operands[3]))
18466 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18467 : STRIP_UNARY (operands[3])))) &&
18468 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18469 : (TARGET_AVX)))
18470 : return -1;
18471 : return 6479; /* *avx512vl_vpternlogv4di_2 */
18472 :
18473 : case 11:
18474 : if (!
18475 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18476 : ((16 == 64 || TARGET_AVX512VL
18477 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18478 : && ix86_pre_reload_split ()
18479 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18480 : STRIP_UNARY (operands[4]))
18481 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18482 : STRIP_UNARY (operands[4]))
18483 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18484 : STRIP_UNARY (operands[3]))
18485 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18486 : STRIP_UNARY (operands[3])))))
18487 : return -1;
18488 : return 6506; /* *avx512vl_vpternlogv2di_2 */
18489 :
18490 : default:
18491 : return -1;
18492 : }
18493 :
18494 : default:
18495 : return -1;
18496 : }
18497 : }
18498 :
18499 : int
18500 : recog_321 (rtx x1 ATTRIBUTE_UNUSED,
18501 : rtx_insn *insn ATTRIBUTE_UNUSED,
18502 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18503 : {
18504 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18505 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
18506 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
18507 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
18508 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
18509 : int res ATTRIBUTE_UNUSED;
18510 : x2 = XEXP (x1, 1);
18511 : x3 = XEXP (x2, 0);
18512 : x4 = XEXP (x3, 0);
18513 : x5 = XEXP (x4, 1);
18514 : if (GET_CODE (x5) != CONST_VECTOR
18515 : || XVECLEN (x5, 0) != 32
18516 : || pattern1371 (x5,
18517 : E_V32HImode) != 0)
18518 : return -1;
18519 : x6 = XVECEXP (x5, 0, 8);
18520 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18521 : return -1;
18522 : x7 = XVECEXP (x5, 0, 9);
18523 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18524 : return -1;
18525 : x8 = XVECEXP (x5, 0, 10);
18526 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18527 : return -1;
18528 : x9 = XVECEXP (x5, 0, 11);
18529 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18530 : return -1;
18531 : x10 = XVECEXP (x5, 0, 12);
18532 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18533 : return -1;
18534 : x11 = XVECEXP (x5, 0, 13);
18535 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18536 : return -1;
18537 : x12 = XVECEXP (x5, 0, 14);
18538 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18539 : return -1;
18540 : x13 = XVECEXP (x5, 0, 15);
18541 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18542 : return -1;
18543 : x14 = XVECEXP (x5, 0, 16);
18544 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18545 : return -1;
18546 : x15 = XVECEXP (x5, 0, 17);
18547 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18548 : return -1;
18549 : x16 = XVECEXP (x5, 0, 18);
18550 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18551 : return -1;
18552 : x17 = XVECEXP (x5, 0, 19);
18553 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18554 : return -1;
18555 : x18 = XVECEXP (x5, 0, 20);
18556 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18557 : return -1;
18558 : x19 = XVECEXP (x5, 0, 21);
18559 : if (x19 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18560 : return -1;
18561 : x20 = XVECEXP (x5, 0, 22);
18562 : if (x20 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18563 : return -1;
18564 : x21 = XVECEXP (x5, 0, 23);
18565 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18566 : return -1;
18567 : x22 = XVECEXP (x5, 0, 24);
18568 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18569 : return -1;
18570 : x23 = XVECEXP (x5, 0, 25);
18571 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18572 : return -1;
18573 : x24 = XVECEXP (x5, 0, 26);
18574 : if (x24 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18575 : return -1;
18576 : x25 = XVECEXP (x5, 0, 27);
18577 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18578 : return -1;
18579 : x26 = XVECEXP (x5, 0, 28);
18580 : if (x26 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18581 : return -1;
18582 : x27 = XVECEXP (x5, 0, 29);
18583 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18584 : return -1;
18585 : x28 = XVECEXP (x5, 0, 30);
18586 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
18587 : return -1;
18588 : x29 = XVECEXP (x5, 0, 31);
18589 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
18590 : || !register_operand (operands[0], E_V32HImode)
18591 : || GET_MODE (x2) != E_V32HImode
18592 : || GET_MODE (x3) != E_V32SImode
18593 : || pattern1522 (x4,
18594 : E_V32SImode) != 0)
18595 : return -1;
18596 : x30 = XEXP (x4, 0);
18597 : x31 = XEXP (x30, 0);
18598 : x32 = XEXP (x31, 1);
18599 : if (GET_MODE (x32) != E_V32SImode)
18600 : return -1;
18601 : x33 = XEXP (x32, 0);
18602 : operands[2] = x33;
18603 : if (!nonimmediate_operand (operands[2], E_V32HImode)
18604 : || !
18605 : #line 23358 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18606 : (TARGET_AVX512BW))
18607 : return -1;
18608 : return 8687; /* avx512bw_umulhrswv32hi3 */
18609 : }
18610 :
18611 : int
18612 : recog_322 (rtx x1 ATTRIBUTE_UNUSED,
18613 : rtx_insn *insn ATTRIBUTE_UNUSED,
18614 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18615 : {
18616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18617 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
18618 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
18619 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
18620 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
18621 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
18622 : rtx x42, x43, x44, x45, x46, x47;
18623 : int res ATTRIBUTE_UNUSED;
18624 : x2 = XEXP (x1, 0);
18625 : operands[0] = x2;
18626 : x3 = XEXP (x1, 1);
18627 : x4 = XEXP (x3, 0);
18628 : switch (GET_CODE (x4))
18629 : {
18630 : case REG:
18631 : case SUBREG:
18632 : case MEM:
18633 : case VEC_DUPLICATE:
18634 : switch (pattern191 (x3))
18635 : {
18636 : case 0:
18637 : if (!(
18638 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18639 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
18640 : && 1 && 1) &&
18641 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18642 : (TARGET_AVX512FP16)))
18643 : return -1;
18644 : return 2752; /* *addv32hf3 */
18645 :
18646 : case 1:
18647 : if (!(
18648 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18649 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
18650 : && 1 && 1) &&
18651 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18652 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
18653 : return -1;
18654 : return 2760; /* *addv16hf3 */
18655 :
18656 : case 2:
18657 : if (!(
18658 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18659 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
18660 : && 1 && 1) &&
18661 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18662 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
18663 : return -1;
18664 : return 2768; /* *addv8hf3 */
18665 :
18666 : case 3:
18667 : if (!(
18668 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18669 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
18670 : && 1 && 1) &&
18671 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18672 : (TARGET_AVX512F)))
18673 : return -1;
18674 : return 2776; /* *addv16sf3 */
18675 :
18676 : case 4:
18677 : if (!(
18678 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18679 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
18680 : && 1 && 1) &&
18681 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18682 : (TARGET_AVX)))
18683 : return -1;
18684 : return 2784; /* *addv8sf3 */
18685 :
18686 : case 5:
18687 : if (!
18688 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18689 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
18690 : && 1 && 1))
18691 : return -1;
18692 : return 2792; /* *addv4sf3 */
18693 :
18694 : case 6:
18695 : if (!(
18696 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18697 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
18698 : && 1 && 1) &&
18699 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18700 : (TARGET_AVX512F)))
18701 : return -1;
18702 : return 2800; /* *addv8df3 */
18703 :
18704 : case 7:
18705 : if (!(
18706 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18707 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
18708 : && 1 && 1) &&
18709 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18710 : (TARGET_AVX)))
18711 : return -1;
18712 : return 2808; /* *addv4df3 */
18713 :
18714 : case 8:
18715 : if (!(
18716 : #line 2701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18717 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
18718 : && 1 && 1) &&
18719 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18720 : (TARGET_SSE2)))
18721 : return -1;
18722 : return 2816; /* *addv2df3 */
18723 :
18724 : case 9:
18725 : if (!(
18726 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18727 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V64QImode, operands)) &&
18728 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18729 : (TARGET_AVX512BW)))
18730 : return -1;
18731 : return 7505; /* *addv64qi3 */
18732 :
18733 : case 10:
18734 : if (!(
18735 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18736 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V32QImode, operands)) &&
18737 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18738 : (TARGET_AVX2)))
18739 : return -1;
18740 : return 7507; /* *addv32qi3 */
18741 :
18742 : case 11:
18743 : if (!
18744 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18745 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16QImode, operands)))
18746 : return -1;
18747 : return 7509; /* *addv16qi3 */
18748 :
18749 : case 12:
18750 : if (!(
18751 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18752 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V32HImode, operands)) &&
18753 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18754 : (TARGET_AVX512BW)))
18755 : return -1;
18756 : return 7511; /* *addv32hi3 */
18757 :
18758 : case 13:
18759 : if (!(
18760 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18761 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16HImode, operands)) &&
18762 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18763 : (TARGET_AVX2)))
18764 : return -1;
18765 : return 7513; /* *addv16hi3 */
18766 :
18767 : case 14:
18768 : if (!
18769 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18770 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8HImode, operands)))
18771 : return -1;
18772 : return 7515; /* *addv8hi3 */
18773 :
18774 : case 15:
18775 : if (!(
18776 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18777 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V16SImode, operands)) &&
18778 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18779 : (TARGET_AVX512F)))
18780 : return -1;
18781 : return 7517; /* *addv16si3 */
18782 :
18783 : case 16:
18784 : if (!(
18785 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18786 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8SImode, operands)) &&
18787 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18788 : (TARGET_AVX2)))
18789 : return -1;
18790 : return 7519; /* *addv8si3 */
18791 :
18792 : case 17:
18793 : if (!
18794 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18795 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4SImode, operands)))
18796 : return -1;
18797 : return 7521; /* *addv4si3 */
18798 :
18799 : case 18:
18800 : if (!(
18801 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18802 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V8DImode, operands)) &&
18803 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18804 : (TARGET_AVX512F)))
18805 : return -1;
18806 : return 7523; /* *addv8di3 */
18807 :
18808 : case 19:
18809 : if (!(
18810 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18811 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V4DImode, operands)) &&
18812 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18813 : (TARGET_AVX2)))
18814 : return -1;
18815 : return 7525; /* *addv4di3 */
18816 :
18817 : case 20:
18818 : if (!
18819 : #line 16679 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18820 : (TARGET_SSE2 && ix86_binary_operator_ok (PLUS, V2DImode, operands)))
18821 : return -1;
18822 : return 7527; /* *addv2di3 */
18823 :
18824 : case 21:
18825 : if (!
18826 : #line 33196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18827 : (TARGET_AVX10_2))
18828 : return -1;
18829 : return 10708; /* avx10_2_addbf16_v32bf */
18830 :
18831 : case 22:
18832 : if (!
18833 : #line 33196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18834 : (TARGET_AVX10_2))
18835 : return -1;
18836 : return 10716; /* avx10_2_addbf16_v16bf */
18837 :
18838 : case 23:
18839 : if (!
18840 : #line 33196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18841 : (TARGET_AVX10_2))
18842 : return -1;
18843 : return 10724; /* avx10_2_addbf16_v8bf */
18844 :
18845 : case 24:
18846 : if (!(
18847 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18848 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18849 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18850 : (TARGET_AVX512BW)))
18851 : return -1;
18852 : return 7553; /* *addv64qi3_one */
18853 :
18854 : case 25:
18855 : if (!(
18856 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18857 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18858 : #line 572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18859 : (TARGET_AVX2)))
18860 : return -1;
18861 : return 7554; /* *addv32qi3_one */
18862 :
18863 : case 26:
18864 : if (!
18865 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18866 : (TARGET_SSE2 && ix86_pre_reload_split ()))
18867 : return -1;
18868 : return 7555; /* *addv16qi3_one */
18869 :
18870 : case 27:
18871 : if (!(
18872 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18873 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18874 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18875 : (TARGET_AVX512BW)))
18876 : return -1;
18877 : return 7556; /* *addv32hi3_one */
18878 :
18879 : case 28:
18880 : if (!(
18881 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18882 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18883 : #line 573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18884 : (TARGET_AVX2)))
18885 : return -1;
18886 : return 7557; /* *addv16hi3_one */
18887 :
18888 : case 29:
18889 : if (!
18890 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18891 : (TARGET_SSE2 && ix86_pre_reload_split ()))
18892 : return -1;
18893 : return 7558; /* *addv8hi3_one */
18894 :
18895 : case 30:
18896 : if (!(
18897 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18898 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18899 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18900 : (TARGET_AVX512F)))
18901 : return -1;
18902 : return 7559; /* *addv16si3_one */
18903 :
18904 : case 31:
18905 : if (!(
18906 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18907 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18908 : #line 574 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18909 : (TARGET_AVX2)))
18910 : return -1;
18911 : return 7560; /* *addv8si3_one */
18912 :
18913 : case 32:
18914 : if (!
18915 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18916 : (TARGET_SSE2 && ix86_pre_reload_split ()))
18917 : return -1;
18918 : return 7561; /* *addv4si3_one */
18919 :
18920 : case 33:
18921 : if (!(
18922 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18923 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18924 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18925 : (TARGET_AVX512F)))
18926 : return -1;
18927 : return 7562; /* *addv8di3_one */
18928 :
18929 : case 34:
18930 : if (!(
18931 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18932 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
18933 : #line 575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18934 : (TARGET_AVX2)))
18935 : return -1;
18936 : return 7563; /* *addv4di3_one */
18937 :
18938 : case 35:
18939 : if (!
18940 : #line 16723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18941 : (TARGET_SSE2 && ix86_pre_reload_split ()))
18942 : return -1;
18943 : return 7564; /* *addv2di3_one */
18944 :
18945 : default:
18946 : return -1;
18947 : }
18948 :
18949 : case UNSPEC:
18950 : switch (pattern194 (x3))
18951 : {
18952 : case 0:
18953 : if (!
18954 : #line 7578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18955 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
18956 : && ix86_pre_reload_split ()))
18957 : return -1;
18958 : return 4384; /* fma_v32hf_fadd_fmul */
18959 :
18960 : case 1:
18961 : if (!(
18962 : #line 7578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18963 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
18964 : && ix86_pre_reload_split ()) &&
18965 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18966 : (TARGET_AVX512VL)))
18967 : return -1;
18968 : return 4385; /* fma_v16hf_fadd_fmul */
18969 :
18970 : case 2:
18971 : if (!(
18972 : #line 7578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18973 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
18974 : && ix86_pre_reload_split ()) &&
18975 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18976 : (TARGET_AVX512VL)))
18977 : return -1;
18978 : return 4386; /* fma_v8hf_fadd_fmul */
18979 :
18980 : case 3:
18981 : if (!
18982 : #line 7595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18983 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
18984 : && ix86_pre_reload_split ()))
18985 : return -1;
18986 : return 4387; /* fma_v32hf_fadd_fcmul */
18987 :
18988 : case 4:
18989 : if (!(
18990 : #line 7595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18991 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
18992 : && ix86_pre_reload_split ()) &&
18993 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18994 : (TARGET_AVX512VL)))
18995 : return -1;
18996 : return 4388; /* fma_v16hf_fadd_fcmul */
18997 :
18998 : case 5:
18999 : if (!(
19000 : #line 7595 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19001 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
19002 : && ix86_pre_reload_split ()) &&
19003 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19004 : (TARGET_AVX512VL)))
19005 : return -1;
19006 : return 4389; /* fma_v8hf_fadd_fcmul */
19007 :
19008 : case 6:
19009 : if (!
19010 : #line 7613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19011 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
19012 : && ix86_pre_reload_split ()))
19013 : return -1;
19014 : return 4390; /* fma_fmaddc_v32hf_fma_zero */
19015 :
19016 : case 7:
19017 : if (!(
19018 : #line 7613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19019 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
19020 : && ix86_pre_reload_split ()) &&
19021 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19022 : (TARGET_AVX512VL)))
19023 : return -1;
19024 : return 4392; /* fma_fmaddc_v16hf_fma_zero */
19025 :
19026 : case 8:
19027 : if (!(
19028 : #line 7613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19029 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
19030 : && ix86_pre_reload_split ()) &&
19031 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19032 : (TARGET_AVX512VL)))
19033 : return -1;
19034 : return 4394; /* fma_fmaddc_v8hf_fma_zero */
19035 :
19036 : case 9:
19037 : if (!
19038 : #line 7613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19039 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
19040 : && ix86_pre_reload_split ()))
19041 : return -1;
19042 : return 4391; /* fma_fcmaddc_v32hf_fma_zero */
19043 :
19044 : case 10:
19045 : if (!(
19046 : #line 7613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19047 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
19048 : && ix86_pre_reload_split ()) &&
19049 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19050 : (TARGET_AVX512VL)))
19051 : return -1;
19052 : return 4393; /* fma_fcmaddc_v16hf_fma_zero */
19053 :
19054 : case 11:
19055 : if (!(
19056 : #line 7613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19057 : (TARGET_AVX512FP16 && flag_unsafe_math_optimizations
19058 : && ix86_pre_reload_split ()) &&
19059 : #line 545 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19060 : (TARGET_AVX512VL)))
19061 : return -1;
19062 : return 4395; /* fma_fcmaddc_v8hf_fma_zero */
19063 :
19064 : default:
19065 : return -1;
19066 : }
19067 :
19068 : case MULT:
19069 : x5 = XEXP (x4, 0);
19070 : switch (GET_CODE (x5))
19071 : {
19072 : case SIGN_EXTEND:
19073 : if (pattern334 (x4) != 0)
19074 : return -1;
19075 : x6 = XEXP (x5, 0);
19076 : x7 = XEXP (x6, 1);
19077 : switch (XVECLEN (x7, 0))
19078 : {
19079 : case 8:
19080 : if (pattern1323 (x4) != 0)
19081 : return -1;
19082 : x8 = XEXP (x3, 1);
19083 : if (GET_CODE (x8) != MULT
19084 : || GET_MODE (x8) != E_V8SImode)
19085 : return -1;
19086 : x9 = XEXP (x8, 0);
19087 : if (GET_CODE (x9) != SIGN_EXTEND
19088 : || GET_MODE (x9) != E_V8SImode)
19089 : return -1;
19090 : x10 = XEXP (x9, 0);
19091 : if (GET_CODE (x10) != VEC_SELECT
19092 : || GET_MODE (x10) != E_V8HImode)
19093 : return -1;
19094 : x11 = XEXP (x10, 1);
19095 : if (GET_CODE (x11) != PARALLEL
19096 : || pattern1895 (x11,
19097 : 8) != 0)
19098 : return -1;
19099 : x12 = XEXP (x8, 1);
19100 : if (pattern1875 (x12,
19101 : E_V8HImode,
19102 : E_V8SImode) != 0)
19103 : return -1;
19104 : x13 = XEXP (x12, 0);
19105 : x14 = XEXP (x13, 1);
19106 : if (pattern1912 (x14,
19107 : 8) != 0
19108 : || !register_operand (operands[0], E_V8SImode)
19109 : || GET_MODE (x3) != E_V8SImode
19110 : || GET_MODE (x4) != E_V8SImode
19111 : || GET_MODE (x5) != E_V8SImode
19112 : || GET_MODE (x6) != E_V8HImode
19113 : || !nonimmediate_operand (operands[1], E_V16HImode))
19114 : return -1;
19115 : x15 = XEXP (x4, 1);
19116 : if (GET_MODE (x15) != E_V8SImode)
19117 : return -1;
19118 : x16 = XEXP (x15, 0);
19119 : if (GET_MODE (x16) != E_V8HImode
19120 : || !nonimmediate_operand (operands[2], E_V16HImode))
19121 : return -1;
19122 : x17 = XEXP (x10, 0);
19123 : if (!rtx_equal_p (x17, operands[1]))
19124 : return -1;
19125 : x18 = XEXP (x13, 0);
19126 : if (!rtx_equal_p (x18, operands[2])
19127 : || !
19128 : #line 17182 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19129 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19130 : return -1;
19131 : return 7661; /* *avx2_pmaddwd */
19132 :
19133 : case 4:
19134 : x19 = XVECEXP (x7, 0, 0);
19135 : if (GET_CODE (x19) != CONST_INT)
19136 : return -1;
19137 : x20 = XVECEXP (x7, 0, 1);
19138 : if (GET_CODE (x20) != CONST_INT)
19139 : return -1;
19140 : x21 = XVECEXP (x7, 0, 2);
19141 : if (GET_CODE (x21) != CONST_INT)
19142 : return -1;
19143 : x22 = XVECEXP (x7, 0, 3);
19144 : if (GET_CODE (x22) != CONST_INT)
19145 : return -1;
19146 : x15 = XEXP (x4, 1);
19147 : x16 = XEXP (x15, 0);
19148 : x23 = XEXP (x16, 1);
19149 : if (XVECLEN (x23, 0) != 4)
19150 : return -1;
19151 : x24 = XVECEXP (x23, 0, 0);
19152 : if (GET_CODE (x24) != CONST_INT)
19153 : return -1;
19154 : x25 = XVECEXP (x23, 0, 1);
19155 : if (GET_CODE (x25) != CONST_INT)
19156 : return -1;
19157 : x26 = XVECEXP (x23, 0, 2);
19158 : if (GET_CODE (x26) != CONST_INT)
19159 : return -1;
19160 : x27 = XVECEXP (x23, 0, 3);
19161 : if (GET_CODE (x27) != CONST_INT
19162 : || pattern896 (x3,
19163 : E_V4HImode,
19164 : E_V4SImode) != 0
19165 : || GET_MODE (x15) != E_V4SImode
19166 : || GET_MODE (x16) != E_V4HImode)
19167 : return -1;
19168 : switch (XWINT (x19, 0))
19169 : {
19170 : case 0L:
19171 : if (XWINT (x20, 0) != 2L
19172 : || XWINT (x21, 0) != 4L
19173 : || XWINT (x22, 0) != 6L
19174 : || XWINT (x24, 0) != 0L
19175 : || XWINT (x25, 0) != 2L
19176 : || XWINT (x26, 0) != 4L
19177 : || XWINT (x27, 0) != 6L)
19178 : return -1;
19179 : x8 = XEXP (x3, 1);
19180 : if (pattern1809 (x8,
19181 : E_V4HImode,
19182 : E_V4SImode,
19183 : SIGN_EXTEND) != 0
19184 : || !vector_operand (operands[1], E_V8HImode)
19185 : || !vector_operand (operands[2], E_V8HImode))
19186 : return -1;
19187 : x9 = XEXP (x8, 0);
19188 : x10 = XEXP (x9, 0);
19189 : x17 = XEXP (x10, 0);
19190 : if (!rtx_equal_p (x17, operands[1]))
19191 : return -1;
19192 : x12 = XEXP (x8, 1);
19193 : x13 = XEXP (x12, 0);
19194 : x18 = XEXP (x13, 0);
19195 : if (!rtx_equal_p (x18, operands[2])
19196 : || !
19197 : #line 17238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19198 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
19199 : return -1;
19200 : return 7662; /* *sse2_pmaddwd */
19201 :
19202 : case 1L:
19203 : if (XWINT (x20, 0) != 3L
19204 : || XWINT (x21, 0) != 5L
19205 : || XWINT (x22, 0) != 7L
19206 : || XWINT (x24, 0) != 1L
19207 : || XWINT (x25, 0) != 3L
19208 : || XWINT (x26, 0) != 5L
19209 : || XWINT (x27, 0) != 7L
19210 : || !nonimmediate_operand (operands[1], E_V8HImode)
19211 : || !nonimmediate_operand (operands[2], E_V8HImode))
19212 : return -1;
19213 : x8 = XEXP (x3, 1);
19214 : operands[3] = x8;
19215 : if (!register_operand (operands[3], E_V4SImode)
19216 : || !
19217 : #line 27013 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19218 : (TARGET_XOP))
19219 : return -1;
19220 : return 9078; /* xop_pmacswd */
19221 :
19222 : default:
19223 : return -1;
19224 : }
19225 :
19226 : case 2:
19227 : if (pattern1324 (x3) != 0)
19228 : return -1;
19229 : x15 = XEXP (x4, 1);
19230 : if (GET_MODE (x15) != E_V2DImode)
19231 : return -1;
19232 : x16 = XEXP (x15, 0);
19233 : if (GET_MODE (x16) != E_V2SImode
19234 : || !nonimmediate_operand (operands[2], E_V4SImode))
19235 : return -1;
19236 : x8 = XEXP (x3, 1);
19237 : operands[3] = x8;
19238 : switch (pattern1859 (x4))
19239 : {
19240 : case 0:
19241 : if (!
19242 : #line 26972 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19243 : (TARGET_XOP))
19244 : return -1;
19245 : return 9074; /* xop_pmacsdql */
19246 :
19247 : case 1:
19248 : if (!
19249 : #line 26991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19250 : (TARGET_XOP))
19251 : return -1;
19252 : return 9076; /* xop_pmacsdqh */
19253 :
19254 : default:
19255 : return -1;
19256 : }
19257 :
19258 : default:
19259 : return -1;
19260 : }
19261 :
19262 : case REG:
19263 : case SUBREG:
19264 : case MEM:
19265 : switch (pattern336 (x3))
19266 : {
19267 : case 0:
19268 : if (!
19269 : #line 26953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19270 : (TARGET_XOP))
19271 : return -1;
19272 : return 9070; /* xop_pmacsww */
19273 :
19274 : case 1:
19275 : if (!
19276 : #line 26953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19277 : (TARGET_XOP))
19278 : return -1;
19279 : return 9072; /* xop_pmacsdd */
19280 :
19281 : default:
19282 : return -1;
19283 : }
19284 :
19285 : default:
19286 : return -1;
19287 : }
19288 :
19289 : case VEC_SELECT:
19290 : switch (pattern198 (x3))
19291 : {
19292 : case 0:
19293 : if (!
19294 : #line 23090 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19295 : (TARGET_AVX2))
19296 : return -1;
19297 : return 8662; /* avx2_phaddwv16hi3 */
19298 :
19299 : case 1:
19300 : if (!
19301 : #line 23114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19302 : (TARGET_SSSE3))
19303 : return -1;
19304 : return 8666; /* ssse3_phaddwv8hi3 */
19305 :
19306 : case 2:
19307 : if (!
19308 : #line 23183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19309 : (TARGET_AVX2))
19310 : return -1;
19311 : return 8674; /* avx2_phadddv8si3 */
19312 :
19313 : case 3:
19314 : if (!
19315 : #line 23205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19316 : (TARGET_SSSE3))
19317 : return -1;
19318 : return 8676; /* ssse3_phadddv4si3 */
19319 :
19320 : default:
19321 : return -1;
19322 : }
19323 :
19324 : case PLUS:
19325 : x5 = XEXP (x4, 0);
19326 : switch (GET_CODE (x5))
19327 : {
19328 : case MULT:
19329 : if (pattern337 (x5) != 0)
19330 : return -1;
19331 : x28 = XEXP (x5, 1);
19332 : if (GET_MODE (x28) != E_V4SImode)
19333 : return -1;
19334 : x29 = XEXP (x28, 0);
19335 : if (GET_CODE (x29) != VEC_SELECT
19336 : || GET_MODE (x29) != E_V4HImode)
19337 : return -1;
19338 : x30 = XEXP (x29, 1);
19339 : if (GET_CODE (x30) != PARALLEL
19340 : || XVECLEN (x30, 0) != 4)
19341 : return -1;
19342 : x31 = XVECEXP (x30, 0, 0);
19343 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
19344 : return -1;
19345 : x32 = XVECEXP (x30, 0, 1);
19346 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
19347 : return -1;
19348 : x33 = XVECEXP (x30, 0, 2);
19349 : if (x33 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
19350 : return -1;
19351 : x34 = XVECEXP (x30, 0, 3);
19352 : if (x34 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
19353 : return -1;
19354 : x15 = XEXP (x4, 1);
19355 : if (GET_CODE (x15) != MULT
19356 : || GET_MODE (x15) != E_V4SImode)
19357 : return -1;
19358 : x16 = XEXP (x15, 0);
19359 : if (GET_CODE (x16) != SIGN_EXTEND
19360 : || GET_MODE (x16) != E_V4SImode)
19361 : return -1;
19362 : x35 = XEXP (x16, 0);
19363 : if (GET_CODE (x35) != VEC_SELECT
19364 : || GET_MODE (x35) != E_V4HImode)
19365 : return -1;
19366 : x36 = XEXP (x35, 1);
19367 : if (GET_CODE (x36) != PARALLEL
19368 : || XVECLEN (x36, 0) != 4)
19369 : return -1;
19370 : x37 = XVECEXP (x36, 0, 0);
19371 : if (x37 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
19372 : return -1;
19373 : x38 = XVECEXP (x36, 0, 1);
19374 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
19375 : return -1;
19376 : x39 = XVECEXP (x36, 0, 2);
19377 : if (x39 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
19378 : return -1;
19379 : x40 = XVECEXP (x36, 0, 3);
19380 : if (x40 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
19381 : return -1;
19382 : x41 = XEXP (x15, 1);
19383 : if (GET_CODE (x41) != SIGN_EXTEND
19384 : || GET_MODE (x41) != E_V4SImode)
19385 : return -1;
19386 : x42 = XEXP (x41, 0);
19387 : if (GET_CODE (x42) != VEC_SELECT
19388 : || GET_MODE (x42) != E_V4HImode)
19389 : return -1;
19390 : x43 = XEXP (x42, 1);
19391 : if (GET_CODE (x43) != PARALLEL
19392 : || XVECLEN (x43, 0) != 4)
19393 : return -1;
19394 : x44 = XVECEXP (x43, 0, 0);
19395 : if (x44 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
19396 : return -1;
19397 : x45 = XVECEXP (x43, 0, 1);
19398 : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
19399 : return -1;
19400 : x46 = XVECEXP (x43, 0, 2);
19401 : if (x46 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
19402 : return -1;
19403 : x47 = XVECEXP (x43, 0, 3);
19404 : if (x47 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
19405 : || !register_operand (operands[0], E_V4SImode)
19406 : || GET_MODE (x3) != E_V4SImode
19407 : || GET_MODE (x4) != E_V4SImode
19408 : || pattern1915 (x3) != 0
19409 : || !
19410 : #line 27046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19411 : (TARGET_XOP))
19412 : return -1;
19413 : return 9080; /* xop_pmadcswd */
19414 :
19415 : case SIGN_EXTEND:
19416 : switch (pattern340 (x3,
19417 : SIGN_EXTEND))
19418 : {
19419 : case 0:
19420 : if (!
19421 : #line 27141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19422 : (TARGET_XOP))
19423 : return -1;
19424 : return 9100; /* xop_phaddbd */
19425 :
19426 : case 1:
19427 : if (!
19428 : #line 27240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19429 : (TARGET_XOP))
19430 : return -1;
19431 : return 9106; /* xop_phaddwq */
19432 :
19433 : default:
19434 : return -1;
19435 : }
19436 :
19437 : case ZERO_EXTEND:
19438 : switch (pattern340 (x3,
19439 : ZERO_EXTEND))
19440 : {
19441 : case 0:
19442 : if (!
19443 : #line 27141 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19444 : (TARGET_XOP))
19445 : return -1;
19446 : return 9101; /* xop_phaddubd */
19447 :
19448 : case 1:
19449 : if (!
19450 : #line 27240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19451 : (TARGET_XOP))
19452 : return -1;
19453 : return 9107; /* xop_phadduwq */
19454 :
19455 : default:
19456 : return -1;
19457 : }
19458 :
19459 : case PLUS:
19460 : if (GET_MODE (x5) != E_V2DImode)
19461 : return -1;
19462 : x15 = XEXP (x4, 1);
19463 : if (GET_CODE (x15) != PLUS
19464 : || GET_MODE (x15) != E_V2DImode)
19465 : return -1;
19466 : x8 = XEXP (x3, 1);
19467 : if (GET_CODE (x8) != PLUS
19468 : || GET_MODE (x8) != E_V2DImode
19469 : || pattern1043 (x8,
19470 : E_V2DImode,
19471 : PLUS) != 0
19472 : || !register_operand (operands[0], E_V2DImode)
19473 : || GET_MODE (x3) != E_V2DImode
19474 : || GET_MODE (x4) != E_V2DImode
19475 : || pattern1566 (x3,
19476 : E_V2DImode) != 0)
19477 : return -1;
19478 : x6 = XEXP (x5, 0);
19479 : switch (GET_CODE (x6))
19480 : {
19481 : case SIGN_EXTEND:
19482 : if (pattern1846 (x3,
19483 : SIGN_EXTEND) != 0
19484 : || !
19485 : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19486 : (TARGET_XOP))
19487 : return -1;
19488 : return 9102; /* xop_phaddbq */
19489 :
19490 : case ZERO_EXTEND:
19491 : if (pattern1846 (x3,
19492 : ZERO_EXTEND) != 0
19493 : || !
19494 : #line 27190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19495 : (TARGET_XOP))
19496 : return -1;
19497 : return 9103; /* xop_phaddubq */
19498 :
19499 : default:
19500 : return -1;
19501 : }
19502 :
19503 : default:
19504 : return -1;
19505 : }
19506 :
19507 : case SIGN_EXTEND:
19508 : switch (pattern200 (x3,
19509 : SIGN_EXTEND))
19510 : {
19511 : case 0:
19512 : if (!
19513 : #line 27108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19514 : (TARGET_XOP))
19515 : return -1;
19516 : return 9098; /* xop_phaddbw */
19517 :
19518 : case 1:
19519 : if (!
19520 : #line 27211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19521 : (TARGET_XOP))
19522 : return -1;
19523 : return 9104; /* xop_phaddwd */
19524 :
19525 : case 2:
19526 : if (!
19527 : #line 27259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19528 : (TARGET_XOP))
19529 : return -1;
19530 : return 9108; /* xop_phadddq */
19531 :
19532 : default:
19533 : return -1;
19534 : }
19535 :
19536 : case ZERO_EXTEND:
19537 : switch (pattern200 (x3,
19538 : ZERO_EXTEND))
19539 : {
19540 : case 0:
19541 : if (!
19542 : #line 27108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19543 : (TARGET_XOP))
19544 : return -1;
19545 : return 9099; /* xop_phaddubw */
19546 :
19547 : case 1:
19548 : if (!
19549 : #line 27211 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19550 : (TARGET_XOP))
19551 : return -1;
19552 : return 9105; /* xop_phadduwd */
19553 :
19554 : case 2:
19555 : if (!
19556 : #line 27259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19557 : (TARGET_XOP))
19558 : return -1;
19559 : return 9109; /* xop_phaddudq */
19560 :
19561 : default:
19562 : return -1;
19563 : }
19564 :
19565 : default:
19566 : return -1;
19567 : }
19568 : }
19569 :
19570 : int
19571 : recog_327 (rtx x1 ATTRIBUTE_UNUSED,
19572 : rtx_insn *insn ATTRIBUTE_UNUSED,
19573 : int *pnum_clobbers ATTRIBUTE_UNUSED)
19574 : {
19575 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19576 : rtx x2, x3, x4, x5;
19577 : int res ATTRIBUTE_UNUSED;
19578 : x2 = XEXP (x1, 0);
19579 : operands[0] = x2;
19580 : x3 = XEXP (x1, 1);
19581 : x4 = XEXP (x3, 0);
19582 : switch (GET_CODE (x4))
19583 : {
19584 : case VEC_SELECT:
19585 : return recog_304 (x1, insn, pnum_clobbers);
19586 :
19587 : case REG:
19588 : case SUBREG:
19589 : case MEM:
19590 : operands[1] = x4;
19591 : switch (GET_MODE (operands[0]))
19592 : {
19593 : case E_V2DFmode:
19594 : if (!register_operand (operands[0], E_V2DFmode)
19595 : || GET_MODE (x3) != E_V2DFmode
19596 : || !nonimmediate_operand (operands[1], E_DFmode))
19597 : return -1;
19598 : if (
19599 : #line 15288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19600 : (TARGET_SSE2))
19601 : return 7261; /* vec_dupv2df */
19602 : if (!(
19603 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19604 : (TARGET_AVX512F) &&
19605 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19606 : (TARGET_AVX512VL)))
19607 : return -1;
19608 : return 9384; /* *avx512vl_vec_dup_gprv2df */
19609 :
19610 : case E_V16SFmode:
19611 : if (!register_operand (operands[0], E_V16SFmode)
19612 : || GET_MODE (x3) != E_V16SFmode)
19613 : return -1;
19614 : switch (GET_MODE (operands[1]))
19615 : {
19616 : case E_V4SFmode:
19617 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
19618 : || !
19619 : #line 28684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19620 : (TARGET_AVX512F))
19621 : return -1;
19622 : return 9330; /* *avx512f_broadcastv16sf */
19623 :
19624 : case E_SFmode:
19625 : if (!nonimmediate_operand (operands[1], E_SFmode)
19626 : || !
19627 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19628 : (TARGET_AVX512F))
19629 : return -1;
19630 : return 9374; /* *avx512f_vec_dup_gprv16sf */
19631 :
19632 : case E_V8SFmode:
19633 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
19634 : || !
19635 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19636 : (TARGET_AVX512DQ))
19637 : return -1;
19638 : return 9438; /* *avx512dq_broadcastv16sf_1 */
19639 :
19640 : default:
19641 : return -1;
19642 : }
19643 :
19644 : case E_V16SImode:
19645 : if (!register_operand (operands[0], E_V16SImode)
19646 : || GET_MODE (x3) != E_V16SImode)
19647 : return -1;
19648 : switch (GET_MODE (operands[1]))
19649 : {
19650 : case E_V4SImode:
19651 : if (!nonimmediate_operand (operands[1], E_V4SImode)
19652 : || !
19653 : #line 28684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19654 : (TARGET_AVX512F))
19655 : return -1;
19656 : return 9332; /* *avx512f_broadcastv16si */
19657 :
19658 : case E_SImode:
19659 : if (!nonimmediate_operand (operands[1], E_SImode)
19660 : || !
19661 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19662 : (TARGET_AVX512F))
19663 : return -1;
19664 : return 9362; /* *avx512f_vec_dup_gprv16si */
19665 :
19666 : case E_V8SImode:
19667 : if (!nonimmediate_operand (operands[1], E_V8SImode)
19668 : || !
19669 : #line 29023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19670 : (TARGET_AVX512DQ))
19671 : return -1;
19672 : return 9440; /* *avx512dq_broadcastv16si_1 */
19673 :
19674 : default:
19675 : return -1;
19676 : }
19677 :
19678 : case E_V8DFmode:
19679 : if (!register_operand (operands[0], E_V8DFmode)
19680 : || GET_MODE (x3) != E_V8DFmode)
19681 : return -1;
19682 : switch (GET_MODE (operands[1]))
19683 : {
19684 : case E_V4DFmode:
19685 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
19686 : || !
19687 : #line 28697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19688 : (TARGET_AVX512F))
19689 : return -1;
19690 : return 9334; /* *avx512f_broadcastv8df */
19691 :
19692 : case E_DFmode:
19693 : if (!nonimmediate_operand (operands[1], E_DFmode)
19694 : || !
19695 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19696 : (TARGET_AVX512F))
19697 : return -1;
19698 : return 9380; /* *avx512f_vec_dup_gprv8df */
19699 :
19700 : case E_V2DFmode:
19701 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
19702 : || !
19703 : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19704 : (TARGET_AVX512DQ))
19705 : return -1;
19706 : return 9444; /* *avx512dq_broadcastv8df_1 */
19707 :
19708 : default:
19709 : return -1;
19710 : }
19711 :
19712 : case E_V8DImode:
19713 : if (!register_operand (operands[0], E_V8DImode)
19714 : || GET_MODE (x3) != E_V8DImode)
19715 : return -1;
19716 : switch (GET_MODE (operands[1]))
19717 : {
19718 : case E_V4DImode:
19719 : if (!nonimmediate_operand (operands[1], E_V4DImode)
19720 : || !
19721 : #line 28697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19722 : (TARGET_AVX512F))
19723 : return -1;
19724 : return 9336; /* *avx512f_broadcastv8di */
19725 :
19726 : case E_DImode:
19727 : if (!nonimmediate_operand (operands[1], E_DImode)
19728 : || !
19729 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19730 : (TARGET_AVX512F))
19731 : return -1;
19732 : return 9368; /* *avx512f_vec_dup_gprv8di */
19733 :
19734 : case E_V2DImode:
19735 : if (!nonimmediate_operand (operands[1], E_V2DImode)
19736 : || !
19737 : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19738 : (TARGET_AVX512DQ))
19739 : return -1;
19740 : return 9442; /* *avx512dq_broadcastv8di_1 */
19741 :
19742 : default:
19743 : return -1;
19744 : }
19745 :
19746 : case E_V64QImode:
19747 : if (!register_operand (operands[0], E_V64QImode)
19748 : || GET_MODE (x3) != E_V64QImode
19749 : || !nonimmediate_operand (operands[1], E_QImode)
19750 : || !
19751 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19752 : (TARGET_AVX512BW))
19753 : return -1;
19754 : return 9338; /* *avx512bw_vec_dup_gprv64qi */
19755 :
19756 : case E_V16QImode:
19757 : if (!register_operand (operands[0], E_V16QImode)
19758 : || GET_MODE (x3) != E_V16QImode
19759 : || !nonimmediate_operand (operands[1], E_QImode))
19760 : return -1;
19761 : if ((
19762 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19763 : (TARGET_AVX512BW) &&
19764 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19765 : (TARGET_AVX512VL)))
19766 : return 9340; /* *avx512vl_vec_dup_gprv16qi */
19767 : if (!
19768 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19769 : (TARGET_AVX2))
19770 : return -1;
19771 : return 9395; /* *vec_dupv16qi */
19772 :
19773 : case E_V32QImode:
19774 : if (!register_operand (operands[0], E_V32QImode)
19775 : || GET_MODE (x3) != E_V32QImode
19776 : || !nonimmediate_operand (operands[1], E_QImode))
19777 : return -1;
19778 : if ((
19779 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19780 : (TARGET_AVX512BW) &&
19781 : #line 332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19782 : (TARGET_AVX512VL)))
19783 : return 9342; /* *avx512vl_vec_dup_gprv32qi */
19784 : if (!
19785 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19786 : (TARGET_AVX2))
19787 : return -1;
19788 : return 9394; /* *vec_dupv32qi */
19789 :
19790 : case E_V32HImode:
19791 : if (!register_operand (operands[0], E_V32HImode)
19792 : || GET_MODE (x3) != E_V32HImode
19793 : || !nonimmediate_operand (operands[1], E_HImode)
19794 : || !
19795 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19796 : (TARGET_AVX512BW))
19797 : return -1;
19798 : return 9344; /* *avx512bw_vec_dup_gprv32hi */
19799 :
19800 : case E_V16HImode:
19801 : if (!register_operand (operands[0], E_V16HImode)
19802 : || GET_MODE (x3) != E_V16HImode
19803 : || !nonimmediate_operand (operands[1], E_HImode))
19804 : return -1;
19805 : if ((
19806 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19807 : (TARGET_AVX512BW) &&
19808 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19809 : (TARGET_AVX512VL)))
19810 : return 9346; /* *avx512vl_vec_dup_gprv16hi */
19811 : if (!
19812 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19813 : (TARGET_AVX2))
19814 : return -1;
19815 : return 9396; /* *vec_dupv16hi */
19816 :
19817 : case E_V8HImode:
19818 : if (!register_operand (operands[0], E_V8HImode)
19819 : || GET_MODE (x3) != E_V8HImode
19820 : || !nonimmediate_operand (operands[1], E_HImode))
19821 : return -1;
19822 : if ((
19823 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19824 : (TARGET_AVX512BW) &&
19825 : #line 333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19826 : (TARGET_AVX512VL)))
19827 : return 9348; /* *avx512vl_vec_dup_gprv8hi */
19828 : if (!
19829 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19830 : (TARGET_AVX2))
19831 : return -1;
19832 : return 9397; /* *vec_dupv8hi */
19833 :
19834 : case E_V32HFmode:
19835 : if (!register_operand (operands[0], E_V32HFmode)
19836 : || GET_MODE (x3) != E_V32HFmode
19837 : || !nonimmediate_operand (operands[1], E_HFmode)
19838 : || !
19839 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19840 : (TARGET_AVX512BW))
19841 : return -1;
19842 : return 9350; /* *avx512bw_vec_dup_gprv32hf */
19843 :
19844 : case E_V16HFmode:
19845 : if (!register_operand (operands[0], E_V16HFmode)
19846 : || GET_MODE (x3) != E_V16HFmode
19847 : || !nonimmediate_operand (operands[1], E_HFmode))
19848 : return -1;
19849 : if ((
19850 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19851 : (TARGET_AVX512BW) &&
19852 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19853 : (TARGET_AVX512VL)))
19854 : return 9352; /* *avx512vl_vec_dup_gprv16hf */
19855 : if (!
19856 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19857 : (TARGET_AVX2))
19858 : return -1;
19859 : return 9400; /* *vec_dupv16hf */
19860 :
19861 : case E_V8HFmode:
19862 : if (!register_operand (operands[0], E_V8HFmode)
19863 : || GET_MODE (x3) != E_V8HFmode
19864 : || !nonimmediate_operand (operands[1], E_HFmode))
19865 : return -1;
19866 : if ((
19867 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19868 : (TARGET_AVX512BW) &&
19869 : #line 334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19870 : (TARGET_AVX512VL)))
19871 : return 9354; /* *avx512fp16_vec_dup_gprv8hf */
19872 : if (!
19873 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19874 : (TARGET_AVX2))
19875 : return -1;
19876 : return 9401; /* *vec_dupv8hf */
19877 :
19878 : case E_V32BFmode:
19879 : if (!register_operand (operands[0], E_V32BFmode)
19880 : || GET_MODE (x3) != E_V32BFmode
19881 : || !nonimmediate_operand (operands[1], E_BFmode)
19882 : || !
19883 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19884 : (TARGET_AVX512BW))
19885 : return -1;
19886 : return 9356; /* *avx512bw_vec_dup_gprv32bf */
19887 :
19888 : case E_V16BFmode:
19889 : if (!register_operand (operands[0], E_V16BFmode)
19890 : || GET_MODE (x3) != E_V16BFmode
19891 : || !nonimmediate_operand (operands[1], E_BFmode))
19892 : return -1;
19893 : if ((
19894 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19895 : (TARGET_AVX512BW) &&
19896 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19897 : (TARGET_AVX512VL)))
19898 : return 9358; /* *avx512vl_vec_dup_gprv16bf */
19899 : if (!
19900 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19901 : (TARGET_AVX2))
19902 : return -1;
19903 : return 9402; /* *vec_dupv16bf */
19904 :
19905 : case E_V8BFmode:
19906 : if (!register_operand (operands[0], E_V8BFmode)
19907 : || GET_MODE (x3) != E_V8BFmode
19908 : || !nonimmediate_operand (operands[1], E_BFmode))
19909 : return -1;
19910 : if ((
19911 : #line 28710 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19912 : (TARGET_AVX512BW) &&
19913 : #line 335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19914 : (TARGET_AVX512VL)))
19915 : return 9360; /* *avx512vl_vec_dup_gprv8bf */
19916 : if (!
19917 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19918 : (TARGET_AVX2))
19919 : return -1;
19920 : return 9403; /* *vec_dupv8bf */
19921 :
19922 : case E_V8SImode:
19923 : if (!register_operand (operands[0], E_V8SImode)
19924 : || GET_MODE (x3) != E_V8SImode)
19925 : return -1;
19926 : switch (GET_MODE (operands[1]))
19927 : {
19928 : case E_SImode:
19929 : if (!nonimmediate_operand (operands[1], E_SImode))
19930 : return -1;
19931 : if ((
19932 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19933 : (TARGET_AVX512F) &&
19934 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19935 : (TARGET_AVX512VL)))
19936 : return 9364; /* *avx512vl_vec_dup_gprv8si */
19937 : if (
19938 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19939 : (TARGET_AVX2))
19940 : return 9398; /* *vec_dupv8si */
19941 : if (!
19942 : #line 28892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19943 : (TARGET_AVX))
19944 : return -1;
19945 : return 9404; /* vec_dupv8si */
19946 :
19947 : case E_V4SImode:
19948 : if (!nonimmediate_operand (operands[1], E_V4SImode)
19949 : || !
19950 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19951 : (TARGET_AVX512VL))
19952 : return -1;
19953 : return 9434; /* *avx512vl_broadcastv8si_1 */
19954 :
19955 : default:
19956 : return -1;
19957 : }
19958 :
19959 : case E_V4SImode:
19960 : if (!register_operand (operands[0], E_V4SImode)
19961 : || GET_MODE (x3) != E_V4SImode
19962 : || !nonimmediate_operand (operands[1], E_SImode))
19963 : return -1;
19964 : if ((
19965 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19966 : (TARGET_AVX512F) &&
19967 : #line 299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19968 : (TARGET_AVX512VL)))
19969 : return 9366; /* *avx512vl_vec_dup_gprv4si */
19970 : if (
19971 : #line 28769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19972 : (TARGET_SSE))
19973 : return 9387; /* *vec_dupv4si */
19974 : if (!
19975 : #line 28872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19976 : (TARGET_AVX2))
19977 : return -1;
19978 : return 9399; /* *vec_dupv4si */
19979 :
19980 : case E_V4DImode:
19981 : if (!register_operand (operands[0], E_V4DImode)
19982 : || GET_MODE (x3) != E_V4DImode)
19983 : return -1;
19984 : switch (GET_MODE (operands[1]))
19985 : {
19986 : case E_DImode:
19987 : if (!nonimmediate_operand (operands[1], E_DImode))
19988 : return -1;
19989 : if ((
19990 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19991 : (TARGET_AVX512F) &&
19992 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19993 : (TARGET_AVX512VL)))
19994 : return 9370; /* *avx512vl_vec_dup_gprv4di */
19995 : if (!
19996 : #line 28892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19997 : (TARGET_AVX))
19998 : return -1;
19999 : return 9406; /* vec_dupv4di */
20000 :
20001 : case E_V2DImode:
20002 : if (!nonimmediate_operand (operands[1], E_V2DImode)
20003 : || !(
20004 : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20005 : (TARGET_AVX512DQ) &&
20006 : #line 29035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20007 : (TARGET_AVX512VL)))
20008 : return -1;
20009 : return 9446; /* *avx512dq_broadcastv4di_1 */
20010 :
20011 : default:
20012 : return -1;
20013 : }
20014 :
20015 : case E_V2DImode:
20016 : if (!register_operand (operands[0], E_V2DImode)
20017 : || GET_MODE (x3) != E_V2DImode
20018 : || !nonimmediate_operand (operands[1], E_DImode))
20019 : return -1;
20020 : if ((
20021 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20022 : (TARGET_AVX512F) &&
20023 : #line 300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20024 : (TARGET_AVX512VL)))
20025 : return 9372; /* *avx512vl_vec_dup_gprv2di */
20026 : if (!
20027 : #line 28797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20028 : (TARGET_SSE))
20029 : return -1;
20030 : return 9388; /* *vec_dupv2di */
20031 :
20032 : case E_V8SFmode:
20033 : if (!register_operand (operands[0], E_V8SFmode)
20034 : || GET_MODE (x3) != E_V8SFmode)
20035 : return -1;
20036 : switch (GET_MODE (operands[1]))
20037 : {
20038 : case E_SFmode:
20039 : if (!nonimmediate_operand (operands[1], E_SFmode))
20040 : return -1;
20041 : if ((
20042 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20043 : (TARGET_AVX512F) &&
20044 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20045 : (TARGET_AVX512VL)))
20046 : return 9376; /* *avx512vl_vec_dup_gprv8sf */
20047 : if (!
20048 : #line 28892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20049 : (TARGET_AVX))
20050 : return -1;
20051 : return 9405; /* vec_dupv8sf */
20052 :
20053 : case E_V4SFmode:
20054 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
20055 : || !
20056 : #line 29009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20057 : (TARGET_AVX512VL))
20058 : return -1;
20059 : return 9436; /* *avx512vl_broadcastv8sf_1 */
20060 :
20061 : default:
20062 : return -1;
20063 : }
20064 :
20065 : case E_V4SFmode:
20066 : if (!register_operand (operands[0], E_V4SFmode)
20067 : || GET_MODE (x3) != E_V4SFmode
20068 : || !nonimmediate_operand (operands[1], E_SFmode))
20069 : return -1;
20070 : if ((
20071 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20072 : (TARGET_AVX512F) &&
20073 : #line 301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20074 : (TARGET_AVX512VL)))
20075 : return 9378; /* *avx512vl_vec_dup_gprv4sf */
20076 : if (!
20077 : #line 28737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20078 : (TARGET_SSE))
20079 : return -1;
20080 : return 9386; /* vec_dupv4sf */
20081 :
20082 : case E_V4DFmode:
20083 : if (!register_operand (operands[0], E_V4DFmode)
20084 : || GET_MODE (x3) != E_V4DFmode)
20085 : return -1;
20086 : switch (GET_MODE (operands[1]))
20087 : {
20088 : case E_DFmode:
20089 : if (!nonimmediate_operand (operands[1], E_DFmode))
20090 : return -1;
20091 : if ((
20092 : #line 28722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20093 : (TARGET_AVX512F) &&
20094 : #line 302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20095 : (TARGET_AVX512VL)))
20096 : return 9382; /* *avx512vl_vec_dup_gprv4df */
20097 : if (!
20098 : #line 28892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20099 : (TARGET_AVX))
20100 : return -1;
20101 : return 9407; /* vec_dupv4df */
20102 :
20103 : case E_V2DFmode:
20104 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
20105 : || !(
20106 : #line 29041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20107 : (TARGET_AVX512DQ) &&
20108 : #line 29035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20109 : (TARGET_AVX512VL)))
20110 : return -1;
20111 : return 9448; /* *avx512dq_broadcastv4df_1 */
20112 :
20113 : default:
20114 : return -1;
20115 : }
20116 :
20117 : default:
20118 : return -1;
20119 : }
20120 :
20121 : case FLOAT_EXTEND:
20122 : if (GET_MODE (x4) != E_SFmode)
20123 : return -1;
20124 : x5 = XEXP (x4, 0);
20125 : operands[1] = x5;
20126 : switch (GET_MODE (operands[0]))
20127 : {
20128 : case E_V8SFmode:
20129 : switch (pattern686 (x3,
20130 : E_V8SFmode))
20131 : {
20132 : case 0:
20133 : if (!(
20134 : #line 32705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20135 : (TARGET_AVXNECONVERT) &&
20136 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20137 : (TARGET_AVX)))
20138 : return -1;
20139 : return 10529; /* vbcstnebf162ps_v8sf */
20140 :
20141 : case 1:
20142 : if (!(
20143 : #line 32716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20144 : (TARGET_AVXNECONVERT) &&
20145 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20146 : (TARGET_AVX)))
20147 : return -1;
20148 : return 10531; /* vbcstnesh2ps_v8sf */
20149 :
20150 : default:
20151 : return -1;
20152 : }
20153 :
20154 : case E_V4SFmode:
20155 : switch (pattern686 (x3,
20156 : E_V4SFmode))
20157 : {
20158 : case 0:
20159 : if (!
20160 : #line 32705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20161 : (TARGET_AVXNECONVERT))
20162 : return -1;
20163 : return 10530; /* vbcstnebf162ps_v4sf */
20164 :
20165 : case 1:
20166 : if (!
20167 : #line 32716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20168 : (TARGET_AVXNECONVERT))
20169 : return -1;
20170 : return 10532; /* vbcstnesh2ps_v4sf */
20171 :
20172 : default:
20173 : return -1;
20174 : }
20175 :
20176 : default:
20177 : return -1;
20178 : }
20179 :
20180 : default:
20181 : return -1;
20182 : }
20183 : }
20184 :
20185 : int
20186 : recog_333 (rtx x1 ATTRIBUTE_UNUSED,
20187 : rtx_insn *insn ATTRIBUTE_UNUSED,
20188 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20189 : {
20190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20191 : int res ATTRIBUTE_UNUSED;
20192 : switch (pattern30 (x1))
20193 : {
20194 : case 0:
20195 : if (nonimmediate_operand (operands[1], E_V16HImode)
20196 : && nonmemory_operand (operands[2], E_DImode)
20197 : && (
20198 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20199 : (TARGET_AVX512VL) &&
20200 : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20201 : (TARGET_AVX512BW)))
20202 : return 7712; /* *lshrv16hi3 */
20203 : if (!register_operand (operands[1], E_V16HImode))
20204 : return -1;
20205 : if (nonmemory_operand (operands[2], E_DImode)
20206 : && (
20207 : #line 17746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20208 : (TARGET_SSE2) &&
20209 : #line 763 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20210 : (TARGET_AVX2)))
20211 : return 7735; /* lshrv16hi3 */
20212 : if (!nonimmediate_operand (operands[2], E_V16HImode)
20213 : || !(
20214 : #line 29981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20215 : (TARGET_AVX512BW) &&
20216 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20217 : (TARGET_AVX512VL)))
20218 : return -1;
20219 : return 9705; /* avx512vl_lshrvv16hi */
20220 :
20221 : case 1:
20222 : if (nonimmediate_operand (operands[1], E_V8HImode)
20223 : && nonmemory_operand (operands[2], E_DImode)
20224 : && (
20225 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20226 : (TARGET_AVX512VL) &&
20227 : #line 786 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20228 : (TARGET_AVX512BW)))
20229 : return 7716; /* *lshrv8hi3 */
20230 : if (!register_operand (operands[1], E_V8HImode))
20231 : return -1;
20232 : if (nonmemory_operand (operands[2], E_DImode)
20233 : &&
20234 : #line 17746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20235 : (TARGET_SSE2))
20236 : return 7737; /* lshrv8hi3 */
20237 : if (!nonimmediate_operand (operands[2], E_V8HImode)
20238 : || !(
20239 : #line 29981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20240 : (TARGET_AVX512BW) &&
20241 : #line 675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20242 : (TARGET_AVX512VL)))
20243 : return -1;
20244 : return 9701; /* avx512vl_lshrvv8hi */
20245 :
20246 : case 2:
20247 : if (nonimmediate_operand (operands[1], E_V8SImode)
20248 : && nonmemory_operand (operands[2], E_DImode)
20249 : &&
20250 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20251 : (TARGET_AVX512VL))
20252 : return 7720; /* *lshrv8si3 */
20253 : if (!register_operand (operands[1], E_V8SImode))
20254 : return -1;
20255 : if (nonmemory_operand (operands[2], E_DImode)
20256 : && (
20257 : #line 17746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20258 : (TARGET_SSE2) &&
20259 : #line 764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20260 : (TARGET_AVX2)))
20261 : return 7739; /* lshrv8si3 */
20262 : if (!nonimmediate_operand (operands[2], E_V8SImode)
20263 : || !
20264 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20265 : (TARGET_AVX2 && 1))
20266 : return -1;
20267 : return 9681; /* avx2_lshrvv8si */
20268 :
20269 : case 3:
20270 : if (nonimmediate_operand (operands[1], E_V4SImode)
20271 : && nonmemory_operand (operands[2], E_DImode)
20272 : &&
20273 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20274 : (TARGET_AVX512VL))
20275 : return 7724; /* *lshrv4si3 */
20276 : if (!register_operand (operands[1], E_V4SImode))
20277 : return -1;
20278 : if (nonmemory_operand (operands[2], E_DImode)
20279 : &&
20280 : #line 17746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20281 : (TARGET_SSE2))
20282 : return 7741; /* lshrv4si3 */
20283 : if (!nonimmediate_operand (operands[2], E_V4SImode)
20284 : || !
20285 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20286 : (TARGET_AVX2 && 1))
20287 : return -1;
20288 : return 9685; /* avx2_lshrvv4si */
20289 :
20290 : case 4:
20291 : if (nonimmediate_operand (operands[1], E_V4DImode)
20292 : && nonmemory_operand (operands[2], E_DImode)
20293 : &&
20294 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20295 : (TARGET_AVX512VL))
20296 : return 7728; /* *lshrv4di3 */
20297 : if (!register_operand (operands[1], E_V4DImode))
20298 : return -1;
20299 : if (nonmemory_operand (operands[2], E_DImode)
20300 : && (
20301 : #line 17746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20302 : (TARGET_SSE2) &&
20303 : #line 765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20304 : (TARGET_AVX2)))
20305 : return 7743; /* lshrv4di3 */
20306 : if (!nonimmediate_operand (operands[2], E_V4DImode)
20307 : || !
20308 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20309 : (TARGET_AVX2 && 1))
20310 : return -1;
20311 : return 9693; /* avx2_lshrvv4di */
20312 :
20313 : case 5:
20314 : if (nonimmediate_operand (operands[1], E_V2DImode)
20315 : && nonmemory_operand (operands[2], E_DImode)
20316 : &&
20317 : #line 17732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20318 : (TARGET_AVX512VL))
20319 : return 7732; /* *lshrv2di3 */
20320 : if (!register_operand (operands[1], E_V2DImode))
20321 : return -1;
20322 : if (nonmemory_operand (operands[2], E_DImode)
20323 : &&
20324 : #line 17746 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20325 : (TARGET_SSE2))
20326 : return 7745; /* lshrv2di3 */
20327 : if (!nonimmediate_operand (operands[2], E_V2DImode)
20328 : || !
20329 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20330 : (TARGET_AVX2 && 1))
20331 : return -1;
20332 : return 9697; /* avx2_lshrvv2di */
20333 :
20334 : case 6:
20335 : if (nonimmediate_operand (operands[1], E_V32HImode)
20336 : && nonmemory_operand (operands[2], E_DImode)
20337 : && (
20338 : #line 17820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20339 : (TARGET_AVX512F) &&
20340 : #line 773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20341 : (TARGET_AVX512BW)))
20342 : return 7752; /* lshrv32hi3 */
20343 : if (!register_operand (operands[1], E_V32HImode)
20344 : || !nonimmediate_operand (operands[2], E_V32HImode)
20345 : || !
20346 : #line 29981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20347 : (TARGET_AVX512BW))
20348 : return -1;
20349 : return 9709; /* avx512bw_lshrvv32hi */
20350 :
20351 : case 7:
20352 : if (nonimmediate_operand (operands[1], E_V16SImode)
20353 : && nonmemory_operand (operands[2], E_DImode)
20354 : &&
20355 : #line 17820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20356 : (TARGET_AVX512F))
20357 : return 7756; /* lshrv16si3 */
20358 : if (!register_operand (operands[1], E_V16SImode)
20359 : || !nonimmediate_operand (operands[2], E_V16SImode)
20360 : || !(
20361 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20362 : (TARGET_AVX2 && 1) &&
20363 : #line 791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20364 : (TARGET_AVX512F)))
20365 : return -1;
20366 : return 9677; /* avx512f_lshrvv16si */
20367 :
20368 : case 8:
20369 : if (nonimmediate_operand (operands[1], E_V8DImode)
20370 : && nonmemory_operand (operands[2], E_DImode)
20371 : &&
20372 : #line 17820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20373 : (TARGET_AVX512F))
20374 : return 7760; /* lshrv8di3 */
20375 : if (!register_operand (operands[1], E_V8DImode)
20376 : || !nonimmediate_operand (operands[2], E_V8DImode)
20377 : || !(
20378 : #line 29970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20379 : (TARGET_AVX2 && 1) &&
20380 : #line 792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20381 : (TARGET_AVX512F)))
20382 : return -1;
20383 : return 9689; /* avx512f_lshrvv8di */
20384 :
20385 : case 9:
20386 : if (register_operand (operands[1], E_V1TImode)
20387 : && const_0_to_255_not_mul_8_operand (operands[2], E_SImode)
20388 : &&
20389 : #line 17924 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20390 : (TARGET_SSE2 && TARGET_64BIT
20391 : && ix86_pre_reload_split ()))
20392 : return 7763; /* *lshrv1ti3_internal */
20393 : if (!const_0_to_255_mul_8_operand (operands[2], E_SImode))
20394 : return -1;
20395 : if (nonimmediate_operand (operands[1], E_V1TImode)
20396 : && (
20397 : #line 18039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20398 : (TARGET_AVX512BW) &&
20399 : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20400 : (TARGET_AVX512VL)))
20401 : return 7772; /* avx512bw_lshrv1ti3 */
20402 : if (!register_operand (operands[1], E_V1TImode)
20403 : || !
20404 : #line 18054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20405 : (TARGET_SSE2))
20406 : return -1;
20407 : return 7776; /* sse2_lshrv1ti3 */
20408 :
20409 : case 10:
20410 : if (!
20411 : #line 18039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20412 : (TARGET_AVX512BW))
20413 : return -1;
20414 : return 7768; /* avx512bw_lshrv4ti3 */
20415 :
20416 : case 11:
20417 : if (nonimmediate_operand (operands[1], E_V2TImode)
20418 : && (
20419 : #line 18039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20420 : (TARGET_AVX512BW) &&
20421 : #line 718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20422 : (TARGET_AVX512VL)))
20423 : return 7770; /* avx512bw_lshrv2ti3 */
20424 : if (!register_operand (operands[1], E_V2TImode)
20425 : || !(
20426 : #line 18054 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20427 : (TARGET_SSE2) &&
20428 : #line 721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20429 : (TARGET_AVX2)))
20430 : return -1;
20431 : return 7774; /* avx2_lshrv2ti3 */
20432 :
20433 : default:
20434 : return -1;
20435 : }
20436 : }
20437 :
20438 : int
20439 : recog_336 (rtx x1 ATTRIBUTE_UNUSED,
20440 : rtx_insn *insn ATTRIBUTE_UNUSED,
20441 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20442 : {
20443 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20444 : rtx x2, x3, x4, x5, x6, x7, x8;
20445 : int res ATTRIBUTE_UNUSED;
20446 : x2 = XEXP (x1, 0);
20447 : operands[0] = x2;
20448 : x3 = XEXP (x1, 1);
20449 : x4 = XEXP (x3, 0);
20450 : switch (GET_CODE (x4))
20451 : {
20452 : case REG:
20453 : case SUBREG:
20454 : case MEM:
20455 : operands[1] = x4;
20456 : switch (GET_MODE (operands[0]))
20457 : {
20458 : case E_V8HFmode:
20459 : switch (pattern519 (x3))
20460 : {
20461 : case 0:
20462 : if (!(
20463 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20464 : (TARGET_AVX512FP16) &&
20465 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20466 : (TARGET_AVX512VL)))
20467 : return -1;
20468 : return 4524; /* avx512fp16_vcvtw2ph_v8hi */
20469 :
20470 : case 1:
20471 : if (!(
20472 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20473 : (TARGET_AVX512FP16) &&
20474 : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20475 : (TARGET_AVX512VL)))
20476 : return -1;
20477 : return 4548; /* avx512fp16_vcvtdq2ph_v8si */
20478 :
20479 : case 2:
20480 : if (!
20481 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20482 : (TARGET_AVX512FP16))
20483 : return -1;
20484 : return 4564; /* avx512fp16_vcvtqq2ph_v8di */
20485 :
20486 : default:
20487 : return -1;
20488 : }
20489 :
20490 : case E_V16HFmode:
20491 : switch (pattern520 (x3))
20492 : {
20493 : case 0:
20494 : if (!(
20495 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20496 : (TARGET_AVX512FP16) &&
20497 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20498 : (TARGET_AVX512VL)))
20499 : return -1;
20500 : return 4532; /* avx512fp16_vcvtw2ph_v16hi */
20501 :
20502 : case 1:
20503 : if (!
20504 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20505 : (TARGET_AVX512FP16))
20506 : return -1;
20507 : return 4556; /* avx512fp16_vcvtdq2ph_v16si */
20508 :
20509 : default:
20510 : return -1;
20511 : }
20512 :
20513 : case E_V32HFmode:
20514 : if (!register_operand (operands[0], E_V32HFmode)
20515 : || GET_MODE (x3) != E_V32HFmode
20516 : || !vector_operand (operands[1], E_V32HImode)
20517 : || !
20518 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20519 : (TARGET_AVX512FP16))
20520 : return -1;
20521 : return 4540; /* avx512fp16_vcvtw2ph_v32hi */
20522 :
20523 : case E_V16SFmode:
20524 : if (!register_operand (operands[0], E_V16SFmode)
20525 : || GET_MODE (x3) != E_V16SFmode
20526 : || !vector_operand (operands[1], E_V16SImode)
20527 : || !(
20528 : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20529 : (TARGET_SSE2 && 1 && 1) &&
20530 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20531 : (TARGET_AVX512F)))
20532 : return -1;
20533 : return 4860; /* floatv16siv16sf2 */
20534 :
20535 : case E_V8SFmode:
20536 : if (!register_operand (operands[0], E_V8SFmode)
20537 : || GET_MODE (x3) != E_V8SFmode)
20538 : return -1;
20539 : switch (GET_MODE (operands[1]))
20540 : {
20541 : case E_V8SImode:
20542 : if (!vector_operand (operands[1], E_V8SImode)
20543 : || !(
20544 : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20545 : (TARGET_SSE2 && 1 && 1) &&
20546 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20547 : (TARGET_AVX)))
20548 : return -1;
20549 : return 4864; /* floatv8siv8sf2 */
20550 :
20551 : case E_V8DImode:
20552 : if (!nonimmediate_operand (operands[1], E_V8DImode)
20553 : || !
20554 : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20555 : (TARGET_AVX512DQ && 1))
20556 : return -1;
20557 : return 5016; /* floatv8div8sf2 */
20558 :
20559 : default:
20560 : return -1;
20561 : }
20562 :
20563 : case E_V4SFmode:
20564 : if (!register_operand (operands[0], E_V4SFmode)
20565 : || GET_MODE (x3) != E_V4SFmode)
20566 : return -1;
20567 : switch (GET_MODE (operands[1]))
20568 : {
20569 : case E_V4SImode:
20570 : if (!vector_operand (operands[1], E_V4SImode)
20571 : || !
20572 : #line 9029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20573 : (TARGET_SSE2 && 1 && 1))
20574 : return -1;
20575 : return 4866; /* floatv4siv4sf2 */
20576 :
20577 : case E_V4DImode:
20578 : if (!nonimmediate_operand (operands[1], E_V4DImode)
20579 : || !(
20580 : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20581 : (TARGET_AVX512DQ && 1) &&
20582 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20583 : (TARGET_AVX512VL)))
20584 : return -1;
20585 : return 5024; /* floatv4div4sf2 */
20586 :
20587 : default:
20588 : return -1;
20589 : }
20590 :
20591 : case E_V2DFmode:
20592 : switch (pattern521 (x3))
20593 : {
20594 : case 0:
20595 : if (!
20596 : #line 9258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20597 : (TARGET_SSE2))
20598 : return -1;
20599 : return 4940; /* sse2_cvtpi2pd */
20600 :
20601 : case 1:
20602 : if (!(
20603 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20604 : (TARGET_AVX512DQ) &&
20605 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20606 : (TARGET_AVX512VL)))
20607 : return -1;
20608 : return 5008; /* floatv2div2df2 */
20609 :
20610 : default:
20611 : return -1;
20612 : }
20613 :
20614 : case E_V8DFmode:
20615 : switch (pattern522 (x3,
20616 : E_V8DFmode))
20617 : {
20618 : case 0:
20619 : if (!(
20620 : #line 9553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20621 : (TARGET_AVX && 1) &&
20622 : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20623 : (TARGET_AVX512F)))
20624 : return -1;
20625 : return 4988; /* floatv8siv8df2 */
20626 :
20627 : case 1:
20628 : if (!
20629 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20630 : (TARGET_AVX512DQ))
20631 : return -1;
20632 : return 4992; /* floatv8div8df2 */
20633 :
20634 : default:
20635 : return -1;
20636 : }
20637 :
20638 : case E_V4DFmode:
20639 : switch (pattern523 (x3,
20640 : E_V4DFmode))
20641 : {
20642 : case 0:
20643 : if (!
20644 : #line 9553 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20645 : (TARGET_AVX && 1))
20646 : return -1;
20647 : return 4990; /* floatv4siv4df2 */
20648 :
20649 : case 1:
20650 : if (!(
20651 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20652 : (TARGET_AVX512DQ) &&
20653 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20654 : (TARGET_AVX512VL)))
20655 : return -1;
20656 : return 5000; /* floatv4div4df2 */
20657 :
20658 : default:
20659 : return -1;
20660 : }
20661 :
20662 : default:
20663 : return -1;
20664 : }
20665 :
20666 : case VEC_SELECT:
20667 : x5 = XEXP (x4, 1);
20668 : if (GET_CODE (x5) != PARALLEL)
20669 : return -1;
20670 : x6 = XEXP (x4, 0);
20671 : operands[1] = x6;
20672 : switch (XVECLEN (x5, 0))
20673 : {
20674 : case 8:
20675 : if (pattern683 (x5) != 0
20676 : || pattern931 (x3,
20677 : E_V16SImode,
20678 : E_V8SImode,
20679 : E_V8DFmode) != 0
20680 : || !
20681 : #line 9754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20682 : (TARGET_AVX512F))
20683 : return -1;
20684 : return 5040; /* avx512f_cvtdq2pd512_2 */
20685 :
20686 : case 4:
20687 : if (pattern684 (x5,
20688 : 3,
20689 : 2,
20690 : 1) != 0
20691 : || pattern931 (x3,
20692 : E_V8SImode,
20693 : E_V4SImode,
20694 : E_V4DFmode) != 0
20695 : || !
20696 : #line 9767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20697 : (TARGET_AVX))
20698 : return -1;
20699 : return 5041; /* avx_cvtdq2pd256_2 */
20700 :
20701 : case 2:
20702 : x7 = XVECEXP (x5, 0, 0);
20703 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
20704 : return -1;
20705 : x8 = XVECEXP (x5, 0, 1);
20706 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
20707 : || pattern931 (x3,
20708 : E_V4SImode,
20709 : E_V2SImode,
20710 : E_V2DFmode) != 0
20711 : || !
20712 : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20713 : (TARGET_SSE2 && 1))
20714 : return -1;
20715 : return 5042; /* sse2_cvtdq2pd */
20716 :
20717 : default:
20718 : return -1;
20719 : }
20720 :
20721 : default:
20722 : return -1;
20723 : }
20724 : }
20725 :
20726 : int
20727 : recog_341 (rtx x1 ATTRIBUTE_UNUSED,
20728 : rtx_insn *insn ATTRIBUTE_UNUSED,
20729 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20730 : {
20731 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20732 : rtx x2, x3, x4, x5, x6, x7, x8;
20733 : int res ATTRIBUTE_UNUSED;
20734 : x2 = XEXP (x1, 0);
20735 : operands[0] = x2;
20736 : x3 = XEXP (x1, 1);
20737 : x4 = XEXP (x3, 0);
20738 : switch (GET_CODE (x4))
20739 : {
20740 : case REG:
20741 : case SUBREG:
20742 : case MEM:
20743 : operands[1] = x4;
20744 : switch (GET_MODE (operands[0]))
20745 : {
20746 : case E_V8HFmode:
20747 : switch (pattern519 (x3))
20748 : {
20749 : case 0:
20750 : if (!(
20751 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20752 : (TARGET_AVX512FP16) &&
20753 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20754 : (TARGET_AVX512VL)))
20755 : return -1;
20756 : return 4528; /* avx512fp16_vcvtuw2ph_v8hi */
20757 :
20758 : case 1:
20759 : if (!(
20760 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20761 : (TARGET_AVX512FP16) &&
20762 : #line 684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20763 : (TARGET_AVX512VL)))
20764 : return -1;
20765 : return 4552; /* avx512fp16_vcvtudq2ph_v8si */
20766 :
20767 : case 2:
20768 : if (!
20769 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20770 : (TARGET_AVX512FP16))
20771 : return -1;
20772 : return 4568; /* avx512fp16_vcvtuqq2ph_v8di */
20773 :
20774 : default:
20775 : return -1;
20776 : }
20777 :
20778 : case E_V16HFmode:
20779 : switch (pattern520 (x3))
20780 : {
20781 : case 0:
20782 : if (!(
20783 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20784 : (TARGET_AVX512FP16) &&
20785 : #line 683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20786 : (TARGET_AVX512VL)))
20787 : return -1;
20788 : return 4536; /* avx512fp16_vcvtuw2ph_v16hi */
20789 :
20790 : case 1:
20791 : if (!
20792 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20793 : (TARGET_AVX512FP16))
20794 : return -1;
20795 : return 4560; /* avx512fp16_vcvtudq2ph_v16si */
20796 :
20797 : default:
20798 : return -1;
20799 : }
20800 :
20801 : case E_V32HFmode:
20802 : if (!register_operand (operands[0], E_V32HFmode)
20803 : || GET_MODE (x3) != E_V32HFmode
20804 : || !vector_operand (operands[1], E_V32HImode)
20805 : || !
20806 : #line 8050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20807 : (TARGET_AVX512FP16))
20808 : return -1;
20809 : return 4544; /* avx512fp16_vcvtuw2ph_v32hi */
20810 :
20811 : case E_V16SFmode:
20812 : if (!register_operand (operands[0], E_V16SFmode)
20813 : || GET_MODE (x3) != E_V16SFmode
20814 : || !nonimmediate_operand (operands[1], E_V16SImode)
20815 : || !
20816 : #line 9042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20817 : (TARGET_AVX512F))
20818 : return -1;
20819 : return 4868; /* *floatunsv16siv16sf2 */
20820 :
20821 : case E_V8SFmode:
20822 : switch (pattern522 (x3,
20823 : E_V8SFmode))
20824 : {
20825 : case 0:
20826 : if (!(
20827 : #line 9042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20828 : (TARGET_AVX512F) &&
20829 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20830 : (TARGET_AVX512VL)))
20831 : return -1;
20832 : return 4872; /* *floatunsv8siv8sf2 */
20833 :
20834 : case 1:
20835 : if (!
20836 : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20837 : (TARGET_AVX512DQ && 1))
20838 : return -1;
20839 : return 5020; /* floatunsv8div8sf2 */
20840 :
20841 : default:
20842 : return -1;
20843 : }
20844 :
20845 : case E_V4SFmode:
20846 : switch (pattern523 (x3,
20847 : E_V4SFmode))
20848 : {
20849 : case 0:
20850 : if (!(
20851 : #line 9042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20852 : (TARGET_AVX512F) &&
20853 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20854 : (TARGET_AVX512VL)))
20855 : return -1;
20856 : return 4876; /* *floatunsv4siv4sf2 */
20857 :
20858 : case 1:
20859 : if (!(
20860 : #line 9577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20861 : (TARGET_AVX512DQ && 1) &&
20862 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20863 : (TARGET_AVX512VL)))
20864 : return -1;
20865 : return 5026; /* floatunsv4div4sf2 */
20866 :
20867 : default:
20868 : return -1;
20869 : }
20870 :
20871 : case E_V2DFmode:
20872 : switch (pattern521 (x3))
20873 : {
20874 : case 0:
20875 : if (!
20876 : #line 9278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20877 : (TARGET_MMX_WITH_SSE && TARGET_AVX512VL))
20878 : return -1;
20879 : return 4941; /* floatunsv2siv2df2 */
20880 :
20881 : case 1:
20882 : if (!(
20883 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20884 : (TARGET_AVX512DQ) &&
20885 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20886 : (TARGET_AVX512VL)))
20887 : return -1;
20888 : return 5012; /* floatunsv2div2df2 */
20889 :
20890 : default:
20891 : return -1;
20892 : }
20893 :
20894 : case E_V8DFmode:
20895 : if (!register_operand (operands[0], E_V8DFmode)
20896 : || GET_MODE (x3) != E_V8DFmode)
20897 : return -1;
20898 : switch (GET_MODE (operands[1]))
20899 : {
20900 : case E_V8DImode:
20901 : if (!nonimmediate_operand (operands[1], E_V8DImode)
20902 : || !
20903 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20904 : (TARGET_AVX512DQ))
20905 : return -1;
20906 : return 4996; /* floatunsv8div8df2 */
20907 :
20908 : case E_V8SImode:
20909 : if (!nonimmediate_operand (operands[1], E_V8SImode)
20910 : || !
20911 : #line 9727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20912 : (TARGET_AVX512F))
20913 : return -1;
20914 : return 5034; /* floatunsv8siv8df2 */
20915 :
20916 : default:
20917 : return -1;
20918 : }
20919 :
20920 : case E_V4DFmode:
20921 : if (!register_operand (operands[0], E_V4DFmode)
20922 : || GET_MODE (x3) != E_V4DFmode)
20923 : return -1;
20924 : switch (GET_MODE (operands[1]))
20925 : {
20926 : case E_V4DImode:
20927 : if (!nonimmediate_operand (operands[1], E_V4DImode)
20928 : || !(
20929 : #line 9563 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20930 : (TARGET_AVX512DQ) &&
20931 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20932 : (TARGET_AVX512VL)))
20933 : return -1;
20934 : return 5004; /* floatunsv4div4df2 */
20935 :
20936 : case E_V4SImode:
20937 : if (!nonimmediate_operand (operands[1], E_V4SImode)
20938 : || !(
20939 : #line 9727 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20940 : (TARGET_AVX512F) &&
20941 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20942 : (TARGET_AVX512VL)))
20943 : return -1;
20944 : return 5036; /* floatunsv4siv4df2 */
20945 :
20946 : default:
20947 : return -1;
20948 : }
20949 :
20950 : default:
20951 : return -1;
20952 : }
20953 :
20954 : case VEC_SELECT:
20955 : if (GET_MODE (x4) != E_V2SImode)
20956 : return -1;
20957 : x5 = XEXP (x4, 1);
20958 : if (GET_CODE (x5) != PARALLEL
20959 : || XVECLEN (x5, 0) != 2)
20960 : return -1;
20961 : x6 = XVECEXP (x5, 0, 0);
20962 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
20963 : return -1;
20964 : x7 = XVECEXP (x5, 0, 1);
20965 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
20966 : || !register_operand (operands[0], E_V2DFmode)
20967 : || GET_MODE (x3) != E_V2DFmode)
20968 : return -1;
20969 : x8 = XEXP (x4, 0);
20970 : operands[1] = x8;
20971 : if (!nonimmediate_operand (operands[1], E_V4SImode)
20972 : || !
20973 : #line 9739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20974 : (TARGET_AVX512VL))
20975 : return -1;
20976 : return 5038; /* *floatunsv2siv2df2 */
20977 :
20978 : default:
20979 : return -1;
20980 : }
20981 : }
20982 :
20983 : int
20984 : recog_349 (rtx x1 ATTRIBUTE_UNUSED,
20985 : rtx_insn *insn ATTRIBUTE_UNUSED,
20986 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20987 : {
20988 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20989 : rtx x2, x3, x4, x5, x6;
20990 : int res ATTRIBUTE_UNUSED;
20991 : x2 = XEXP (x1, 0);
20992 : operands[0] = x2;
20993 : x3 = XEXP (x1, 1);
20994 : switch (GET_CODE (x3))
20995 : {
20996 : case AND:
20997 : res = recog_308 (x1, insn, pnum_clobbers);
20998 : if (res >= 0)
20999 : return res;
21000 : break;
21001 :
21002 : case IOR:
21003 : res = recog_320 (x1, insn, pnum_clobbers);
21004 : if (res >= 0)
21005 : return res;
21006 : break;
21007 :
21008 : case XOR:
21009 : res = recog_313 (x1, insn, pnum_clobbers);
21010 : if (res >= 0)
21011 : return res;
21012 : break;
21013 :
21014 : case NOT:
21015 : x4 = XEXP (x3, 0);
21016 : if (GET_CODE (x4) == XOR)
21017 : {
21018 : x5 = XEXP (x4, 0);
21019 : operands[1] = x5;
21020 : x6 = XEXP (x4, 1);
21021 : operands[2] = x6;
21022 : switch (GET_MODE (operands[0]))
21023 : {
21024 : case E_V16SImode:
21025 : if (pattern818 (x3,
21026 : E_V16SImode) == 0
21027 : && (
21028 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21029 : ((64 == 64 || TARGET_AVX512VL
21030 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21031 : && (register_operand (operands[1], V16SImode)
21032 : || register_operand (operands[2], V16SImode))) &&
21033 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21034 : (TARGET_AVX512F)))
21035 : return 8148; /* *xnorv16si3 */
21036 : break;
21037 :
21038 : case E_V8DImode:
21039 : if (pattern818 (x3,
21040 : E_V8DImode) == 0
21041 : && (
21042 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21043 : ((64 == 64 || TARGET_AVX512VL
21044 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21045 : && (register_operand (operands[1], V8DImode)
21046 : || register_operand (operands[2], V8DImode))) &&
21047 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21048 : (TARGET_AVX512F)))
21049 : return 8149; /* *xnorv8di3 */
21050 : break;
21051 :
21052 : case E_V64QImode:
21053 : if (pattern818 (x3,
21054 : E_V64QImode) == 0
21055 : && (
21056 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21057 : ((64 == 64 || TARGET_AVX512VL
21058 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21059 : && (register_operand (operands[1], V64QImode)
21060 : || register_operand (operands[2], V64QImode))) &&
21061 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21062 : (TARGET_AVX512BW)))
21063 : return 8150; /* *xnorv64qi3 */
21064 : break;
21065 :
21066 : case E_V32QImode:
21067 : if (pattern818 (x3,
21068 : E_V32QImode) == 0
21069 : && (
21070 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21071 : ((32 == 64 || TARGET_AVX512VL
21072 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21073 : && (register_operand (operands[1], V32QImode)
21074 : || register_operand (operands[2], V32QImode))) &&
21075 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21076 : (TARGET_AVX)))
21077 : return 8151; /* *xnorv32qi3 */
21078 : break;
21079 :
21080 : case E_V16QImode:
21081 : if (pattern818 (x3,
21082 : E_V16QImode) == 0
21083 : &&
21084 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21085 : ((16 == 64 || TARGET_AVX512VL
21086 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21087 : && (register_operand (operands[1], V16QImode)
21088 : || register_operand (operands[2], V16QImode))))
21089 : return 8152; /* *xnorv16qi3 */
21090 : break;
21091 :
21092 : case E_V32HImode:
21093 : if (pattern818 (x3,
21094 : E_V32HImode) == 0
21095 : && (
21096 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21097 : ((64 == 64 || TARGET_AVX512VL
21098 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21099 : && (register_operand (operands[1], V32HImode)
21100 : || register_operand (operands[2], V32HImode))) &&
21101 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21102 : (TARGET_AVX512BW)))
21103 : return 8153; /* *xnorv32hi3 */
21104 : break;
21105 :
21106 : case E_V16HImode:
21107 : if (pattern818 (x3,
21108 : E_V16HImode) == 0
21109 : && (
21110 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21111 : ((32 == 64 || TARGET_AVX512VL
21112 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21113 : && (register_operand (operands[1], V16HImode)
21114 : || register_operand (operands[2], V16HImode))) &&
21115 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21116 : (TARGET_AVX)))
21117 : return 8154; /* *xnorv16hi3 */
21118 : break;
21119 :
21120 : case E_V8HImode:
21121 : if (pattern818 (x3,
21122 : E_V8HImode) == 0
21123 : &&
21124 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21125 : ((16 == 64 || TARGET_AVX512VL
21126 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21127 : && (register_operand (operands[1], V8HImode)
21128 : || register_operand (operands[2], V8HImode))))
21129 : return 8155; /* *xnorv8hi3 */
21130 : break;
21131 :
21132 : case E_V8SImode:
21133 : if (pattern818 (x3,
21134 : E_V8SImode) == 0
21135 : && (
21136 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21137 : ((32 == 64 || TARGET_AVX512VL
21138 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21139 : && (register_operand (operands[1], V8SImode)
21140 : || register_operand (operands[2], V8SImode))) &&
21141 : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21142 : (TARGET_AVX)))
21143 : return 8156; /* *xnorv8si3 */
21144 : break;
21145 :
21146 : case E_V4SImode:
21147 : if (pattern818 (x3,
21148 : E_V4SImode) == 0
21149 : &&
21150 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21151 : ((16 == 64 || TARGET_AVX512VL
21152 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21153 : && (register_operand (operands[1], V4SImode)
21154 : || register_operand (operands[2], V4SImode))))
21155 : return 8157; /* *xnorv4si3 */
21156 : break;
21157 :
21158 : case E_V4DImode:
21159 : if (pattern818 (x3,
21160 : E_V4DImode) == 0
21161 : && (
21162 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21163 : ((32 == 64 || TARGET_AVX512VL
21164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21165 : && (register_operand (operands[1], V4DImode)
21166 : || register_operand (operands[2], V4DImode))) &&
21167 : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21168 : (TARGET_AVX)))
21169 : return 8158; /* *xnorv4di3 */
21170 : break;
21171 :
21172 : case E_V2DImode:
21173 : if (pattern818 (x3,
21174 : E_V2DImode) == 0
21175 : &&
21176 : #line 19457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21177 : ((16 == 64 || TARGET_AVX512VL
21178 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21179 : && (register_operand (operands[1], V2DImode)
21180 : || register_operand (operands[2], V2DImode))))
21181 : return 8159; /* *xnorv2di3 */
21182 : break;
21183 :
21184 : default:
21185 : break;
21186 : }
21187 : }
21188 : break;
21189 :
21190 : default:
21191 : break;
21192 : }
21193 : operands[1] = x3;
21194 : switch (pattern205 ())
21195 : {
21196 : case 0:
21197 : if ((
21198 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21199 : ((64 == 64 || TARGET_AVX512VL
21200 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21201 : && ix86_pre_reload_split ()) &&
21202 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21203 : (TARGET_AVX512F)))
21204 : return 5532; /* *avx512bw_vpternlogv32hf_0 */
21205 : break;
21206 :
21207 : case 1:
21208 : if ((
21209 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21210 : ((32 == 64 || TARGET_AVX512VL
21211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21212 : && ix86_pre_reload_split ()) &&
21213 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21214 : (TARGET_AVX)))
21215 : return 5533; /* *avx512vl_vpternlogv16hf_0 */
21216 : break;
21217 :
21218 : case 2:
21219 : if (
21220 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21221 : ((16 == 64 || TARGET_AVX512VL
21222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21223 : && ix86_pre_reload_split ()))
21224 : return 5534; /* *avx512fp16_vpternlogv8hf_0 */
21225 : break;
21226 :
21227 : case 3:
21228 : if ((
21229 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21230 : ((64 == 64 || TARGET_AVX512VL
21231 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21232 : && ix86_pre_reload_split ()) &&
21233 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21234 : (TARGET_AVX512F)))
21235 : return 5535; /* *avx512bw_vpternlogv32bf_0 */
21236 : break;
21237 :
21238 : case 4:
21239 : if ((
21240 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21241 : ((32 == 64 || TARGET_AVX512VL
21242 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21243 : && ix86_pre_reload_split ()) &&
21244 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21245 : (TARGET_AVX)))
21246 : return 5536; /* *avx512vl_vpternlogv16bf_0 */
21247 : break;
21248 :
21249 : case 5:
21250 : if (
21251 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21252 : ((16 == 64 || TARGET_AVX512VL
21253 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21254 : && ix86_pre_reload_split ()))
21255 : return 5537; /* *avx512vl_vpternlogv8bf_0 */
21256 : break;
21257 :
21258 : case 6:
21259 : if ((
21260 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21261 : ((64 == 64 || TARGET_AVX512VL
21262 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21263 : && ix86_pre_reload_split ()) &&
21264 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21265 : (TARGET_AVX512F)))
21266 : return 5538; /* *avx512f_vpternlogv16sf_0 */
21267 : break;
21268 :
21269 : case 7:
21270 : if ((
21271 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21272 : ((32 == 64 || TARGET_AVX512VL
21273 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21274 : && ix86_pre_reload_split ()) &&
21275 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21276 : (TARGET_AVX)))
21277 : return 5539; /* *avx512vl_vpternlogv8sf_0 */
21278 : break;
21279 :
21280 : case 8:
21281 : if (
21282 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21283 : ((16 == 64 || TARGET_AVX512VL
21284 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21285 : && ix86_pre_reload_split ()))
21286 : return 5540; /* *avx512vl_vpternlogv4sf_0 */
21287 : break;
21288 :
21289 : case 9:
21290 : if ((
21291 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21292 : ((64 == 64 || TARGET_AVX512VL
21293 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21294 : && ix86_pre_reload_split ()) &&
21295 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21296 : (TARGET_AVX512F)))
21297 : return 5541; /* *avx512f_vpternlogv8df_0 */
21298 : break;
21299 :
21300 : case 10:
21301 : if ((
21302 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21303 : ((32 == 64 || TARGET_AVX512VL
21304 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21305 : && ix86_pre_reload_split ()) &&
21306 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21307 : (TARGET_AVX)))
21308 : return 5542; /* *avx512vl_vpternlogv4df_0 */
21309 : break;
21310 :
21311 : case 11:
21312 : if ((
21313 : #line 14148 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21314 : ((16 == 64 || TARGET_AVX512VL
21315 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21316 : && ix86_pre_reload_split ()) &&
21317 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21318 : (TARGET_SSE2)))
21319 : return 5543; /* *avx512vl_vpternlogv2df_0 */
21320 : break;
21321 :
21322 : default:
21323 : break;
21324 : }
21325 : switch (GET_CODE (x3))
21326 : {
21327 : case AND:
21328 : return recog_319 (x1, insn, pnum_clobbers);
21329 :
21330 : case IOR:
21331 : return recog_318 (x1, insn, pnum_clobbers);
21332 :
21333 : case XOR:
21334 : return recog_317 (x1, insn, pnum_clobbers);
21335 :
21336 : default:
21337 : return -1;
21338 : }
21339 : }
21340 :
21341 : int
21342 : recog_359 (rtx x1 ATTRIBUTE_UNUSED,
21343 : rtx_insn *insn ATTRIBUTE_UNUSED,
21344 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21345 : {
21346 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21347 : rtx x2, x3, x4;
21348 : int res ATTRIBUTE_UNUSED;
21349 : x2 = XEXP (x1, 0);
21350 : operands[0] = x2;
21351 : x3 = XEXP (x1, 1);
21352 : x4 = XEXP (x3, 0);
21353 : operands[1] = x4;
21354 : switch (GET_MODE (operands[0]))
21355 : {
21356 : case E_XFmode:
21357 : if (!register_operand (operands[0], E_XFmode)
21358 : || GET_MODE (x3) != E_XFmode
21359 : || !register_operand (operands[1], E_XFmode)
21360 : || !
21361 : #line 24758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21362 : (TARGET_USE_FANCY_MATH_387))
21363 : return -1;
21364 : return 1740; /* sqrtxf2 */
21365 :
21366 : case E_HFmode:
21367 : if (!register_operand (operands[0], E_HFmode)
21368 : || GET_MODE (x3) != E_HFmode
21369 : || !nonimmediate_operand (operands[1], E_HFmode)
21370 : || !
21371 : #line 24820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21372 : (TARGET_AVX512FP16))
21373 : return -1;
21374 : return 1743; /* sqrthf2 */
21375 :
21376 : case E_SFmode:
21377 : if (!register_operand (operands[0], E_SFmode)
21378 : || GET_MODE (x3) != E_SFmode
21379 : || !nonimmediate_operand (operands[1], E_SFmode)
21380 : || !
21381 : #line 24833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21382 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
21383 : return -1;
21384 : return 1744; /* *sqrtsf2_sse */
21385 :
21386 : case E_DFmode:
21387 : if (!register_operand (operands[0], E_DFmode)
21388 : || GET_MODE (x3) != E_DFmode
21389 : || !nonimmediate_operand (operands[1], E_DFmode)
21390 : || !
21391 : #line 24833 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21392 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
21393 : return -1;
21394 : return 1745; /* *sqrtdf2_sse */
21395 :
21396 : default:
21397 : return -1;
21398 : }
21399 : }
21400 :
21401 : int
21402 : recog_364 (rtx x1 ATTRIBUTE_UNUSED,
21403 : rtx_insn *insn ATTRIBUTE_UNUSED,
21404 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21405 : {
21406 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21407 : rtx x2, x3, x4, x5, x6;
21408 : int res ATTRIBUTE_UNUSED;
21409 : x2 = XVECEXP (x1, 0, 1);
21410 : if (GET_CODE (x2) != USE)
21411 : return -1;
21412 : x3 = XEXP (x2, 0);
21413 : if (GET_CODE (x3) != LABEL_REF)
21414 : return -1;
21415 : x4 = XVECEXP (x1, 0, 0);
21416 : x5 = XEXP (x4, 1);
21417 : operands[0] = x5;
21418 : x6 = XEXP (x3, 0);
21419 : operands[1] = x6;
21420 : switch (GET_MODE (operands[0]))
21421 : {
21422 : case E_SImode:
21423 : if (!indirect_branch_operand (operands[0], E_SImode)
21424 : || !
21425 : #line 1434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21426 : (word_mode == SImode))
21427 : return -1;
21428 : return 1492; /* *tablejump_1 */
21429 :
21430 : case E_DImode:
21431 : if (!indirect_branch_operand (operands[0], E_DImode)
21432 : || !
21433 : #line 1434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21434 : (word_mode == DImode))
21435 : return -1;
21436 : return 1493; /* *tablejump_1 */
21437 :
21438 : default:
21439 : return -1;
21440 : }
21441 : }
21442 :
21443 : int
21444 : recog_366 (rtx x1 ATTRIBUTE_UNUSED,
21445 : rtx_insn *insn ATTRIBUTE_UNUSED,
21446 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21447 : {
21448 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21449 : rtx x2, x3, x4, x5;
21450 : int res ATTRIBUTE_UNUSED;
21451 : x2 = XVECEXP (x1, 0, 0);
21452 : x3 = XEXP (x2, 1);
21453 : x4 = XEXP (x3, 1);
21454 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
21455 : return -1;
21456 : x5 = XEXP (x3, 2);
21457 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
21458 : || pattern250 (x1) != 0)
21459 : return -1;
21460 : switch (GET_CODE (operands[1]))
21461 : {
21462 : case REG:
21463 : case SUBREG:
21464 : switch (pattern1427 (x3))
21465 : {
21466 : case 0:
21467 : return 124; /* *extvsi_1_0 */
21468 :
21469 : case 1:
21470 : if (!
21471 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21472 : (TARGET_64BIT))
21473 : return -1;
21474 : return 125; /* *extvdi_1_0 */
21475 :
21476 : default:
21477 : return -1;
21478 : }
21479 :
21480 : case LTU:
21481 : case UNLT:
21482 : if (pattern577 (operands[1]) != 0)
21483 : return -1;
21484 : switch (pattern1581 (x3))
21485 : {
21486 : case 0:
21487 : return 1829; /* *x86_movsicc_0_m1_se */
21488 :
21489 : case 1:
21490 : if (!
21491 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21492 : (TARGET_64BIT))
21493 : return -1;
21494 : return 1830; /* *x86_movdicc_0_m1_se */
21495 :
21496 : default:
21497 : return -1;
21498 : }
21499 :
21500 : default:
21501 : return -1;
21502 : }
21503 : }
21504 :
21505 : int
21506 : recog_371 (rtx x1 ATTRIBUTE_UNUSED,
21507 : rtx_insn *insn ATTRIBUTE_UNUSED,
21508 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21509 : {
21510 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21511 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21512 : int res ATTRIBUTE_UNUSED;
21513 : x2 = XVECEXP (x1, 0, 0);
21514 : x3 = XEXP (x2, 1);
21515 : switch (GET_CODE (x3))
21516 : {
21517 : case SIGN_EXTRACT:
21518 : res = recog_366 (x1, insn, pnum_clobbers);
21519 : if (res >= 0)
21520 : return res;
21521 : break;
21522 :
21523 : case LSHIFTRT:
21524 : res = recog_367 (x1, insn, pnum_clobbers);
21525 : if (res >= 0)
21526 : return res;
21527 : break;
21528 :
21529 : case ASHIFTRT:
21530 : res = recog_369 (x1, insn, pnum_clobbers);
21531 : if (res >= 0)
21532 : return res;
21533 : break;
21534 :
21535 : case ZERO_EXTRACT:
21536 : res = recog_370 (x1, insn, pnum_clobbers);
21537 : if (res >= 0)
21538 : return res;
21539 : break;
21540 :
21541 : default:
21542 : break;
21543 : }
21544 : operands[3] = x3;
21545 : x4 = XEXP (x2, 0);
21546 : if (GET_CODE (x4) != ZERO_EXTRACT)
21547 : return -1;
21548 : x5 = XEXP (x4, 1);
21549 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
21550 : return -1;
21551 : x6 = XEXP (x4, 2);
21552 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
21553 : return -1;
21554 : x7 = XVECEXP (x1, 0, 1);
21555 : if (pattern237 (x7,
21556 : E_CCmode,
21557 : 17) != 0)
21558 : return -1;
21559 : x8 = XEXP (x4, 0);
21560 : operands[0] = x8;
21561 : if (!int248_register_operand (operands[0], E_VOIDmode))
21562 : return -1;
21563 : x9 = XEXP (x3, 0);
21564 : switch (GET_CODE (x9))
21565 : {
21566 : case AND:
21567 : switch (pattern1496 (x2))
21568 : {
21569 : case 0:
21570 : if (!
21571 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21572 : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
21573 : return -1;
21574 : return 828; /* *andqi_exthi_3 */
21575 :
21576 : case 1:
21577 : if (!
21578 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21579 : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
21580 : return -1;
21581 : return 831; /* *andqi_extsi_3 */
21582 :
21583 : case 2:
21584 : if (!(
21585 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21586 : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
21587 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21588 : (TARGET_64BIT)))
21589 : return -1;
21590 : return 834; /* *andqi_extdi_3 */
21591 :
21592 : default:
21593 : return -1;
21594 : }
21595 :
21596 : case IOR:
21597 : switch (pattern1496 (x2))
21598 : {
21599 : case 0:
21600 : if (!
21601 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21602 : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
21603 : return -1;
21604 : return 829; /* *iorqi_exthi_3 */
21605 :
21606 : case 1:
21607 : if (!
21608 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21609 : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
21610 : return -1;
21611 : return 832; /* *iorqi_extsi_3 */
21612 :
21613 : case 2:
21614 : if (!(
21615 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21616 : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
21617 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21618 : (TARGET_64BIT)))
21619 : return -1;
21620 : return 835; /* *iorqi_extdi_3 */
21621 :
21622 : default:
21623 : return -1;
21624 : }
21625 :
21626 : case XOR:
21627 : switch (pattern1496 (x2))
21628 : {
21629 : case 0:
21630 : if (!
21631 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21632 : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
21633 : return -1;
21634 : return 830; /* *xorqi_exthi_3 */
21635 :
21636 : case 1:
21637 : if (!
21638 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21639 : (GET_MODE (operands[1]) == GET_MODE (operands[2])))
21640 : return -1;
21641 : return 833; /* *xorqi_extsi_3 */
21642 :
21643 : case 2:
21644 : if (!(
21645 : #line 14037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21646 : (GET_MODE (operands[1]) == GET_MODE (operands[2])) &&
21647 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21648 : (TARGET_64BIT)))
21649 : return -1;
21650 : return 836; /* *xorqi_extdi_3 */
21651 :
21652 : default:
21653 : return -1;
21654 : }
21655 :
21656 : default:
21657 : return -1;
21658 : }
21659 : }
21660 :
21661 : int
21662 : recog_374 (rtx x1 ATTRIBUTE_UNUSED,
21663 : rtx_insn *insn ATTRIBUTE_UNUSED,
21664 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21665 : {
21666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21667 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21668 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21669 : rtx x18;
21670 : int res ATTRIBUTE_UNUSED;
21671 : x2 = XVECEXP (x1, 0, 0);
21672 : x3 = XEXP (x2, 1);
21673 : switch (XINT (x3, 1))
21674 : {
21675 : case 40:
21676 : if (GET_MODE (x3) != E_CCGZmode)
21677 : return -1;
21678 : x4 = XVECEXP (x3, 0, 2);
21679 : if (GET_CODE (x4) != LTU)
21680 : return -1;
21681 : x5 = XEXP (x4, 0);
21682 : if (GET_CODE (x5) != REG
21683 : || REGNO (x5) != 17
21684 : || GET_MODE (x5) != E_CCmode)
21685 : return -1;
21686 : x6 = XEXP (x4, 1);
21687 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21688 : return -1;
21689 : x7 = XEXP (x2, 0);
21690 : if (GET_CODE (x7) != REG
21691 : || REGNO (x7) != 17
21692 : || GET_MODE (x7) != E_CCGZmode)
21693 : return -1;
21694 : x8 = XVECEXP (x1, 0, 1);
21695 : if (GET_CODE (x8) != CLOBBER)
21696 : return -1;
21697 : x9 = XVECEXP (x3, 0, 0);
21698 : operands[1] = x9;
21699 : x10 = XVECEXP (x3, 0, 1);
21700 : operands[2] = x10;
21701 : x11 = XEXP (x8, 0);
21702 : operands[0] = x11;
21703 : switch (GET_MODE (operands[1]))
21704 : {
21705 : case E_SImode:
21706 : if (pattern1702 (x4,
21707 : E_SImode) != 0
21708 : || !
21709 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21710 : (!TARGET_64BIT))
21711 : return -1;
21712 : return 549; /* subsi3_carry_ccgz */
21713 :
21714 : case E_DImode:
21715 : if (pattern1702 (x4,
21716 : E_DImode) != 0
21717 : || !
21718 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21719 : (TARGET_64BIT))
21720 : return -1;
21721 : return 550; /* subdi3_carry_ccgz */
21722 :
21723 : default:
21724 : return -1;
21725 : }
21726 :
21727 : case 23:
21728 : x4 = XVECEXP (x3, 0, 2);
21729 : if (GET_CODE (x4) != REG
21730 : || REGNO (x4) != 7
21731 : || pattern350 (x1) != 0)
21732 : return -1;
21733 : x9 = XVECEXP (x3, 0, 0);
21734 : operands[1] = x9;
21735 : if (!tls_symbolic_operand (operands[1], E_VOIDmode))
21736 : return -1;
21737 : x10 = XVECEXP (x3, 0, 1);
21738 : operands[2] = x10;
21739 : switch (GET_MODE (operands[0]))
21740 : {
21741 : case E_SImode:
21742 : if (pattern1572 (x3,
21743 : E_SImode) != 0
21744 : || !(
21745 : #line 24398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21746 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
21747 : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21748 : (ptr_mode == SImode)))
21749 : return -1;
21750 : return 1701; /* *tls_dynamic_gnu2_call_64_si */
21751 :
21752 : case E_DImode:
21753 : if (pattern1572 (x3,
21754 : E_DImode) != 0
21755 : || !(
21756 : #line 24398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21757 : (TARGET_64BIT && TARGET_GNU2_TLS) &&
21758 : #line 1439 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21759 : (ptr_mode == DImode)))
21760 : return -1;
21761 : return 1702; /* *tls_dynamic_gnu2_call_64_di */
21762 :
21763 : default:
21764 : return -1;
21765 : }
21766 :
21767 : case 53:
21768 : if (GET_MODE (x3) != E_V8QImode)
21769 : return -1;
21770 : x8 = XVECEXP (x1, 0, 1);
21771 : if (GET_CODE (x8) != CLOBBER)
21772 : return -1;
21773 : x7 = XEXP (x2, 0);
21774 : operands[0] = x7;
21775 : if (pattern941 (x1) != 0
21776 : || !
21777 : #line 23683 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21778 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
21779 : return -1;
21780 : return 8705; /* *ssse3_pshufbv8qi3 */
21781 :
21782 : case 133:
21783 : if (pattern558 (x1,
21784 : 133,
21785 : 3) != 0)
21786 : return -1;
21787 : x9 = XVECEXP (x3, 0, 0);
21788 : operands[1] = x9;
21789 : if (!register_operand (operands[1], E_V16QImode))
21790 : return -1;
21791 : x10 = XVECEXP (x3, 0, 1);
21792 : operands[2] = x10;
21793 : if (!nonimmediate_operand (operands[2], E_V16QImode))
21794 : return -1;
21795 : x4 = XVECEXP (x3, 0, 2);
21796 : operands[3] = x4;
21797 : if (!const_0_to_255_operand (operands[3], E_SImode))
21798 : return -1;
21799 : x8 = XVECEXP (x1, 0, 1);
21800 : x12 = XEXP (x8, 1);
21801 : x13 = XVECEXP (x12, 0, 0);
21802 : if (!rtx_equal_p (x13, operands[1]))
21803 : return -1;
21804 : x14 = XVECEXP (x12, 0, 1);
21805 : if (!rtx_equal_p (x14, operands[2]))
21806 : return -1;
21807 : x15 = XVECEXP (x12, 0, 2);
21808 : if (!rtx_equal_p (x15, operands[3]))
21809 : return -1;
21810 : switch (pattern1797 (x3))
21811 : {
21812 : case 0:
21813 : if (!
21814 : #line 26871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21815 : (TARGET_SSE4_2))
21816 : return -1;
21817 : return 9067; /* sse4_2_pcmpistri */
21818 :
21819 : case 1:
21820 : if (!
21821 : #line 26896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21822 : (TARGET_SSE4_2))
21823 : return -1;
21824 : return 9068; /* sse4_2_pcmpistrm */
21825 :
21826 : default:
21827 : return -1;
21828 : }
21829 :
21830 : case 154:
21831 : x4 = XVECEXP (x3, 0, 2);
21832 : if (GET_CODE (x4) != MEM)
21833 : return -1;
21834 : x5 = XEXP (x4, 0);
21835 : if (GET_CODE (x5) != UNSPEC
21836 : || XVECLEN (x5, 0) != 3
21837 : || XINT (x5, 1) != 155)
21838 : return -1;
21839 : x8 = XVECEXP (x1, 0, 1);
21840 : if (GET_CODE (x8) != CLOBBER)
21841 : return -1;
21842 : x7 = XEXP (x2, 0);
21843 : operands[0] = x7;
21844 : x16 = XVECEXP (x5, 0, 2);
21845 : if (!const1248_operand (x16, E_SImode))
21846 : return -1;
21847 : x9 = XVECEXP (x3, 0, 0);
21848 : switch (GET_CODE (x9))
21849 : {
21850 : case REG:
21851 : case SUBREG:
21852 : operands[1] = x9;
21853 : x10 = XVECEXP (x3, 0, 1);
21854 : operands[7] = x10;
21855 : operands[6] = x4;
21856 : x17 = XVECEXP (x5, 0, 0);
21857 : operands[4] = x17;
21858 : x18 = XVECEXP (x5, 0, 1);
21859 : operands[3] = x18;
21860 : operands[5] = x16;
21861 : x11 = XEXP (x8, 0);
21862 : operands[2] = x11;
21863 : switch (GET_MODE (operands[0]))
21864 : {
21865 : case E_V16SImode:
21866 : if (!register_operand (operands[0], E_V16SImode)
21867 : || GET_MODE (x3) != E_V16SImode
21868 : || !vsib_mem_operator (operands[6], E_SImode))
21869 : return -1;
21870 : switch (GET_MODE (operands[1]))
21871 : {
21872 : case E_V16SImode:
21873 : if (!register_operand (operands[1], E_V16SImode))
21874 : return -1;
21875 : switch (pattern1854 (x5,
21876 : E_HImode,
21877 : E_V16SImode))
21878 : {
21879 : case 0:
21880 : if (!(
21881 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21882 : (TARGET_AVX512F) &&
21883 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21884 : (Pmode == SImode)))
21885 : return -1;
21886 : return 9846; /* *avx512f_gathersiv16si */
21887 :
21888 : case 1:
21889 : if (!(
21890 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21891 : (TARGET_AVX512F) &&
21892 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21893 : (Pmode == DImode)))
21894 : return -1;
21895 : return 9858; /* *avx512f_gathersiv16si */
21896 :
21897 : default:
21898 : return -1;
21899 : }
21900 :
21901 : case E_V8SImode:
21902 : if (!register_operand (operands[1], E_V8SImode))
21903 : return -1;
21904 : switch (pattern1854 (x5,
21905 : E_QImode,
21906 : E_V8DImode))
21907 : {
21908 : case 0:
21909 : if (!(
21910 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21911 : (TARGET_AVX512F) &&
21912 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21913 : (Pmode == SImode)))
21914 : return -1;
21915 : return 9894; /* *avx512f_gatherdiv16si */
21916 :
21917 : case 1:
21918 : if (!(
21919 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21920 : (TARGET_AVX512F) &&
21921 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21922 : (Pmode == DImode)))
21923 : return -1;
21924 : return 9906; /* *avx512f_gatherdiv16si */
21925 :
21926 : default:
21927 : return -1;
21928 : }
21929 :
21930 : default:
21931 : return -1;
21932 : }
21933 :
21934 : case E_V16SFmode:
21935 : if (!register_operand (operands[0], E_V16SFmode)
21936 : || GET_MODE (x3) != E_V16SFmode
21937 : || !vsib_mem_operator (operands[6], E_SFmode))
21938 : return -1;
21939 : switch (GET_MODE (operands[1]))
21940 : {
21941 : case E_V16SFmode:
21942 : if (!register_operand (operands[1], E_V16SFmode))
21943 : return -1;
21944 : switch (pattern1854 (x5,
21945 : E_HImode,
21946 : E_V16SImode))
21947 : {
21948 : case 0:
21949 : if (!(
21950 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21951 : (TARGET_AVX512F) &&
21952 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21953 : (Pmode == SImode)))
21954 : return -1;
21955 : return 9847; /* *avx512f_gathersiv16sf */
21956 :
21957 : case 1:
21958 : if (!(
21959 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21960 : (TARGET_AVX512F) &&
21961 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21962 : (Pmode == DImode)))
21963 : return -1;
21964 : return 9859; /* *avx512f_gathersiv16sf */
21965 :
21966 : default:
21967 : return -1;
21968 : }
21969 :
21970 : case E_V8SFmode:
21971 : if (!register_operand (operands[1], E_V8SFmode))
21972 : return -1;
21973 : switch (pattern1854 (x5,
21974 : E_QImode,
21975 : E_V8DImode))
21976 : {
21977 : case 0:
21978 : if (!(
21979 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21980 : (TARGET_AVX512F) &&
21981 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21982 : (Pmode == SImode)))
21983 : return -1;
21984 : return 9895; /* *avx512f_gatherdiv16sf */
21985 :
21986 : case 1:
21987 : if (!(
21988 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21989 : (TARGET_AVX512F) &&
21990 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21991 : (Pmode == DImode)))
21992 : return -1;
21993 : return 9907; /* *avx512f_gatherdiv16sf */
21994 :
21995 : default:
21996 : return -1;
21997 : }
21998 :
21999 : default:
22000 : return -1;
22001 : }
22002 :
22003 : case E_V8DImode:
22004 : switch (pattern1768 (x3,
22005 : E_DImode,
22006 : E_V8DImode))
22007 : {
22008 : case 0:
22009 : if (!(
22010 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22011 : (TARGET_AVX512F) &&
22012 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22013 : (Pmode == SImode)))
22014 : return -1;
22015 : return 9848; /* *avx512f_gathersiv8di */
22016 :
22017 : case 1:
22018 : if (!(
22019 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22020 : (TARGET_AVX512F) &&
22021 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22022 : (Pmode == SImode)))
22023 : return -1;
22024 : return 9896; /* *avx512f_gatherdiv8di */
22025 :
22026 : case 2:
22027 : if (!(
22028 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22029 : (TARGET_AVX512F) &&
22030 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22031 : (Pmode == DImode)))
22032 : return -1;
22033 : return 9860; /* *avx512f_gathersiv8di */
22034 :
22035 : case 3:
22036 : if (!(
22037 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22038 : (TARGET_AVX512F) &&
22039 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22040 : (Pmode == DImode)))
22041 : return -1;
22042 : return 9908; /* *avx512f_gatherdiv8di */
22043 :
22044 : default:
22045 : return -1;
22046 : }
22047 :
22048 : case E_V8DFmode:
22049 : switch (pattern1768 (x3,
22050 : E_DFmode,
22051 : E_V8DFmode))
22052 : {
22053 : case 0:
22054 : if (!(
22055 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22056 : (TARGET_AVX512F) &&
22057 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22058 : (Pmode == SImode)))
22059 : return -1;
22060 : return 9849; /* *avx512f_gathersiv8df */
22061 :
22062 : case 1:
22063 : if (!(
22064 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22065 : (TARGET_AVX512F) &&
22066 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22067 : (Pmode == SImode)))
22068 : return -1;
22069 : return 9897; /* *avx512f_gatherdiv8df */
22070 :
22071 : case 2:
22072 : if (!(
22073 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22074 : (TARGET_AVX512F) &&
22075 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22076 : (Pmode == DImode)))
22077 : return -1;
22078 : return 9861; /* *avx512f_gathersiv8df */
22079 :
22080 : case 3:
22081 : if (!(
22082 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22083 : (TARGET_AVX512F) &&
22084 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22085 : (Pmode == DImode)))
22086 : return -1;
22087 : return 9909; /* *avx512f_gatherdiv8df */
22088 :
22089 : default:
22090 : return -1;
22091 : }
22092 :
22093 : case E_V8SImode:
22094 : if (pattern1769 (x3,
22095 : E_SImode,
22096 : E_V8SImode) != 0)
22097 : return -1;
22098 : switch (GET_MODE (operands[1]))
22099 : {
22100 : case E_V8SImode:
22101 : if (!register_operand (operands[1], E_V8SImode))
22102 : return -1;
22103 : switch (pattern1864 (x5,
22104 : E_V8SImode))
22105 : {
22106 : case 0:
22107 : if (!(
22108 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22109 : (TARGET_AVX512F) && ((
22110 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22111 : (TARGET_AVX512VL) &&
22112 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22113 : (Pmode == SImode)) &&
22114 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22115 : (Pmode == SImode))))
22116 : return -1;
22117 : return 9850; /* *avx512f_gathersiv8si */
22118 :
22119 : case 1:
22120 : if (!(
22121 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22122 : (TARGET_AVX512F) && ((
22123 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22124 : (TARGET_AVX512VL) &&
22125 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22126 : (Pmode == DImode)) &&
22127 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22128 : (Pmode == DImode))))
22129 : return -1;
22130 : return 9862; /* *avx512f_gathersiv8si */
22131 :
22132 : default:
22133 : return -1;
22134 : }
22135 :
22136 : case E_V4SImode:
22137 : if (!register_operand (operands[1], E_V4SImode))
22138 : return -1;
22139 : switch (pattern1864 (x5,
22140 : E_V4DImode))
22141 : {
22142 : case 0:
22143 : if (!(
22144 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22145 : (TARGET_AVX512F) && ((
22146 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22147 : (TARGET_AVX512VL) &&
22148 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22149 : (Pmode == SImode)) &&
22150 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22151 : (Pmode == SImode))))
22152 : return -1;
22153 : return 9898; /* *avx512f_gatherdiv8si */
22154 :
22155 : case 1:
22156 : if (!(
22157 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22158 : (TARGET_AVX512F) && ((
22159 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22160 : (TARGET_AVX512VL) &&
22161 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22162 : (Pmode == DImode)) &&
22163 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22164 : (Pmode == DImode))))
22165 : return -1;
22166 : return 9910; /* *avx512f_gatherdiv8si */
22167 :
22168 : default:
22169 : return -1;
22170 : }
22171 :
22172 : default:
22173 : return -1;
22174 : }
22175 :
22176 : case E_V8SFmode:
22177 : if (pattern1769 (x3,
22178 : E_SFmode,
22179 : E_V8SFmode) != 0)
22180 : return -1;
22181 : switch (GET_MODE (operands[1]))
22182 : {
22183 : case E_V8SFmode:
22184 : if (!register_operand (operands[1], E_V8SFmode))
22185 : return -1;
22186 : switch (pattern1864 (x5,
22187 : E_V8SImode))
22188 : {
22189 : case 0:
22190 : if (!(
22191 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22192 : (TARGET_AVX512F) && ((
22193 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22194 : (TARGET_AVX512VL) &&
22195 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22196 : (Pmode == SImode)) &&
22197 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22198 : (Pmode == SImode))))
22199 : return -1;
22200 : return 9851; /* *avx512f_gathersiv8sf */
22201 :
22202 : case 1:
22203 : if (!(
22204 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22205 : (TARGET_AVX512F) && ((
22206 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22207 : (TARGET_AVX512VL) &&
22208 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22209 : (Pmode == DImode)) &&
22210 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22211 : (Pmode == DImode))))
22212 : return -1;
22213 : return 9863; /* *avx512f_gathersiv8sf */
22214 :
22215 : default:
22216 : return -1;
22217 : }
22218 :
22219 : case E_V4SFmode:
22220 : if (!register_operand (operands[1], E_V4SFmode))
22221 : return -1;
22222 : switch (pattern1864 (x5,
22223 : E_V4DImode))
22224 : {
22225 : case 0:
22226 : if (!(
22227 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22228 : (TARGET_AVX512F) && ((
22229 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22230 : (TARGET_AVX512VL) &&
22231 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22232 : (Pmode == SImode)) &&
22233 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22234 : (Pmode == SImode))))
22235 : return -1;
22236 : return 9899; /* *avx512f_gatherdiv8sf */
22237 :
22238 : case 1:
22239 : if (!(
22240 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22241 : (TARGET_AVX512F) && ((
22242 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22243 : (TARGET_AVX512VL) &&
22244 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22245 : (Pmode == DImode)) &&
22246 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22247 : (Pmode == DImode))))
22248 : return -1;
22249 : return 9911; /* *avx512f_gatherdiv8sf */
22250 :
22251 : default:
22252 : return -1;
22253 : }
22254 :
22255 : default:
22256 : return -1;
22257 : }
22258 :
22259 : case E_V4DImode:
22260 : switch (pattern1771 (x3,
22261 : E_DImode,
22262 : E_V4DImode))
22263 : {
22264 : case 0:
22265 : if (!(
22266 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22267 : (TARGET_AVX512F) && ((
22268 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22269 : (TARGET_AVX512VL) &&
22270 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22271 : (Pmode == SImode)) &&
22272 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22273 : (Pmode == SImode))))
22274 : return -1;
22275 : return 9852; /* *avx512f_gathersiv4di */
22276 :
22277 : case 1:
22278 : if (!(
22279 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22280 : (TARGET_AVX512F) && ((
22281 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22282 : (TARGET_AVX512VL) &&
22283 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22284 : (Pmode == SImode)) &&
22285 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22286 : (Pmode == SImode))))
22287 : return -1;
22288 : return 9900; /* *avx512f_gatherdiv4di */
22289 :
22290 : case 2:
22291 : if (!(
22292 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22293 : (TARGET_AVX512F) && ((
22294 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22295 : (TARGET_AVX512VL) &&
22296 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22297 : (Pmode == DImode)) &&
22298 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22299 : (Pmode == DImode))))
22300 : return -1;
22301 : return 9864; /* *avx512f_gathersiv4di */
22302 :
22303 : case 3:
22304 : if (!(
22305 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22306 : (TARGET_AVX512F) && ((
22307 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22308 : (TARGET_AVX512VL) &&
22309 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22310 : (Pmode == DImode)) &&
22311 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22312 : (Pmode == DImode))))
22313 : return -1;
22314 : return 9912; /* *avx512f_gatherdiv4di */
22315 :
22316 : default:
22317 : return -1;
22318 : }
22319 :
22320 : case E_V4DFmode:
22321 : switch (pattern1771 (x3,
22322 : E_DFmode,
22323 : E_V4DFmode))
22324 : {
22325 : case 0:
22326 : if (!(
22327 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22328 : (TARGET_AVX512F) && ((
22329 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22330 : (TARGET_AVX512VL) &&
22331 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22332 : (Pmode == SImode)) &&
22333 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22334 : (Pmode == SImode))))
22335 : return -1;
22336 : return 9853; /* *avx512f_gathersiv4df */
22337 :
22338 : case 1:
22339 : if (!(
22340 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22341 : (TARGET_AVX512F) && ((
22342 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22343 : (TARGET_AVX512VL) &&
22344 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22345 : (Pmode == SImode)) &&
22346 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22347 : (Pmode == SImode))))
22348 : return -1;
22349 : return 9901; /* *avx512f_gatherdiv4df */
22350 :
22351 : case 2:
22352 : if (!(
22353 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22354 : (TARGET_AVX512F) && ((
22355 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22356 : (TARGET_AVX512VL) &&
22357 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22358 : (Pmode == DImode)) &&
22359 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22360 : (Pmode == DImode))))
22361 : return -1;
22362 : return 9865; /* *avx512f_gathersiv4df */
22363 :
22364 : case 3:
22365 : if (!(
22366 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22367 : (TARGET_AVX512F) && ((
22368 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22369 : (TARGET_AVX512VL) &&
22370 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22371 : (Pmode == DImode)) &&
22372 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22373 : (Pmode == DImode))))
22374 : return -1;
22375 : return 9913; /* *avx512f_gatherdiv4df */
22376 :
22377 : default:
22378 : return -1;
22379 : }
22380 :
22381 : case E_V4SImode:
22382 : switch (pattern1773 (x3,
22383 : E_SImode,
22384 : E_V4SImode))
22385 : {
22386 : case 0:
22387 : if (!(
22388 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22389 : (TARGET_AVX512F) && ((
22390 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22391 : (TARGET_AVX512VL) &&
22392 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22393 : (Pmode == SImode)) &&
22394 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22395 : (Pmode == SImode))))
22396 : return -1;
22397 : return 9854; /* *avx512f_gathersiv4si */
22398 :
22399 : case 1:
22400 : if (!(
22401 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22402 : (TARGET_AVX512F) && ((
22403 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22404 : (TARGET_AVX512VL) &&
22405 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22406 : (Pmode == SImode)) &&
22407 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22408 : (Pmode == SImode))))
22409 : return -1;
22410 : return 9902; /* *avx512f_gatherdiv4si */
22411 :
22412 : case 2:
22413 : if (!(
22414 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22415 : (TARGET_AVX512F) && ((
22416 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22417 : (TARGET_AVX512VL) &&
22418 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22419 : (Pmode == DImode)) &&
22420 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22421 : (Pmode == DImode))))
22422 : return -1;
22423 : return 9866; /* *avx512f_gathersiv4si */
22424 :
22425 : case 3:
22426 : if (!(
22427 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22428 : (TARGET_AVX512F) && ((
22429 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22430 : (TARGET_AVX512VL) &&
22431 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22432 : (Pmode == DImode)) &&
22433 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22434 : (Pmode == DImode))))
22435 : return -1;
22436 : return 9914; /* *avx512f_gatherdiv4si */
22437 :
22438 : default:
22439 : return -1;
22440 : }
22441 :
22442 : case E_V4SFmode:
22443 : switch (pattern1773 (x3,
22444 : E_SFmode,
22445 : E_V4SFmode))
22446 : {
22447 : case 0:
22448 : if (!(
22449 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22450 : (TARGET_AVX512F) && ((
22451 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22452 : (TARGET_AVX512VL) &&
22453 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22454 : (Pmode == SImode)) &&
22455 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22456 : (Pmode == SImode))))
22457 : return -1;
22458 : return 9855; /* *avx512f_gathersiv4sf */
22459 :
22460 : case 1:
22461 : if (!(
22462 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22463 : (TARGET_AVX512F) && ((
22464 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22465 : (TARGET_AVX512VL) &&
22466 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22467 : (Pmode == SImode)) &&
22468 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22469 : (Pmode == SImode))))
22470 : return -1;
22471 : return 9903; /* *avx512f_gatherdiv4sf */
22472 :
22473 : case 2:
22474 : if (!(
22475 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22476 : (TARGET_AVX512F) && ((
22477 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22478 : (TARGET_AVX512VL) &&
22479 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22480 : (Pmode == DImode)) &&
22481 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22482 : (Pmode == DImode))))
22483 : return -1;
22484 : return 9867; /* *avx512f_gathersiv4sf */
22485 :
22486 : case 3:
22487 : if (!(
22488 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22489 : (TARGET_AVX512F) && ((
22490 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22491 : (TARGET_AVX512VL) &&
22492 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22493 : (Pmode == DImode)) &&
22494 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22495 : (Pmode == DImode))))
22496 : return -1;
22497 : return 9915; /* *avx512f_gatherdiv4sf */
22498 :
22499 : default:
22500 : return -1;
22501 : }
22502 :
22503 : case E_V2DImode:
22504 : switch (pattern1773 (x3,
22505 : E_DImode,
22506 : E_V2DImode))
22507 : {
22508 : case 0:
22509 : if (!(
22510 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22511 : (TARGET_AVX512F) && ((
22512 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22513 : (TARGET_AVX512VL) &&
22514 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22515 : (Pmode == SImode)) &&
22516 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22517 : (Pmode == SImode))))
22518 : return -1;
22519 : return 9856; /* *avx512f_gathersiv2di */
22520 :
22521 : case 1:
22522 : if (!(
22523 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22524 : (TARGET_AVX512F) && ((
22525 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22526 : (TARGET_AVX512VL) &&
22527 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22528 : (Pmode == SImode)) &&
22529 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22530 : (Pmode == SImode))))
22531 : return -1;
22532 : return 9904; /* *avx512f_gatherdiv2di */
22533 :
22534 : case 2:
22535 : if (!(
22536 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22537 : (TARGET_AVX512F) && ((
22538 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22539 : (TARGET_AVX512VL) &&
22540 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22541 : (Pmode == DImode)) &&
22542 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22543 : (Pmode == DImode))))
22544 : return -1;
22545 : return 9868; /* *avx512f_gathersiv2di */
22546 :
22547 : case 3:
22548 : if (!(
22549 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22550 : (TARGET_AVX512F) && ((
22551 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22552 : (TARGET_AVX512VL) &&
22553 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22554 : (Pmode == DImode)) &&
22555 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22556 : (Pmode == DImode))))
22557 : return -1;
22558 : return 9916; /* *avx512f_gatherdiv2di */
22559 :
22560 : default:
22561 : return -1;
22562 : }
22563 :
22564 : case E_V2DFmode:
22565 : switch (pattern1773 (x3,
22566 : E_DFmode,
22567 : E_V2DFmode))
22568 : {
22569 : case 0:
22570 : if (!(
22571 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22572 : (TARGET_AVX512F) && ((
22573 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22574 : (TARGET_AVX512VL) &&
22575 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22576 : (Pmode == SImode)) &&
22577 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22578 : (Pmode == SImode))))
22579 : return -1;
22580 : return 9857; /* *avx512f_gathersiv2df */
22581 :
22582 : case 1:
22583 : if (!(
22584 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22585 : (TARGET_AVX512F) && ((
22586 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22587 : (TARGET_AVX512VL) &&
22588 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22589 : (Pmode == SImode)) &&
22590 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22591 : (Pmode == SImode))))
22592 : return -1;
22593 : return 9905; /* *avx512f_gatherdiv2df */
22594 :
22595 : case 2:
22596 : if (!(
22597 : #line 30514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22598 : (TARGET_AVX512F) && ((
22599 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22600 : (TARGET_AVX512VL) &&
22601 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22602 : (Pmode == DImode)) &&
22603 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22604 : (Pmode == DImode))))
22605 : return -1;
22606 : return 9869; /* *avx512f_gathersiv2df */
22607 :
22608 : case 3:
22609 : if (!(
22610 : #line 30576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22611 : (TARGET_AVX512F) && ((
22612 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22613 : (TARGET_AVX512VL) &&
22614 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22615 : (Pmode == DImode)) &&
22616 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22617 : (Pmode == DImode))))
22618 : return -1;
22619 : return 9917; /* *avx512f_gatherdiv2df */
22620 :
22621 : default:
22622 : return -1;
22623 : }
22624 :
22625 : default:
22626 : return -1;
22627 : }
22628 :
22629 : case PC:
22630 : x10 = XVECEXP (x3, 0, 1);
22631 : operands[6] = x10;
22632 : operands[5] = x4;
22633 : x17 = XVECEXP (x5, 0, 0);
22634 : operands[3] = x17;
22635 : x18 = XVECEXP (x5, 0, 1);
22636 : operands[2] = x18;
22637 : operands[4] = x16;
22638 : x11 = XEXP (x8, 0);
22639 : operands[1] = x11;
22640 : switch (GET_MODE (operands[0]))
22641 : {
22642 : case E_V16SImode:
22643 : switch (pattern1739 (x3,
22644 : E_SImode,
22645 : E_V16SImode))
22646 : {
22647 : case 0:
22648 : if (!(
22649 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22650 : (TARGET_AVX512F) &&
22651 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22652 : (Pmode == SImode)))
22653 : return -1;
22654 : return 9870; /* *avx512f_gathersiv16si_2 */
22655 :
22656 : case 1:
22657 : if (!(
22658 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22659 : (TARGET_AVX512F) &&
22660 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22661 : (Pmode == DImode)))
22662 : return -1;
22663 : return 9882; /* *avx512f_gathersiv16si_2 */
22664 :
22665 : case 2:
22666 : if (!(
22667 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22668 : (TARGET_AVX512F) &&
22669 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22670 : (Pmode == SImode)))
22671 : return -1;
22672 : return 9918; /* *avx512f_gatherdiv16si_2 */
22673 :
22674 : case 3:
22675 : if (!(
22676 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22677 : (TARGET_AVX512F) &&
22678 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22679 : (Pmode == DImode)))
22680 : return -1;
22681 : return 9930; /* *avx512f_gatherdiv16si_2 */
22682 :
22683 : default:
22684 : return -1;
22685 : }
22686 :
22687 : case E_V16SFmode:
22688 : switch (pattern1739 (x3,
22689 : E_SFmode,
22690 : E_V16SFmode))
22691 : {
22692 : case 0:
22693 : if (!(
22694 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22695 : (TARGET_AVX512F) &&
22696 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22697 : (Pmode == SImode)))
22698 : return -1;
22699 : return 9871; /* *avx512f_gathersiv16sf_2 */
22700 :
22701 : case 1:
22702 : if (!(
22703 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22704 : (TARGET_AVX512F) &&
22705 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22706 : (Pmode == DImode)))
22707 : return -1;
22708 : return 9883; /* *avx512f_gathersiv16sf_2 */
22709 :
22710 : case 2:
22711 : if (!(
22712 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22713 : (TARGET_AVX512F) &&
22714 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22715 : (Pmode == SImode)))
22716 : return -1;
22717 : return 9919; /* *avx512f_gatherdiv16sf_2 */
22718 :
22719 : case 3:
22720 : if (!(
22721 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22722 : (TARGET_AVX512F) &&
22723 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22724 : (Pmode == DImode)))
22725 : return -1;
22726 : return 9931; /* *avx512f_gatherdiv16sf_2 */
22727 :
22728 : default:
22729 : return -1;
22730 : }
22731 :
22732 : case E_V8DImode:
22733 : switch (pattern1741 (x3,
22734 : E_DImode,
22735 : E_V8DImode))
22736 : {
22737 : case 0:
22738 : if (!(
22739 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22740 : (TARGET_AVX512F) &&
22741 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22742 : (Pmode == SImode)))
22743 : return -1;
22744 : return 9872; /* *avx512f_gathersiv8di_2 */
22745 :
22746 : case 1:
22747 : if (!(
22748 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22749 : (TARGET_AVX512F) &&
22750 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22751 : (Pmode == SImode)))
22752 : return -1;
22753 : return 9920; /* *avx512f_gatherdiv8di_2 */
22754 :
22755 : case 2:
22756 : if (!(
22757 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22758 : (TARGET_AVX512F) &&
22759 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22760 : (Pmode == DImode)))
22761 : return -1;
22762 : return 9884; /* *avx512f_gathersiv8di_2 */
22763 :
22764 : case 3:
22765 : if (!(
22766 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22767 : (TARGET_AVX512F) &&
22768 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22769 : (Pmode == DImode)))
22770 : return -1;
22771 : return 9932; /* *avx512f_gatherdiv8di_2 */
22772 :
22773 : default:
22774 : return -1;
22775 : }
22776 :
22777 : case E_V8DFmode:
22778 : switch (pattern1741 (x3,
22779 : E_DFmode,
22780 : E_V8DFmode))
22781 : {
22782 : case 0:
22783 : if (!(
22784 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22785 : (TARGET_AVX512F) &&
22786 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22787 : (Pmode == SImode)))
22788 : return -1;
22789 : return 9873; /* *avx512f_gathersiv8df_2 */
22790 :
22791 : case 1:
22792 : if (!(
22793 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22794 : (TARGET_AVX512F) &&
22795 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22796 : (Pmode == SImode)))
22797 : return -1;
22798 : return 9921; /* *avx512f_gatherdiv8df_2 */
22799 :
22800 : case 2:
22801 : if (!(
22802 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22803 : (TARGET_AVX512F) &&
22804 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22805 : (Pmode == DImode)))
22806 : return -1;
22807 : return 9885; /* *avx512f_gathersiv8df_2 */
22808 :
22809 : case 3:
22810 : if (!(
22811 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22812 : (TARGET_AVX512F) &&
22813 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22814 : (Pmode == DImode)))
22815 : return -1;
22816 : return 9933; /* *avx512f_gatherdiv8df_2 */
22817 :
22818 : default:
22819 : return -1;
22820 : }
22821 :
22822 : case E_V8SImode:
22823 : switch (pattern1743 (x3,
22824 : E_SImode,
22825 : E_V8SImode))
22826 : {
22827 : case 0:
22828 : if (!(
22829 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22830 : (TARGET_AVX512F) && ((
22831 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22832 : (TARGET_AVX512VL) &&
22833 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22834 : (Pmode == SImode)) &&
22835 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22836 : (Pmode == SImode))))
22837 : return -1;
22838 : return 9874; /* *avx512f_gathersiv8si_2 */
22839 :
22840 : case 1:
22841 : if (!(
22842 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22843 : (TARGET_AVX512F) && ((
22844 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22845 : (TARGET_AVX512VL) &&
22846 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22847 : (Pmode == SImode)) &&
22848 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22849 : (Pmode == SImode))))
22850 : return -1;
22851 : return 9922; /* *avx512f_gatherdiv8si_2 */
22852 :
22853 : case 2:
22854 : if (!(
22855 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22856 : (TARGET_AVX512F) && ((
22857 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22858 : (TARGET_AVX512VL) &&
22859 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22860 : (Pmode == DImode)) &&
22861 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22862 : (Pmode == DImode))))
22863 : return -1;
22864 : return 9886; /* *avx512f_gathersiv8si_2 */
22865 :
22866 : case 3:
22867 : if (!(
22868 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22869 : (TARGET_AVX512F) && ((
22870 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22871 : (TARGET_AVX512VL) &&
22872 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22873 : (Pmode == DImode)) &&
22874 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22875 : (Pmode == DImode))))
22876 : return -1;
22877 : return 9934; /* *avx512f_gatherdiv8si_2 */
22878 :
22879 : default:
22880 : return -1;
22881 : }
22882 :
22883 : case E_V8SFmode:
22884 : switch (pattern1743 (x3,
22885 : E_SFmode,
22886 : E_V8SFmode))
22887 : {
22888 : case 0:
22889 : if (!(
22890 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22891 : (TARGET_AVX512F) && ((
22892 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22893 : (TARGET_AVX512VL) &&
22894 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22895 : (Pmode == SImode)) &&
22896 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22897 : (Pmode == SImode))))
22898 : return -1;
22899 : return 9875; /* *avx512f_gathersiv8sf_2 */
22900 :
22901 : case 1:
22902 : if (!(
22903 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22904 : (TARGET_AVX512F) && ((
22905 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22906 : (TARGET_AVX512VL) &&
22907 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22908 : (Pmode == SImode)) &&
22909 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22910 : (Pmode == SImode))))
22911 : return -1;
22912 : return 9923; /* *avx512f_gatherdiv8sf_2 */
22913 :
22914 : case 2:
22915 : if (!(
22916 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22917 : (TARGET_AVX512F) && ((
22918 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22919 : (TARGET_AVX512VL) &&
22920 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22921 : (Pmode == DImode)) &&
22922 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22923 : (Pmode == DImode))))
22924 : return -1;
22925 : return 9887; /* *avx512f_gathersiv8sf_2 */
22926 :
22927 : case 3:
22928 : if (!(
22929 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22930 : (TARGET_AVX512F) && ((
22931 : #line 989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22932 : (TARGET_AVX512VL) &&
22933 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22934 : (Pmode == DImode)) &&
22935 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22936 : (Pmode == DImode))))
22937 : return -1;
22938 : return 9935; /* *avx512f_gatherdiv8sf_2 */
22939 :
22940 : default:
22941 : return -1;
22942 : }
22943 :
22944 : case E_V4DImode:
22945 : switch (pattern1745 (x3,
22946 : E_DImode,
22947 : E_V4DImode))
22948 : {
22949 : case 0:
22950 : if (!(
22951 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22952 : (TARGET_AVX512F) && ((
22953 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22954 : (TARGET_AVX512VL) &&
22955 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22956 : (Pmode == SImode)) &&
22957 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22958 : (Pmode == SImode))))
22959 : return -1;
22960 : return 9876; /* *avx512f_gathersiv4di_2 */
22961 :
22962 : case 1:
22963 : if (!(
22964 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22965 : (TARGET_AVX512F) && ((
22966 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22967 : (TARGET_AVX512VL) &&
22968 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22969 : (Pmode == SImode)) &&
22970 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22971 : (Pmode == SImode))))
22972 : return -1;
22973 : return 9924; /* *avx512f_gatherdiv4di_2 */
22974 :
22975 : case 2:
22976 : if (!(
22977 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22978 : (TARGET_AVX512F) && ((
22979 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22980 : (TARGET_AVX512VL) &&
22981 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22982 : (Pmode == DImode)) &&
22983 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22984 : (Pmode == DImode))))
22985 : return -1;
22986 : return 9888; /* *avx512f_gathersiv4di_2 */
22987 :
22988 : case 3:
22989 : if (!(
22990 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22991 : (TARGET_AVX512F) && ((
22992 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22993 : (TARGET_AVX512VL) &&
22994 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22995 : (Pmode == DImode)) &&
22996 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22997 : (Pmode == DImode))))
22998 : return -1;
22999 : return 9936; /* *avx512f_gatherdiv4di_2 */
23000 :
23001 : default:
23002 : return -1;
23003 : }
23004 :
23005 : case E_V4DFmode:
23006 : switch (pattern1745 (x3,
23007 : E_DFmode,
23008 : E_V4DFmode))
23009 : {
23010 : case 0:
23011 : if (!(
23012 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23013 : (TARGET_AVX512F) && ((
23014 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23015 : (TARGET_AVX512VL) &&
23016 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23017 : (Pmode == SImode)) &&
23018 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23019 : (Pmode == SImode))))
23020 : return -1;
23021 : return 9877; /* *avx512f_gathersiv4df_2 */
23022 :
23023 : case 1:
23024 : if (!(
23025 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23026 : (TARGET_AVX512F) && ((
23027 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23028 : (TARGET_AVX512VL) &&
23029 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23030 : (Pmode == SImode)) &&
23031 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23032 : (Pmode == SImode))))
23033 : return -1;
23034 : return 9925; /* *avx512f_gatherdiv4df_2 */
23035 :
23036 : case 2:
23037 : if (!(
23038 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23039 : (TARGET_AVX512F) && ((
23040 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23041 : (TARGET_AVX512VL) &&
23042 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23043 : (Pmode == DImode)) &&
23044 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23045 : (Pmode == DImode))))
23046 : return -1;
23047 : return 9889; /* *avx512f_gathersiv4df_2 */
23048 :
23049 : case 3:
23050 : if (!(
23051 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23052 : (TARGET_AVX512F) && ((
23053 : #line 990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23054 : (TARGET_AVX512VL) &&
23055 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23056 : (Pmode == DImode)) &&
23057 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23058 : (Pmode == DImode))))
23059 : return -1;
23060 : return 9937; /* *avx512f_gatherdiv4df_2 */
23061 :
23062 : default:
23063 : return -1;
23064 : }
23065 :
23066 : case E_V4SImode:
23067 : switch (pattern1747 (x3,
23068 : E_SImode,
23069 : E_V4SImode))
23070 : {
23071 : case 0:
23072 : if (!(
23073 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23074 : (TARGET_AVX512F) && ((
23075 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23076 : (TARGET_AVX512VL) &&
23077 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23078 : (Pmode == SImode)) &&
23079 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23080 : (Pmode == SImode))))
23081 : return -1;
23082 : return 9878; /* *avx512f_gathersiv4si_2 */
23083 :
23084 : case 1:
23085 : if (!(
23086 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23087 : (TARGET_AVX512F) && ((
23088 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23089 : (TARGET_AVX512VL) &&
23090 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23091 : (Pmode == SImode)) &&
23092 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23093 : (Pmode == SImode))))
23094 : return -1;
23095 : return 9926; /* *avx512f_gatherdiv4si_2 */
23096 :
23097 : case 2:
23098 : if (!(
23099 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23100 : (TARGET_AVX512F) && ((
23101 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23102 : (TARGET_AVX512VL) &&
23103 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23104 : (Pmode == DImode)) &&
23105 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23106 : (Pmode == DImode))))
23107 : return -1;
23108 : return 9890; /* *avx512f_gathersiv4si_2 */
23109 :
23110 : case 3:
23111 : if (!(
23112 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23113 : (TARGET_AVX512F) && ((
23114 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23115 : (TARGET_AVX512VL) &&
23116 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23117 : (Pmode == DImode)) &&
23118 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23119 : (Pmode == DImode))))
23120 : return -1;
23121 : return 9938; /* *avx512f_gatherdiv4si_2 */
23122 :
23123 : default:
23124 : return -1;
23125 : }
23126 :
23127 : case E_V4SFmode:
23128 : switch (pattern1747 (x3,
23129 : E_SFmode,
23130 : E_V4SFmode))
23131 : {
23132 : case 0:
23133 : if (!(
23134 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23135 : (TARGET_AVX512F) && ((
23136 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23137 : (TARGET_AVX512VL) &&
23138 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23139 : (Pmode == SImode)) &&
23140 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23141 : (Pmode == SImode))))
23142 : return -1;
23143 : return 9879; /* *avx512f_gathersiv4sf_2 */
23144 :
23145 : case 1:
23146 : if (!(
23147 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23148 : (TARGET_AVX512F) && ((
23149 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23150 : (TARGET_AVX512VL) &&
23151 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23152 : (Pmode == SImode)) &&
23153 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23154 : (Pmode == SImode))))
23155 : return -1;
23156 : return 9927; /* *avx512f_gatherdiv4sf_2 */
23157 :
23158 : case 2:
23159 : if (!(
23160 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23161 : (TARGET_AVX512F) && ((
23162 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23163 : (TARGET_AVX512VL) &&
23164 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23165 : (Pmode == DImode)) &&
23166 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23167 : (Pmode == DImode))))
23168 : return -1;
23169 : return 9891; /* *avx512f_gathersiv4sf_2 */
23170 :
23171 : case 3:
23172 : if (!(
23173 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23174 : (TARGET_AVX512F) && ((
23175 : #line 991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23176 : (TARGET_AVX512VL) &&
23177 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23178 : (Pmode == DImode)) &&
23179 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23180 : (Pmode == DImode))))
23181 : return -1;
23182 : return 9939; /* *avx512f_gatherdiv4sf_2 */
23183 :
23184 : default:
23185 : return -1;
23186 : }
23187 :
23188 : case E_V2DImode:
23189 : switch (pattern1747 (x3,
23190 : E_DImode,
23191 : E_V2DImode))
23192 : {
23193 : case 0:
23194 : if (!(
23195 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23196 : (TARGET_AVX512F) && ((
23197 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23198 : (TARGET_AVX512VL) &&
23199 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23200 : (Pmode == SImode)) &&
23201 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23202 : (Pmode == SImode))))
23203 : return -1;
23204 : return 9880; /* *avx512f_gathersiv2di_2 */
23205 :
23206 : case 1:
23207 : if (!(
23208 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23209 : (TARGET_AVX512F) && ((
23210 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23211 : (TARGET_AVX512VL) &&
23212 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23213 : (Pmode == SImode)) &&
23214 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23215 : (Pmode == SImode))))
23216 : return -1;
23217 : return 9928; /* *avx512f_gatherdiv2di_2 */
23218 :
23219 : case 2:
23220 : if (!(
23221 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23222 : (TARGET_AVX512F) && ((
23223 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23224 : (TARGET_AVX512VL) &&
23225 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23226 : (Pmode == DImode)) &&
23227 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23228 : (Pmode == DImode))))
23229 : return -1;
23230 : return 9892; /* *avx512f_gathersiv2di_2 */
23231 :
23232 : case 3:
23233 : if (!(
23234 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23235 : (TARGET_AVX512F) && ((
23236 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23237 : (TARGET_AVX512VL) &&
23238 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23239 : (Pmode == DImode)) &&
23240 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23241 : (Pmode == DImode))))
23242 : return -1;
23243 : return 9940; /* *avx512f_gatherdiv2di_2 */
23244 :
23245 : default:
23246 : return -1;
23247 : }
23248 :
23249 : case E_V2DFmode:
23250 : switch (pattern1747 (x3,
23251 : E_DFmode,
23252 : E_V2DFmode))
23253 : {
23254 : case 0:
23255 : if (!(
23256 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23257 : (TARGET_AVX512F) && ((
23258 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23259 : (TARGET_AVX512VL) &&
23260 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23261 : (Pmode == SImode)) &&
23262 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23263 : (Pmode == SImode))))
23264 : return -1;
23265 : return 9881; /* *avx512f_gathersiv2df_2 */
23266 :
23267 : case 1:
23268 : if (!(
23269 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23270 : (TARGET_AVX512F) && ((
23271 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23272 : (TARGET_AVX512VL) &&
23273 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23274 : (Pmode == SImode)) &&
23275 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23276 : (Pmode == SImode))))
23277 : return -1;
23278 : return 9929; /* *avx512f_gatherdiv2df_2 */
23279 :
23280 : case 2:
23281 : if (!(
23282 : #line 30535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23283 : (TARGET_AVX512F) && ((
23284 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23285 : (TARGET_AVX512VL) &&
23286 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23287 : (Pmode == DImode)) &&
23288 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23289 : (Pmode == DImode))))
23290 : return -1;
23291 : return 9893; /* *avx512f_gathersiv2df_2 */
23292 :
23293 : case 3:
23294 : if (!(
23295 : #line 30597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23296 : (TARGET_AVX512F) && ((
23297 : #line 992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23298 : (TARGET_AVX512VL) &&
23299 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23300 : (Pmode == DImode)) &&
23301 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23302 : (Pmode == DImode))))
23303 : return -1;
23304 : return 9941; /* *avx512f_gatherdiv2df_2 */
23305 :
23306 : default:
23307 : return -1;
23308 : }
23309 :
23310 : default:
23311 : return -1;
23312 : }
23313 :
23314 : default:
23315 : return -1;
23316 : }
23317 :
23318 : default:
23319 : return -1;
23320 : }
23321 : }
23322 :
23323 : int
23324 : recog_420 (rtx x1 ATTRIBUTE_UNUSED,
23325 : rtx_insn *insn ATTRIBUTE_UNUSED,
23326 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23327 : {
23328 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23329 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23330 : rtx x10, x11;
23331 : int res ATTRIBUTE_UNUSED;
23332 : x2 = XVECEXP (x1, 0, 0);
23333 : x3 = XEXP (x2, 1);
23334 : if (GET_MODE (x3) != E_DImode)
23335 : return -1;
23336 : x4 = XEXP (x2, 0);
23337 : operands[0] = x4;
23338 : if (!register_operand (operands[0], E_DImode))
23339 : return -1;
23340 : x5 = XEXP (x3, 0);
23341 : if (GET_MODE (x5) != E_SImode)
23342 : return -1;
23343 : switch (GET_CODE (x5))
23344 : {
23345 : case CTZ:
23346 : switch (pattern942 (x1, pnum_clobbers))
23347 : {
23348 : case 0:
23349 : if (!
23350 : #line 22178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23351 : (TARGET_64BIT))
23352 : return -1;
23353 : return 1550; /* *ctzsidi2_sext */
23354 :
23355 : case 1:
23356 : if (!
23357 : #line 22218 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23358 : (TARGET_64BIT))
23359 : return -1;
23360 : *pnum_clobbers = 1;
23361 : return 1552; /* *ctzsidi2_sext_falsedep */
23362 :
23363 : default:
23364 : return -1;
23365 : }
23366 :
23367 : case XOR:
23368 : x6 = XEXP (x5, 0);
23369 : if (GET_CODE (x6) != MINUS
23370 : || GET_MODE (x6) != E_SImode)
23371 : return -1;
23372 : x7 = XEXP (x6, 0);
23373 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
23374 : return -1;
23375 : x8 = XEXP (x6, 1);
23376 : if (GET_CODE (x8) != CLZ
23377 : || GET_MODE (x8) != E_SImode)
23378 : return -1;
23379 : x9 = XEXP (x5, 1);
23380 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 31])
23381 : return -1;
23382 : x10 = XVECEXP (x1, 0, 1);
23383 : if (pattern237 (x10,
23384 : E_CCmode,
23385 : 17) != 0)
23386 : return -1;
23387 : x11 = XEXP (x8, 0);
23388 : operands[1] = x11;
23389 : if (!nonimmediate_operand (operands[1], E_SImode)
23390 : || !
23391 : #line 22357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23392 : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
23393 : return -1;
23394 : return 1562; /* *bsr_2 */
23395 :
23396 : default:
23397 : return -1;
23398 : }
23399 : }
23400 :
23401 : int
23402 : recog_422 (rtx x1 ATTRIBUTE_UNUSED,
23403 : rtx_insn *insn ATTRIBUTE_UNUSED,
23404 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23405 : {
23406 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23407 : rtx x2, x3, x4, x5, x6, x7, x8;
23408 : int res ATTRIBUTE_UNUSED;
23409 : x2 = XVECEXP (x1, 0, 0);
23410 : x3 = XEXP (x2, 0);
23411 : operands[0] = x3;
23412 : x4 = XEXP (x2, 1);
23413 : x5 = XEXP (x4, 0);
23414 : switch (GET_CODE (x5))
23415 : {
23416 : case REG:
23417 : case SUBREG:
23418 : case MEM:
23419 : operands[1] = x5;
23420 : x6 = XVECEXP (x1, 0, 1);
23421 : switch (GET_CODE (x6))
23422 : {
23423 : case CLOBBER:
23424 : x7 = XEXP (x6, 0);
23425 : if (GET_CODE (x7) != REG
23426 : || REGNO (x7) != 17
23427 : || GET_MODE (x7) != E_CCmode)
23428 : return -1;
23429 : switch (GET_MODE (operands[0]))
23430 : {
23431 : case E_SImode:
23432 : if (!register_operand (operands[0], E_SImode)
23433 : || GET_MODE (x4) != E_SImode
23434 : || !nonimmediate_operand (operands[1], E_SImode)
23435 : || !
23436 : #line 23338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23437 : (TARGET_POPCNT))
23438 : return -1;
23439 : return 1658; /* popcountsi2 */
23440 :
23441 : case E_DImode:
23442 : if (!register_operand (operands[0], E_DImode)
23443 : || GET_MODE (x4) != E_DImode
23444 : || !nonimmediate_operand (operands[1], E_DImode)
23445 : || !(
23446 : #line 23338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23447 : (TARGET_POPCNT) &&
23448 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23449 : (TARGET_64BIT)))
23450 : return -1;
23451 : return 1659; /* popcountdi2 */
23452 :
23453 : case E_HImode:
23454 : if (!register_operand (operands[0], E_HImode)
23455 : || GET_MODE (x4) != E_HImode
23456 : || !nonimmediate_operand (operands[1], E_HImode)
23457 : || !
23458 : #line 23543 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23459 : (TARGET_POPCNT && true))
23460 : return -1;
23461 : return 1671; /* popcounthi2 */
23462 :
23463 : default:
23464 : return -1;
23465 : }
23466 :
23467 : case UNSPEC:
23468 : switch (pattern713 (x1))
23469 : {
23470 : case 0:
23471 : if (
23472 : #line 23369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23473 : (TARGET_APX_NF && TARGET_POPCNT))
23474 : return 1660; /* *popcountsi2_falsedep_nf */
23475 : if (pnum_clobbers == NULL
23476 : || !
23477 : #line 23388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23478 : (TARGET_POPCNT))
23479 : return -1;
23480 : *pnum_clobbers = 1;
23481 : return 1662; /* *popcountsi2_falsedep */
23482 :
23483 : case 1:
23484 : if ((
23485 : #line 23369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23486 : (TARGET_APX_NF && TARGET_POPCNT) &&
23487 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23488 : (TARGET_64BIT)))
23489 : return 1661; /* *popcountdi2_falsedep_nf */
23490 : if (pnum_clobbers == NULL
23491 : || !(
23492 : #line 23388 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23493 : (TARGET_POPCNT) &&
23494 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23495 : (TARGET_64BIT)))
23496 : return -1;
23497 : *pnum_clobbers = 1;
23498 : return 1663; /* *popcountdi2_falsedep */
23499 :
23500 : default:
23501 : return -1;
23502 : }
23503 :
23504 : default:
23505 : return -1;
23506 : }
23507 :
23508 : case ZERO_EXTEND:
23509 : if (GET_MODE (x5) != E_SImode)
23510 : return -1;
23511 : x6 = XVECEXP (x1, 0, 1);
23512 : if (pattern237 (x6,
23513 : E_CCmode,
23514 : 17) != 0
23515 : || !register_operand (operands[0], E_SImode)
23516 : || GET_MODE (x4) != E_SImode)
23517 : return -1;
23518 : x8 = XEXP (x5, 0);
23519 : operands[1] = x8;
23520 : if (!nonimmediate_operand (operands[1], E_HImode)
23521 : || !
23522 : #line 23508 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23523 : (TARGET_POPCNT
23524 : && ix86_pre_reload_split ()))
23525 : return -1;
23526 : return 1668; /* *popcounthi2_1 */
23527 :
23528 : default:
23529 : return -1;
23530 : }
23531 : }
23532 :
23533 : int
23534 : recog_429 (rtx x1 ATTRIBUTE_UNUSED,
23535 : rtx_insn *insn ATTRIBUTE_UNUSED,
23536 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23537 : {
23538 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23539 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23540 : rtx x10, x11, x12, x13, x14;
23541 : int res ATTRIBUTE_UNUSED;
23542 : x2 = XVECEXP (x1, 0, 0);
23543 : switch (GET_CODE (x2))
23544 : {
23545 : case SET:
23546 : return recog_428 (x1, insn, pnum_clobbers);
23547 :
23548 : case CALL:
23549 : x3 = XEXP (x2, 0);
23550 : if (GET_CODE (x3) != MEM
23551 : || GET_MODE (x3) != E_QImode)
23552 : return -1;
23553 : x4 = XEXP (x3, 0);
23554 : operands[0] = x4;
23555 : x5 = XEXP (x2, 1);
23556 : operands[1] = x5;
23557 : x6 = XVECEXP (x1, 0, 1);
23558 : switch (pattern718 (x6))
23559 : {
23560 : case 0:
23561 : switch (GET_MODE (operands[0]))
23562 : {
23563 : case E_SImode:
23564 : if (memory_operand (operands[0], E_SImode)
23565 : && (
23566 : #line 21183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23567 : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER) &&
23568 : #line 1434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23569 : (word_mode == SImode)))
23570 : return 1500; /* *sibcall_memory */
23571 : break;
23572 :
23573 : case E_DImode:
23574 : if (memory_operand (operands[0], E_DImode)
23575 : && (
23576 : #line 21183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23577 : (!TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER) &&
23578 : #line 1434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23579 : (word_mode == DImode)))
23580 : return 1501; /* *sibcall_memory */
23581 : break;
23582 :
23583 : default:
23584 : break;
23585 : }
23586 : break;
23587 :
23588 : case 1:
23589 : x7 = XEXP (x6, 1);
23590 : x8 = XEXP (x7, 1);
23591 : operands[2] = x8;
23592 : if (immediate_operand (operands[2], E_SImode))
23593 : {
23594 : if (call_insn_operand (operands[0], E_SImode)
23595 : &&
23596 : #line 21234 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23597 : (!TARGET_64BIT && !SIBLING_CALL_P (insn)))
23598 : return 1502; /* *call_pop */
23599 : if (sibcall_insn_operand (operands[0], E_SImode)
23600 : &&
23601 : #line 21244 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23602 : (!TARGET_64BIT && SIBLING_CALL_P (insn)))
23603 : return 1503; /* *sibcall_pop */
23604 : }
23605 : break;
23606 :
23607 : default:
23608 : break;
23609 : }
23610 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23611 : || x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23612 : || pattern386 (x6,
23613 : 105,
23614 : 1) != 0
23615 : || !
23616 : #line 28196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23617 : (TARGET_AVX))
23618 : return -1;
23619 : return 9174; /* avx_vzeroupper_callee_abi */
23620 :
23621 : case SIMPLE_RETURN:
23622 : x6 = XVECEXP (x1, 0, 1);
23623 : switch (GET_CODE (x6))
23624 : {
23625 : case UNSPEC:
23626 : if (XVECLEN (x6, 0) != 1)
23627 : return -1;
23628 : x9 = XVECEXP (x6, 0, 0);
23629 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23630 : return -1;
23631 : switch (XINT (x6, 1))
23632 : {
23633 : case 102:
23634 : if (!
23635 : #line 21646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23636 : (reload_completed))
23637 : return -1;
23638 : return 1520; /* interrupt_return */
23639 :
23640 : case 30:
23641 : if (!
23642 : #line 21657 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23643 : (reload_completed))
23644 : return -1;
23645 : return 1521; /* simple_return_internal_long */
23646 :
23647 : default:
23648 : return -1;
23649 : }
23650 :
23651 : case USE:
23652 : x10 = XEXP (x6, 0);
23653 : operands[0] = x10;
23654 : switch (GET_CODE (operands[0]))
23655 : {
23656 : case CONST_INT:
23657 : if (!const_int_operand (operands[0], E_SImode)
23658 : || !
23659 : #line 21668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23660 : (reload_completed))
23661 : return -1;
23662 : return 1522; /* simple_return_pop_internal */
23663 :
23664 : case REG:
23665 : case SUBREG:
23666 : switch (GET_MODE (operands[0]))
23667 : {
23668 : case E_SImode:
23669 : if (!register_operand (operands[0], E_SImode)
23670 : || !(
23671 : #line 21686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23672 : (reload_completed) &&
23673 : #line 1434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23674 : (word_mode == SImode)))
23675 : return -1;
23676 : return 1523; /* *simple_return_indirect_internalsi */
23677 :
23678 : case E_DImode:
23679 : if (!register_operand (operands[0], E_DImode)
23680 : || !(
23681 : #line 21686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23682 : (reload_completed) &&
23683 : #line 1434 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23684 : (word_mode == DImode)))
23685 : return -1;
23686 : return 1524; /* *simple_return_indirect_internaldi */
23687 :
23688 : default:
23689 : return -1;
23690 : }
23691 :
23692 : default:
23693 : return -1;
23694 : }
23695 :
23696 : default:
23697 : return -1;
23698 : }
23699 :
23700 : case UNSPEC_VOLATILE:
23701 : if (XVECLEN (x2, 0) != 4
23702 : || XINT (x2, 1) != 98
23703 : || GET_MODE (x2) != E_V2DImode)
23704 : return -1;
23705 : x6 = XVECEXP (x1, 0, 1);
23706 : if (pattern237 (x6,
23707 : E_CCmode,
23708 : 17) != 0)
23709 : return -1;
23710 : x11 = XVECEXP (x2, 0, 0);
23711 : operands[0] = x11;
23712 : if (!register_operand (operands[0], E_V2DImode))
23713 : return -1;
23714 : x12 = XVECEXP (x2, 0, 1);
23715 : operands[1] = x12;
23716 : if (!register_operand (operands[1], E_V2DImode))
23717 : return -1;
23718 : x13 = XVECEXP (x2, 0, 2);
23719 : operands[2] = x13;
23720 : if (!register_operand (operands[2], E_V2DImode))
23721 : return -1;
23722 : x14 = XVECEXP (x2, 0, 3);
23723 : operands[3] = x14;
23724 : if (!register_operand (operands[3], E_SImode)
23725 : || !
23726 : #line 32293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23727 : (TARGET_KL))
23728 : return -1;
23729 : return 10464; /* loadiwkey */
23730 :
23731 : default:
23732 : return -1;
23733 : }
23734 : }
23735 :
23736 : int
23737 : recog_434 (rtx x1 ATTRIBUTE_UNUSED,
23738 : rtx_insn *insn ATTRIBUTE_UNUSED,
23739 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23740 : {
23741 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23742 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23743 : rtx x10, x11, x12, x13, x14;
23744 : int res ATTRIBUTE_UNUSED;
23745 : if (pattern232 (x1) != 0)
23746 : return -1;
23747 : x2 = XVECEXP (x1, 0, 2);
23748 : if (GET_CODE (x2) != UNSPEC
23749 : || XVECLEN (x2, 0) != 1
23750 : || XINT (x2, 1) != 39)
23751 : return -1;
23752 : x3 = XVECEXP (x1, 0, 1);
23753 : x4 = XEXP (x3, 0);
23754 : operands[0] = x4;
23755 : x5 = XVECEXP (x2, 0, 0);
23756 : operands[2] = x5;
23757 : x6 = XVECEXP (x1, 0, 0);
23758 : x7 = XEXP (x6, 1);
23759 : x8 = XEXP (x7, 0);
23760 : switch (GET_CODE (x8))
23761 : {
23762 : case REG:
23763 : case SUBREG:
23764 : case MEM:
23765 : operands[1] = x8;
23766 : x9 = XEXP (x3, 1);
23767 : if (GET_CODE (x9) != CTZ)
23768 : return -1;
23769 : x10 = XEXP (x6, 0);
23770 : if (GET_MODE (x10) != E_CCCmode
23771 : || GET_MODE (x7) != E_CCCmode)
23772 : return -1;
23773 : x11 = XEXP (x9, 0);
23774 : if (!rtx_equal_p (x11, operands[1]))
23775 : return -1;
23776 : switch (GET_MODE (operands[1]))
23777 : {
23778 : case E_SImode:
23779 : if (pattern1710 (x9,
23780 : E_SImode) != 0
23781 : || !
23782 : #line 22036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23783 : (TARGET_BMI))
23784 : return -1;
23785 : return 1540; /* *tzcntsi_1_falsedep */
23786 :
23787 : case E_DImode:
23788 : if (pattern1710 (x9,
23789 : E_DImode) != 0
23790 : || !(
23791 : #line 22036 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23792 : (TARGET_BMI) &&
23793 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23794 : (TARGET_64BIT)))
23795 : return -1;
23796 : return 1541; /* *tzcntdi_1_falsedep */
23797 :
23798 : default:
23799 : return -1;
23800 : }
23801 :
23802 : case AND:
23803 : x9 = XEXP (x3, 1);
23804 : if (GET_CODE (x9) != AND)
23805 : return -1;
23806 : x12 = XEXP (x8, 0);
23807 : switch (GET_CODE (x12))
23808 : {
23809 : case NEG:
23810 : x11 = XEXP (x9, 0);
23811 : if (GET_CODE (x11) != NEG)
23812 : return -1;
23813 : switch (pattern1587 (x1))
23814 : {
23815 : case 0:
23816 : if (!
23817 : #line 22859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23818 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
23819 : return -1;
23820 : return 1606; /* *bmi_blsi_si_falsedep */
23821 :
23822 : case 1:
23823 : if (!(
23824 : #line 22859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23825 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
23826 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23827 : (TARGET_64BIT)))
23828 : return -1;
23829 : return 1607; /* *bmi_blsi_di_falsedep */
23830 :
23831 : default:
23832 : return -1;
23833 : }
23834 :
23835 : case PLUS:
23836 : x13 = XEXP (x12, 1);
23837 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23838 : return -1;
23839 : x11 = XEXP (x9, 0);
23840 : if (GET_CODE (x11) != PLUS)
23841 : return -1;
23842 : x14 = XEXP (x11, 1);
23843 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23844 : return -1;
23845 : x10 = XEXP (x6, 0);
23846 : if (GET_MODE (x10) != E_CCZmode
23847 : || GET_MODE (x7) != E_CCZmode)
23848 : return -1;
23849 : switch (pattern1587 (x1))
23850 : {
23851 : case 0:
23852 : if (!
23853 : #line 23007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23854 : (TARGET_BMI))
23855 : return -1;
23856 : return 1618; /* *bmi_blsr_si_cmp_falsedep */
23857 :
23858 : case 1:
23859 : if (!(
23860 : #line 23007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23861 : (TARGET_BMI) &&
23862 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23863 : (TARGET_64BIT)))
23864 : return -1;
23865 : return 1619; /* *bmi_blsr_di_cmp_falsedep */
23866 :
23867 : default:
23868 : return -1;
23869 : }
23870 :
23871 : default:
23872 : return -1;
23873 : }
23874 :
23875 : default:
23876 : return -1;
23877 : }
23878 : }
23879 :
23880 : int
23881 : recog_436 (rtx x1 ATTRIBUTE_UNUSED,
23882 : rtx_insn *insn ATTRIBUTE_UNUSED,
23883 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23884 : {
23885 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23886 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23887 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23888 : rtx x18, x19, x20;
23889 : int res ATTRIBUTE_UNUSED;
23890 : x2 = XVECEXP (x1, 0, 0);
23891 : x3 = XEXP (x2, 1);
23892 : if (GET_MODE (x3) != E_CCOmode)
23893 : return -1;
23894 : x4 = XEXP (x3, 0);
23895 : if (GET_CODE (x4) != MULT)
23896 : return -1;
23897 : x5 = XEXP (x4, 0);
23898 : if (GET_CODE (x5) != ZERO_EXTEND)
23899 : return -1;
23900 : x6 = XEXP (x4, 1);
23901 : if (GET_CODE (x6) != ZERO_EXTEND)
23902 : return -1;
23903 : x7 = XEXP (x3, 1);
23904 : if (GET_CODE (x7) != ZERO_EXTEND)
23905 : return -1;
23906 : x8 = XEXP (x7, 0);
23907 : if (GET_CODE (x8) != MULT)
23908 : return -1;
23909 : x9 = XEXP (x2, 0);
23910 : if (GET_CODE (x9) != REG
23911 : || REGNO (x9) != 17
23912 : || GET_MODE (x9) != E_CCOmode)
23913 : return -1;
23914 : x10 = XVECEXP (x1, 0, 1);
23915 : if (GET_CODE (x10) != SET)
23916 : return -1;
23917 : x11 = XEXP (x10, 1);
23918 : if (GET_CODE (x11) != MULT)
23919 : return -1;
23920 : x12 = XVECEXP (x1, 0, 2);
23921 : if (GET_CODE (x12) != CLOBBER)
23922 : return -1;
23923 : x13 = XEXP (x5, 0);
23924 : operands[1] = x13;
23925 : x14 = XEXP (x6, 0);
23926 : operands[2] = x14;
23927 : x15 = XEXP (x10, 0);
23928 : operands[0] = x15;
23929 : x16 = XEXP (x12, 0);
23930 : operands[3] = x16;
23931 : x17 = XEXP (x8, 0);
23932 : if (!rtx_equal_p (x17, operands[1]))
23933 : return -1;
23934 : x18 = XEXP (x8, 1);
23935 : if (!rtx_equal_p (x18, operands[2]))
23936 : return -1;
23937 : x19 = XEXP (x11, 0);
23938 : if (!rtx_equal_p (x19, operands[1]))
23939 : return -1;
23940 : x20 = XEXP (x11, 1);
23941 : if (!rtx_equal_p (x20, operands[2]))
23942 : return -1;
23943 : switch (GET_MODE (x4))
23944 : {
23945 : case E_SImode:
23946 : if (pattern1831 (x1,
23947 : E_HImode,
23948 : E_SImode) != 0
23949 : || !
23950 : #line 11648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23951 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23952 : return -1;
23953 : return 638; /* *umulvhi4 */
23954 :
23955 : case E_DImode:
23956 : if (pattern1831 (x1,
23957 : E_SImode,
23958 : E_DImode) != 0
23959 : || !
23960 : #line 11648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23961 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23962 : return -1;
23963 : return 639; /* *umulvsi4 */
23964 :
23965 : case E_TImode:
23966 : if (pattern1831 (x1,
23967 : E_DImode,
23968 : E_TImode) != 0
23969 : || !(
23970 : #line 11648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23971 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23972 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23973 : (TARGET_64BIT)))
23974 : return -1;
23975 : return 640; /* *umulvdi4 */
23976 :
23977 : default:
23978 : return -1;
23979 : }
23980 : }
23981 :
23982 : int
23983 : recog_439 (rtx x1 ATTRIBUTE_UNUSED,
23984 : rtx_insn *insn ATTRIBUTE_UNUSED,
23985 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23986 : {
23987 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23988 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23989 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23990 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
23991 : rtx x26, x27, x28;
23992 : int res ATTRIBUTE_UNUSED;
23993 : x2 = XVECEXP (x1, 0, 0);
23994 : if (GET_CODE (x2) != SET)
23995 : return -1;
23996 : x3 = XEXP (x2, 1);
23997 : switch (GET_CODE (x3))
23998 : {
23999 : case CONST_INT:
24000 : if (XWINT (x3, 0) != 0L)
24001 : return -1;
24002 : x4 = XVECEXP (x1, 0, 1);
24003 : if (GET_CODE (x4) != SET)
24004 : return -1;
24005 : x5 = XEXP (x4, 1);
24006 : if (GET_CODE (x5) != PLUS)
24007 : return -1;
24008 : x6 = XVECEXP (x1, 0, 2);
24009 : if (GET_CODE (x6) != SET)
24010 : return -1;
24011 : x7 = XVECEXP (x1, 0, 4);
24012 : if (GET_CODE (x7) != USE)
24013 : return -1;
24014 : x8 = XEXP (x4, 0);
24015 : operands[0] = x8;
24016 : x9 = XEXP (x5, 0);
24017 : switch (GET_CODE (x9))
24018 : {
24019 : case ASHIFT:
24020 : x10 = XEXP (x9, 1);
24021 : if (GET_CODE (x10) != CONST_INT)
24022 : return -1;
24023 : x11 = XEXP (x5, 1);
24024 : operands[3] = x11;
24025 : switch (XWINT (x10, 0))
24026 : {
24027 : case 3L:
24028 : switch (pattern1453 (x1,
24029 : 3,
24030 : E_DImode))
24031 : {
24032 : case 0:
24033 : if (!(
24034 : #line 26815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24035 : (TARGET_64BIT
24036 : && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24037 : && ix86_check_movs (insn, 3)) &&
24038 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24039 : (Pmode == SImode)))
24040 : return -1;
24041 : return 1801; /* *rep_movdi_rex64 */
24042 :
24043 : case 1:
24044 : if (!(
24045 : #line 26815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24046 : (TARGET_64BIT
24047 : && !(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24048 : && ix86_check_movs (insn, 3)) &&
24049 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24050 : (Pmode == DImode)))
24051 : return -1;
24052 : return 1802; /* *rep_movdi_rex64 */
24053 :
24054 : case 2:
24055 : if (!(
24056 : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24057 : (TARGET_64BIT
24058 : && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24059 : && ADDR_SPACE_GENERIC_P
24060 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24061 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24062 : (Pmode == SImode)))
24063 : return -1;
24064 : return 1815; /* *rep_stosdi_rex64 */
24065 :
24066 : case 3:
24067 : if (!(
24068 : #line 27039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24069 : (TARGET_64BIT
24070 : && !(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24071 : && ADDR_SPACE_GENERIC_P
24072 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24073 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24074 : (Pmode == DImode)))
24075 : return -1;
24076 : return 1816; /* *rep_stosdi_rex64 */
24077 :
24078 : default:
24079 : return -1;
24080 : }
24081 :
24082 : case 2L:
24083 : switch (pattern1453 (x1,
24084 : 2,
24085 : E_SImode))
24086 : {
24087 : case 0:
24088 : if (!(
24089 : #line 26843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24090 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24091 : && ix86_check_movs (insn, 3)) &&
24092 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24093 : (Pmode == SImode)))
24094 : return -1;
24095 : return 1803; /* *rep_movsi */
24096 :
24097 : case 1:
24098 : if (!(
24099 : #line 26843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24100 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24101 : && ix86_check_movs (insn, 3)) &&
24102 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24103 : (Pmode == DImode)))
24104 : return -1;
24105 : return 1804; /* *rep_movsi */
24106 :
24107 : case 2:
24108 : if (!(
24109 : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24110 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24111 : && ADDR_SPACE_GENERIC_P
24112 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24113 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24114 : (Pmode == SImode)))
24115 : return -1;
24116 : return 1817; /* *rep_stossi */
24117 :
24118 : case 3:
24119 : if (!(
24120 : #line 27059 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24121 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24122 : && ADDR_SPACE_GENERIC_P
24123 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24124 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24125 : (Pmode == DImode)))
24126 : return -1;
24127 : return 1818; /* *rep_stossi */
24128 :
24129 : default:
24130 : return -1;
24131 : }
24132 :
24133 : default:
24134 : return -1;
24135 : }
24136 :
24137 : case REG:
24138 : case SUBREG:
24139 : operands[3] = x9;
24140 : x12 = XEXP (x6, 1);
24141 : switch (GET_CODE (x12))
24142 : {
24143 : case PLUS:
24144 : x13 = XVECEXP (x1, 0, 3);
24145 : if (GET_CODE (x13) != SET)
24146 : return -1;
24147 : x14 = XEXP (x13, 1);
24148 : if (GET_CODE (x14) != MEM
24149 : || GET_MODE (x14) != E_BLKmode)
24150 : return -1;
24151 : x15 = XEXP (x13, 0);
24152 : if (GET_CODE (x15) != MEM
24153 : || GET_MODE (x15) != E_BLKmode)
24154 : return -1;
24155 : x16 = XEXP (x2, 0);
24156 : operands[2] = x16;
24157 : x11 = XEXP (x5, 1);
24158 : operands[5] = x11;
24159 : x17 = XEXP (x6, 0);
24160 : operands[1] = x17;
24161 : x18 = XEXP (x12, 0);
24162 : operands[4] = x18;
24163 : x19 = XEXP (x12, 1);
24164 : if (!rtx_equal_p (x19, operands[5]))
24165 : return -1;
24166 : x20 = XEXP (x14, 0);
24167 : if (!rtx_equal_p (x20, operands[4]))
24168 : return -1;
24169 : x21 = XEXP (x15, 0);
24170 : if (!rtx_equal_p (x21, operands[3]))
24171 : return -1;
24172 : x22 = XEXP (x7, 0);
24173 : if (!rtx_equal_p (x22, operands[5]))
24174 : return -1;
24175 : switch (GET_MODE (operands[2]))
24176 : {
24177 : case E_SImode:
24178 : if (pattern1857 (x1,
24179 : E_SImode) != 0
24180 : || !(
24181 : #line 26868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24182 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24183 : && ix86_check_movs (insn, 3)) &&
24184 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24185 : (Pmode == SImode)))
24186 : return -1;
24187 : return 1805; /* *rep_movqi */
24188 :
24189 : case E_DImode:
24190 : if (pattern1857 (x1,
24191 : E_DImode) != 0
24192 : || !(
24193 : #line 26868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24194 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24195 : && ix86_check_movs (insn, 3)) &&
24196 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24197 : (Pmode == DImode)))
24198 : return -1;
24199 : return 1806; /* *rep_movqi */
24200 :
24201 : default:
24202 : return -1;
24203 : }
24204 :
24205 : case CONST_INT:
24206 : if (XWINT (x12, 0) != 0L)
24207 : return -1;
24208 : x17 = XEXP (x6, 0);
24209 : if (GET_CODE (x17) != MEM
24210 : || GET_MODE (x17) != E_BLKmode)
24211 : return -1;
24212 : x13 = XVECEXP (x1, 0, 3);
24213 : if (GET_CODE (x13) != USE)
24214 : return -1;
24215 : x16 = XEXP (x2, 0);
24216 : operands[1] = x16;
24217 : x11 = XEXP (x5, 1);
24218 : operands[4] = x11;
24219 : x15 = XEXP (x13, 0);
24220 : operands[2] = x15;
24221 : if (!register_operand (operands[2], E_QImode))
24222 : return -1;
24223 : x23 = XEXP (x17, 0);
24224 : if (!rtx_equal_p (x23, operands[3]))
24225 : return -1;
24226 : x22 = XEXP (x7, 0);
24227 : if (!rtx_equal_p (x22, operands[4]))
24228 : return -1;
24229 : switch (GET_MODE (operands[1]))
24230 : {
24231 : case E_SImode:
24232 : if (pattern1804 (x5,
24233 : E_SImode) != 0
24234 : || !(
24235 : #line 27077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24236 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24237 : && ADDR_SPACE_GENERIC_P
24238 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24239 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24240 : (Pmode == SImode)))
24241 : return -1;
24242 : return 1819; /* *rep_stosqi */
24243 :
24244 : case E_DImode:
24245 : if (pattern1804 (x5,
24246 : E_DImode) != 0
24247 : || !(
24248 : #line 27077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24249 : (!(fixed_regs[AX_REG] || fixed_regs[CX_REG] || fixed_regs[DI_REG])
24250 : && ADDR_SPACE_GENERIC_P
24251 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 2))))) &&
24252 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24253 : (Pmode == DImode)))
24254 : return -1;
24255 : return 1820; /* *rep_stosqi */
24256 :
24257 : default:
24258 : return -1;
24259 : }
24260 :
24261 : default:
24262 : return -1;
24263 : }
24264 :
24265 : default:
24266 : return -1;
24267 : }
24268 :
24269 : case IF_THEN_ELSE:
24270 : if (pattern238 (x1) != 0)
24271 : return -1;
24272 : x24 = XEXP (x3, 1);
24273 : x25 = XEXP (x24, 0);
24274 : x26 = XEXP (x25, 0);
24275 : operands[4] = x26;
24276 : x27 = XEXP (x24, 1);
24277 : x28 = XEXP (x27, 0);
24278 : operands[5] = x28;
24279 : x4 = XVECEXP (x1, 0, 1);
24280 : x8 = XEXP (x4, 0);
24281 : operands[3] = x8;
24282 : if (!immediate_operand (operands[3], E_SImode))
24283 : return -1;
24284 : x6 = XVECEXP (x1, 0, 2);
24285 : x17 = XEXP (x6, 0);
24286 : operands[0] = x17;
24287 : x13 = XVECEXP (x1, 0, 3);
24288 : x15 = XEXP (x13, 0);
24289 : operands[1] = x15;
24290 : x7 = XVECEXP (x1, 0, 4);
24291 : x22 = XEXP (x7, 0);
24292 : operands[2] = x22;
24293 : switch (GET_MODE (operands[6]))
24294 : {
24295 : case E_SImode:
24296 : if (pattern1879 (
24297 : E_SImode) != 0
24298 : || !(
24299 : #line 27209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24300 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24301 : && ix86_check_no_addr_space (insn)) &&
24302 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24303 : (Pmode == SImode)))
24304 : return -1;
24305 : return 1823; /* *cmpstrnqi_1 */
24306 :
24307 : case E_DImode:
24308 : if (pattern1879 (
24309 : E_DImode) != 0
24310 : || !(
24311 : #line 27209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24312 : (!(fixed_regs[CX_REG] || fixed_regs[SI_REG] || fixed_regs[DI_REG])
24313 : && ix86_check_no_addr_space (insn)) &&
24314 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24315 : (Pmode == DImode)))
24316 : return -1;
24317 : return 1824; /* *cmpstrnqi_1 */
24318 :
24319 : default:
24320 : return -1;
24321 : }
24322 :
24323 : default:
24324 : return -1;
24325 : }
24326 : }
24327 :
24328 : rtx_insn *
24329 : split_6 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24330 : {
24331 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24332 : rtx x2, x3, x4, x5, x6, x7;
24333 : rtx_insn *res ATTRIBUTE_UNUSED;
24334 : x2 = XEXP (x1, 0);
24335 : operands[0] = x2;
24336 : x3 = XEXP (x1, 1);
24337 : x4 = XEXP (x3, 0);
24338 : switch (GET_CODE (x4))
24339 : {
24340 : case AND:
24341 : switch (pattern76 (x3))
24342 : {
24343 : case 0:
24344 : if (!(
24345 : #line 3769 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24346 : (TARGET_64BIT
24347 : && CONST_WIDE_INT_P (operands[3])
24348 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24349 : && CONST_WIDE_INT_ELT (operands[3], 0) == -1
24350 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0) &&
24351 : #line 3775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24352 : ( reload_completed)))
24353 : return NULL;
24354 : return gen_split_28 (insn, operands);
24355 :
24356 : case 1:
24357 : if (!(
24358 : #line 3791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24359 : (TARGET_64BIT
24360 : && CONST_WIDE_INT_P (operands[3])
24361 : && CONST_WIDE_INT_NUNITS (operands[3]) == 2
24362 : && CONST_WIDE_INT_ELT (operands[3], 0) == 0
24363 : && CONST_WIDE_INT_ELT (operands[3], 1) == -1) &&
24364 : #line 3797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24365 : ( reload_completed)))
24366 : return NULL;
24367 : return gen_split_31 (insn, operands);
24368 :
24369 : case 2:
24370 : if (!(
24371 : #line 3813 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24372 : (!TARGET_64BIT
24373 : && CONST_INT_P (operands[3])
24374 : && UINTVAL (operands[3]) == 0xffffffff00000000ll) &&
24375 : #line 3817 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24376 : ( reload_completed)))
24377 : return NULL;
24378 : return gen_split_34 (insn, operands);
24379 :
24380 : default:
24381 : return NULL;
24382 : }
24383 :
24384 : case REG:
24385 : case SUBREG:
24386 : operands[1] = x4;
24387 : x5 = XEXP (x3, 1);
24388 : operands[2] = x5;
24389 : switch (GET_MODE (operands[0]))
24390 : {
24391 : case E_QImode:
24392 : if (pattern842 (x3,
24393 : E_QImode) != 0
24394 : || !
24395 : #line 7278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24396 : (TARGET_APX_NF && reload_completed
24397 : && ix86_lea_for_add_ok (insn, operands)))
24398 : return NULL;
24399 : return gen_split_135 (insn, operands);
24400 :
24401 : case E_HImode:
24402 : if (pattern842 (x3,
24403 : E_HImode) != 0
24404 : || !
24405 : #line 7278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24406 : (TARGET_APX_NF && reload_completed
24407 : && ix86_lea_for_add_ok (insn, operands)))
24408 : return NULL;
24409 : return gen_split_136 (insn, operands);
24410 :
24411 : case E_SImode:
24412 : if (pattern843 (x3,
24413 : E_SImode) != 0
24414 : || !
24415 : #line 7278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24416 : (TARGET_APX_NF && reload_completed
24417 : && ix86_lea_for_add_ok (insn, operands)))
24418 : return NULL;
24419 : return gen_split_137 (insn, operands);
24420 :
24421 : case E_DImode:
24422 : if (pattern843 (x3,
24423 : E_DImode) != 0
24424 : || !(
24425 : #line 7278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24426 : (TARGET_APX_NF && reload_completed
24427 : && ix86_lea_for_add_ok (insn, operands)) &&
24428 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24429 : (TARGET_64BIT)))
24430 : return NULL;
24431 : return gen_split_138 (insn, operands);
24432 :
24433 : default:
24434 : return NULL;
24435 : }
24436 :
24437 : case PLUS:
24438 : x6 = XEXP (x4, 0);
24439 : switch (GET_CODE (x6))
24440 : {
24441 : case REG:
24442 : case SUBREG:
24443 : switch (pattern433 (x3))
24444 : {
24445 : case 0:
24446 : if (!(
24447 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24448 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24449 : #line 8124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24450 : ( reload_completed)))
24451 : return NULL;
24452 : return gen_split_156 (insn, operands);
24453 :
24454 : case 1:
24455 : if (!(
24456 : #line 8122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24457 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24458 : #line 8124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24459 : ( reload_completed)))
24460 : return NULL;
24461 : return gen_split_157 (insn, operands);
24462 :
24463 : default:
24464 : return NULL;
24465 : }
24466 :
24467 : case MULT:
24468 : switch (pattern436 (x3))
24469 : {
24470 : case 0:
24471 : if (!(
24472 : #line 8188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24473 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24474 : #line 8190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24475 : ( reload_completed)))
24476 : return NULL;
24477 : return gen_split_162 (insn, operands);
24478 :
24479 : case 1:
24480 : if (!(
24481 : #line 8188 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24482 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24483 : #line 8190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24484 : ( reload_completed)))
24485 : return NULL;
24486 : return gen_split_163 (insn, operands);
24487 :
24488 : default:
24489 : return NULL;
24490 : }
24491 :
24492 : case ASHIFT:
24493 : switch (pattern582 (x3))
24494 : {
24495 : case 0:
24496 : if (!(
24497 : #line 8214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24498 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24499 : #line 8216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24500 : ( reload_completed)))
24501 : return NULL;
24502 : return gen_split_164 (insn, operands);
24503 :
24504 : case 1:
24505 : if (!(
24506 : #line 8214 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24507 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24508 : #line 8216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24509 : ( reload_completed)))
24510 : return NULL;
24511 : return gen_split_165 (insn, operands);
24512 :
24513 : default:
24514 : return NULL;
24515 : }
24516 :
24517 : default:
24518 : return NULL;
24519 : }
24520 :
24521 : case MULT:
24522 : switch (pattern402 (x3))
24523 : {
24524 : case 0:
24525 : if (!(
24526 : #line 8144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24527 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24528 : #line 8146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24529 : ( reload_completed)))
24530 : return NULL;
24531 : return gen_split_158 (insn, operands);
24532 :
24533 : case 1:
24534 : if (!(
24535 : #line 8144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24536 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24537 : #line 8146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24538 : ( reload_completed)))
24539 : return NULL;
24540 : return gen_split_159 (insn, operands);
24541 :
24542 : default:
24543 : return NULL;
24544 : }
24545 :
24546 : case ASHIFT:
24547 : x7 = XEXP (x4, 1);
24548 : operands[2] = x7;
24549 : x6 = XEXP (x4, 0);
24550 : switch (GET_CODE (x6))
24551 : {
24552 : case REG:
24553 : case SUBREG:
24554 : operands[1] = x6;
24555 : x5 = XEXP (x3, 1);
24556 : switch (GET_CODE (x5))
24557 : {
24558 : case CONST_INT:
24559 : case CONST_WIDE_INT:
24560 : case CONST_POLY_INT:
24561 : case CONST_FIXED:
24562 : case CONST_DOUBLE:
24563 : case CONST_VECTOR:
24564 : case CONST:
24565 : case REG:
24566 : case SUBREG:
24567 : case LABEL_REF:
24568 : case SYMBOL_REF:
24569 : case HIGH:
24570 : operands[3] = x5;
24571 : switch (GET_MODE (operands[0]))
24572 : {
24573 : case E_QImode:
24574 : if (pattern1093 (x3,
24575 : E_QImode) != 0
24576 : || !(
24577 : #line 8165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24578 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24579 : #line 8167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24580 : ( reload_completed)))
24581 : return NULL;
24582 : return gen_split_160 (insn, operands);
24583 :
24584 : case E_HImode:
24585 : if (pattern1093 (x3,
24586 : E_HImode) != 0
24587 : || !(
24588 : #line 8165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24589 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24590 : #line 8167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24591 : ( reload_completed)))
24592 : return NULL;
24593 : return gen_split_161 (insn, operands);
24594 :
24595 : case E_DImode:
24596 : if (pattern617 (x3,
24597 : E_DImode) != 0
24598 : || !((
24599 : #line 15021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24600 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT / 2
24601 : && (DImode == DImode
24602 : ? CONST_INT_P (operands[3])
24603 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24604 : : CONST_INT_P (operands[3])
24605 : ? INTVAL (operands[3]) >= 0
24606 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24607 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24608 : && !(CONST_INT_P (operands[3])
24609 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24610 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24611 : 0)),
24612 : VOIDmode))) &&
24613 : #line 1226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24614 : (!TARGET_64BIT)) &&
24615 : #line 15035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24616 : ( reload_completed)))
24617 : return NULL;
24618 : return gen_split_472 (insn, operands);
24619 :
24620 : case E_TImode:
24621 : if (pattern617 (x3,
24622 : E_TImode) != 0
24623 : || !((
24624 : #line 15021 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24625 : (INTVAL (operands[2]) == 16 * BITS_PER_UNIT / 2
24626 : && (TImode == DImode
24627 : ? CONST_INT_P (operands[3])
24628 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24629 : : CONST_INT_P (operands[3])
24630 : ? INTVAL (operands[3]) >= 0
24631 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24632 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24633 : && !(CONST_INT_P (operands[3])
24634 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24635 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24636 : 0)),
24637 : VOIDmode))) &&
24638 : #line 1227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24639 : (TARGET_64BIT)) &&
24640 : #line 15035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24641 : ( reload_completed)))
24642 : return NULL;
24643 : return gen_split_475 (insn, operands);
24644 :
24645 : default:
24646 : return NULL;
24647 : }
24648 :
24649 : case ZERO_EXTEND:
24650 : switch (pattern958 (x3))
24651 : {
24652 : case 0:
24653 : if (!((
24654 : #line 14944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24655 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24656 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24657 : (!TARGET_64BIT)) &&
24658 : #line 14946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24659 : ( reload_completed)))
24660 : return NULL;
24661 : return gen_split_436 (insn, operands);
24662 :
24663 : case 1:
24664 : if (!((
24665 : #line 14944 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24666 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24667 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24668 : (TARGET_64BIT)) &&
24669 : #line 14946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24670 : ( reload_completed)))
24671 : return NULL;
24672 : return gen_split_439 (insn, operands);
24673 :
24674 : default:
24675 : return NULL;
24676 : }
24677 :
24678 : default:
24679 : return NULL;
24680 : }
24681 :
24682 : case SIGN_EXTEND:
24683 : switch (pattern725 (x3))
24684 : {
24685 : case 0:
24686 : if (!((
24687 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24688 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24689 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24690 : (!TARGET_64BIT)) &&
24691 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24692 : ( reload_completed)))
24693 : return NULL;
24694 : return gen_split_448 (insn, operands);
24695 :
24696 : case 1:
24697 : if (!((
24698 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24699 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24700 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24701 : (TARGET_64BIT)) &&
24702 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24703 : ( reload_completed)))
24704 : return NULL;
24705 : return gen_split_454 (insn, operands);
24706 :
24707 : case 2:
24708 : if (!((
24709 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24710 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
24711 : && (DImode == DImode
24712 : ? CONST_INT_P (operands[3])
24713 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24714 : : CONST_INT_P (operands[3])
24715 : ? INTVAL (operands[3]) >= 0
24716 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24717 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24718 : && !(CONST_INT_P (operands[3])
24719 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24720 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24721 : 0)),
24722 : VOIDmode))) &&
24723 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24724 : (!TARGET_64BIT)) &&
24725 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24726 : ( reload_completed)))
24727 : return NULL;
24728 : return gen_split_478 (insn, operands);
24729 :
24730 : case 3:
24731 : if (!((
24732 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24733 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
24734 : && (TImode == DImode
24735 : ? CONST_INT_P (operands[3])
24736 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24737 : : CONST_INT_P (operands[3])
24738 : ? INTVAL (operands[3]) >= 0
24739 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24740 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24741 : && !(CONST_INT_P (operands[3])
24742 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24743 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24744 : 0)),
24745 : VOIDmode))) &&
24746 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24747 : (TARGET_64BIT)) &&
24748 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24749 : ( reload_completed)))
24750 : return NULL;
24751 : return gen_split_484 (insn, operands);
24752 :
24753 : default:
24754 : return NULL;
24755 : }
24756 :
24757 : case ZERO_EXTEND:
24758 : switch (pattern725 (x3))
24759 : {
24760 : case 0:
24761 : if (!((
24762 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24763 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT) &&
24764 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24765 : (!TARGET_64BIT)) &&
24766 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24767 : ( reload_completed)))
24768 : return NULL;
24769 : return gen_split_451 (insn, operands);
24770 :
24771 : case 1:
24772 : if (!((
24773 : #line 14980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24774 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT) &&
24775 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24776 : (TARGET_64BIT)) &&
24777 : #line 14982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24778 : ( reload_completed)))
24779 : return NULL;
24780 : return gen_split_457 (insn, operands);
24781 :
24782 : case 2:
24783 : if (!((
24784 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24785 : (INTVAL (operands[2]) == 4 * BITS_PER_UNIT
24786 : && (DImode == DImode
24787 : ? CONST_INT_P (operands[3])
24788 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24789 : : CONST_INT_P (operands[3])
24790 : ? INTVAL (operands[3]) >= 0
24791 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24792 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24793 : && !(CONST_INT_P (operands[3])
24794 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24795 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24796 : 0)),
24797 : VOIDmode))) &&
24798 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24799 : (!TARGET_64BIT)) &&
24800 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24801 : ( reload_completed)))
24802 : return NULL;
24803 : return gen_split_481 (insn, operands);
24804 :
24805 : case 3:
24806 : if (!((
24807 : #line 15053 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24808 : (INTVAL (operands[2]) == 8 * BITS_PER_UNIT
24809 : && (TImode == DImode
24810 : ? CONST_INT_P (operands[3])
24811 : && (UINTVAL (operands[3]) & ~GET_MODE_MASK (SImode)) == 0
24812 : : CONST_INT_P (operands[3])
24813 : ? INTVAL (operands[3]) >= 0
24814 : : CONST_WIDE_INT_NUNITS (operands[3]) == 2
24815 : && CONST_WIDE_INT_ELT (operands[3], 1) == 0)
24816 : && !(CONST_INT_P (operands[3])
24817 : ? ix86_endbr_immediate_operand (operands[3], VOIDmode)
24818 : : ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[3],
24819 : 0)),
24820 : VOIDmode))) &&
24821 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24822 : (TARGET_64BIT)) &&
24823 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24824 : ( reload_completed)))
24825 : return NULL;
24826 : return gen_split_487 (insn, operands);
24827 :
24828 : default:
24829 : return NULL;
24830 : }
24831 :
24832 : default:
24833 : return NULL;
24834 : }
24835 :
24836 : case ZERO_EXTEND:
24837 : switch (pattern407 (x3))
24838 : {
24839 : case 0:
24840 : if (!((
24841 : #line 14961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24842 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
24843 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24844 : (!TARGET_64BIT)) &&
24845 : #line 14963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24846 : ( reload_completed)))
24847 : return NULL;
24848 : return gen_split_442 (insn, operands);
24849 :
24850 : case 1:
24851 : if (!((
24852 : #line 14961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24853 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24854 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24855 : (TARGET_64BIT)) &&
24856 : #line 14963 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24857 : ( reload_completed)))
24858 : return NULL;
24859 : return gen_split_445 (insn, operands);
24860 :
24861 : case 2:
24862 : if (!((
24863 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24864 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
24865 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24866 : (!TARGET_64BIT)) &&
24867 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24868 : ( reload_completed)))
24869 : return NULL;
24870 : return gen_split_460 (insn, operands);
24871 :
24872 : case 3:
24873 : if (!((
24874 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24875 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24876 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24877 : (TARGET_64BIT)) &&
24878 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24879 : ( reload_completed)))
24880 : return NULL;
24881 : return gen_split_466 (insn, operands);
24882 :
24883 : case 4:
24884 : if (!((
24885 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24886 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
24887 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24888 : (!TARGET_64BIT)) &&
24889 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24890 : ( reload_completed)))
24891 : return NULL;
24892 : return gen_split_463 (insn, operands);
24893 :
24894 : case 5:
24895 : if (!((
24896 : #line 15005 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24897 : (INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
24898 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24899 : (TARGET_64BIT)) &&
24900 : #line 15007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24901 : ( reload_completed)))
24902 : return NULL;
24903 : return gen_split_469 (insn, operands);
24904 :
24905 : case 6:
24906 : if (!((
24907 : #line 15082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24908 : (DImode == DImode
24909 : ? CONST_INT_P (operands[2])
24910 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
24911 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
24912 : : CONST_WIDE_INT_P (operands[2])
24913 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
24914 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
24915 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
24916 : 1)),
24917 : VOIDmode)) &&
24918 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24919 : (!TARGET_64BIT)) &&
24920 : #line 15093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24921 : ( reload_completed)))
24922 : return NULL;
24923 : return gen_split_490 (insn, operands);
24924 :
24925 : case 7:
24926 : if (!((
24927 : #line 15082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24928 : (TImode == DImode
24929 : ? CONST_INT_P (operands[2])
24930 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
24931 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
24932 : : CONST_WIDE_INT_P (operands[2])
24933 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
24934 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
24935 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
24936 : 1)),
24937 : VOIDmode)) &&
24938 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24939 : (TARGET_64BIT)) &&
24940 : #line 15093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24941 : ( reload_completed)))
24942 : return NULL;
24943 : return gen_split_493 (insn, operands);
24944 :
24945 : default:
24946 : return NULL;
24947 : }
24948 :
24949 : default:
24950 : return NULL;
24951 : }
24952 : }
24953 :
24954 : rtx_insn *
24955 : split_22 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24956 : {
24957 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24958 : rtx x2, x3, x4, x5, x6, x7, x8;
24959 : rtx_insn *res ATTRIBUTE_UNUSED;
24960 : x2 = XVECEXP (x1, 0, 0);
24961 : x3 = XEXP (x2, 1);
24962 : x4 = XEXP (x3, 0);
24963 : x5 = XEXP (x4, 0);
24964 : switch (GET_CODE (x5))
24965 : {
24966 : case REG:
24967 : case SUBREG:
24968 : operands[1] = x5;
24969 : if (!register_operand (operands[1], E_SImode))
24970 : return NULL;
24971 : x6 = XEXP (x2, 0);
24972 : operands[0] = x6;
24973 : if (!register_operand (operands[0], E_DImode)
24974 : || GET_MODE (x3) != E_DImode
24975 : || GET_MODE (x4) != E_DImode)
24976 : return NULL;
24977 : x7 = XEXP (x3, 1);
24978 : operands[2] = x7;
24979 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
24980 : || !
24981 : #line 13384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24982 : (TARGET_64BIT))
24983 : return NULL;
24984 : return gen_split_292 (insn, operands);
24985 :
24986 : case ASHIFTRT:
24987 : case LSHIFTRT:
24988 : case SIGN_EXTRACT:
24989 : case ZERO_EXTRACT:
24990 : operands[3] = x5;
24991 : if (GET_MODE (x3) != E_QImode
24992 : || GET_MODE (x4) != E_QImode)
24993 : return NULL;
24994 : x8 = XEXP (x5, 0);
24995 : if (!int248_register_operand (x8, E_VOIDmode))
24996 : return NULL;
24997 : operands[2] = x8;
24998 : switch (pattern1649 (x2))
24999 : {
25000 : case 0:
25001 : if ((
25002 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25003 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25004 : #line 13582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25005 : ( reload_completed
25006 : && !rtx_equal_p (operands[0], operands[1]))))
25007 : return gen_split_299 (insn, operands);
25008 : break;
25009 :
25010 : case 1:
25011 : if ((
25012 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25013 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25014 : #line 13582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25015 : ( reload_completed
25016 : && !rtx_equal_p (operands[0], operands[1]))))
25017 : return gen_split_302 (insn, operands);
25018 : break;
25019 :
25020 : case 2:
25021 : if (((
25022 : #line 13578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25023 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25024 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25025 : (TARGET_64BIT)) &&
25026 : #line 13582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25027 : ( reload_completed
25028 : && !rtx_equal_p (operands[0], operands[1]))))
25029 : return gen_split_305 (insn, operands);
25030 : break;
25031 :
25032 : default:
25033 : break;
25034 : }
25035 : operands[1] = x8;
25036 : switch (pattern1650 (x2))
25037 : {
25038 : case 0:
25039 : if (!(
25040 : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25041 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25042 : #line 13609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25043 : ( reload_completed)))
25044 : return NULL;
25045 : return gen_split_308 (insn, operands);
25046 :
25047 : case 1:
25048 : if (!(
25049 : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25050 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25051 : #line 13609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25052 : ( reload_completed)))
25053 : return NULL;
25054 : return gen_split_311 (insn, operands);
25055 :
25056 : case 2:
25057 : if (!((
25058 : #line 13607 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25059 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25060 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25061 : (TARGET_64BIT)) &&
25062 : #line 13609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25063 : ( reload_completed)))
25064 : return NULL;
25065 : return gen_split_314 (insn, operands);
25066 :
25067 : case 3:
25068 : if (!
25069 : #line 13863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25070 : ( reload_completed))
25071 : return NULL;
25072 : return gen_split_328 (insn, operands);
25073 :
25074 : case 4:
25075 : if (!
25076 : #line 13863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25077 : ( reload_completed))
25078 : return NULL;
25079 : return gen_split_331 (insn, operands);
25080 :
25081 : case 5:
25082 : if (!(
25083 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25084 : (TARGET_64BIT) &&
25085 : #line 13863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25086 : ( reload_completed)))
25087 : return NULL;
25088 : return gen_split_334 (insn, operands);
25089 :
25090 : default:
25091 : return NULL;
25092 : }
25093 :
25094 : case ROTATE:
25095 : if (GET_MODE (x5) != E_SImode)
25096 : return NULL;
25097 : x8 = XEXP (x5, 0);
25098 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
25099 : return NULL;
25100 : switch (pattern1442 (x2))
25101 : {
25102 : case 0:
25103 : if (!(
25104 : #line 19902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25105 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25106 : #line 19904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25107 : ( 1)))
25108 : return NULL;
25109 : return gen_split_814 (insn, operands);
25110 :
25111 : case 1:
25112 : if (!(
25113 : #line 19902 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25114 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25115 : #line 19904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25116 : ( 1)))
25117 : return NULL;
25118 : return gen_split_815 (insn, operands);
25119 :
25120 : default:
25121 : return NULL;
25122 : }
25123 :
25124 : default:
25125 : return NULL;
25126 : }
25127 : }
25128 :
25129 : rtx_insn *
25130 : split_28 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25131 : {
25132 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25133 : rtx x2, x3, x4, x5, x6, x7;
25134 : rtx_insn *res ATTRIBUTE_UNUSED;
25135 : x2 = XVECEXP (x1, 0, 0);
25136 : x3 = XEXP (x2, 1);
25137 : if (maybe_ne (SUBREG_BYTE (x3), 0))
25138 : return NULL;
25139 : x4 = XVECEXP (x1, 0, 1);
25140 : if (pattern237 (x4,
25141 : E_CCmode,
25142 : 17) != 0)
25143 : return NULL;
25144 : switch (pattern1050 (x2))
25145 : {
25146 : case 0:
25147 : x5 = XEXP (x3, 0);
25148 : x6 = XEXP (x5, 1);
25149 : operands[2] = x6;
25150 : if (general_operand (operands[2], E_QImode))
25151 : {
25152 : switch (pattern1048 (x2))
25153 : {
25154 : case 0:
25155 : if (
25156 : #line 7749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25157 : (reload_completed
25158 : && !rtx_equal_p (operands[0], operands[1])))
25159 : return gen_split_143 (insn, operands);
25160 : break;
25161 :
25162 : case 1:
25163 : if (
25164 : #line 7749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25165 : (reload_completed
25166 : && !rtx_equal_p (operands[0], operands[1])))
25167 : return gen_split_144 (insn, operands);
25168 : break;
25169 :
25170 : case 2:
25171 : if ((
25172 : #line 7749 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25173 : (reload_completed
25174 : && !rtx_equal_p (operands[0], operands[1])) &&
25175 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25176 : (TARGET_64BIT)))
25177 : return gen_split_145 (insn, operands);
25178 : break;
25179 :
25180 : default:
25181 : break;
25182 : }
25183 : }
25184 : if (GET_CODE (x6) != SUBREG)
25185 : return NULL;
25186 : switch (pattern1815 (x2))
25187 : {
25188 : case 0:
25189 : if (!
25190 : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25191 : (reload_completed
25192 : && !(rtx_equal_p (operands[0], operands[1])
25193 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25194 : return NULL;
25195 : return gen_split_146 (insn, operands);
25196 :
25197 : case 1:
25198 : if (!
25199 : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25200 : (reload_completed
25201 : && !(rtx_equal_p (operands[0], operands[1])
25202 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25203 : return NULL;
25204 : return gen_split_148 (insn, operands);
25205 :
25206 : case 2:
25207 : if (!(
25208 : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25209 : (reload_completed
25210 : && !(rtx_equal_p (operands[0], operands[1])
25211 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
25212 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25213 : (TARGET_64BIT)))
25214 : return NULL;
25215 : return gen_split_150 (insn, operands);
25216 :
25217 : default:
25218 : return NULL;
25219 : }
25220 :
25221 : case 1:
25222 : x5 = XEXP (x3, 0);
25223 : x6 = XEXP (x5, 1);
25224 : if (GET_CODE (x6) == SUBREG)
25225 : {
25226 : switch (pattern1815 (x2))
25227 : {
25228 : case 0:
25229 : if (
25230 : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25231 : (reload_completed
25232 : && !(rtx_equal_p (operands[0], operands[1])
25233 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25234 : return gen_split_147 (insn, operands);
25235 : break;
25236 :
25237 : case 1:
25238 : if (
25239 : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25240 : (reload_completed
25241 : && !(rtx_equal_p (operands[0], operands[1])
25242 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25243 : return gen_split_149 (insn, operands);
25244 : break;
25245 :
25246 : case 2:
25247 : if ((
25248 : #line 7792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25249 : (reload_completed
25250 : && !(rtx_equal_p (operands[0], operands[1])
25251 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
25252 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25253 : (TARGET_64BIT)))
25254 : return gen_split_151 (insn, operands);
25255 : break;
25256 :
25257 : default:
25258 : break;
25259 : }
25260 : }
25261 : operands[2] = x6;
25262 : if (!general_operand (operands[2], E_QImode))
25263 : return NULL;
25264 : switch (pattern1048 (x2))
25265 : {
25266 : case 0:
25267 : if (!
25268 : #line 8623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25269 : (reload_completed
25270 : && !(rtx_equal_p (operands[0], operands[1]))))
25271 : return NULL;
25272 : return gen_split_189 (insn, operands);
25273 :
25274 : case 1:
25275 : if (!
25276 : #line 8623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25277 : (reload_completed
25278 : && !(rtx_equal_p (operands[0], operands[1]))))
25279 : return NULL;
25280 : return gen_split_190 (insn, operands);
25281 :
25282 : case 2:
25283 : if (!(
25284 : #line 8623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25285 : (reload_completed
25286 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25287 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25288 : (TARGET_64BIT)))
25289 : return NULL;
25290 : return gen_split_191 (insn, operands);
25291 :
25292 : default:
25293 : return NULL;
25294 : }
25295 :
25296 : case 2:
25297 : x5 = XEXP (x3, 0);
25298 : x6 = XEXP (x5, 1);
25299 : operands[2] = x6;
25300 : if (general_operand (operands[2], E_QImode))
25301 : {
25302 : switch (pattern1048 (x2))
25303 : {
25304 : case 0:
25305 : if (
25306 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25307 : (reload_completed
25308 : && !(rtx_equal_p (operands[0], operands[1]))))
25309 : return gen_split_337 (insn, operands);
25310 : break;
25311 :
25312 : case 1:
25313 : if (
25314 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25315 : (reload_completed
25316 : && !(rtx_equal_p (operands[0], operands[1]))))
25317 : return gen_split_340 (insn, operands);
25318 : break;
25319 :
25320 : case 2:
25321 : if ((
25322 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25323 : (reload_completed
25324 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25325 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25326 : (TARGET_64BIT)))
25327 : return gen_split_343 (insn, operands);
25328 : break;
25329 :
25330 : default:
25331 : break;
25332 : }
25333 : }
25334 : if (GET_CODE (x6) != SUBREG)
25335 : return NULL;
25336 : switch (pattern1815 (x2))
25337 : {
25338 : case 0:
25339 : if (!
25340 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25341 : (reload_completed
25342 : && !(rtx_equal_p (operands[0], operands[1])
25343 : || rtx_equal_p (operands[0], operands[2]))))
25344 : return NULL;
25345 : return gen_split_355 (insn, operands);
25346 :
25347 : case 1:
25348 : if (!
25349 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25350 : (reload_completed
25351 : && !(rtx_equal_p (operands[0], operands[1])
25352 : || rtx_equal_p (operands[0], operands[2]))))
25353 : return NULL;
25354 : return gen_split_358 (insn, operands);
25355 :
25356 : case 2:
25357 : if (!(
25358 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25359 : (reload_completed
25360 : && !(rtx_equal_p (operands[0], operands[1])
25361 : || rtx_equal_p (operands[0], operands[2]))) &&
25362 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25363 : (TARGET_64BIT)))
25364 : return NULL;
25365 : return gen_split_361 (insn, operands);
25366 :
25367 : default:
25368 : return NULL;
25369 : }
25370 :
25371 : case 3:
25372 : x5 = XEXP (x3, 0);
25373 : x6 = XEXP (x5, 1);
25374 : operands[2] = x6;
25375 : if (general_operand (operands[2], E_QImode))
25376 : {
25377 : switch (pattern1048 (x2))
25378 : {
25379 : case 0:
25380 : if (
25381 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25382 : (reload_completed
25383 : && !(rtx_equal_p (operands[0], operands[1]))))
25384 : return gen_split_338 (insn, operands);
25385 : break;
25386 :
25387 : case 1:
25388 : if (
25389 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25390 : (reload_completed
25391 : && !(rtx_equal_p (operands[0], operands[1]))))
25392 : return gen_split_341 (insn, operands);
25393 : break;
25394 :
25395 : case 2:
25396 : if ((
25397 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25398 : (reload_completed
25399 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25400 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25401 : (TARGET_64BIT)))
25402 : return gen_split_344 (insn, operands);
25403 : break;
25404 :
25405 : default:
25406 : break;
25407 : }
25408 : }
25409 : if (GET_CODE (x6) != SUBREG)
25410 : return NULL;
25411 : switch (pattern1815 (x2))
25412 : {
25413 : case 0:
25414 : if (!
25415 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25416 : (reload_completed
25417 : && !(rtx_equal_p (operands[0], operands[1])
25418 : || rtx_equal_p (operands[0], operands[2]))))
25419 : return NULL;
25420 : return gen_split_356 (insn, operands);
25421 :
25422 : case 1:
25423 : if (!
25424 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25425 : (reload_completed
25426 : && !(rtx_equal_p (operands[0], operands[1])
25427 : || rtx_equal_p (operands[0], operands[2]))))
25428 : return NULL;
25429 : return gen_split_359 (insn, operands);
25430 :
25431 : case 2:
25432 : if (!(
25433 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25434 : (reload_completed
25435 : && !(rtx_equal_p (operands[0], operands[1])
25436 : || rtx_equal_p (operands[0], operands[2]))) &&
25437 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25438 : (TARGET_64BIT)))
25439 : return NULL;
25440 : return gen_split_362 (insn, operands);
25441 :
25442 : default:
25443 : return NULL;
25444 : }
25445 :
25446 : case 4:
25447 : x5 = XEXP (x3, 0);
25448 : x6 = XEXP (x5, 1);
25449 : operands[2] = x6;
25450 : if (general_operand (operands[2], E_QImode))
25451 : {
25452 : switch (pattern1048 (x2))
25453 : {
25454 : case 0:
25455 : if (
25456 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25457 : (reload_completed
25458 : && !(rtx_equal_p (operands[0], operands[1]))))
25459 : return gen_split_339 (insn, operands);
25460 : break;
25461 :
25462 : case 1:
25463 : if (
25464 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25465 : (reload_completed
25466 : && !(rtx_equal_p (operands[0], operands[1]))))
25467 : return gen_split_342 (insn, operands);
25468 : break;
25469 :
25470 : case 2:
25471 : if ((
25472 : #line 13911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25473 : (reload_completed
25474 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25475 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25476 : (TARGET_64BIT)))
25477 : return gen_split_345 (insn, operands);
25478 : break;
25479 :
25480 : default:
25481 : break;
25482 : }
25483 : }
25484 : if (GET_CODE (x6) != SUBREG)
25485 : return NULL;
25486 : switch (pattern1815 (x2))
25487 : {
25488 : case 0:
25489 : if (!
25490 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25491 : (reload_completed
25492 : && !(rtx_equal_p (operands[0], operands[1])
25493 : || rtx_equal_p (operands[0], operands[2]))))
25494 : return NULL;
25495 : return gen_split_357 (insn, operands);
25496 :
25497 : case 1:
25498 : if (!
25499 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25500 : (reload_completed
25501 : && !(rtx_equal_p (operands[0], operands[1])
25502 : || rtx_equal_p (operands[0], operands[2]))))
25503 : return NULL;
25504 : return gen_split_360 (insn, operands);
25505 :
25506 : case 2:
25507 : if (!(
25508 : #line 14003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25509 : (reload_completed
25510 : && !(rtx_equal_p (operands[0], operands[1])
25511 : || rtx_equal_p (operands[0], operands[2]))) &&
25512 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25513 : (TARGET_64BIT)))
25514 : return NULL;
25515 : return gen_split_363 (insn, operands);
25516 :
25517 : default:
25518 : return NULL;
25519 : }
25520 :
25521 : case 5:
25522 : if (!
25523 : #line 15422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25524 : (reload_completed
25525 : && !(rtx_equal_p (operands[0], operands[1]))))
25526 : return NULL;
25527 : return gen_split_500 (insn, operands);
25528 :
25529 : case 6:
25530 : if (!
25531 : #line 15422 "/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_501 (insn, operands);
25536 :
25537 : case 7:
25538 : if (!(
25539 : #line 15422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25540 : (reload_completed
25541 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25542 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25543 : (TARGET_64BIT)))
25544 : return NULL;
25545 : return gen_split_502 (insn, operands);
25546 :
25547 : case 8:
25548 : if (!
25549 : #line 17470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25550 : (reload_completed
25551 : && !(rtx_equal_p (operands[0], operands[1]))))
25552 : return NULL;
25553 : return gen_split_592 (insn, operands);
25554 :
25555 : case 9:
25556 : if (!
25557 : #line 17470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25558 : (reload_completed
25559 : && !(rtx_equal_p (operands[0], operands[1]))))
25560 : return NULL;
25561 : return gen_split_593 (insn, operands);
25562 :
25563 : case 10:
25564 : if (!(
25565 : #line 17470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25566 : (reload_completed
25567 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25568 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25569 : (TARGET_64BIT)))
25570 : return NULL;
25571 : return gen_split_594 (insn, operands);
25572 :
25573 : case 11:
25574 : x7 = XEXP (x2, 0);
25575 : operands[0] = x7;
25576 : switch (pattern1242 (x3))
25577 : {
25578 : case 0:
25579 : if (((
25580 : #line 17698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25581 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25582 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25583 : (!TARGET_64BIT)) &&
25584 : #line 17700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25585 : ( reload_completed)))
25586 : return gen_split_611 (insn, operands);
25587 : break;
25588 :
25589 : case 1:
25590 : if (((
25591 : #line 17698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25592 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25593 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25594 : (TARGET_64BIT)) &&
25595 : #line 17700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25596 : ( reload_completed)))
25597 : return gen_split_613 (insn, operands);
25598 : break;
25599 :
25600 : default:
25601 : break;
25602 : }
25603 : x5 = XEXP (x3, 0);
25604 : if (GET_MODE (x5) != E_QImode)
25605 : return NULL;
25606 : switch (pattern1049 (x2))
25607 : {
25608 : case 0:
25609 : if (!
25610 : #line 18738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25611 : (reload_completed
25612 : && !(rtx_equal_p (operands[0], operands[1]))))
25613 : return NULL;
25614 : return gen_split_638 (insn, operands);
25615 :
25616 : case 1:
25617 : if (!
25618 : #line 18738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25619 : (reload_completed
25620 : && !(rtx_equal_p (operands[0], operands[1]))))
25621 : return NULL;
25622 : return gen_split_640 (insn, operands);
25623 :
25624 : case 2:
25625 : if (!(
25626 : #line 18738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25627 : (reload_completed
25628 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25629 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25630 : (TARGET_64BIT)))
25631 : return NULL;
25632 : return gen_split_642 (insn, operands);
25633 :
25634 : default:
25635 : return NULL;
25636 : }
25637 :
25638 : case 12:
25639 : x7 = XEXP (x2, 0);
25640 : operands[0] = x7;
25641 : switch (pattern1242 (x3))
25642 : {
25643 : case 0:
25644 : if (((
25645 : #line 17698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25646 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25647 : #line 1266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25648 : (!TARGET_64BIT)) &&
25649 : #line 17700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25650 : ( reload_completed)))
25651 : return gen_split_612 (insn, operands);
25652 : break;
25653 :
25654 : case 1:
25655 : if (((
25656 : #line 17698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25657 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25658 : #line 1267 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25659 : (TARGET_64BIT)) &&
25660 : #line 17700 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25661 : ( reload_completed)))
25662 : return gen_split_614 (insn, operands);
25663 : break;
25664 :
25665 : default:
25666 : break;
25667 : }
25668 : x5 = XEXP (x3, 0);
25669 : if (GET_MODE (x5) != E_QImode)
25670 : return NULL;
25671 : switch (pattern1049 (x2))
25672 : {
25673 : case 0:
25674 : if (!
25675 : #line 18738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25676 : (reload_completed
25677 : && !(rtx_equal_p (operands[0], operands[1]))))
25678 : return NULL;
25679 : return gen_split_639 (insn, operands);
25680 :
25681 : case 1:
25682 : if (!
25683 : #line 18738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25684 : (reload_completed
25685 : && !(rtx_equal_p (operands[0], operands[1]))))
25686 : return NULL;
25687 : return gen_split_641 (insn, operands);
25688 :
25689 : case 2:
25690 : if (!(
25691 : #line 18738 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25692 : (reload_completed
25693 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25694 : #line 1195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25695 : (TARGET_64BIT)))
25696 : return NULL;
25697 : return gen_split_643 (insn, operands);
25698 :
25699 : default:
25700 : return NULL;
25701 : }
25702 :
25703 : default:
25704 : return NULL;
25705 : }
25706 : }
25707 :
25708 : rtx_insn *
25709 : split_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25710 : {
25711 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25712 : rtx x2, x3, x4, x5, x6;
25713 : rtx_insn *res ATTRIBUTE_UNUSED;
25714 : switch (pattern409 (x1))
25715 : {
25716 : case 0:
25717 : if (!(
25718 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25719 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25720 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25721 : == GET_MODE_BITSIZE (QImode)-1
25722 : && ix86_pre_reload_split ()) &&
25723 : #line 19136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25724 : ( 1)))
25725 : return NULL;
25726 : return gen_split_700 (insn, operands);
25727 :
25728 : case 1:
25729 : if (!(
25730 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25731 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25732 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25733 : == GET_MODE_BITSIZE (HImode)-1
25734 : && ix86_pre_reload_split ()) &&
25735 : #line 19136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25736 : ( 1)))
25737 : return NULL;
25738 : return gen_split_702 (insn, operands);
25739 :
25740 : case 2:
25741 : if (!(
25742 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25743 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25744 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25745 : == GET_MODE_BITSIZE (SImode)-1
25746 : && ix86_pre_reload_split ()) &&
25747 : #line 19136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25748 : ( 1)))
25749 : return NULL;
25750 : return gen_split_704 (insn, operands);
25751 :
25752 : case 3:
25753 : if (!((
25754 : #line 19131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25755 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25756 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25757 : == GET_MODE_BITSIZE (DImode)-1
25758 : && ix86_pre_reload_split ()) &&
25759 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25760 : (TARGET_64BIT)) &&
25761 : #line 19136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25762 : ( 1)))
25763 : return NULL;
25764 : return gen_split_706 (insn, operands);
25765 :
25766 : case 4:
25767 : if (!(
25768 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25769 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25770 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25771 : && ix86_pre_reload_split ()) &&
25772 : #line 19216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25773 : ( 1)))
25774 : return NULL;
25775 : return gen_split_732 (insn, operands);
25776 :
25777 : case 5:
25778 : if (!(
25779 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25780 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25781 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25782 : && ix86_pre_reload_split ()) &&
25783 : #line 19216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25784 : ( 1)))
25785 : return NULL;
25786 : return gen_split_734 (insn, operands);
25787 :
25788 : case 6:
25789 : if (!(
25790 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25791 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25792 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25793 : && ix86_pre_reload_split ()) &&
25794 : #line 19216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25795 : ( 1)))
25796 : return NULL;
25797 : return gen_split_736 (insn, operands);
25798 :
25799 : case 7:
25800 : if (!((
25801 : #line 19212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25802 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25803 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25804 : && ix86_pre_reload_split ()) &&
25805 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25806 : (TARGET_64BIT)) &&
25807 : #line 19216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25808 : ( 1)))
25809 : return NULL;
25810 : return gen_split_738 (insn, operands);
25811 :
25812 : case 8:
25813 : if (!(
25814 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25815 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25816 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25817 : && ix86_pre_reload_split ()) &&
25818 : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25819 : ( 1)))
25820 : return NULL;
25821 : return gen_split_764 (insn, operands);
25822 :
25823 : case 9:
25824 : if (!(
25825 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25826 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25827 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25828 : && ix86_pre_reload_split ()) &&
25829 : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25830 : ( 1)))
25831 : return NULL;
25832 : return gen_split_766 (insn, operands);
25833 :
25834 : case 10:
25835 : if (!(
25836 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25837 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25838 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25839 : && ix86_pre_reload_split ()) &&
25840 : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25841 : ( 1)))
25842 : return NULL;
25843 : return gen_split_768 (insn, operands);
25844 :
25845 : case 11:
25846 : if (!((
25847 : #line 19281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25848 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25849 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25850 : && ix86_pre_reload_split ()) &&
25851 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25852 : (TARGET_64BIT)) &&
25853 : #line 19285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25854 : ( 1)))
25855 : return NULL;
25856 : return gen_split_770 (insn, operands);
25857 :
25858 : case 12:
25859 : x2 = XVECEXP (x1, 0, 0);
25860 : x3 = XEXP (x2, 0);
25861 : operands[0] = x3;
25862 : x4 = XEXP (x2, 1);
25863 : switch (pattern1191 (x4))
25864 : {
25865 : case 0:
25866 : if ((
25867 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25868 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25869 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25870 : == GET_MODE_BITSIZE (QImode)-1
25871 : && ix86_pre_reload_split ()) &&
25872 : #line 19088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25873 : ( 1)))
25874 : return gen_split_684 (insn, operands);
25875 : break;
25876 :
25877 : case 1:
25878 : if ((
25879 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25880 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25881 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25882 : == GET_MODE_BITSIZE (HImode)-1
25883 : && ix86_pre_reload_split ()) &&
25884 : #line 19088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25885 : ( 1)))
25886 : return gen_split_686 (insn, operands);
25887 : break;
25888 :
25889 : case 2:
25890 : if ((
25891 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25892 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25893 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25894 : == GET_MODE_BITSIZE (SImode)-1
25895 : && ix86_pre_reload_split ()) &&
25896 : #line 19088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25897 : ( 1)))
25898 : return gen_split_688 (insn, operands);
25899 : break;
25900 :
25901 : case 3:
25902 : if (((
25903 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25904 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25905 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25906 : == GET_MODE_BITSIZE (DImode)-1
25907 : && ix86_pre_reload_split ()) &&
25908 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25909 : (TARGET_64BIT)) &&
25910 : #line 19088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25911 : ( 1)))
25912 : return gen_split_690 (insn, operands);
25913 : break;
25914 :
25915 : case 4:
25916 : if ((
25917 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25918 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25919 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25920 : && ix86_pre_reload_split ()) &&
25921 : #line 19180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25922 : ( 1)))
25923 : return gen_split_716 (insn, operands);
25924 : break;
25925 :
25926 : case 5:
25927 : if ((
25928 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25929 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25930 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25931 : && ix86_pre_reload_split ()) &&
25932 : #line 19180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25933 : ( 1)))
25934 : return gen_split_718 (insn, operands);
25935 : break;
25936 :
25937 : case 6:
25938 : if ((
25939 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25940 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25941 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25942 : && ix86_pre_reload_split ()) &&
25943 : #line 19180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25944 : ( 1)))
25945 : return gen_split_720 (insn, operands);
25946 : break;
25947 :
25948 : case 7:
25949 : if (((
25950 : #line 19176 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25951 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25952 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25953 : && ix86_pre_reload_split ()) &&
25954 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25955 : (TARGET_64BIT)) &&
25956 : #line 19180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25957 : ( 1)))
25958 : return gen_split_722 (insn, operands);
25959 : break;
25960 :
25961 : case 8:
25962 : if ((
25963 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25964 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25965 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25966 : && ix86_pre_reload_split ()) &&
25967 : #line 19249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25968 : ( 1)))
25969 : return gen_split_748 (insn, operands);
25970 : break;
25971 :
25972 : case 9:
25973 : if ((
25974 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25975 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25976 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25977 : && ix86_pre_reload_split ()) &&
25978 : #line 19249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25979 : ( 1)))
25980 : return gen_split_750 (insn, operands);
25981 : break;
25982 :
25983 : case 10:
25984 : if ((
25985 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25986 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25987 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25988 : && ix86_pre_reload_split ()) &&
25989 : #line 19249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25990 : ( 1)))
25991 : return gen_split_752 (insn, operands);
25992 : break;
25993 :
25994 : case 11:
25995 : if (((
25996 : #line 19245 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25997 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25998 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25999 : && ix86_pre_reload_split ()) &&
26000 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26001 : (TARGET_64BIT)) &&
26002 : #line 19249 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26003 : ( 1)))
26004 : return gen_split_754 (insn, operands);
26005 : break;
26006 :
26007 : case 12:
26008 : x5 = XEXP (x4, 1);
26009 : operands[2] = x5;
26010 : switch (pattern1348 (x4))
26011 : {
26012 : case 0:
26013 : if (
26014 : #line 19479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26015 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
26016 : return gen_split_788 (insn, operands);
26017 : break;
26018 :
26019 : case 1:
26020 : if ((
26021 : #line 19479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26022 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) &&
26023 : #line 1198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26024 : (TARGET_64BIT)))
26025 : return gen_split_789 (insn, operands);
26026 : break;
26027 :
26028 : default:
26029 : break;
26030 : }
26031 : if (XWINT (x5, 0) == 8L
26032 : && QIreg_operand (operands[0], E_HImode)
26033 : && GET_MODE (x4) == E_HImode)
26034 : {
26035 : x6 = XEXP (x4, 0);
26036 : if (rtx_equal_p (x6, operands[0])
26037 : &&
26038 : #line 19675 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26039 : (reload_completed
26040 : && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
26041 : return gen_split_800 (insn, operands);
26042 : }
26043 : break;
26044 :
26045 : default:
26046 : break;
26047 : }
26048 : x5 = XEXP (x4, 1);
26049 : operands[2] = x5;
26050 : switch (pattern1192 (x2))
26051 : {
26052 : case 0:
26053 : if (!(
26054 : #line 19648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26055 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26056 : #line 19655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26057 : ( reload_completed
26058 : && !(rtx_equal_p (operands[0], operands[1])))))
26059 : return NULL;
26060 : return gen_split_796 (insn, operands);
26061 :
26062 : case 1:
26063 : if (!(
26064 : #line 19648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26065 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26066 : #line 19655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26067 : ( reload_completed
26068 : && !(rtx_equal_p (operands[0], operands[1])))))
26069 : return NULL;
26070 : return gen_split_798 (insn, operands);
26071 :
26072 : default:
26073 : return NULL;
26074 : }
26075 :
26076 : default:
26077 : return NULL;
26078 : }
26079 : }
26080 :
26081 : rtx_insn *
26082 : split_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26083 : {
26084 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26085 : rtx x2, x3, x4;
26086 : rtx_insn *res ATTRIBUTE_UNUSED;
26087 : x2 = XEXP (x1, 1);
26088 : operands[1] = x2;
26089 : x3 = XEXP (x1, 0);
26090 : operands[0] = x3;
26091 : switch (GET_MODE (operands[0]))
26092 : {
26093 : case E_V8QImode:
26094 : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
26095 : && nonimmediate_gr_operand (operands[1], E_V8QImode)
26096 : &&
26097 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26098 : (!TARGET_64BIT && reload_completed))
26099 : return gen_split_1015 (insn, operands);
26100 : if (general_reg_operand (operands[0], E_V8QImode)
26101 : && memory_operand (operands[1], E_V8QImode)
26102 : && (
26103 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26104 : (reload_completed
26105 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26106 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26107 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26108 : (TARGET_64BIT)))
26109 : return gen_split_1045 (insn, operands);
26110 : break;
26111 :
26112 : case E_V4HImode:
26113 : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
26114 : && nonimmediate_gr_operand (operands[1], E_V4HImode)
26115 : &&
26116 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26117 : (!TARGET_64BIT && reload_completed))
26118 : return gen_split_1016 (insn, operands);
26119 : if (general_reg_operand (operands[0], E_V4HImode)
26120 : && memory_operand (operands[1], E_V4HImode)
26121 : && (
26122 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26123 : (reload_completed
26124 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26125 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26126 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26127 : (TARGET_64BIT)))
26128 : return gen_split_1046 (insn, operands);
26129 : break;
26130 :
26131 : case E_V2SImode:
26132 : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
26133 : && nonimmediate_gr_operand (operands[1], E_V2SImode)
26134 : &&
26135 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26136 : (!TARGET_64BIT && reload_completed))
26137 : return gen_split_1017 (insn, operands);
26138 : if (general_reg_operand (operands[0], E_V2SImode)
26139 : && memory_operand (operands[1], E_V2SImode)
26140 : && (
26141 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26142 : (reload_completed
26143 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26144 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26145 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26146 : (TARGET_64BIT)))
26147 : return gen_split_1049 (insn, operands);
26148 : break;
26149 :
26150 : case E_V1DImode:
26151 : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
26152 : && nonimmediate_gr_operand (operands[1], E_V1DImode)
26153 : &&
26154 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26155 : (!TARGET_64BIT && reload_completed))
26156 : return gen_split_1018 (insn, operands);
26157 : if (general_reg_operand (operands[0], E_V1DImode)
26158 : && memory_operand (operands[1], E_V1DImode)
26159 : && (
26160 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26161 : (reload_completed
26162 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26163 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26164 : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26165 : (TARGET_64BIT)))
26166 : return gen_split_1051 (insn, operands);
26167 : break;
26168 :
26169 : case E_V2SFmode:
26170 : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
26171 : && nonimmediate_gr_operand (operands[1], E_V2SFmode)
26172 : &&
26173 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26174 : (!TARGET_64BIT && reload_completed))
26175 : return gen_split_1019 (insn, operands);
26176 : if (general_reg_operand (operands[0], E_V2SFmode)
26177 : && memory_operand (operands[1], E_V2SFmode)
26178 : && (
26179 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26180 : (reload_completed
26181 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26182 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26183 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26184 : (TARGET_64BIT)))
26185 : return gen_split_1050 (insn, operands);
26186 : break;
26187 :
26188 : case E_V4HFmode:
26189 : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
26190 : && nonimmediate_gr_operand (operands[1], E_V4HFmode)
26191 : &&
26192 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26193 : (!TARGET_64BIT && reload_completed))
26194 : return gen_split_1020 (insn, operands);
26195 : if (general_reg_operand (operands[0], E_V4HFmode)
26196 : && memory_operand (operands[1], E_V4HFmode)
26197 : && (
26198 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26199 : (reload_completed
26200 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26201 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26202 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26203 : (TARGET_64BIT)))
26204 : return gen_split_1047 (insn, operands);
26205 : break;
26206 :
26207 : case E_V4BFmode:
26208 : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
26209 : && nonimmediate_gr_operand (operands[1], E_V4BFmode)
26210 : &&
26211 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26212 : (!TARGET_64BIT && reload_completed))
26213 : return gen_split_1021 (insn, operands);
26214 : if (general_reg_operand (operands[0], E_V4BFmode)
26215 : && memory_operand (operands[1], E_V4BFmode)
26216 : && (
26217 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26218 : (reload_completed
26219 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26220 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26221 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26222 : (TARGET_64BIT)))
26223 : return gen_split_1048 (insn, operands);
26224 : break;
26225 :
26226 : case E_V4QImode:
26227 : if (push_operand (operands[0], E_V4QImode)
26228 : && sse_reg_operand (operands[1], E_V4QImode))
26229 : {
26230 : if ((
26231 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26232 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26233 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26234 : (Pmode == SImode)))
26235 : return gen_split_1029 (insn, operands);
26236 : if ((
26237 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26238 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26239 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26240 : (Pmode == DImode)))
26241 : return gen_split_1034 (insn, operands);
26242 : }
26243 : if (general_reg_operand (operands[0], E_V4QImode)
26244 : && memory_operand (operands[1], E_V4QImode)
26245 : &&
26246 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26247 : (reload_completed
26248 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26249 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26250 : return gen_split_1040 (insn, operands);
26251 : break;
26252 :
26253 : case E_V2HImode:
26254 : if (push_operand (operands[0], E_V2HImode)
26255 : && sse_reg_operand (operands[1], E_V2HImode))
26256 : {
26257 : if ((
26258 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26259 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26260 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26261 : (Pmode == SImode)))
26262 : return gen_split_1030 (insn, operands);
26263 : if ((
26264 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26265 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26266 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26267 : (Pmode == DImode)))
26268 : return gen_split_1035 (insn, operands);
26269 : }
26270 : if (general_reg_operand (operands[0], E_V2HImode)
26271 : && memory_operand (operands[1], E_V2HImode)
26272 : &&
26273 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26274 : (reload_completed
26275 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26276 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26277 : return gen_split_1041 (insn, operands);
26278 : break;
26279 :
26280 : case E_V1SImode:
26281 : if (push_operand (operands[0], E_V1SImode)
26282 : && sse_reg_operand (operands[1], E_V1SImode))
26283 : {
26284 : if ((
26285 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26286 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26287 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26288 : (Pmode == SImode)))
26289 : return gen_split_1031 (insn, operands);
26290 : if ((
26291 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26292 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26293 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26294 : (Pmode == DImode)))
26295 : return gen_split_1036 (insn, operands);
26296 : }
26297 : if (general_reg_operand (operands[0], E_V1SImode)
26298 : && memory_operand (operands[1], E_V1SImode)
26299 : &&
26300 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26301 : (reload_completed
26302 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26303 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26304 : return gen_split_1042 (insn, operands);
26305 : break;
26306 :
26307 : case E_V2HFmode:
26308 : if (push_operand (operands[0], E_V2HFmode)
26309 : && sse_reg_operand (operands[1], E_V2HFmode))
26310 : {
26311 : if ((
26312 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26313 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26314 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26315 : (Pmode == SImode)))
26316 : return gen_split_1032 (insn, operands);
26317 : if ((
26318 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26319 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26320 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26321 : (Pmode == DImode)))
26322 : return gen_split_1037 (insn, operands);
26323 : }
26324 : if (general_reg_operand (operands[0], E_V2HFmode)
26325 : && memory_operand (operands[1], E_V2HFmode)
26326 : &&
26327 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26328 : (reload_completed
26329 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26330 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26331 : return gen_split_1043 (insn, operands);
26332 : break;
26333 :
26334 : case E_V2BFmode:
26335 : if (push_operand (operands[0], E_V2BFmode)
26336 : && sse_reg_operand (operands[1], E_V2BFmode))
26337 : {
26338 : if ((
26339 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26340 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26341 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26342 : (Pmode == SImode)))
26343 : return gen_split_1033 (insn, operands);
26344 : if ((
26345 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26346 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26347 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26348 : (Pmode == DImode)))
26349 : return gen_split_1038 (insn, operands);
26350 : }
26351 : if (general_reg_operand (operands[0], E_V2BFmode)
26352 : && memory_operand (operands[1], E_V2BFmode)
26353 : &&
26354 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26355 : (reload_completed
26356 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26357 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26358 : return gen_split_1044 (insn, operands);
26359 : break;
26360 :
26361 : case E_V2QImode:
26362 : if (general_reg_operand (operands[0], E_V2QImode)
26363 : && memory_operand (operands[1], E_V2QImode)
26364 : &&
26365 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26366 : (reload_completed
26367 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26368 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26369 : return gen_split_1039 (insn, operands);
26370 : if (push_operand (operands[0], E_V2QImode)
26371 : && sse_reg_operand (operands[1], E_V2QImode))
26372 : {
26373 : if ((
26374 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26375 : (TARGET_SSE4_1 && reload_completed) &&
26376 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26377 : (Pmode == SImode)))
26378 : return gen_split_1065 (insn, operands);
26379 : if ((
26380 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26381 : (TARGET_SSE4_1 && reload_completed) &&
26382 : #line 1429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26383 : (Pmode == DImode)))
26384 : return gen_split_1066 (insn, operands);
26385 : }
26386 : break;
26387 :
26388 : case E_P2QImode:
26389 : if (nonimmediate_operand (operands[0], E_P2QImode)
26390 : && nonimmediate_operand (operands[1], E_P2QImode)
26391 : && (
26392 : #line 32024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26393 : (TARGET_AVX512VP2INTERSECT
26394 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26395 : #line 32027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26396 : ( reload_completed)))
26397 : return gen_split_3948 (insn, operands);
26398 : break;
26399 :
26400 : case E_P2HImode:
26401 : if (nonimmediate_operand (operands[0], E_P2HImode)
26402 : && nonimmediate_operand (operands[1], E_P2HImode)
26403 : && (
26404 : #line 32024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26405 : (TARGET_AVX512VP2INTERSECT
26406 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26407 : #line 32027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26408 : ( reload_completed)))
26409 : return gen_split_3949 (insn, operands);
26410 : break;
26411 :
26412 : default:
26413 : break;
26414 : }
26415 : if (GET_CODE (x2) != SUBREG)
26416 : return NULL;
26417 : operands[0] = x3;
26418 : switch (SUBREG_BYTE (x2))
26419 : {
26420 : case 8:
26421 : if (GET_MODE (x2) != E_DFmode
26422 : || !register_operand (operands[0], E_DFmode))
26423 : return NULL;
26424 : x4 = XEXP (x2, 0);
26425 : operands[1] = x4;
26426 : if (!register_operand (operands[1], E_V2DFmode)
26427 : || !
26428 : #line 15041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26429 : (TARGET_SSE))
26430 : return NULL;
26431 : return gen_split_3252 (insn, operands);
26432 :
26433 : case 0:
26434 : x4 = XEXP (x2, 0);
26435 : switch (GET_CODE (x4))
26436 : {
26437 : case REG:
26438 : case SUBREG:
26439 : operands[1] = x4;
26440 : switch (GET_MODE (operands[0]))
26441 : {
26442 : case E_DFmode:
26443 : if (!register_operand (operands[0], E_DFmode)
26444 : || GET_MODE (x2) != E_DFmode
26445 : || !register_operand (operands[1], E_V2DFmode)
26446 : || !
26447 : #line 15094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26448 : (TARGET_SSE))
26449 : return NULL;
26450 : return gen_split_3254 (insn, operands);
26451 :
26452 : case E_SImode:
26453 : if (!nonimmediate_operand (operands[0], E_SImode)
26454 : || GET_MODE (x2) != E_SImode
26455 : || !register_operand (operands[1], E_VOIDmode)
26456 : || !
26457 : #line 21940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26458 : (can_create_pseudo_p ()
26459 : && REG_P (operands[1])
26460 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26461 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26462 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26463 : || (TARGET_AVX512F
26464 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26465 : && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26466 : return NULL;
26467 : return gen_split_3512 (insn, operands);
26468 :
26469 : case E_DImode:
26470 : if (!nonimmediate_operand (operands[0], E_DImode)
26471 : || GET_MODE (x2) != E_DImode
26472 : || !register_operand (operands[1], E_VOIDmode)
26473 : || !
26474 : #line 21940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26475 : (can_create_pseudo_p ()
26476 : && REG_P (operands[1])
26477 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26478 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26479 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26480 : || (TARGET_AVX512F
26481 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26482 : && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26483 : return NULL;
26484 : return gen_split_3513 (insn, operands);
26485 :
26486 : default:
26487 : return NULL;
26488 : }
26489 :
26490 : case SS_TRUNCATE:
26491 : switch (pattern733 (x2))
26492 : {
26493 : case 0:
26494 : if (!(
26495 : #line 15814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26496 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26497 : #line 15816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26498 : ( 1)))
26499 : return NULL;
26500 : return gen_split_3266 (insn, operands);
26501 :
26502 : case 1:
26503 : if (!(
26504 : #line 15909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26505 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26506 : #line 15911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26507 : ( 1)))
26508 : return NULL;
26509 : return gen_split_3269 (insn, operands);
26510 :
26511 : case 2:
26512 : if (!(
26513 : #line 15909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26514 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26515 : #line 15911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26516 : ( 1)))
26517 : return NULL;
26518 : return gen_split_3272 (insn, operands);
26519 :
26520 : case 3:
26521 : if (!(
26522 : #line 16256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26523 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26524 : #line 16258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26525 : ( 1)))
26526 : return NULL;
26527 : return gen_split_3288 (insn, operands);
26528 :
26529 : case 4:
26530 : if (!((
26531 : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26532 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26533 : #line 15989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26534 : (TARGET_AVX512BW)) &&
26535 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26536 : ( 1)))
26537 : return NULL;
26538 : return gen_split_3275 (insn, operands);
26539 :
26540 : case 5:
26541 : if (!(
26542 : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26543 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26544 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26545 : ( 1)))
26546 : return NULL;
26547 : return gen_split_3278 (insn, operands);
26548 :
26549 : case 6:
26550 : if (!(
26551 : #line 16519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26552 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26553 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26554 : ( 1)))
26555 : return NULL;
26556 : return gen_split_3295 (insn, operands);
26557 :
26558 : case 7:
26559 : if (!(
26560 : #line 16169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26561 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26562 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26563 : ( 1)))
26564 : return NULL;
26565 : return gen_split_3282 (insn, operands);
26566 :
26567 : case 8:
26568 : if (!(
26569 : #line 16169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26570 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26571 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26572 : ( 1)))
26573 : return NULL;
26574 : return gen_split_3285 (insn, operands);
26575 :
26576 : case 9:
26577 : if (!(
26578 : #line 16406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26579 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26580 : #line 16408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26581 : ( 1)))
26582 : return NULL;
26583 : return gen_split_3292 (insn, operands);
26584 :
26585 : default:
26586 : return NULL;
26587 : }
26588 :
26589 : case TRUNCATE:
26590 : switch (pattern733 (x2))
26591 : {
26592 : case 0:
26593 : if (!(
26594 : #line 15814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26595 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26596 : #line 15816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26597 : ( 1)))
26598 : return NULL;
26599 : return gen_split_3267 (insn, operands);
26600 :
26601 : case 1:
26602 : if (!(
26603 : #line 15909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26604 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26605 : #line 15911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26606 : ( 1)))
26607 : return NULL;
26608 : return gen_split_3270 (insn, operands);
26609 :
26610 : case 2:
26611 : if (!(
26612 : #line 15909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26613 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26614 : #line 15911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26615 : ( 1)))
26616 : return NULL;
26617 : return gen_split_3273 (insn, operands);
26618 :
26619 : case 3:
26620 : if (!(
26621 : #line 16256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26622 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26623 : #line 16258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26624 : ( 1)))
26625 : return NULL;
26626 : return gen_split_3289 (insn, operands);
26627 :
26628 : case 4:
26629 : if (!((
26630 : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26631 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26632 : #line 15989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26633 : (TARGET_AVX512BW)) &&
26634 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26635 : ( 1)))
26636 : return NULL;
26637 : return gen_split_3276 (insn, operands);
26638 :
26639 : case 5:
26640 : if (!(
26641 : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26642 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26643 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26644 : ( 1)))
26645 : return NULL;
26646 : return gen_split_3279 (insn, operands);
26647 :
26648 : case 6:
26649 : if (!(
26650 : #line 16519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26651 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26652 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26653 : ( 1)))
26654 : return NULL;
26655 : return gen_split_3296 (insn, operands);
26656 :
26657 : case 7:
26658 : if (!(
26659 : #line 16169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26660 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26661 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26662 : ( 1)))
26663 : return NULL;
26664 : return gen_split_3283 (insn, operands);
26665 :
26666 : case 8:
26667 : if (!(
26668 : #line 16169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26669 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26670 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26671 : ( 1)))
26672 : return NULL;
26673 : return gen_split_3286 (insn, operands);
26674 :
26675 : case 9:
26676 : if (!(
26677 : #line 16406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26678 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26679 : #line 16408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26680 : ( 1)))
26681 : return NULL;
26682 : return gen_split_3293 (insn, operands);
26683 :
26684 : default:
26685 : return NULL;
26686 : }
26687 :
26688 : case US_TRUNCATE:
26689 : switch (pattern733 (x2))
26690 : {
26691 : case 0:
26692 : if (!(
26693 : #line 15814 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26694 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26695 : #line 15816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26696 : ( 1)))
26697 : return NULL;
26698 : return gen_split_3268 (insn, operands);
26699 :
26700 : case 1:
26701 : if (!(
26702 : #line 15909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26703 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26704 : #line 15911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26705 : ( 1)))
26706 : return NULL;
26707 : return gen_split_3271 (insn, operands);
26708 :
26709 : case 2:
26710 : if (!(
26711 : #line 15909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26712 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26713 : #line 15911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26714 : ( 1)))
26715 : return NULL;
26716 : return gen_split_3274 (insn, operands);
26717 :
26718 : case 3:
26719 : if (!(
26720 : #line 16256 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26721 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26722 : #line 16258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26723 : ( 1)))
26724 : return NULL;
26725 : return gen_split_3290 (insn, operands);
26726 :
26727 : case 4:
26728 : if (!((
26729 : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26730 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26731 : #line 15989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26732 : (TARGET_AVX512BW)) &&
26733 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26734 : ( 1)))
26735 : return NULL;
26736 : return gen_split_3277 (insn, operands);
26737 :
26738 : case 5:
26739 : if (!(
26740 : #line 16007 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26741 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26742 : #line 16009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26743 : ( 1)))
26744 : return NULL;
26745 : return gen_split_3280 (insn, operands);
26746 :
26747 : case 6:
26748 : if (!(
26749 : #line 16519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26750 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26751 : #line 16521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26752 : ( 1)))
26753 : return NULL;
26754 : return gen_split_3297 (insn, operands);
26755 :
26756 : case 7:
26757 : if (!(
26758 : #line 16169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26759 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26760 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26761 : ( 1)))
26762 : return NULL;
26763 : return gen_split_3284 (insn, operands);
26764 :
26765 : case 8:
26766 : if (!(
26767 : #line 16169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26768 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26769 : #line 16171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26770 : ( 1)))
26771 : return NULL;
26772 : return gen_split_3287 (insn, operands);
26773 :
26774 : case 9:
26775 : if (!(
26776 : #line 16406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26777 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26778 : #line 16408 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26779 : ( 1)))
26780 : return NULL;
26781 : return gen_split_3294 (insn, operands);
26782 :
26783 : default:
26784 : return NULL;
26785 : }
26786 :
26787 : default:
26788 : return NULL;
26789 : }
26790 :
26791 : default:
26792 : return NULL;
26793 : }
26794 : }
26795 :
26796 : rtx_insn *
26797 : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26798 : {
26799 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26800 : rtx x2, x3, x4;
26801 : rtx_insn *res ATTRIBUTE_UNUSED;
26802 : x2 = XEXP (x1, 1);
26803 : x3 = XEXP (x2, 0);
26804 : x4 = XEXP (x3, 0);
26805 : switch (GET_CODE (x4))
26806 : {
26807 : case REG:
26808 : case SUBREG:
26809 : case MEM:
26810 : case NOT:
26811 : switch (pattern537 (x2))
26812 : {
26813 : case 0:
26814 : if (!((
26815 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26816 : ((64 == 64 || TARGET_AVX512VL
26817 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26818 : && ix86_pre_reload_split ()
26819 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26820 : STRIP_UNARY (operands[4]))
26821 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26822 : STRIP_UNARY (operands[4]))
26823 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26824 : STRIP_UNARY (operands[3]))
26825 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26826 : STRIP_UNARY (operands[3])))) &&
26827 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26828 : (TARGET_AVX512F)) &&
26829 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26830 : ( 1)))
26831 : return NULL;
26832 : return gen_split_1739 (insn, operands);
26833 :
26834 : case 1:
26835 : if (!((
26836 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26837 : ((32 == 64 || TARGET_AVX512VL
26838 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26839 : && ix86_pre_reload_split ()
26840 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26841 : STRIP_UNARY (operands[4]))
26842 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26843 : STRIP_UNARY (operands[4]))
26844 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26845 : STRIP_UNARY (operands[3]))
26846 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26847 : STRIP_UNARY (operands[3])))) &&
26848 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26849 : (TARGET_AVX)) &&
26850 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26851 : ( 1)))
26852 : return NULL;
26853 : return gen_split_1766 (insn, operands);
26854 :
26855 : case 2:
26856 : if (!(
26857 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26858 : ((16 == 64 || TARGET_AVX512VL
26859 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26860 : && ix86_pre_reload_split ()
26861 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26862 : STRIP_UNARY (operands[4]))
26863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26864 : STRIP_UNARY (operands[4]))
26865 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26866 : STRIP_UNARY (operands[3]))
26867 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26868 : STRIP_UNARY (operands[3])))) &&
26869 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26870 : ( 1)))
26871 : return NULL;
26872 : return gen_split_1793 (insn, operands);
26873 :
26874 : case 3:
26875 : if (!((
26876 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26877 : ((64 == 64 || TARGET_AVX512VL
26878 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26879 : && ix86_pre_reload_split ()
26880 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26881 : STRIP_UNARY (operands[4]))
26882 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26883 : STRIP_UNARY (operands[4]))
26884 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26885 : STRIP_UNARY (operands[3]))
26886 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26887 : STRIP_UNARY (operands[3])))) &&
26888 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26889 : (TARGET_AVX512F)) &&
26890 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26891 : ( 1)))
26892 : return NULL;
26893 : return gen_split_1820 (insn, operands);
26894 :
26895 : case 4:
26896 : if (!((
26897 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26898 : ((32 == 64 || TARGET_AVX512VL
26899 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26900 : && ix86_pre_reload_split ()
26901 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26902 : STRIP_UNARY (operands[4]))
26903 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26904 : STRIP_UNARY (operands[4]))
26905 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26906 : STRIP_UNARY (operands[3]))
26907 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26908 : STRIP_UNARY (operands[3])))) &&
26909 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26910 : (TARGET_AVX)) &&
26911 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26912 : ( 1)))
26913 : return NULL;
26914 : return gen_split_1847 (insn, operands);
26915 :
26916 : case 5:
26917 : if (!(
26918 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26919 : ((16 == 64 || TARGET_AVX512VL
26920 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26921 : && ix86_pre_reload_split ()
26922 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26923 : STRIP_UNARY (operands[4]))
26924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26925 : STRIP_UNARY (operands[4]))
26926 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26927 : STRIP_UNARY (operands[3]))
26928 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26929 : STRIP_UNARY (operands[3])))) &&
26930 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26931 : ( 1)))
26932 : return NULL;
26933 : return gen_split_1874 (insn, operands);
26934 :
26935 : case 6:
26936 : if (!((
26937 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26938 : ((64 == 64 || TARGET_AVX512VL
26939 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26940 : && ix86_pre_reload_split ()
26941 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26942 : STRIP_UNARY (operands[4]))
26943 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26944 : STRIP_UNARY (operands[4]))
26945 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26946 : STRIP_UNARY (operands[3]))
26947 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26948 : STRIP_UNARY (operands[3])))) &&
26949 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26950 : (TARGET_AVX512F)) &&
26951 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26952 : ( 1)))
26953 : return NULL;
26954 : return gen_split_1901 (insn, operands);
26955 :
26956 : case 7:
26957 : if (!((
26958 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26959 : ((32 == 64 || TARGET_AVX512VL
26960 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26961 : && ix86_pre_reload_split ()
26962 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26963 : STRIP_UNARY (operands[4]))
26964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26965 : STRIP_UNARY (operands[4]))
26966 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26967 : STRIP_UNARY (operands[3]))
26968 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26969 : STRIP_UNARY (operands[3])))) &&
26970 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26971 : (TARGET_AVX)) &&
26972 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26973 : ( 1)))
26974 : return NULL;
26975 : return gen_split_1928 (insn, operands);
26976 :
26977 : case 8:
26978 : if (!(
26979 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26980 : ((16 == 64 || TARGET_AVX512VL
26981 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26982 : && ix86_pre_reload_split ()
26983 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26984 : STRIP_UNARY (operands[4]))
26985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26986 : STRIP_UNARY (operands[4]))
26987 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26988 : STRIP_UNARY (operands[3]))
26989 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26990 : STRIP_UNARY (operands[3])))) &&
26991 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26992 : ( 1)))
26993 : return NULL;
26994 : return gen_split_1955 (insn, operands);
26995 :
26996 : case 9:
26997 : if (!((
26998 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26999 : ((64 == 64 || TARGET_AVX512VL
27000 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27001 : && ix86_pre_reload_split ()
27002 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27003 : STRIP_UNARY (operands[4]))
27004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27005 : STRIP_UNARY (operands[4]))
27006 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27007 : STRIP_UNARY (operands[3]))
27008 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27009 : STRIP_UNARY (operands[3])))) &&
27010 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27011 : (TARGET_AVX512F)) &&
27012 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27013 : ( 1)))
27014 : return NULL;
27015 : return gen_split_1982 (insn, operands);
27016 :
27017 : case 10:
27018 : if (!((
27019 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27020 : ((32 == 64 || TARGET_AVX512VL
27021 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27022 : && ix86_pre_reload_split ()
27023 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27024 : STRIP_UNARY (operands[4]))
27025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27026 : STRIP_UNARY (operands[4]))
27027 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27028 : STRIP_UNARY (operands[3]))
27029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27030 : STRIP_UNARY (operands[3])))) &&
27031 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27032 : (TARGET_AVX)) &&
27033 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27034 : ( 1)))
27035 : return NULL;
27036 : return gen_split_2009 (insn, operands);
27037 :
27038 : case 11:
27039 : if (!(
27040 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27041 : ((16 == 64 || TARGET_AVX512VL
27042 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27043 : && ix86_pre_reload_split ()
27044 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27045 : STRIP_UNARY (operands[4]))
27046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27047 : STRIP_UNARY (operands[4]))
27048 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27049 : STRIP_UNARY (operands[3]))
27050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27051 : STRIP_UNARY (operands[3])))) &&
27052 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27053 : ( 1)))
27054 : return NULL;
27055 : return gen_split_2036 (insn, operands);
27056 :
27057 : case 12:
27058 : if (!((
27059 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27060 : ((64 == 64 || TARGET_AVX512VL
27061 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27062 : && ix86_pre_reload_split ()
27063 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27064 : STRIP_UNARY (operands[4]))
27065 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27066 : STRIP_UNARY (operands[4]))
27067 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27068 : STRIP_UNARY (operands[3]))
27069 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27070 : STRIP_UNARY (operands[3])))) &&
27071 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27072 : (TARGET_AVX512F)) &&
27073 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27074 : ( 1)))
27075 : return NULL;
27076 : return gen_split_1742 (insn, operands);
27077 :
27078 : case 13:
27079 : if (!((
27080 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27081 : ((32 == 64 || TARGET_AVX512VL
27082 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27083 : && ix86_pre_reload_split ()
27084 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27085 : STRIP_UNARY (operands[4]))
27086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27087 : STRIP_UNARY (operands[4]))
27088 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27089 : STRIP_UNARY (operands[3]))
27090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27091 : STRIP_UNARY (operands[3])))) &&
27092 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27093 : (TARGET_AVX)) &&
27094 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27095 : ( 1)))
27096 : return NULL;
27097 : return gen_split_1769 (insn, operands);
27098 :
27099 : case 14:
27100 : if (!(
27101 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27102 : ((16 == 64 || TARGET_AVX512VL
27103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27104 : && ix86_pre_reload_split ()
27105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27106 : STRIP_UNARY (operands[4]))
27107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27108 : STRIP_UNARY (operands[4]))
27109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27110 : STRIP_UNARY (operands[3]))
27111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27112 : STRIP_UNARY (operands[3])))) &&
27113 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27114 : ( 1)))
27115 : return NULL;
27116 : return gen_split_1796 (insn, operands);
27117 :
27118 : case 15:
27119 : if (!((
27120 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27121 : ((64 == 64 || TARGET_AVX512VL
27122 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27123 : && ix86_pre_reload_split ()
27124 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27125 : STRIP_UNARY (operands[4]))
27126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27127 : STRIP_UNARY (operands[4]))
27128 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27129 : STRIP_UNARY (operands[3]))
27130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27131 : STRIP_UNARY (operands[3])))) &&
27132 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27133 : (TARGET_AVX512F)) &&
27134 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27135 : ( 1)))
27136 : return NULL;
27137 : return gen_split_1823 (insn, operands);
27138 :
27139 : case 16:
27140 : if (!((
27141 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27142 : ((32 == 64 || TARGET_AVX512VL
27143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27144 : && ix86_pre_reload_split ()
27145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27146 : STRIP_UNARY (operands[4]))
27147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27148 : STRIP_UNARY (operands[4]))
27149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27150 : STRIP_UNARY (operands[3]))
27151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27152 : STRIP_UNARY (operands[3])))) &&
27153 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27154 : (TARGET_AVX)) &&
27155 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27156 : ( 1)))
27157 : return NULL;
27158 : return gen_split_1850 (insn, operands);
27159 :
27160 : case 17:
27161 : if (!(
27162 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27163 : ((16 == 64 || TARGET_AVX512VL
27164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27165 : && ix86_pre_reload_split ()
27166 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27167 : STRIP_UNARY (operands[4]))
27168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27169 : STRIP_UNARY (operands[4]))
27170 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27171 : STRIP_UNARY (operands[3]))
27172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27173 : STRIP_UNARY (operands[3])))) &&
27174 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27175 : ( 1)))
27176 : return NULL;
27177 : return gen_split_1877 (insn, operands);
27178 :
27179 : case 18:
27180 : if (!((
27181 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27182 : ((64 == 64 || TARGET_AVX512VL
27183 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27184 : && ix86_pre_reload_split ()
27185 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27186 : STRIP_UNARY (operands[4]))
27187 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27188 : STRIP_UNARY (operands[4]))
27189 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27190 : STRIP_UNARY (operands[3]))
27191 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27192 : STRIP_UNARY (operands[3])))) &&
27193 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27194 : (TARGET_AVX512F)) &&
27195 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27196 : ( 1)))
27197 : return NULL;
27198 : return gen_split_1904 (insn, operands);
27199 :
27200 : case 19:
27201 : if (!((
27202 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27203 : ((32 == 64 || TARGET_AVX512VL
27204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27205 : && ix86_pre_reload_split ()
27206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27207 : STRIP_UNARY (operands[4]))
27208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27209 : STRIP_UNARY (operands[4]))
27210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27211 : STRIP_UNARY (operands[3]))
27212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27213 : STRIP_UNARY (operands[3])))) &&
27214 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27215 : (TARGET_AVX)) &&
27216 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : ( 1)))
27218 : return NULL;
27219 : return gen_split_1931 (insn, operands);
27220 :
27221 : case 20:
27222 : if (!(
27223 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27224 : ((16 == 64 || TARGET_AVX512VL
27225 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27226 : && ix86_pre_reload_split ()
27227 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27228 : STRIP_UNARY (operands[4]))
27229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27230 : STRIP_UNARY (operands[4]))
27231 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27232 : STRIP_UNARY (operands[3]))
27233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27234 : STRIP_UNARY (operands[3])))) &&
27235 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27236 : ( 1)))
27237 : return NULL;
27238 : return gen_split_1958 (insn, operands);
27239 :
27240 : case 21:
27241 : if (!((
27242 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27243 : ((64 == 64 || TARGET_AVX512VL
27244 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27245 : && ix86_pre_reload_split ()
27246 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27247 : STRIP_UNARY (operands[4]))
27248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27249 : STRIP_UNARY (operands[4]))
27250 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27251 : STRIP_UNARY (operands[3]))
27252 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27253 : STRIP_UNARY (operands[3])))) &&
27254 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27255 : (TARGET_AVX512F)) &&
27256 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27257 : ( 1)))
27258 : return NULL;
27259 : return gen_split_1985 (insn, operands);
27260 :
27261 : case 22:
27262 : if (!((
27263 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27264 : ((32 == 64 || TARGET_AVX512VL
27265 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27266 : && ix86_pre_reload_split ()
27267 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27268 : STRIP_UNARY (operands[4]))
27269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27270 : STRIP_UNARY (operands[4]))
27271 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27272 : STRIP_UNARY (operands[3]))
27273 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27274 : STRIP_UNARY (operands[3])))) &&
27275 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27276 : (TARGET_AVX)) &&
27277 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27278 : ( 1)))
27279 : return NULL;
27280 : return gen_split_2012 (insn, operands);
27281 :
27282 : case 23:
27283 : if (!(
27284 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27285 : ((16 == 64 || TARGET_AVX512VL
27286 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27287 : && ix86_pre_reload_split ()
27288 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27289 : STRIP_UNARY (operands[4]))
27290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27291 : STRIP_UNARY (operands[4]))
27292 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27293 : STRIP_UNARY (operands[3]))
27294 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27295 : STRIP_UNARY (operands[3])))) &&
27296 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27297 : ( 1)))
27298 : return NULL;
27299 : return gen_split_2039 (insn, operands);
27300 :
27301 : case 24:
27302 : if (!((
27303 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27304 : ((64 == 64 || TARGET_AVX512VL
27305 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27306 : && ix86_pre_reload_split ()
27307 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27308 : STRIP_UNARY (operands[4]))
27309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27310 : STRIP_UNARY (operands[4]))
27311 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27312 : STRIP_UNARY (operands[3]))
27313 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27314 : STRIP_UNARY (operands[3])))) &&
27315 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27316 : (TARGET_AVX512F)) &&
27317 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27318 : ( 1)))
27319 : return NULL;
27320 : return gen_split_1745 (insn, operands);
27321 :
27322 : case 25:
27323 : if (!((
27324 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27325 : ((32 == 64 || TARGET_AVX512VL
27326 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27327 : && ix86_pre_reload_split ()
27328 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27329 : STRIP_UNARY (operands[4]))
27330 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27331 : STRIP_UNARY (operands[4]))
27332 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27333 : STRIP_UNARY (operands[3]))
27334 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27335 : STRIP_UNARY (operands[3])))) &&
27336 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27337 : (TARGET_AVX)) &&
27338 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27339 : ( 1)))
27340 : return NULL;
27341 : return gen_split_1772 (insn, operands);
27342 :
27343 : case 26:
27344 : if (!(
27345 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27346 : ((16 == 64 || TARGET_AVX512VL
27347 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27348 : && ix86_pre_reload_split ()
27349 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27350 : STRIP_UNARY (operands[4]))
27351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27352 : STRIP_UNARY (operands[4]))
27353 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27354 : STRIP_UNARY (operands[3]))
27355 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27356 : STRIP_UNARY (operands[3])))) &&
27357 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27358 : ( 1)))
27359 : return NULL;
27360 : return gen_split_1799 (insn, operands);
27361 :
27362 : case 27:
27363 : if (!((
27364 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27365 : ((64 == 64 || TARGET_AVX512VL
27366 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27367 : && ix86_pre_reload_split ()
27368 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27369 : STRIP_UNARY (operands[4]))
27370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27371 : STRIP_UNARY (operands[4]))
27372 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27373 : STRIP_UNARY (operands[3]))
27374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27375 : STRIP_UNARY (operands[3])))) &&
27376 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27377 : (TARGET_AVX512F)) &&
27378 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27379 : ( 1)))
27380 : return NULL;
27381 : return gen_split_1826 (insn, operands);
27382 :
27383 : case 28:
27384 : if (!((
27385 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27386 : ((32 == 64 || TARGET_AVX512VL
27387 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27388 : && ix86_pre_reload_split ()
27389 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27390 : STRIP_UNARY (operands[4]))
27391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27392 : STRIP_UNARY (operands[4]))
27393 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27394 : STRIP_UNARY (operands[3]))
27395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27396 : STRIP_UNARY (operands[3])))) &&
27397 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27398 : (TARGET_AVX)) &&
27399 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27400 : ( 1)))
27401 : return NULL;
27402 : return gen_split_1853 (insn, operands);
27403 :
27404 : case 29:
27405 : if (!(
27406 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27407 : ((16 == 64 || TARGET_AVX512VL
27408 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27409 : && ix86_pre_reload_split ()
27410 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27411 : STRIP_UNARY (operands[4]))
27412 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27413 : STRIP_UNARY (operands[4]))
27414 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27415 : STRIP_UNARY (operands[3]))
27416 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27417 : STRIP_UNARY (operands[3])))) &&
27418 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27419 : ( 1)))
27420 : return NULL;
27421 : return gen_split_1880 (insn, operands);
27422 :
27423 : case 30:
27424 : if (!((
27425 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27426 : ((64 == 64 || TARGET_AVX512VL
27427 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27428 : && ix86_pre_reload_split ()
27429 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27430 : STRIP_UNARY (operands[4]))
27431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27432 : STRIP_UNARY (operands[4]))
27433 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27434 : STRIP_UNARY (operands[3]))
27435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27436 : STRIP_UNARY (operands[3])))) &&
27437 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27438 : (TARGET_AVX512F)) &&
27439 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27440 : ( 1)))
27441 : return NULL;
27442 : return gen_split_1907 (insn, operands);
27443 :
27444 : case 31:
27445 : if (!((
27446 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27447 : ((32 == 64 || TARGET_AVX512VL
27448 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27449 : && ix86_pre_reload_split ()
27450 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27451 : STRIP_UNARY (operands[4]))
27452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27453 : STRIP_UNARY (operands[4]))
27454 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27455 : STRIP_UNARY (operands[3]))
27456 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27457 : STRIP_UNARY (operands[3])))) &&
27458 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27459 : (TARGET_AVX)) &&
27460 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27461 : ( 1)))
27462 : return NULL;
27463 : return gen_split_1934 (insn, operands);
27464 :
27465 : case 32:
27466 : if (!(
27467 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27468 : ((16 == 64 || TARGET_AVX512VL
27469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27470 : && ix86_pre_reload_split ()
27471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27472 : STRIP_UNARY (operands[4]))
27473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27474 : STRIP_UNARY (operands[4]))
27475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27476 : STRIP_UNARY (operands[3]))
27477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27478 : STRIP_UNARY (operands[3])))) &&
27479 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27480 : ( 1)))
27481 : return NULL;
27482 : return gen_split_1961 (insn, operands);
27483 :
27484 : case 33:
27485 : if (!((
27486 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27487 : ((64 == 64 || TARGET_AVX512VL
27488 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27489 : && ix86_pre_reload_split ()
27490 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27491 : STRIP_UNARY (operands[4]))
27492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27493 : STRIP_UNARY (operands[4]))
27494 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27495 : STRIP_UNARY (operands[3]))
27496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27497 : STRIP_UNARY (operands[3])))) &&
27498 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27499 : (TARGET_AVX512F)) &&
27500 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27501 : ( 1)))
27502 : return NULL;
27503 : return gen_split_1988 (insn, operands);
27504 :
27505 : case 34:
27506 : if (!((
27507 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27508 : ((32 == 64 || TARGET_AVX512VL
27509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27510 : && ix86_pre_reload_split ()
27511 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27512 : STRIP_UNARY (operands[4]))
27513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27514 : STRIP_UNARY (operands[4]))
27515 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27516 : STRIP_UNARY (operands[3]))
27517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27518 : STRIP_UNARY (operands[3])))) &&
27519 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27520 : (TARGET_AVX)) &&
27521 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27522 : ( 1)))
27523 : return NULL;
27524 : return gen_split_2015 (insn, operands);
27525 :
27526 : case 35:
27527 : if (!(
27528 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27529 : ((16 == 64 || TARGET_AVX512VL
27530 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27531 : && ix86_pre_reload_split ()
27532 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27533 : STRIP_UNARY (operands[4]))
27534 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27535 : STRIP_UNARY (operands[4]))
27536 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27537 : STRIP_UNARY (operands[3]))
27538 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27539 : STRIP_UNARY (operands[3])))) &&
27540 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27541 : ( 1)))
27542 : return NULL;
27543 : return gen_split_2042 (insn, operands);
27544 :
27545 : case 36:
27546 : if (!((
27547 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27548 : ((64 == 64 || TARGET_AVX512VL
27549 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27550 : && ix86_pre_reload_split ()) &&
27551 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27552 : (TARGET_AVX512F)) &&
27553 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27554 : ( 1)))
27555 : return NULL;
27556 : return gen_split_3035 (insn, operands);
27557 :
27558 : case 37:
27559 : if (!((
27560 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27561 : ((32 == 64 || TARGET_AVX512VL
27562 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27563 : && ix86_pre_reload_split ()) &&
27564 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27565 : (TARGET_AVX)) &&
27566 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27567 : ( 1)))
27568 : return NULL;
27569 : return gen_split_3044 (insn, operands);
27570 :
27571 : case 38:
27572 : if (!(
27573 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27574 : ((16 == 64 || TARGET_AVX512VL
27575 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27576 : && ix86_pre_reload_split ()) &&
27577 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27578 : ( 1)))
27579 : return NULL;
27580 : return gen_split_3053 (insn, operands);
27581 :
27582 : case 39:
27583 : if (!((
27584 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27585 : ((64 == 64 || TARGET_AVX512VL
27586 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27587 : && ix86_pre_reload_split ()) &&
27588 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27589 : (TARGET_AVX512F)) &&
27590 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27591 : ( 1)))
27592 : return NULL;
27593 : return gen_split_3062 (insn, operands);
27594 :
27595 : case 40:
27596 : if (!((
27597 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27598 : ((32 == 64 || TARGET_AVX512VL
27599 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27600 : && ix86_pre_reload_split ()) &&
27601 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27602 : (TARGET_AVX)) &&
27603 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27604 : ( 1)))
27605 : return NULL;
27606 : return gen_split_3071 (insn, operands);
27607 :
27608 : case 41:
27609 : if (!(
27610 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27611 : ((16 == 64 || TARGET_AVX512VL
27612 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27613 : && ix86_pre_reload_split ()) &&
27614 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27615 : ( 1)))
27616 : return NULL;
27617 : return gen_split_3080 (insn, operands);
27618 :
27619 : case 42:
27620 : if (!((
27621 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27622 : ((64 == 64 || TARGET_AVX512VL
27623 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27624 : && ix86_pre_reload_split ()) &&
27625 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27626 : (TARGET_AVX512F)) &&
27627 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27628 : ( 1)))
27629 : return NULL;
27630 : return gen_split_3089 (insn, operands);
27631 :
27632 : case 43:
27633 : if (!((
27634 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27635 : ((32 == 64 || TARGET_AVX512VL
27636 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27637 : && ix86_pre_reload_split ()) &&
27638 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27639 : (TARGET_AVX)) &&
27640 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27641 : ( 1)))
27642 : return NULL;
27643 : return gen_split_3098 (insn, operands);
27644 :
27645 : case 44:
27646 : if (!(
27647 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27648 : ((16 == 64 || TARGET_AVX512VL
27649 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27650 : && ix86_pre_reload_split ()) &&
27651 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27652 : ( 1)))
27653 : return NULL;
27654 : return gen_split_3107 (insn, operands);
27655 :
27656 : case 45:
27657 : if (!((
27658 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27659 : ((64 == 64 || TARGET_AVX512VL
27660 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27661 : && ix86_pre_reload_split ()) &&
27662 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27663 : (TARGET_AVX512F)) &&
27664 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27665 : ( 1)))
27666 : return NULL;
27667 : return gen_split_3116 (insn, operands);
27668 :
27669 : case 46:
27670 : if (!((
27671 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27672 : ((32 == 64 || TARGET_AVX512VL
27673 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27674 : && ix86_pre_reload_split ()) &&
27675 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27676 : (TARGET_AVX)) &&
27677 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27678 : ( 1)))
27679 : return NULL;
27680 : return gen_split_3125 (insn, operands);
27681 :
27682 : case 47:
27683 : if (!(
27684 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27685 : ((16 == 64 || TARGET_AVX512VL
27686 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27687 : && ix86_pre_reload_split ()) &&
27688 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27689 : ( 1)))
27690 : return NULL;
27691 : return gen_split_3134 (insn, operands);
27692 :
27693 : default:
27694 : return NULL;
27695 : }
27696 :
27697 : case AND:
27698 : switch (pattern539 (x2))
27699 : {
27700 : case 0:
27701 : if (!((
27702 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27703 : ((64 == 64 || TARGET_AVX512VL
27704 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27705 : && ix86_pre_reload_split ()
27706 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27707 : STRIP_UNARY (operands[4]))
27708 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27709 : STRIP_UNARY (operands[4]))
27710 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27711 : STRIP_UNARY (operands[3]))
27712 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27713 : STRIP_UNARY (operands[3])))) &&
27714 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27715 : (TARGET_AVX512F)) &&
27716 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27717 : ( 1)))
27718 : return NULL;
27719 : return gen_split_2387 (insn, operands);
27720 :
27721 : case 1:
27722 : if (!((
27723 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27724 : ((32 == 64 || TARGET_AVX512VL
27725 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27726 : && ix86_pre_reload_split ()
27727 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27728 : STRIP_UNARY (operands[4]))
27729 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27730 : STRIP_UNARY (operands[4]))
27731 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27732 : STRIP_UNARY (operands[3]))
27733 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27734 : STRIP_UNARY (operands[3])))) &&
27735 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27736 : (TARGET_AVX)) &&
27737 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27738 : ( 1)))
27739 : return NULL;
27740 : return gen_split_2414 (insn, operands);
27741 :
27742 : case 2:
27743 : if (!(
27744 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27745 : ((16 == 64 || TARGET_AVX512VL
27746 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27747 : && ix86_pre_reload_split ()
27748 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27749 : STRIP_UNARY (operands[4]))
27750 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27751 : STRIP_UNARY (operands[4]))
27752 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27753 : STRIP_UNARY (operands[3]))
27754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27755 : STRIP_UNARY (operands[3])))) &&
27756 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27757 : ( 1)))
27758 : return NULL;
27759 : return gen_split_2441 (insn, operands);
27760 :
27761 : case 3:
27762 : if (!((
27763 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27764 : ((64 == 64 || TARGET_AVX512VL
27765 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27766 : && ix86_pre_reload_split ()
27767 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27768 : STRIP_UNARY (operands[4]))
27769 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27770 : STRIP_UNARY (operands[4]))
27771 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27772 : STRIP_UNARY (operands[3]))
27773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27774 : STRIP_UNARY (operands[3])))) &&
27775 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27776 : (TARGET_AVX512F)) &&
27777 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27778 : ( 1)))
27779 : return NULL;
27780 : return gen_split_2468 (insn, operands);
27781 :
27782 : case 4:
27783 : if (!((
27784 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27785 : ((32 == 64 || TARGET_AVX512VL
27786 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27787 : && ix86_pre_reload_split ()
27788 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27789 : STRIP_UNARY (operands[4]))
27790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27791 : STRIP_UNARY (operands[4]))
27792 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27793 : STRIP_UNARY (operands[3]))
27794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27795 : STRIP_UNARY (operands[3])))) &&
27796 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27797 : (TARGET_AVX)) &&
27798 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27799 : ( 1)))
27800 : return NULL;
27801 : return gen_split_2495 (insn, operands);
27802 :
27803 : case 5:
27804 : if (!(
27805 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27806 : ((16 == 64 || TARGET_AVX512VL
27807 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27808 : && ix86_pre_reload_split ()
27809 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27810 : STRIP_UNARY (operands[4]))
27811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27812 : STRIP_UNARY (operands[4]))
27813 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27814 : STRIP_UNARY (operands[3]))
27815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27816 : STRIP_UNARY (operands[3])))) &&
27817 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27818 : ( 1)))
27819 : return NULL;
27820 : return gen_split_2522 (insn, operands);
27821 :
27822 : case 6:
27823 : if (!((
27824 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27825 : ((64 == 64 || TARGET_AVX512VL
27826 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27827 : && ix86_pre_reload_split ()
27828 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27829 : STRIP_UNARY (operands[4]))
27830 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27831 : STRIP_UNARY (operands[4]))
27832 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27833 : STRIP_UNARY (operands[3]))
27834 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27835 : STRIP_UNARY (operands[3])))) &&
27836 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27837 : (TARGET_AVX512F)) &&
27838 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27839 : ( 1)))
27840 : return NULL;
27841 : return gen_split_2549 (insn, operands);
27842 :
27843 : case 7:
27844 : if (!((
27845 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27846 : ((32 == 64 || TARGET_AVX512VL
27847 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27848 : && ix86_pre_reload_split ()
27849 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27850 : STRIP_UNARY (operands[4]))
27851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27852 : STRIP_UNARY (operands[4]))
27853 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27854 : STRIP_UNARY (operands[3]))
27855 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27856 : STRIP_UNARY (operands[3])))) &&
27857 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27858 : (TARGET_AVX)) &&
27859 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27860 : ( 1)))
27861 : return NULL;
27862 : return gen_split_2576 (insn, operands);
27863 :
27864 : case 8:
27865 : if (!(
27866 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27867 : ((16 == 64 || TARGET_AVX512VL
27868 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27869 : && ix86_pre_reload_split ()
27870 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27871 : STRIP_UNARY (operands[4]))
27872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27873 : STRIP_UNARY (operands[4]))
27874 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27875 : STRIP_UNARY (operands[3]))
27876 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27877 : STRIP_UNARY (operands[3])))) &&
27878 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27879 : ( 1)))
27880 : return NULL;
27881 : return gen_split_2603 (insn, operands);
27882 :
27883 : case 9:
27884 : if (!((
27885 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27886 : ((64 == 64 || TARGET_AVX512VL
27887 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27888 : && ix86_pre_reload_split ()
27889 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27890 : STRIP_UNARY (operands[4]))
27891 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27892 : STRIP_UNARY (operands[4]))
27893 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27894 : STRIP_UNARY (operands[3]))
27895 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27896 : STRIP_UNARY (operands[3])))) &&
27897 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27898 : (TARGET_AVX512F)) &&
27899 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27900 : ( 1)))
27901 : return NULL;
27902 : return gen_split_2630 (insn, operands);
27903 :
27904 : case 10:
27905 : if (!((
27906 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27907 : ((32 == 64 || TARGET_AVX512VL
27908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27909 : && ix86_pre_reload_split ()
27910 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27911 : STRIP_UNARY (operands[4]))
27912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27913 : STRIP_UNARY (operands[4]))
27914 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27915 : STRIP_UNARY (operands[3]))
27916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27917 : STRIP_UNARY (operands[3])))) &&
27918 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27919 : (TARGET_AVX)) &&
27920 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27921 : ( 1)))
27922 : return NULL;
27923 : return gen_split_2657 (insn, operands);
27924 :
27925 : case 11:
27926 : if (!(
27927 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27928 : ((16 == 64 || TARGET_AVX512VL
27929 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27930 : && ix86_pre_reload_split ()
27931 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27932 : STRIP_UNARY (operands[4]))
27933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27934 : STRIP_UNARY (operands[4]))
27935 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27936 : STRIP_UNARY (operands[3]))
27937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27938 : STRIP_UNARY (operands[3])))) &&
27939 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27940 : ( 1)))
27941 : return NULL;
27942 : return gen_split_2684 (insn, operands);
27943 :
27944 : default:
27945 : return NULL;
27946 : }
27947 :
27948 : case IOR:
27949 : switch (pattern539 (x2))
27950 : {
27951 : case 0:
27952 : if (!((
27953 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27954 : ((64 == 64 || TARGET_AVX512VL
27955 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27956 : && ix86_pre_reload_split ()
27957 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27958 : STRIP_UNARY (operands[4]))
27959 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27960 : STRIP_UNARY (operands[4]))
27961 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27962 : STRIP_UNARY (operands[3]))
27963 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27964 : STRIP_UNARY (operands[3])))) &&
27965 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27966 : (TARGET_AVX512F)) &&
27967 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27968 : ( 1)))
27969 : return NULL;
27970 : return gen_split_2390 (insn, operands);
27971 :
27972 : case 1:
27973 : if (!((
27974 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27975 : ((32 == 64 || TARGET_AVX512VL
27976 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27977 : && ix86_pre_reload_split ()
27978 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27979 : STRIP_UNARY (operands[4]))
27980 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27981 : STRIP_UNARY (operands[4]))
27982 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27983 : STRIP_UNARY (operands[3]))
27984 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27985 : STRIP_UNARY (operands[3])))) &&
27986 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27987 : (TARGET_AVX)) &&
27988 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27989 : ( 1)))
27990 : return NULL;
27991 : return gen_split_2417 (insn, operands);
27992 :
27993 : case 2:
27994 : if (!(
27995 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27996 : ((16 == 64 || TARGET_AVX512VL
27997 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27998 : && ix86_pre_reload_split ()
27999 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28000 : STRIP_UNARY (operands[4]))
28001 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28002 : STRIP_UNARY (operands[4]))
28003 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28004 : STRIP_UNARY (operands[3]))
28005 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28006 : STRIP_UNARY (operands[3])))) &&
28007 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28008 : ( 1)))
28009 : return NULL;
28010 : return gen_split_2444 (insn, operands);
28011 :
28012 : case 3:
28013 : if (!((
28014 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28015 : ((64 == 64 || TARGET_AVX512VL
28016 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28017 : && ix86_pre_reload_split ()
28018 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28019 : STRIP_UNARY (operands[4]))
28020 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28021 : STRIP_UNARY (operands[4]))
28022 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28023 : STRIP_UNARY (operands[3]))
28024 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28025 : STRIP_UNARY (operands[3])))) &&
28026 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28027 : (TARGET_AVX512F)) &&
28028 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28029 : ( 1)))
28030 : return NULL;
28031 : return gen_split_2471 (insn, operands);
28032 :
28033 : case 4:
28034 : if (!((
28035 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28036 : ((32 == 64 || TARGET_AVX512VL
28037 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28038 : && ix86_pre_reload_split ()
28039 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28040 : STRIP_UNARY (operands[4]))
28041 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28042 : STRIP_UNARY (operands[4]))
28043 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28044 : STRIP_UNARY (operands[3]))
28045 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28046 : STRIP_UNARY (operands[3])))) &&
28047 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28048 : (TARGET_AVX)) &&
28049 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28050 : ( 1)))
28051 : return NULL;
28052 : return gen_split_2498 (insn, operands);
28053 :
28054 : case 5:
28055 : if (!(
28056 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28057 : ((16 == 64 || TARGET_AVX512VL
28058 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28059 : && ix86_pre_reload_split ()
28060 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28061 : STRIP_UNARY (operands[4]))
28062 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28063 : STRIP_UNARY (operands[4]))
28064 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28065 : STRIP_UNARY (operands[3]))
28066 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28067 : STRIP_UNARY (operands[3])))) &&
28068 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28069 : ( 1)))
28070 : return NULL;
28071 : return gen_split_2525 (insn, operands);
28072 :
28073 : case 6:
28074 : if (!((
28075 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28076 : ((64 == 64 || TARGET_AVX512VL
28077 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28078 : && ix86_pre_reload_split ()
28079 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28080 : STRIP_UNARY (operands[4]))
28081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28082 : STRIP_UNARY (operands[4]))
28083 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28084 : STRIP_UNARY (operands[3]))
28085 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28086 : STRIP_UNARY (operands[3])))) &&
28087 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28088 : (TARGET_AVX512F)) &&
28089 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28090 : ( 1)))
28091 : return NULL;
28092 : return gen_split_2552 (insn, operands);
28093 :
28094 : case 7:
28095 : if (!((
28096 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28097 : ((32 == 64 || TARGET_AVX512VL
28098 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28099 : && ix86_pre_reload_split ()
28100 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28101 : STRIP_UNARY (operands[4]))
28102 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28103 : STRIP_UNARY (operands[4]))
28104 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28105 : STRIP_UNARY (operands[3]))
28106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28107 : STRIP_UNARY (operands[3])))) &&
28108 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28109 : (TARGET_AVX)) &&
28110 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28111 : ( 1)))
28112 : return NULL;
28113 : return gen_split_2579 (insn, operands);
28114 :
28115 : case 8:
28116 : if (!(
28117 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28118 : ((16 == 64 || TARGET_AVX512VL
28119 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28120 : && ix86_pre_reload_split ()
28121 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28122 : STRIP_UNARY (operands[4]))
28123 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28124 : STRIP_UNARY (operands[4]))
28125 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28126 : STRIP_UNARY (operands[3]))
28127 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28128 : STRIP_UNARY (operands[3])))) &&
28129 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28130 : ( 1)))
28131 : return NULL;
28132 : return gen_split_2606 (insn, operands);
28133 :
28134 : case 9:
28135 : if (!((
28136 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28137 : ((64 == 64 || TARGET_AVX512VL
28138 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28139 : && ix86_pre_reload_split ()
28140 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28141 : STRIP_UNARY (operands[4]))
28142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28143 : STRIP_UNARY (operands[4]))
28144 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28145 : STRIP_UNARY (operands[3]))
28146 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28147 : STRIP_UNARY (operands[3])))) &&
28148 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28149 : (TARGET_AVX512F)) &&
28150 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28151 : ( 1)))
28152 : return NULL;
28153 : return gen_split_2633 (insn, operands);
28154 :
28155 : case 10:
28156 : if (!((
28157 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28158 : ((32 == 64 || TARGET_AVX512VL
28159 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28160 : && ix86_pre_reload_split ()
28161 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28162 : STRIP_UNARY (operands[4]))
28163 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28164 : STRIP_UNARY (operands[4]))
28165 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28166 : STRIP_UNARY (operands[3]))
28167 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28168 : STRIP_UNARY (operands[3])))) &&
28169 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28170 : (TARGET_AVX)) &&
28171 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28172 : ( 1)))
28173 : return NULL;
28174 : return gen_split_2660 (insn, operands);
28175 :
28176 : case 11:
28177 : if (!(
28178 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28179 : ((16 == 64 || TARGET_AVX512VL
28180 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28181 : && ix86_pre_reload_split ()
28182 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28183 : STRIP_UNARY (operands[4]))
28184 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28185 : STRIP_UNARY (operands[4]))
28186 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28187 : STRIP_UNARY (operands[3]))
28188 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28189 : STRIP_UNARY (operands[3])))) &&
28190 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28191 : ( 1)))
28192 : return NULL;
28193 : return gen_split_2687 (insn, operands);
28194 :
28195 : default:
28196 : return NULL;
28197 : }
28198 :
28199 : case XOR:
28200 : switch (pattern539 (x2))
28201 : {
28202 : case 0:
28203 : if (!((
28204 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28205 : ((64 == 64 || TARGET_AVX512VL
28206 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28207 : && ix86_pre_reload_split ()
28208 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28209 : STRIP_UNARY (operands[4]))
28210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28211 : STRIP_UNARY (operands[4]))
28212 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28213 : STRIP_UNARY (operands[3]))
28214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28215 : STRIP_UNARY (operands[3])))) &&
28216 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28217 : (TARGET_AVX512F)) &&
28218 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28219 : ( 1)))
28220 : return NULL;
28221 : return gen_split_2393 (insn, operands);
28222 :
28223 : case 1:
28224 : if (!((
28225 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28226 : ((32 == 64 || TARGET_AVX512VL
28227 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28228 : && ix86_pre_reload_split ()
28229 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28230 : STRIP_UNARY (operands[4]))
28231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28232 : STRIP_UNARY (operands[4]))
28233 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28234 : STRIP_UNARY (operands[3]))
28235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28236 : STRIP_UNARY (operands[3])))) &&
28237 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28238 : (TARGET_AVX)) &&
28239 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28240 : ( 1)))
28241 : return NULL;
28242 : return gen_split_2420 (insn, operands);
28243 :
28244 : case 2:
28245 : if (!(
28246 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28247 : ((16 == 64 || TARGET_AVX512VL
28248 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28249 : && ix86_pre_reload_split ()
28250 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28251 : STRIP_UNARY (operands[4]))
28252 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28253 : STRIP_UNARY (operands[4]))
28254 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28255 : STRIP_UNARY (operands[3]))
28256 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28257 : STRIP_UNARY (operands[3])))) &&
28258 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28259 : ( 1)))
28260 : return NULL;
28261 : return gen_split_2447 (insn, operands);
28262 :
28263 : case 3:
28264 : if (!((
28265 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28266 : ((64 == 64 || TARGET_AVX512VL
28267 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28268 : && ix86_pre_reload_split ()
28269 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28270 : STRIP_UNARY (operands[4]))
28271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28272 : STRIP_UNARY (operands[4]))
28273 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28274 : STRIP_UNARY (operands[3]))
28275 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28276 : STRIP_UNARY (operands[3])))) &&
28277 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28278 : (TARGET_AVX512F)) &&
28279 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28280 : ( 1)))
28281 : return NULL;
28282 : return gen_split_2474 (insn, operands);
28283 :
28284 : case 4:
28285 : if (!((
28286 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28287 : ((32 == 64 || TARGET_AVX512VL
28288 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28289 : && ix86_pre_reload_split ()
28290 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28291 : STRIP_UNARY (operands[4]))
28292 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28293 : STRIP_UNARY (operands[4]))
28294 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28295 : STRIP_UNARY (operands[3]))
28296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28297 : STRIP_UNARY (operands[3])))) &&
28298 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28299 : (TARGET_AVX)) &&
28300 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28301 : ( 1)))
28302 : return NULL;
28303 : return gen_split_2501 (insn, operands);
28304 :
28305 : case 5:
28306 : if (!(
28307 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28308 : ((16 == 64 || TARGET_AVX512VL
28309 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28310 : && ix86_pre_reload_split ()
28311 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28312 : STRIP_UNARY (operands[4]))
28313 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28314 : STRIP_UNARY (operands[4]))
28315 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28316 : STRIP_UNARY (operands[3]))
28317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28318 : STRIP_UNARY (operands[3])))) &&
28319 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28320 : ( 1)))
28321 : return NULL;
28322 : return gen_split_2528 (insn, operands);
28323 :
28324 : case 6:
28325 : if (!((
28326 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28327 : ((64 == 64 || TARGET_AVX512VL
28328 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28329 : && ix86_pre_reload_split ()
28330 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28331 : STRIP_UNARY (operands[4]))
28332 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28333 : STRIP_UNARY (operands[4]))
28334 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28335 : STRIP_UNARY (operands[3]))
28336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28337 : STRIP_UNARY (operands[3])))) &&
28338 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28339 : (TARGET_AVX512F)) &&
28340 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28341 : ( 1)))
28342 : return NULL;
28343 : return gen_split_2555 (insn, operands);
28344 :
28345 : case 7:
28346 : if (!((
28347 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28348 : ((32 == 64 || TARGET_AVX512VL
28349 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28350 : && ix86_pre_reload_split ()
28351 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28352 : STRIP_UNARY (operands[4]))
28353 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28354 : STRIP_UNARY (operands[4]))
28355 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28356 : STRIP_UNARY (operands[3]))
28357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28358 : STRIP_UNARY (operands[3])))) &&
28359 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28360 : (TARGET_AVX)) &&
28361 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28362 : ( 1)))
28363 : return NULL;
28364 : return gen_split_2582 (insn, operands);
28365 :
28366 : case 8:
28367 : if (!(
28368 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28369 : ((16 == 64 || TARGET_AVX512VL
28370 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28371 : && ix86_pre_reload_split ()
28372 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28373 : STRIP_UNARY (operands[4]))
28374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28375 : STRIP_UNARY (operands[4]))
28376 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28377 : STRIP_UNARY (operands[3]))
28378 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28379 : STRIP_UNARY (operands[3])))) &&
28380 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28381 : ( 1)))
28382 : return NULL;
28383 : return gen_split_2609 (insn, operands);
28384 :
28385 : case 9:
28386 : if (!((
28387 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28388 : ((64 == 64 || TARGET_AVX512VL
28389 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28390 : && ix86_pre_reload_split ()
28391 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28392 : STRIP_UNARY (operands[4]))
28393 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28394 : STRIP_UNARY (operands[4]))
28395 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28396 : STRIP_UNARY (operands[3]))
28397 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28398 : STRIP_UNARY (operands[3])))) &&
28399 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28400 : (TARGET_AVX512F)) &&
28401 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28402 : ( 1)))
28403 : return NULL;
28404 : return gen_split_2636 (insn, operands);
28405 :
28406 : case 10:
28407 : if (!((
28408 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28409 : ((32 == 64 || TARGET_AVX512VL
28410 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28411 : && ix86_pre_reload_split ()
28412 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28413 : STRIP_UNARY (operands[4]))
28414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28415 : STRIP_UNARY (operands[4]))
28416 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28417 : STRIP_UNARY (operands[3]))
28418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28419 : STRIP_UNARY (operands[3])))) &&
28420 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28421 : (TARGET_AVX)) &&
28422 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28423 : ( 1)))
28424 : return NULL;
28425 : return gen_split_2663 (insn, operands);
28426 :
28427 : case 11:
28428 : if (!(
28429 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28430 : ((16 == 64 || TARGET_AVX512VL
28431 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28432 : && ix86_pre_reload_split ()
28433 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28434 : STRIP_UNARY (operands[4]))
28435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28436 : STRIP_UNARY (operands[4]))
28437 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28438 : STRIP_UNARY (operands[3]))
28439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28440 : STRIP_UNARY (operands[3])))) &&
28441 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28442 : ( 1)))
28443 : return NULL;
28444 : return gen_split_2690 (insn, operands);
28445 :
28446 : default:
28447 : return NULL;
28448 : }
28449 :
28450 : default:
28451 : return NULL;
28452 : }
28453 : }
28454 :
28455 : rtx_insn *
28456 : split_73 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28457 : {
28458 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28459 : rtx x2, x3, x4;
28460 : rtx_insn *res ATTRIBUTE_UNUSED;
28461 : x2 = XEXP (x1, 1);
28462 : x3 = XEXP (x2, 0);
28463 : switch (GET_CODE (x3))
28464 : {
28465 : case AND:
28466 : x4 = XEXP (x3, 0);
28467 : switch (GET_CODE (x4))
28468 : {
28469 : case REG:
28470 : case SUBREG:
28471 : case MEM:
28472 : case NOT:
28473 : switch (pattern543 (x2))
28474 : {
28475 : case 0:
28476 : if (!((
28477 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28478 : ((64 == 64 || TARGET_AVX512VL
28479 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28480 : && ix86_pre_reload_split ()
28481 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28482 : STRIP_UNARY (operands[4]))
28483 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28484 : STRIP_UNARY (operands[4]))
28485 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28486 : STRIP_UNARY (operands[3]))
28487 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28488 : STRIP_UNARY (operands[3])))) &&
28489 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28490 : (TARGET_AVX512F)) &&
28491 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28492 : ( 1)))
28493 : return NULL;
28494 : return gen_split_2064 (insn, operands);
28495 :
28496 : case 1:
28497 : if (!((
28498 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28499 : ((32 == 64 || TARGET_AVX512VL
28500 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28501 : && ix86_pre_reload_split ()
28502 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28503 : STRIP_UNARY (operands[4]))
28504 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28505 : STRIP_UNARY (operands[4]))
28506 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28507 : STRIP_UNARY (operands[3]))
28508 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28509 : STRIP_UNARY (operands[3])))) &&
28510 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28511 : (TARGET_AVX)) &&
28512 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28513 : ( 1)))
28514 : return NULL;
28515 : return gen_split_2091 (insn, operands);
28516 :
28517 : case 2:
28518 : if (!(
28519 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28520 : ((16 == 64 || TARGET_AVX512VL
28521 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28522 : && ix86_pre_reload_split ()
28523 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28524 : STRIP_UNARY (operands[4]))
28525 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28526 : STRIP_UNARY (operands[4]))
28527 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28528 : STRIP_UNARY (operands[3]))
28529 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28530 : STRIP_UNARY (operands[3])))) &&
28531 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : ( 1)))
28533 : return NULL;
28534 : return gen_split_2118 (insn, operands);
28535 :
28536 : case 3:
28537 : if (!((
28538 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28539 : ((64 == 64 || TARGET_AVX512VL
28540 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28541 : && ix86_pre_reload_split ()
28542 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28543 : STRIP_UNARY (operands[4]))
28544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28545 : STRIP_UNARY (operands[4]))
28546 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28547 : STRIP_UNARY (operands[3]))
28548 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28549 : STRIP_UNARY (operands[3])))) &&
28550 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28551 : (TARGET_AVX512F)) &&
28552 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28553 : ( 1)))
28554 : return NULL;
28555 : return gen_split_2145 (insn, operands);
28556 :
28557 : case 4:
28558 : if (!((
28559 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28560 : ((32 == 64 || TARGET_AVX512VL
28561 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28562 : && ix86_pre_reload_split ()
28563 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28564 : STRIP_UNARY (operands[4]))
28565 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28566 : STRIP_UNARY (operands[4]))
28567 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28568 : STRIP_UNARY (operands[3]))
28569 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28570 : STRIP_UNARY (operands[3])))) &&
28571 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28572 : (TARGET_AVX)) &&
28573 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28574 : ( 1)))
28575 : return NULL;
28576 : return gen_split_2172 (insn, operands);
28577 :
28578 : case 5:
28579 : if (!(
28580 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28581 : ((16 == 64 || TARGET_AVX512VL
28582 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28583 : && ix86_pre_reload_split ()
28584 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28585 : STRIP_UNARY (operands[4]))
28586 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28587 : STRIP_UNARY (operands[4]))
28588 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28589 : STRIP_UNARY (operands[3]))
28590 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28591 : STRIP_UNARY (operands[3])))) &&
28592 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28593 : ( 1)))
28594 : return NULL;
28595 : return gen_split_2199 (insn, operands);
28596 :
28597 : case 6:
28598 : if (!((
28599 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28600 : ((64 == 64 || TARGET_AVX512VL
28601 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28602 : && ix86_pre_reload_split ()
28603 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28604 : STRIP_UNARY (operands[4]))
28605 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28606 : STRIP_UNARY (operands[4]))
28607 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28608 : STRIP_UNARY (operands[3]))
28609 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28610 : STRIP_UNARY (operands[3])))) &&
28611 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28612 : (TARGET_AVX512F)) &&
28613 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28614 : ( 1)))
28615 : return NULL;
28616 : return gen_split_2226 (insn, operands);
28617 :
28618 : case 7:
28619 : if (!((
28620 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28621 : ((32 == 64 || TARGET_AVX512VL
28622 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28623 : && ix86_pre_reload_split ()
28624 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28625 : STRIP_UNARY (operands[4]))
28626 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28627 : STRIP_UNARY (operands[4]))
28628 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28629 : STRIP_UNARY (operands[3]))
28630 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28631 : STRIP_UNARY (operands[3])))) &&
28632 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28633 : (TARGET_AVX)) &&
28634 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28635 : ( 1)))
28636 : return NULL;
28637 : return gen_split_2253 (insn, operands);
28638 :
28639 : case 8:
28640 : if (!(
28641 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28642 : ((16 == 64 || TARGET_AVX512VL
28643 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28644 : && ix86_pre_reload_split ()
28645 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28646 : STRIP_UNARY (operands[4]))
28647 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28648 : STRIP_UNARY (operands[4]))
28649 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28650 : STRIP_UNARY (operands[3]))
28651 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28652 : STRIP_UNARY (operands[3])))) &&
28653 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28654 : ( 1)))
28655 : return NULL;
28656 : return gen_split_2280 (insn, operands);
28657 :
28658 : case 9:
28659 : if (!((
28660 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28661 : ((64 == 64 || TARGET_AVX512VL
28662 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28663 : && ix86_pre_reload_split ()
28664 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28665 : STRIP_UNARY (operands[4]))
28666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28667 : STRIP_UNARY (operands[4]))
28668 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28669 : STRIP_UNARY (operands[3]))
28670 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28671 : STRIP_UNARY (operands[3])))) &&
28672 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28673 : (TARGET_AVX512F)) &&
28674 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28675 : ( 1)))
28676 : return NULL;
28677 : return gen_split_2307 (insn, operands);
28678 :
28679 : case 10:
28680 : if (!((
28681 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28682 : ((32 == 64 || TARGET_AVX512VL
28683 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28684 : && ix86_pre_reload_split ()
28685 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28686 : STRIP_UNARY (operands[4]))
28687 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28688 : STRIP_UNARY (operands[4]))
28689 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28690 : STRIP_UNARY (operands[3]))
28691 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28692 : STRIP_UNARY (operands[3])))) &&
28693 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28694 : (TARGET_AVX)) &&
28695 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28696 : ( 1)))
28697 : return NULL;
28698 : return gen_split_2334 (insn, operands);
28699 :
28700 : case 11:
28701 : if (!((
28702 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28703 : ((16 == 64 || TARGET_AVX512VL
28704 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28705 : && ix86_pre_reload_split ()
28706 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28707 : STRIP_UNARY (operands[4]))
28708 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28709 : STRIP_UNARY (operands[4]))
28710 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28711 : STRIP_UNARY (operands[3]))
28712 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28713 : STRIP_UNARY (operands[3])))) &&
28714 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28715 : (TARGET_SSE2)) &&
28716 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28717 : ( 1)))
28718 : return NULL;
28719 : return gen_split_2361 (insn, operands);
28720 :
28721 : case 12:
28722 : if (!((
28723 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28724 : ((64 == 64 || TARGET_AVX512VL
28725 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28726 : && ix86_pre_reload_split ()
28727 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28728 : STRIP_UNARY (operands[4]))
28729 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28730 : STRIP_UNARY (operands[4]))
28731 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28732 : STRIP_UNARY (operands[3]))
28733 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28734 : STRIP_UNARY (operands[3])))) &&
28735 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28736 : (TARGET_AVX512F)) &&
28737 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28738 : ( 1)))
28739 : return NULL;
28740 : return gen_split_2067 (insn, operands);
28741 :
28742 : case 13:
28743 : if (!((
28744 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28745 : ((32 == 64 || TARGET_AVX512VL
28746 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28747 : && ix86_pre_reload_split ()
28748 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28749 : STRIP_UNARY (operands[4]))
28750 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28751 : STRIP_UNARY (operands[4]))
28752 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28753 : STRIP_UNARY (operands[3]))
28754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28755 : STRIP_UNARY (operands[3])))) &&
28756 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28757 : (TARGET_AVX)) &&
28758 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28759 : ( 1)))
28760 : return NULL;
28761 : return gen_split_2094 (insn, operands);
28762 :
28763 : case 14:
28764 : if (!(
28765 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28766 : ((16 == 64 || TARGET_AVX512VL
28767 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28768 : && ix86_pre_reload_split ()
28769 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28770 : STRIP_UNARY (operands[4]))
28771 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28772 : STRIP_UNARY (operands[4]))
28773 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28774 : STRIP_UNARY (operands[3]))
28775 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28776 : STRIP_UNARY (operands[3])))) &&
28777 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28778 : ( 1)))
28779 : return NULL;
28780 : return gen_split_2121 (insn, operands);
28781 :
28782 : case 15:
28783 : if (!((
28784 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28785 : ((64 == 64 || TARGET_AVX512VL
28786 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28787 : && ix86_pre_reload_split ()
28788 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28789 : STRIP_UNARY (operands[4]))
28790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28791 : STRIP_UNARY (operands[4]))
28792 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28793 : STRIP_UNARY (operands[3]))
28794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28795 : STRIP_UNARY (operands[3])))) &&
28796 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28797 : (TARGET_AVX512F)) &&
28798 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28799 : ( 1)))
28800 : return NULL;
28801 : return gen_split_2148 (insn, operands);
28802 :
28803 : case 16:
28804 : if (!((
28805 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28806 : ((32 == 64 || TARGET_AVX512VL
28807 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28808 : && ix86_pre_reload_split ()
28809 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28810 : STRIP_UNARY (operands[4]))
28811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28812 : STRIP_UNARY (operands[4]))
28813 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28814 : STRIP_UNARY (operands[3]))
28815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28816 : STRIP_UNARY (operands[3])))) &&
28817 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28818 : (TARGET_AVX)) &&
28819 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28820 : ( 1)))
28821 : return NULL;
28822 : return gen_split_2175 (insn, operands);
28823 :
28824 : case 17:
28825 : if (!(
28826 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28827 : ((16 == 64 || TARGET_AVX512VL
28828 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28829 : && ix86_pre_reload_split ()
28830 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28831 : STRIP_UNARY (operands[4]))
28832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28833 : STRIP_UNARY (operands[4]))
28834 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28835 : STRIP_UNARY (operands[3]))
28836 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28837 : STRIP_UNARY (operands[3])))) &&
28838 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28839 : ( 1)))
28840 : return NULL;
28841 : return gen_split_2202 (insn, operands);
28842 :
28843 : case 18:
28844 : if (!((
28845 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28846 : ((64 == 64 || TARGET_AVX512VL
28847 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28848 : && ix86_pre_reload_split ()
28849 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28850 : STRIP_UNARY (operands[4]))
28851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28852 : STRIP_UNARY (operands[4]))
28853 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28854 : STRIP_UNARY (operands[3]))
28855 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28856 : STRIP_UNARY (operands[3])))) &&
28857 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28858 : (TARGET_AVX512F)) &&
28859 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28860 : ( 1)))
28861 : return NULL;
28862 : return gen_split_2229 (insn, operands);
28863 :
28864 : case 19:
28865 : if (!((
28866 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28867 : ((32 == 64 || TARGET_AVX512VL
28868 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28869 : && ix86_pre_reload_split ()
28870 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28871 : STRIP_UNARY (operands[4]))
28872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28873 : STRIP_UNARY (operands[4]))
28874 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28875 : STRIP_UNARY (operands[3]))
28876 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28877 : STRIP_UNARY (operands[3])))) &&
28878 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28879 : (TARGET_AVX)) &&
28880 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28881 : ( 1)))
28882 : return NULL;
28883 : return gen_split_2256 (insn, operands);
28884 :
28885 : case 20:
28886 : if (!(
28887 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28888 : ((16 == 64 || TARGET_AVX512VL
28889 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28890 : && ix86_pre_reload_split ()
28891 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28892 : STRIP_UNARY (operands[4]))
28893 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28894 : STRIP_UNARY (operands[4]))
28895 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28896 : STRIP_UNARY (operands[3]))
28897 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28898 : STRIP_UNARY (operands[3])))) &&
28899 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28900 : ( 1)))
28901 : return NULL;
28902 : return gen_split_2283 (insn, operands);
28903 :
28904 : case 21:
28905 : if (!((
28906 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28907 : ((64 == 64 || TARGET_AVX512VL
28908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28909 : && ix86_pre_reload_split ()
28910 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28911 : STRIP_UNARY (operands[4]))
28912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28913 : STRIP_UNARY (operands[4]))
28914 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28915 : STRIP_UNARY (operands[3]))
28916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28917 : STRIP_UNARY (operands[3])))) &&
28918 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28919 : (TARGET_AVX512F)) &&
28920 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28921 : ( 1)))
28922 : return NULL;
28923 : return gen_split_2310 (insn, operands);
28924 :
28925 : case 22:
28926 : if (!((
28927 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28928 : ((32 == 64 || TARGET_AVX512VL
28929 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28930 : && ix86_pre_reload_split ()
28931 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28932 : STRIP_UNARY (operands[4]))
28933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28934 : STRIP_UNARY (operands[4]))
28935 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28936 : STRIP_UNARY (operands[3]))
28937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28938 : STRIP_UNARY (operands[3])))) &&
28939 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28940 : (TARGET_AVX)) &&
28941 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28942 : ( 1)))
28943 : return NULL;
28944 : return gen_split_2337 (insn, operands);
28945 :
28946 : case 23:
28947 : if (!((
28948 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28949 : ((16 == 64 || TARGET_AVX512VL
28950 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28951 : && ix86_pre_reload_split ()
28952 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28953 : STRIP_UNARY (operands[4]))
28954 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28955 : STRIP_UNARY (operands[4]))
28956 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28957 : STRIP_UNARY (operands[3]))
28958 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28959 : STRIP_UNARY (operands[3])))) &&
28960 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28961 : (TARGET_SSE2)) &&
28962 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28963 : ( 1)))
28964 : return NULL;
28965 : return gen_split_2364 (insn, operands);
28966 :
28967 : case 24:
28968 : if (!((
28969 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28970 : ((64 == 64 || TARGET_AVX512VL
28971 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28972 : && ix86_pre_reload_split ()
28973 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28974 : STRIP_UNARY (operands[4]))
28975 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28976 : STRIP_UNARY (operands[4]))
28977 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28978 : STRIP_UNARY (operands[3]))
28979 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28980 : STRIP_UNARY (operands[3])))) &&
28981 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28982 : (TARGET_AVX512F)) &&
28983 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28984 : ( 1)))
28985 : return NULL;
28986 : return gen_split_2070 (insn, operands);
28987 :
28988 : case 25:
28989 : if (!((
28990 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28991 : ((32 == 64 || TARGET_AVX512VL
28992 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28993 : && ix86_pre_reload_split ()
28994 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28995 : STRIP_UNARY (operands[4]))
28996 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28997 : STRIP_UNARY (operands[4]))
28998 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28999 : STRIP_UNARY (operands[3]))
29000 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29001 : STRIP_UNARY (operands[3])))) &&
29002 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29003 : (TARGET_AVX)) &&
29004 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29005 : ( 1)))
29006 : return NULL;
29007 : return gen_split_2097 (insn, operands);
29008 :
29009 : case 26:
29010 : if (!(
29011 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29012 : ((16 == 64 || TARGET_AVX512VL
29013 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29014 : && ix86_pre_reload_split ()
29015 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29016 : STRIP_UNARY (operands[4]))
29017 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29018 : STRIP_UNARY (operands[4]))
29019 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29020 : STRIP_UNARY (operands[3]))
29021 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29022 : STRIP_UNARY (operands[3])))) &&
29023 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29024 : ( 1)))
29025 : return NULL;
29026 : return gen_split_2124 (insn, operands);
29027 :
29028 : case 27:
29029 : if (!((
29030 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29031 : ((64 == 64 || TARGET_AVX512VL
29032 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29033 : && ix86_pre_reload_split ()
29034 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29035 : STRIP_UNARY (operands[4]))
29036 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29037 : STRIP_UNARY (operands[4]))
29038 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29039 : STRIP_UNARY (operands[3]))
29040 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29041 : STRIP_UNARY (operands[3])))) &&
29042 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29043 : (TARGET_AVX512F)) &&
29044 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29045 : ( 1)))
29046 : return NULL;
29047 : return gen_split_2151 (insn, operands);
29048 :
29049 : case 28:
29050 : if (!((
29051 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29052 : ((32 == 64 || TARGET_AVX512VL
29053 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29054 : && ix86_pre_reload_split ()
29055 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29056 : STRIP_UNARY (operands[4]))
29057 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29058 : STRIP_UNARY (operands[4]))
29059 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29060 : STRIP_UNARY (operands[3]))
29061 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29062 : STRIP_UNARY (operands[3])))) &&
29063 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29064 : (TARGET_AVX)) &&
29065 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29066 : ( 1)))
29067 : return NULL;
29068 : return gen_split_2178 (insn, operands);
29069 :
29070 : case 29:
29071 : if (!(
29072 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29073 : ((16 == 64 || TARGET_AVX512VL
29074 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29075 : && ix86_pre_reload_split ()
29076 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29077 : STRIP_UNARY (operands[4]))
29078 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29079 : STRIP_UNARY (operands[4]))
29080 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29081 : STRIP_UNARY (operands[3]))
29082 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29083 : STRIP_UNARY (operands[3])))) &&
29084 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29085 : ( 1)))
29086 : return NULL;
29087 : return gen_split_2205 (insn, operands);
29088 :
29089 : case 30:
29090 : if (!((
29091 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29092 : ((64 == 64 || TARGET_AVX512VL
29093 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29094 : && ix86_pre_reload_split ()
29095 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29096 : STRIP_UNARY (operands[4]))
29097 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29098 : STRIP_UNARY (operands[4]))
29099 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29100 : STRIP_UNARY (operands[3]))
29101 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29102 : STRIP_UNARY (operands[3])))) &&
29103 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29104 : (TARGET_AVX512F)) &&
29105 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29106 : ( 1)))
29107 : return NULL;
29108 : return gen_split_2232 (insn, operands);
29109 :
29110 : case 31:
29111 : if (!((
29112 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29113 : ((32 == 64 || TARGET_AVX512VL
29114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29115 : && ix86_pre_reload_split ()
29116 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29117 : STRIP_UNARY (operands[4]))
29118 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29119 : STRIP_UNARY (operands[4]))
29120 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29121 : STRIP_UNARY (operands[3]))
29122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29123 : STRIP_UNARY (operands[3])))) &&
29124 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29125 : (TARGET_AVX)) &&
29126 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29127 : ( 1)))
29128 : return NULL;
29129 : return gen_split_2259 (insn, operands);
29130 :
29131 : case 32:
29132 : if (!(
29133 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29134 : ((16 == 64 || TARGET_AVX512VL
29135 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29136 : && ix86_pre_reload_split ()
29137 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29138 : STRIP_UNARY (operands[4]))
29139 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29140 : STRIP_UNARY (operands[4]))
29141 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29142 : STRIP_UNARY (operands[3]))
29143 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29144 : STRIP_UNARY (operands[3])))) &&
29145 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29146 : ( 1)))
29147 : return NULL;
29148 : return gen_split_2286 (insn, operands);
29149 :
29150 : case 33:
29151 : if (!((
29152 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29153 : ((64 == 64 || TARGET_AVX512VL
29154 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29155 : && ix86_pre_reload_split ()
29156 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29157 : STRIP_UNARY (operands[4]))
29158 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29159 : STRIP_UNARY (operands[4]))
29160 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29161 : STRIP_UNARY (operands[3]))
29162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29163 : STRIP_UNARY (operands[3])))) &&
29164 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29165 : (TARGET_AVX512F)) &&
29166 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29167 : ( 1)))
29168 : return NULL;
29169 : return gen_split_2313 (insn, operands);
29170 :
29171 : case 34:
29172 : if (!((
29173 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29174 : ((32 == 64 || TARGET_AVX512VL
29175 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29176 : && ix86_pre_reload_split ()
29177 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29178 : STRIP_UNARY (operands[4]))
29179 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29180 : STRIP_UNARY (operands[4]))
29181 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29182 : STRIP_UNARY (operands[3]))
29183 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29184 : STRIP_UNARY (operands[3])))) &&
29185 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29186 : (TARGET_AVX)) &&
29187 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29188 : ( 1)))
29189 : return NULL;
29190 : return gen_split_2340 (insn, operands);
29191 :
29192 : case 35:
29193 : if (!((
29194 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29195 : ((16 == 64 || TARGET_AVX512VL
29196 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29197 : && ix86_pre_reload_split ()
29198 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29199 : STRIP_UNARY (operands[4]))
29200 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29201 : STRIP_UNARY (operands[4]))
29202 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29203 : STRIP_UNARY (operands[3]))
29204 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29205 : STRIP_UNARY (operands[3])))) &&
29206 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29207 : (TARGET_SSE2)) &&
29208 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29209 : ( 1)))
29210 : return NULL;
29211 : return gen_split_2367 (insn, operands);
29212 :
29213 : case 36:
29214 : if (!((
29215 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29216 : ((64 == 64 || TARGET_AVX512VL
29217 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29218 : && ix86_pre_reload_split ()) &&
29219 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29220 : (TARGET_AVX512F)) &&
29221 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29222 : ( 1)))
29223 : return NULL;
29224 : return gen_split_3144 (insn, operands);
29225 :
29226 : case 37:
29227 : if (!((
29228 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29229 : ((32 == 64 || TARGET_AVX512VL
29230 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29231 : && ix86_pre_reload_split ()) &&
29232 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29233 : (TARGET_AVX)) &&
29234 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29235 : ( 1)))
29236 : return NULL;
29237 : return gen_split_3153 (insn, operands);
29238 :
29239 : case 38:
29240 : if (!(
29241 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29242 : ((16 == 64 || TARGET_AVX512VL
29243 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29244 : && ix86_pre_reload_split ()) &&
29245 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29246 : ( 1)))
29247 : return NULL;
29248 : return gen_split_3162 (insn, operands);
29249 :
29250 : case 39:
29251 : if (!((
29252 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29253 : ((64 == 64 || TARGET_AVX512VL
29254 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29255 : && ix86_pre_reload_split ()) &&
29256 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29257 : (TARGET_AVX512F)) &&
29258 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29259 : ( 1)))
29260 : return NULL;
29261 : return gen_split_3171 (insn, operands);
29262 :
29263 : case 40:
29264 : if (!((
29265 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29266 : ((32 == 64 || TARGET_AVX512VL
29267 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29268 : && ix86_pre_reload_split ()) &&
29269 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29270 : (TARGET_AVX)) &&
29271 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29272 : ( 1)))
29273 : return NULL;
29274 : return gen_split_3180 (insn, operands);
29275 :
29276 : case 41:
29277 : if (!(
29278 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29279 : ((16 == 64 || TARGET_AVX512VL
29280 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29281 : && ix86_pre_reload_split ()) &&
29282 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29283 : ( 1)))
29284 : return NULL;
29285 : return gen_split_3189 (insn, operands);
29286 :
29287 : case 42:
29288 : if (!((
29289 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29290 : ((64 == 64 || TARGET_AVX512VL
29291 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29292 : && ix86_pre_reload_split ()) &&
29293 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29294 : (TARGET_AVX512F)) &&
29295 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29296 : ( 1)))
29297 : return NULL;
29298 : return gen_split_3198 (insn, operands);
29299 :
29300 : case 43:
29301 : if (!((
29302 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29303 : ((32 == 64 || TARGET_AVX512VL
29304 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29305 : && ix86_pre_reload_split ()) &&
29306 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29307 : (TARGET_AVX)) &&
29308 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29309 : ( 1)))
29310 : return NULL;
29311 : return gen_split_3207 (insn, operands);
29312 :
29313 : case 44:
29314 : if (!(
29315 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29316 : ((16 == 64 || TARGET_AVX512VL
29317 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29318 : && ix86_pre_reload_split ()) &&
29319 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29320 : ( 1)))
29321 : return NULL;
29322 : return gen_split_3216 (insn, operands);
29323 :
29324 : case 45:
29325 : if (!((
29326 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29327 : ((64 == 64 || TARGET_AVX512VL
29328 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29329 : && ix86_pre_reload_split ()) &&
29330 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29331 : (TARGET_AVX512F)) &&
29332 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29333 : ( 1)))
29334 : return NULL;
29335 : return gen_split_3225 (insn, operands);
29336 :
29337 : case 46:
29338 : if (!((
29339 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29340 : ((32 == 64 || TARGET_AVX512VL
29341 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29342 : && ix86_pre_reload_split ()) &&
29343 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29344 : (TARGET_AVX)) &&
29345 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29346 : ( 1)))
29347 : return NULL;
29348 : return gen_split_3234 (insn, operands);
29349 :
29350 : case 47:
29351 : if (!((
29352 : #line 14347 "/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 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29357 : (TARGET_SSE2)) &&
29358 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29359 : ( 1)))
29360 : return NULL;
29361 : return gen_split_3243 (insn, operands);
29362 :
29363 : default:
29364 : return NULL;
29365 : }
29366 :
29367 : case AND:
29368 : switch (pattern544 (x2))
29369 : {
29370 : case 0:
29371 : if (!((
29372 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29373 : ((64 == 64 || TARGET_AVX512VL
29374 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29375 : && ix86_pre_reload_split ()
29376 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29377 : STRIP_UNARY (operands[4]))
29378 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29379 : STRIP_UNARY (operands[4]))
29380 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29381 : STRIP_UNARY (operands[3]))
29382 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29383 : STRIP_UNARY (operands[3])))) &&
29384 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29385 : (TARGET_AVX512F)) &&
29386 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29387 : ( 1)))
29388 : return NULL;
29389 : return gen_split_2712 (insn, operands);
29390 :
29391 : case 1:
29392 : if (!((
29393 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29394 : ((32 == 64 || TARGET_AVX512VL
29395 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29396 : && ix86_pre_reload_split ()
29397 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29398 : STRIP_UNARY (operands[4]))
29399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29400 : STRIP_UNARY (operands[4]))
29401 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29402 : STRIP_UNARY (operands[3]))
29403 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29404 : STRIP_UNARY (operands[3])))) &&
29405 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29406 : (TARGET_AVX)) &&
29407 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29408 : ( 1)))
29409 : return NULL;
29410 : return gen_split_2739 (insn, operands);
29411 :
29412 : case 2:
29413 : if (!(
29414 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29415 : ((16 == 64 || TARGET_AVX512VL
29416 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29417 : && ix86_pre_reload_split ()
29418 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29419 : STRIP_UNARY (operands[4]))
29420 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29421 : STRIP_UNARY (operands[4]))
29422 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29423 : STRIP_UNARY (operands[3]))
29424 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29425 : STRIP_UNARY (operands[3])))) &&
29426 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29427 : ( 1)))
29428 : return NULL;
29429 : return gen_split_2766 (insn, operands);
29430 :
29431 : case 3:
29432 : if (!((
29433 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29434 : ((64 == 64 || TARGET_AVX512VL
29435 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29436 : && ix86_pre_reload_split ()
29437 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29438 : STRIP_UNARY (operands[4]))
29439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29440 : STRIP_UNARY (operands[4]))
29441 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29442 : STRIP_UNARY (operands[3]))
29443 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29444 : STRIP_UNARY (operands[3])))) &&
29445 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29446 : (TARGET_AVX512F)) &&
29447 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29448 : ( 1)))
29449 : return NULL;
29450 : return gen_split_2793 (insn, operands);
29451 :
29452 : case 4:
29453 : if (!((
29454 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29455 : ((32 == 64 || TARGET_AVX512VL
29456 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29457 : && ix86_pre_reload_split ()
29458 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29459 : STRIP_UNARY (operands[4]))
29460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29461 : STRIP_UNARY (operands[4]))
29462 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29463 : STRIP_UNARY (operands[3]))
29464 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29465 : STRIP_UNARY (operands[3])))) &&
29466 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29467 : (TARGET_AVX)) &&
29468 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29469 : ( 1)))
29470 : return NULL;
29471 : return gen_split_2820 (insn, operands);
29472 :
29473 : case 5:
29474 : if (!(
29475 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29476 : ((16 == 64 || TARGET_AVX512VL
29477 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29478 : && ix86_pre_reload_split ()
29479 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29480 : STRIP_UNARY (operands[4]))
29481 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29482 : STRIP_UNARY (operands[4]))
29483 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29484 : STRIP_UNARY (operands[3]))
29485 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29486 : STRIP_UNARY (operands[3])))) &&
29487 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29488 : ( 1)))
29489 : return NULL;
29490 : return gen_split_2847 (insn, operands);
29491 :
29492 : case 6:
29493 : if (!((
29494 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29495 : ((64 == 64 || TARGET_AVX512VL
29496 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29497 : && ix86_pre_reload_split ()
29498 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29499 : STRIP_UNARY (operands[4]))
29500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29501 : STRIP_UNARY (operands[4]))
29502 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29503 : STRIP_UNARY (operands[3]))
29504 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29505 : STRIP_UNARY (operands[3])))) &&
29506 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29507 : (TARGET_AVX512F)) &&
29508 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29509 : ( 1)))
29510 : return NULL;
29511 : return gen_split_2874 (insn, operands);
29512 :
29513 : case 7:
29514 : if (!((
29515 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29516 : ((32 == 64 || TARGET_AVX512VL
29517 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29518 : && ix86_pre_reload_split ()
29519 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29520 : STRIP_UNARY (operands[4]))
29521 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29522 : STRIP_UNARY (operands[4]))
29523 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29524 : STRIP_UNARY (operands[3]))
29525 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29526 : STRIP_UNARY (operands[3])))) &&
29527 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29528 : (TARGET_AVX)) &&
29529 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29530 : ( 1)))
29531 : return NULL;
29532 : return gen_split_2901 (insn, operands);
29533 :
29534 : case 8:
29535 : if (!(
29536 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29537 : ((16 == 64 || TARGET_AVX512VL
29538 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29539 : && ix86_pre_reload_split ()
29540 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29541 : STRIP_UNARY (operands[4]))
29542 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29543 : STRIP_UNARY (operands[4]))
29544 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29545 : STRIP_UNARY (operands[3]))
29546 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29547 : STRIP_UNARY (operands[3])))) &&
29548 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29549 : ( 1)))
29550 : return NULL;
29551 : return gen_split_2928 (insn, operands);
29552 :
29553 : case 9:
29554 : if (!((
29555 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29556 : ((64 == 64 || TARGET_AVX512VL
29557 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29558 : && ix86_pre_reload_split ()
29559 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29560 : STRIP_UNARY (operands[4]))
29561 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29562 : STRIP_UNARY (operands[4]))
29563 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29564 : STRIP_UNARY (operands[3]))
29565 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29566 : STRIP_UNARY (operands[3])))) &&
29567 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29568 : (TARGET_AVX512F)) &&
29569 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29570 : ( 1)))
29571 : return NULL;
29572 : return gen_split_2955 (insn, operands);
29573 :
29574 : case 10:
29575 : if (!((
29576 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29577 : ((32 == 64 || TARGET_AVX512VL
29578 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29579 : && ix86_pre_reload_split ()
29580 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29581 : STRIP_UNARY (operands[4]))
29582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29583 : STRIP_UNARY (operands[4]))
29584 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29585 : STRIP_UNARY (operands[3]))
29586 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29587 : STRIP_UNARY (operands[3])))) &&
29588 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29589 : (TARGET_AVX)) &&
29590 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29591 : ( 1)))
29592 : return NULL;
29593 : return gen_split_2982 (insn, operands);
29594 :
29595 : case 11:
29596 : if (!((
29597 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29598 : ((16 == 64 || TARGET_AVX512VL
29599 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29600 : && ix86_pre_reload_split ()
29601 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29602 : STRIP_UNARY (operands[4]))
29603 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29604 : STRIP_UNARY (operands[4]))
29605 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29606 : STRIP_UNARY (operands[3]))
29607 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29608 : STRIP_UNARY (operands[3])))) &&
29609 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29610 : (TARGET_SSE2)) &&
29611 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29612 : ( 1)))
29613 : return NULL;
29614 : return gen_split_3009 (insn, operands);
29615 :
29616 : default:
29617 : return NULL;
29618 : }
29619 :
29620 : case IOR:
29621 : switch (pattern544 (x2))
29622 : {
29623 : case 0:
29624 : if (!((
29625 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29626 : ((64 == 64 || TARGET_AVX512VL
29627 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29628 : && ix86_pre_reload_split ()
29629 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29630 : STRIP_UNARY (operands[4]))
29631 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29632 : STRIP_UNARY (operands[4]))
29633 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29634 : STRIP_UNARY (operands[3]))
29635 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29636 : STRIP_UNARY (operands[3])))) &&
29637 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29638 : (TARGET_AVX512F)) &&
29639 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29640 : ( 1)))
29641 : return NULL;
29642 : return gen_split_2715 (insn, operands);
29643 :
29644 : case 1:
29645 : if (!((
29646 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29647 : ((32 == 64 || TARGET_AVX512VL
29648 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29649 : && ix86_pre_reload_split ()
29650 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29651 : STRIP_UNARY (operands[4]))
29652 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29653 : STRIP_UNARY (operands[4]))
29654 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29655 : STRIP_UNARY (operands[3]))
29656 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29657 : STRIP_UNARY (operands[3])))) &&
29658 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29659 : (TARGET_AVX)) &&
29660 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29661 : ( 1)))
29662 : return NULL;
29663 : return gen_split_2742 (insn, operands);
29664 :
29665 : case 2:
29666 : if (!(
29667 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29668 : ((16 == 64 || TARGET_AVX512VL
29669 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29670 : && ix86_pre_reload_split ()
29671 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29672 : STRIP_UNARY (operands[4]))
29673 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29674 : STRIP_UNARY (operands[4]))
29675 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29676 : STRIP_UNARY (operands[3]))
29677 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29678 : STRIP_UNARY (operands[3])))) &&
29679 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29680 : ( 1)))
29681 : return NULL;
29682 : return gen_split_2769 (insn, operands);
29683 :
29684 : case 3:
29685 : if (!((
29686 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29687 : ((64 == 64 || TARGET_AVX512VL
29688 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29689 : && ix86_pre_reload_split ()
29690 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29691 : STRIP_UNARY (operands[4]))
29692 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29693 : STRIP_UNARY (operands[4]))
29694 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29695 : STRIP_UNARY (operands[3]))
29696 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29697 : STRIP_UNARY (operands[3])))) &&
29698 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29699 : (TARGET_AVX512F)) &&
29700 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29701 : ( 1)))
29702 : return NULL;
29703 : return gen_split_2796 (insn, operands);
29704 :
29705 : case 4:
29706 : if (!((
29707 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29708 : ((32 == 64 || TARGET_AVX512VL
29709 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29710 : && ix86_pre_reload_split ()
29711 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29712 : STRIP_UNARY (operands[4]))
29713 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29714 : STRIP_UNARY (operands[4]))
29715 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29716 : STRIP_UNARY (operands[3]))
29717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29718 : STRIP_UNARY (operands[3])))) &&
29719 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29720 : (TARGET_AVX)) &&
29721 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29722 : ( 1)))
29723 : return NULL;
29724 : return gen_split_2823 (insn, operands);
29725 :
29726 : case 5:
29727 : if (!(
29728 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29729 : ((16 == 64 || TARGET_AVX512VL
29730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29731 : && ix86_pre_reload_split ()
29732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29733 : STRIP_UNARY (operands[4]))
29734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29735 : STRIP_UNARY (operands[4]))
29736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29737 : STRIP_UNARY (operands[3]))
29738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29739 : STRIP_UNARY (operands[3])))) &&
29740 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29741 : ( 1)))
29742 : return NULL;
29743 : return gen_split_2850 (insn, operands);
29744 :
29745 : case 6:
29746 : if (!((
29747 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29748 : ((64 == 64 || TARGET_AVX512VL
29749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29750 : && ix86_pre_reload_split ()
29751 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29752 : STRIP_UNARY (operands[4]))
29753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29754 : STRIP_UNARY (operands[4]))
29755 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29756 : STRIP_UNARY (operands[3]))
29757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29758 : STRIP_UNARY (operands[3])))) &&
29759 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29760 : (TARGET_AVX512F)) &&
29761 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29762 : ( 1)))
29763 : return NULL;
29764 : return gen_split_2877 (insn, operands);
29765 :
29766 : case 7:
29767 : if (!((
29768 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29769 : ((32 == 64 || TARGET_AVX512VL
29770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29771 : && ix86_pre_reload_split ()
29772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29773 : STRIP_UNARY (operands[4]))
29774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29775 : STRIP_UNARY (operands[4]))
29776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29777 : STRIP_UNARY (operands[3]))
29778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29779 : STRIP_UNARY (operands[3])))) &&
29780 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29781 : (TARGET_AVX)) &&
29782 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29783 : ( 1)))
29784 : return NULL;
29785 : return gen_split_2904 (insn, operands);
29786 :
29787 : case 8:
29788 : if (!(
29789 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29790 : ((16 == 64 || TARGET_AVX512VL
29791 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29792 : && ix86_pre_reload_split ()
29793 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29794 : STRIP_UNARY (operands[4]))
29795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29796 : STRIP_UNARY (operands[4]))
29797 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29798 : STRIP_UNARY (operands[3]))
29799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29800 : STRIP_UNARY (operands[3])))) &&
29801 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29802 : ( 1)))
29803 : return NULL;
29804 : return gen_split_2931 (insn, operands);
29805 :
29806 : case 9:
29807 : if (!((
29808 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29809 : ((64 == 64 || TARGET_AVX512VL
29810 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29811 : && ix86_pre_reload_split ()
29812 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29813 : STRIP_UNARY (operands[4]))
29814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29815 : STRIP_UNARY (operands[4]))
29816 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29817 : STRIP_UNARY (operands[3]))
29818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29819 : STRIP_UNARY (operands[3])))) &&
29820 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29821 : (TARGET_AVX512F)) &&
29822 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29823 : ( 1)))
29824 : return NULL;
29825 : return gen_split_2958 (insn, operands);
29826 :
29827 : case 10:
29828 : if (!((
29829 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29830 : ((32 == 64 || TARGET_AVX512VL
29831 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29832 : && ix86_pre_reload_split ()
29833 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29834 : STRIP_UNARY (operands[4]))
29835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29836 : STRIP_UNARY (operands[4]))
29837 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29838 : STRIP_UNARY (operands[3]))
29839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29840 : STRIP_UNARY (operands[3])))) &&
29841 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29842 : (TARGET_AVX)) &&
29843 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29844 : ( 1)))
29845 : return NULL;
29846 : return gen_split_2985 (insn, operands);
29847 :
29848 : case 11:
29849 : if (!((
29850 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29851 : ((16 == 64 || TARGET_AVX512VL
29852 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29853 : && ix86_pre_reload_split ()
29854 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29855 : STRIP_UNARY (operands[4]))
29856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29857 : STRIP_UNARY (operands[4]))
29858 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29859 : STRIP_UNARY (operands[3]))
29860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29861 : STRIP_UNARY (operands[3])))) &&
29862 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29863 : (TARGET_SSE2)) &&
29864 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29865 : ( 1)))
29866 : return NULL;
29867 : return gen_split_3012 (insn, operands);
29868 :
29869 : default:
29870 : return NULL;
29871 : }
29872 :
29873 : case XOR:
29874 : switch (pattern544 (x2))
29875 : {
29876 : case 0:
29877 : if (!((
29878 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29879 : ((64 == 64 || TARGET_AVX512VL
29880 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29881 : && ix86_pre_reload_split ()
29882 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29883 : STRIP_UNARY (operands[4]))
29884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29885 : STRIP_UNARY (operands[4]))
29886 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29887 : STRIP_UNARY (operands[3]))
29888 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29889 : STRIP_UNARY (operands[3])))) &&
29890 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29891 : (TARGET_AVX512F)) &&
29892 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29893 : ( 1)))
29894 : return NULL;
29895 : return gen_split_2718 (insn, operands);
29896 :
29897 : case 1:
29898 : if (!((
29899 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29900 : ((32 == 64 || TARGET_AVX512VL
29901 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29902 : && ix86_pre_reload_split ()
29903 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29904 : STRIP_UNARY (operands[4]))
29905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29906 : STRIP_UNARY (operands[4]))
29907 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29908 : STRIP_UNARY (operands[3]))
29909 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29910 : STRIP_UNARY (operands[3])))) &&
29911 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29912 : (TARGET_AVX)) &&
29913 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29914 : ( 1)))
29915 : return NULL;
29916 : return gen_split_2745 (insn, operands);
29917 :
29918 : case 2:
29919 : if (!(
29920 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29921 : ((16 == 64 || TARGET_AVX512VL
29922 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29923 : && ix86_pre_reload_split ()
29924 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29925 : STRIP_UNARY (operands[4]))
29926 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29927 : STRIP_UNARY (operands[4]))
29928 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29929 : STRIP_UNARY (operands[3]))
29930 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29931 : STRIP_UNARY (operands[3])))) &&
29932 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29933 : ( 1)))
29934 : return NULL;
29935 : return gen_split_2772 (insn, operands);
29936 :
29937 : case 3:
29938 : if (!((
29939 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29940 : ((64 == 64 || TARGET_AVX512VL
29941 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29942 : && ix86_pre_reload_split ()
29943 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29944 : STRIP_UNARY (operands[4]))
29945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29946 : STRIP_UNARY (operands[4]))
29947 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29948 : STRIP_UNARY (operands[3]))
29949 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29950 : STRIP_UNARY (operands[3])))) &&
29951 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29952 : (TARGET_AVX512F)) &&
29953 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29954 : ( 1)))
29955 : return NULL;
29956 : return gen_split_2799 (insn, operands);
29957 :
29958 : case 4:
29959 : if (!((
29960 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29961 : ((32 == 64 || TARGET_AVX512VL
29962 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29963 : && ix86_pre_reload_split ()
29964 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29965 : STRIP_UNARY (operands[4]))
29966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29967 : STRIP_UNARY (operands[4]))
29968 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29969 : STRIP_UNARY (operands[3]))
29970 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29971 : STRIP_UNARY (operands[3])))) &&
29972 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29973 : (TARGET_AVX)) &&
29974 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29975 : ( 1)))
29976 : return NULL;
29977 : return gen_split_2826 (insn, operands);
29978 :
29979 : case 5:
29980 : if (!(
29981 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29982 : ((16 == 64 || TARGET_AVX512VL
29983 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29984 : && ix86_pre_reload_split ()
29985 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29986 : STRIP_UNARY (operands[4]))
29987 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29988 : STRIP_UNARY (operands[4]))
29989 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29990 : STRIP_UNARY (operands[3]))
29991 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29992 : STRIP_UNARY (operands[3])))) &&
29993 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29994 : ( 1)))
29995 : return NULL;
29996 : return gen_split_2853 (insn, operands);
29997 :
29998 : case 6:
29999 : if (!((
30000 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30001 : ((64 == 64 || TARGET_AVX512VL
30002 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30003 : && ix86_pre_reload_split ()
30004 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30005 : STRIP_UNARY (operands[4]))
30006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30007 : STRIP_UNARY (operands[4]))
30008 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30009 : STRIP_UNARY (operands[3]))
30010 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30011 : STRIP_UNARY (operands[3])))) &&
30012 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30013 : (TARGET_AVX512F)) &&
30014 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30015 : ( 1)))
30016 : return NULL;
30017 : return gen_split_2880 (insn, operands);
30018 :
30019 : case 7:
30020 : if (!((
30021 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30022 : ((32 == 64 || TARGET_AVX512VL
30023 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30024 : && ix86_pre_reload_split ()
30025 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30026 : STRIP_UNARY (operands[4]))
30027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30028 : STRIP_UNARY (operands[4]))
30029 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30030 : STRIP_UNARY (operands[3]))
30031 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30032 : STRIP_UNARY (operands[3])))) &&
30033 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30034 : (TARGET_AVX)) &&
30035 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30036 : ( 1)))
30037 : return NULL;
30038 : return gen_split_2907 (insn, operands);
30039 :
30040 : case 8:
30041 : if (!(
30042 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30043 : ((16 == 64 || TARGET_AVX512VL
30044 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30045 : && ix86_pre_reload_split ()
30046 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30047 : STRIP_UNARY (operands[4]))
30048 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30049 : STRIP_UNARY (operands[4]))
30050 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30051 : STRIP_UNARY (operands[3]))
30052 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30053 : STRIP_UNARY (operands[3])))) &&
30054 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30055 : ( 1)))
30056 : return NULL;
30057 : return gen_split_2934 (insn, operands);
30058 :
30059 : case 9:
30060 : if (!((
30061 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30062 : ((64 == 64 || TARGET_AVX512VL
30063 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30064 : && ix86_pre_reload_split ()
30065 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30066 : STRIP_UNARY (operands[4]))
30067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30068 : STRIP_UNARY (operands[4]))
30069 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30070 : STRIP_UNARY (operands[3]))
30071 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30072 : STRIP_UNARY (operands[3])))) &&
30073 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30074 : (TARGET_AVX512F)) &&
30075 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30076 : ( 1)))
30077 : return NULL;
30078 : return gen_split_2961 (insn, operands);
30079 :
30080 : case 10:
30081 : if (!((
30082 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30083 : ((32 == 64 || TARGET_AVX512VL
30084 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30085 : && ix86_pre_reload_split ()
30086 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30087 : STRIP_UNARY (operands[4]))
30088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30089 : STRIP_UNARY (operands[4]))
30090 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30091 : STRIP_UNARY (operands[3]))
30092 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30093 : STRIP_UNARY (operands[3])))) &&
30094 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30095 : (TARGET_AVX)) &&
30096 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30097 : ( 1)))
30098 : return NULL;
30099 : return gen_split_2988 (insn, operands);
30100 :
30101 : case 11:
30102 : if (!((
30103 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30104 : ((16 == 64 || TARGET_AVX512VL
30105 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30106 : && ix86_pre_reload_split ()
30107 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30108 : STRIP_UNARY (operands[4]))
30109 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30110 : STRIP_UNARY (operands[4]))
30111 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30112 : STRIP_UNARY (operands[3]))
30113 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30114 : STRIP_UNARY (operands[3])))) &&
30115 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30116 : (TARGET_SSE2)) &&
30117 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30118 : ( 1)))
30119 : return NULL;
30120 : return gen_split_3015 (insn, operands);
30121 :
30122 : default:
30123 : return NULL;
30124 : }
30125 :
30126 : default:
30127 : return NULL;
30128 : }
30129 :
30130 : case IOR:
30131 : x4 = XEXP (x3, 0);
30132 : switch (GET_CODE (x4))
30133 : {
30134 : case REG:
30135 : case SUBREG:
30136 : case MEM:
30137 : case NOT:
30138 : switch (pattern543 (x2))
30139 : {
30140 : case 0:
30141 : if (!((
30142 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30143 : ((64 == 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 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30155 : (TARGET_AVX512F)) &&
30156 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30157 : ( 1)))
30158 : return NULL;
30159 : return gen_split_2073 (insn, operands);
30160 :
30161 : case 1:
30162 : if (!((
30163 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30164 : ((32 == 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 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30176 : (TARGET_AVX)) &&
30177 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30178 : ( 1)))
30179 : return NULL;
30180 : return gen_split_2100 (insn, operands);
30181 :
30182 : case 2:
30183 : if (!(
30184 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30185 : ((16 == 64 || TARGET_AVX512VL
30186 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30187 : && ix86_pre_reload_split ()
30188 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30189 : STRIP_UNARY (operands[4]))
30190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30191 : STRIP_UNARY (operands[4]))
30192 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30193 : STRIP_UNARY (operands[3]))
30194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30195 : STRIP_UNARY (operands[3])))) &&
30196 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30197 : ( 1)))
30198 : return NULL;
30199 : return gen_split_2127 (insn, operands);
30200 :
30201 : case 3:
30202 : if (!((
30203 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30204 : ((64 == 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 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30216 : (TARGET_AVX512F)) &&
30217 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30218 : ( 1)))
30219 : return NULL;
30220 : return gen_split_2154 (insn, operands);
30221 :
30222 : case 4:
30223 : if (!((
30224 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30225 : ((32 == 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 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30237 : (TARGET_AVX)) &&
30238 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30239 : ( 1)))
30240 : return NULL;
30241 : return gen_split_2181 (insn, operands);
30242 :
30243 : case 5:
30244 : if (!(
30245 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30246 : ((16 == 64 || TARGET_AVX512VL
30247 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30248 : && ix86_pre_reload_split ()
30249 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30250 : STRIP_UNARY (operands[4]))
30251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30252 : STRIP_UNARY (operands[4]))
30253 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30254 : STRIP_UNARY (operands[3]))
30255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30256 : STRIP_UNARY (operands[3])))) &&
30257 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30258 : ( 1)))
30259 : return NULL;
30260 : return gen_split_2208 (insn, operands);
30261 :
30262 : case 6:
30263 : if (!((
30264 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30265 : ((64 == 64 || TARGET_AVX512VL
30266 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30267 : && ix86_pre_reload_split ()
30268 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30269 : STRIP_UNARY (operands[4]))
30270 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30271 : STRIP_UNARY (operands[4]))
30272 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30273 : STRIP_UNARY (operands[3]))
30274 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30275 : STRIP_UNARY (operands[3])))) &&
30276 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30277 : (TARGET_AVX512F)) &&
30278 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30279 : ( 1)))
30280 : return NULL;
30281 : return gen_split_2235 (insn, operands);
30282 :
30283 : case 7:
30284 : if (!((
30285 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30286 : ((32 == 64 || TARGET_AVX512VL
30287 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30288 : && ix86_pre_reload_split ()
30289 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30290 : STRIP_UNARY (operands[4]))
30291 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30292 : STRIP_UNARY (operands[4]))
30293 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30294 : STRIP_UNARY (operands[3]))
30295 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30296 : STRIP_UNARY (operands[3])))) &&
30297 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30298 : (TARGET_AVX)) &&
30299 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30300 : ( 1)))
30301 : return NULL;
30302 : return gen_split_2262 (insn, operands);
30303 :
30304 : case 8:
30305 : if (!(
30306 : #line 14178 "/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 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30311 : STRIP_UNARY (operands[4]))
30312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30313 : STRIP_UNARY (operands[4]))
30314 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30315 : STRIP_UNARY (operands[3]))
30316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30317 : STRIP_UNARY (operands[3])))) &&
30318 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30319 : ( 1)))
30320 : return NULL;
30321 : return gen_split_2289 (insn, operands);
30322 :
30323 : case 9:
30324 : if (!((
30325 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30326 : ((64 == 64 || TARGET_AVX512VL
30327 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30328 : && ix86_pre_reload_split ()
30329 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30330 : STRIP_UNARY (operands[4]))
30331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30332 : STRIP_UNARY (operands[4]))
30333 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30334 : STRIP_UNARY (operands[3]))
30335 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30336 : STRIP_UNARY (operands[3])))) &&
30337 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30338 : (TARGET_AVX512F)) &&
30339 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30340 : ( 1)))
30341 : return NULL;
30342 : return gen_split_2316 (insn, operands);
30343 :
30344 : case 10:
30345 : if (!((
30346 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30347 : ((32 == 64 || TARGET_AVX512VL
30348 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30349 : && ix86_pre_reload_split ()
30350 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30351 : STRIP_UNARY (operands[4]))
30352 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30353 : STRIP_UNARY (operands[4]))
30354 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30355 : STRIP_UNARY (operands[3]))
30356 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30357 : STRIP_UNARY (operands[3])))) &&
30358 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30359 : (TARGET_AVX)) &&
30360 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30361 : ( 1)))
30362 : return NULL;
30363 : return gen_split_2343 (insn, operands);
30364 :
30365 : case 11:
30366 : if (!((
30367 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30368 : ((16 == 64 || TARGET_AVX512VL
30369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30370 : && ix86_pre_reload_split ()
30371 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30372 : STRIP_UNARY (operands[4]))
30373 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30374 : STRIP_UNARY (operands[4]))
30375 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30376 : STRIP_UNARY (operands[3]))
30377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30378 : STRIP_UNARY (operands[3])))) &&
30379 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30380 : (TARGET_SSE2)) &&
30381 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30382 : ( 1)))
30383 : return NULL;
30384 : return gen_split_2370 (insn, operands);
30385 :
30386 : case 12:
30387 : if (!((
30388 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30389 : ((64 == 64 || TARGET_AVX512VL
30390 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30391 : && ix86_pre_reload_split ()
30392 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30393 : STRIP_UNARY (operands[4]))
30394 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30395 : STRIP_UNARY (operands[4]))
30396 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30397 : STRIP_UNARY (operands[3]))
30398 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30399 : STRIP_UNARY (operands[3])))) &&
30400 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30401 : (TARGET_AVX512F)) &&
30402 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30403 : ( 1)))
30404 : return NULL;
30405 : return gen_split_2076 (insn, operands);
30406 :
30407 : case 13:
30408 : if (!((
30409 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30410 : ((32 == 64 || TARGET_AVX512VL
30411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30412 : && ix86_pre_reload_split ()
30413 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30414 : STRIP_UNARY (operands[4]))
30415 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30416 : STRIP_UNARY (operands[4]))
30417 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30418 : STRIP_UNARY (operands[3]))
30419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30420 : STRIP_UNARY (operands[3])))) &&
30421 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30422 : (TARGET_AVX)) &&
30423 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30424 : ( 1)))
30425 : return NULL;
30426 : return gen_split_2103 (insn, operands);
30427 :
30428 : case 14:
30429 : if (!(
30430 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30431 : ((16 == 64 || TARGET_AVX512VL
30432 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30433 : && ix86_pre_reload_split ()
30434 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30435 : STRIP_UNARY (operands[4]))
30436 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30437 : STRIP_UNARY (operands[4]))
30438 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30439 : STRIP_UNARY (operands[3]))
30440 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30441 : STRIP_UNARY (operands[3])))) &&
30442 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30443 : ( 1)))
30444 : return NULL;
30445 : return gen_split_2130 (insn, operands);
30446 :
30447 : case 15:
30448 : if (!((
30449 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30450 : ((64 == 64 || TARGET_AVX512VL
30451 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30452 : && ix86_pre_reload_split ()
30453 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30454 : STRIP_UNARY (operands[4]))
30455 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30456 : STRIP_UNARY (operands[4]))
30457 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30458 : STRIP_UNARY (operands[3]))
30459 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30460 : STRIP_UNARY (operands[3])))) &&
30461 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30462 : (TARGET_AVX512F)) &&
30463 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30464 : ( 1)))
30465 : return NULL;
30466 : return gen_split_2157 (insn, operands);
30467 :
30468 : case 16:
30469 : if (!((
30470 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30471 : ((32 == 64 || TARGET_AVX512VL
30472 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30473 : && ix86_pre_reload_split ()
30474 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30475 : STRIP_UNARY (operands[4]))
30476 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30477 : STRIP_UNARY (operands[4]))
30478 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30479 : STRIP_UNARY (operands[3]))
30480 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30481 : STRIP_UNARY (operands[3])))) &&
30482 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30483 : (TARGET_AVX)) &&
30484 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30485 : ( 1)))
30486 : return NULL;
30487 : return gen_split_2184 (insn, operands);
30488 :
30489 : case 17:
30490 : if (!(
30491 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30492 : ((16 == 64 || TARGET_AVX512VL
30493 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30494 : && ix86_pre_reload_split ()
30495 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30496 : STRIP_UNARY (operands[4]))
30497 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30498 : STRIP_UNARY (operands[4]))
30499 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30500 : STRIP_UNARY (operands[3]))
30501 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30502 : STRIP_UNARY (operands[3])))) &&
30503 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30504 : ( 1)))
30505 : return NULL;
30506 : return gen_split_2211 (insn, operands);
30507 :
30508 : case 18:
30509 : if (!((
30510 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30511 : ((64 == 64 || TARGET_AVX512VL
30512 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30513 : && ix86_pre_reload_split ()
30514 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30515 : STRIP_UNARY (operands[4]))
30516 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30517 : STRIP_UNARY (operands[4]))
30518 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30519 : STRIP_UNARY (operands[3]))
30520 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30521 : STRIP_UNARY (operands[3])))) &&
30522 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30523 : (TARGET_AVX512F)) &&
30524 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30525 : ( 1)))
30526 : return NULL;
30527 : return gen_split_2238 (insn, operands);
30528 :
30529 : case 19:
30530 : if (!((
30531 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30532 : ((32 == 64 || TARGET_AVX512VL
30533 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30534 : && ix86_pre_reload_split ()
30535 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30536 : STRIP_UNARY (operands[4]))
30537 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30538 : STRIP_UNARY (operands[4]))
30539 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30540 : STRIP_UNARY (operands[3]))
30541 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30542 : STRIP_UNARY (operands[3])))) &&
30543 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30544 : (TARGET_AVX)) &&
30545 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30546 : ( 1)))
30547 : return NULL;
30548 : return gen_split_2265 (insn, operands);
30549 :
30550 : case 20:
30551 : if (!(
30552 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30553 : ((16 == 64 || TARGET_AVX512VL
30554 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30555 : && ix86_pre_reload_split ()
30556 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30557 : STRIP_UNARY (operands[4]))
30558 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30559 : STRIP_UNARY (operands[4]))
30560 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30561 : STRIP_UNARY (operands[3]))
30562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30563 : STRIP_UNARY (operands[3])))) &&
30564 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30565 : ( 1)))
30566 : return NULL;
30567 : return gen_split_2292 (insn, operands);
30568 :
30569 : case 21:
30570 : if (!((
30571 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30572 : ((64 == 64 || TARGET_AVX512VL
30573 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30574 : && ix86_pre_reload_split ()
30575 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30576 : STRIP_UNARY (operands[4]))
30577 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30578 : STRIP_UNARY (operands[4]))
30579 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30580 : STRIP_UNARY (operands[3]))
30581 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30582 : STRIP_UNARY (operands[3])))) &&
30583 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30584 : (TARGET_AVX512F)) &&
30585 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30586 : ( 1)))
30587 : return NULL;
30588 : return gen_split_2319 (insn, operands);
30589 :
30590 : case 22:
30591 : if (!((
30592 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30593 : ((32 == 64 || TARGET_AVX512VL
30594 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30595 : && ix86_pre_reload_split ()
30596 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30597 : STRIP_UNARY (operands[4]))
30598 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30599 : STRIP_UNARY (operands[4]))
30600 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30601 : STRIP_UNARY (operands[3]))
30602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30603 : STRIP_UNARY (operands[3])))) &&
30604 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30605 : (TARGET_AVX)) &&
30606 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30607 : ( 1)))
30608 : return NULL;
30609 : return gen_split_2346 (insn, operands);
30610 :
30611 : case 23:
30612 : if (!((
30613 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30614 : ((16 == 64 || TARGET_AVX512VL
30615 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30616 : && ix86_pre_reload_split ()
30617 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30618 : STRIP_UNARY (operands[4]))
30619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30620 : STRIP_UNARY (operands[4]))
30621 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30622 : STRIP_UNARY (operands[3]))
30623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30624 : STRIP_UNARY (operands[3])))) &&
30625 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30626 : (TARGET_SSE2)) &&
30627 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30628 : ( 1)))
30629 : return NULL;
30630 : return gen_split_2373 (insn, operands);
30631 :
30632 : case 24:
30633 : if (!((
30634 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30635 : ((64 == 64 || TARGET_AVX512VL
30636 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30637 : && ix86_pre_reload_split ()
30638 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30639 : STRIP_UNARY (operands[4]))
30640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30641 : STRIP_UNARY (operands[4]))
30642 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30643 : STRIP_UNARY (operands[3]))
30644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30645 : STRIP_UNARY (operands[3])))) &&
30646 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30647 : (TARGET_AVX512F)) &&
30648 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30649 : ( 1)))
30650 : return NULL;
30651 : return gen_split_2079 (insn, operands);
30652 :
30653 : case 25:
30654 : if (!((
30655 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30656 : ((32 == 64 || TARGET_AVX512VL
30657 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30658 : && ix86_pre_reload_split ()
30659 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30660 : STRIP_UNARY (operands[4]))
30661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30662 : STRIP_UNARY (operands[4]))
30663 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30664 : STRIP_UNARY (operands[3]))
30665 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30666 : STRIP_UNARY (operands[3])))) &&
30667 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30668 : (TARGET_AVX)) &&
30669 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30670 : ( 1)))
30671 : return NULL;
30672 : return gen_split_2106 (insn, operands);
30673 :
30674 : case 26:
30675 : if (!(
30676 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30677 : ((16 == 64 || TARGET_AVX512VL
30678 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30679 : && ix86_pre_reload_split ()
30680 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30681 : STRIP_UNARY (operands[4]))
30682 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30683 : STRIP_UNARY (operands[4]))
30684 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30685 : STRIP_UNARY (operands[3]))
30686 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30687 : STRIP_UNARY (operands[3])))) &&
30688 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30689 : ( 1)))
30690 : return NULL;
30691 : return gen_split_2133 (insn, operands);
30692 :
30693 : case 27:
30694 : if (!((
30695 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30696 : ((64 == 64 || TARGET_AVX512VL
30697 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30698 : && ix86_pre_reload_split ()
30699 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30700 : STRIP_UNARY (operands[4]))
30701 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30702 : STRIP_UNARY (operands[4]))
30703 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30704 : STRIP_UNARY (operands[3]))
30705 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30706 : STRIP_UNARY (operands[3])))) &&
30707 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30708 : (TARGET_AVX512F)) &&
30709 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30710 : ( 1)))
30711 : return NULL;
30712 : return gen_split_2160 (insn, operands);
30713 :
30714 : case 28:
30715 : if (!((
30716 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30717 : ((32 == 64 || TARGET_AVX512VL
30718 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30719 : && ix86_pre_reload_split ()
30720 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30721 : STRIP_UNARY (operands[4]))
30722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30723 : STRIP_UNARY (operands[4]))
30724 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30725 : STRIP_UNARY (operands[3]))
30726 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30727 : STRIP_UNARY (operands[3])))) &&
30728 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30729 : (TARGET_AVX)) &&
30730 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30731 : ( 1)))
30732 : return NULL;
30733 : return gen_split_2187 (insn, operands);
30734 :
30735 : case 29:
30736 : if (!(
30737 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30738 : ((16 == 64 || TARGET_AVX512VL
30739 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30740 : && ix86_pre_reload_split ()
30741 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30742 : STRIP_UNARY (operands[4]))
30743 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30744 : STRIP_UNARY (operands[4]))
30745 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30746 : STRIP_UNARY (operands[3]))
30747 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30748 : STRIP_UNARY (operands[3])))) &&
30749 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30750 : ( 1)))
30751 : return NULL;
30752 : return gen_split_2214 (insn, operands);
30753 :
30754 : case 30:
30755 : if (!((
30756 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30757 : ((64 == 64 || TARGET_AVX512VL
30758 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30759 : && ix86_pre_reload_split ()
30760 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30761 : STRIP_UNARY (operands[4]))
30762 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30763 : STRIP_UNARY (operands[4]))
30764 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30765 : STRIP_UNARY (operands[3]))
30766 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30767 : STRIP_UNARY (operands[3])))) &&
30768 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30769 : (TARGET_AVX512F)) &&
30770 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30771 : ( 1)))
30772 : return NULL;
30773 : return gen_split_2241 (insn, operands);
30774 :
30775 : case 31:
30776 : if (!((
30777 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30778 : ((32 == 64 || TARGET_AVX512VL
30779 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30780 : && ix86_pre_reload_split ()
30781 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30782 : STRIP_UNARY (operands[4]))
30783 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30784 : STRIP_UNARY (operands[4]))
30785 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30786 : STRIP_UNARY (operands[3]))
30787 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30788 : STRIP_UNARY (operands[3])))) &&
30789 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30790 : (TARGET_AVX)) &&
30791 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30792 : ( 1)))
30793 : return NULL;
30794 : return gen_split_2268 (insn, operands);
30795 :
30796 : case 32:
30797 : if (!(
30798 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30799 : ((16 == 64 || TARGET_AVX512VL
30800 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30801 : && ix86_pre_reload_split ()
30802 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30803 : STRIP_UNARY (operands[4]))
30804 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30805 : STRIP_UNARY (operands[4]))
30806 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30807 : STRIP_UNARY (operands[3]))
30808 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30809 : STRIP_UNARY (operands[3])))) &&
30810 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30811 : ( 1)))
30812 : return NULL;
30813 : return gen_split_2295 (insn, operands);
30814 :
30815 : case 33:
30816 : if (!((
30817 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30818 : ((64 == 64 || TARGET_AVX512VL
30819 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30820 : && ix86_pre_reload_split ()
30821 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30822 : STRIP_UNARY (operands[4]))
30823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30824 : STRIP_UNARY (operands[4]))
30825 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30826 : STRIP_UNARY (operands[3]))
30827 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30828 : STRIP_UNARY (operands[3])))) &&
30829 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30830 : (TARGET_AVX512F)) &&
30831 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30832 : ( 1)))
30833 : return NULL;
30834 : return gen_split_2322 (insn, operands);
30835 :
30836 : case 34:
30837 : if (!((
30838 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30839 : ((32 == 64 || TARGET_AVX512VL
30840 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30841 : && ix86_pre_reload_split ()
30842 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30843 : STRIP_UNARY (operands[4]))
30844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30845 : STRIP_UNARY (operands[4]))
30846 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30847 : STRIP_UNARY (operands[3]))
30848 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30849 : STRIP_UNARY (operands[3])))) &&
30850 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30851 : (TARGET_AVX)) &&
30852 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30853 : ( 1)))
30854 : return NULL;
30855 : return gen_split_2349 (insn, operands);
30856 :
30857 : case 35:
30858 : if (!((
30859 : #line 14178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30860 : ((16 == 64 || TARGET_AVX512VL
30861 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30862 : && ix86_pre_reload_split ()
30863 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30864 : STRIP_UNARY (operands[4]))
30865 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30866 : STRIP_UNARY (operands[4]))
30867 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30868 : STRIP_UNARY (operands[3]))
30869 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30870 : STRIP_UNARY (operands[3])))) &&
30871 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30872 : (TARGET_SSE2)) &&
30873 : #line 14190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30874 : ( 1)))
30875 : return NULL;
30876 : return gen_split_2376 (insn, operands);
30877 :
30878 : case 36:
30879 : if (!((
30880 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30881 : ((64 == 64 || TARGET_AVX512VL
30882 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30883 : && ix86_pre_reload_split ()) &&
30884 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30885 : (TARGET_AVX512F)) &&
30886 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : ( 1)))
30888 : return NULL;
30889 : return gen_split_3147 (insn, operands);
30890 :
30891 : case 37:
30892 : if (!((
30893 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30894 : ((32 == 64 || TARGET_AVX512VL
30895 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30896 : && ix86_pre_reload_split ()) &&
30897 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30898 : (TARGET_AVX)) &&
30899 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30900 : ( 1)))
30901 : return NULL;
30902 : return gen_split_3156 (insn, operands);
30903 :
30904 : case 38:
30905 : if (!(
30906 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30907 : ((16 == 64 || TARGET_AVX512VL
30908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30909 : && ix86_pre_reload_split ()) &&
30910 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30911 : ( 1)))
30912 : return NULL;
30913 : return gen_split_3165 (insn, operands);
30914 :
30915 : case 39:
30916 : if (!((
30917 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30918 : ((64 == 64 || TARGET_AVX512VL
30919 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30920 : && ix86_pre_reload_split ()) &&
30921 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30922 : (TARGET_AVX512F)) &&
30923 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30924 : ( 1)))
30925 : return NULL;
30926 : return gen_split_3174 (insn, operands);
30927 :
30928 : case 40:
30929 : if (!((
30930 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30931 : ((32 == 64 || TARGET_AVX512VL
30932 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30933 : && ix86_pre_reload_split ()) &&
30934 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30935 : (TARGET_AVX)) &&
30936 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30937 : ( 1)))
30938 : return NULL;
30939 : return gen_split_3183 (insn, operands);
30940 :
30941 : case 41:
30942 : if (!(
30943 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30944 : ((16 == 64 || TARGET_AVX512VL
30945 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30946 : && ix86_pre_reload_split ()) &&
30947 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30948 : ( 1)))
30949 : return NULL;
30950 : return gen_split_3192 (insn, operands);
30951 :
30952 : case 42:
30953 : if (!((
30954 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30955 : ((64 == 64 || TARGET_AVX512VL
30956 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30957 : && ix86_pre_reload_split ()) &&
30958 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30959 : (TARGET_AVX512F)) &&
30960 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30961 : ( 1)))
30962 : return NULL;
30963 : return gen_split_3201 (insn, operands);
30964 :
30965 : case 43:
30966 : if (!((
30967 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30968 : ((32 == 64 || TARGET_AVX512VL
30969 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30970 : && ix86_pre_reload_split ()) &&
30971 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30972 : (TARGET_AVX)) &&
30973 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30974 : ( 1)))
30975 : return NULL;
30976 : return gen_split_3210 (insn, operands);
30977 :
30978 : case 44:
30979 : if (!(
30980 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30981 : ((16 == 64 || TARGET_AVX512VL
30982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30983 : && ix86_pre_reload_split ()) &&
30984 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30985 : ( 1)))
30986 : return NULL;
30987 : return gen_split_3219 (insn, operands);
30988 :
30989 : case 45:
30990 : if (!((
30991 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30992 : ((64 == 64 || TARGET_AVX512VL
30993 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30994 : && ix86_pre_reload_split ()) &&
30995 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30996 : (TARGET_AVX512F)) &&
30997 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30998 : ( 1)))
30999 : return NULL;
31000 : return gen_split_3228 (insn, operands);
31001 :
31002 : case 46:
31003 : if (!((
31004 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31005 : ((32 == 64 || TARGET_AVX512VL
31006 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31007 : && ix86_pre_reload_split ()) &&
31008 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31009 : (TARGET_AVX)) &&
31010 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31011 : ( 1)))
31012 : return NULL;
31013 : return gen_split_3237 (insn, operands);
31014 :
31015 : case 47:
31016 : if (!((
31017 : #line 14347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31018 : ((16 == 64 || TARGET_AVX512VL
31019 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31020 : && ix86_pre_reload_split ()) &&
31021 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31022 : (TARGET_SSE2)) &&
31023 : #line 14351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31024 : ( 1)))
31025 : return NULL;
31026 : return gen_split_3246 (insn, operands);
31027 :
31028 : default:
31029 : return NULL;
31030 : }
31031 :
31032 : case AND:
31033 : switch (pattern544 (x2))
31034 : {
31035 : case 0:
31036 : if (!((
31037 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31038 : ((64 == 64 || TARGET_AVX512VL
31039 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31040 : && ix86_pre_reload_split ()
31041 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31042 : STRIP_UNARY (operands[4]))
31043 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31044 : STRIP_UNARY (operands[4]))
31045 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31046 : STRIP_UNARY (operands[3]))
31047 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31048 : STRIP_UNARY (operands[3])))) &&
31049 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31050 : (TARGET_AVX512F)) &&
31051 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31052 : ( 1)))
31053 : return NULL;
31054 : return gen_split_2721 (insn, operands);
31055 :
31056 : case 1:
31057 : if (!((
31058 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31059 : ((32 == 64 || TARGET_AVX512VL
31060 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31061 : && ix86_pre_reload_split ()
31062 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31063 : STRIP_UNARY (operands[4]))
31064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31065 : STRIP_UNARY (operands[4]))
31066 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31067 : STRIP_UNARY (operands[3]))
31068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31069 : STRIP_UNARY (operands[3])))) &&
31070 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31071 : (TARGET_AVX)) &&
31072 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31073 : ( 1)))
31074 : return NULL;
31075 : return gen_split_2748 (insn, operands);
31076 :
31077 : case 2:
31078 : if (!(
31079 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31080 : ((16 == 64 || TARGET_AVX512VL
31081 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31082 : && ix86_pre_reload_split ()
31083 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31084 : STRIP_UNARY (operands[4]))
31085 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31086 : STRIP_UNARY (operands[4]))
31087 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31088 : STRIP_UNARY (operands[3]))
31089 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31090 : STRIP_UNARY (operands[3])))) &&
31091 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31092 : ( 1)))
31093 : return NULL;
31094 : return gen_split_2775 (insn, operands);
31095 :
31096 : case 3:
31097 : if (!((
31098 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31099 : ((64 == 64 || TARGET_AVX512VL
31100 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31101 : && ix86_pre_reload_split ()
31102 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31103 : STRIP_UNARY (operands[4]))
31104 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31105 : STRIP_UNARY (operands[4]))
31106 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31107 : STRIP_UNARY (operands[3]))
31108 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31109 : STRIP_UNARY (operands[3])))) &&
31110 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31111 : (TARGET_AVX512F)) &&
31112 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31113 : ( 1)))
31114 : return NULL;
31115 : return gen_split_2802 (insn, operands);
31116 :
31117 : case 4:
31118 : if (!((
31119 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31120 : ((32 == 64 || TARGET_AVX512VL
31121 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31122 : && ix86_pre_reload_split ()
31123 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31124 : STRIP_UNARY (operands[4]))
31125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31126 : STRIP_UNARY (operands[4]))
31127 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31128 : STRIP_UNARY (operands[3]))
31129 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31130 : STRIP_UNARY (operands[3])))) &&
31131 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31132 : (TARGET_AVX)) &&
31133 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31134 : ( 1)))
31135 : return NULL;
31136 : return gen_split_2829 (insn, operands);
31137 :
31138 : case 5:
31139 : if (!(
31140 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31141 : ((16 == 64 || TARGET_AVX512VL
31142 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31143 : && ix86_pre_reload_split ()
31144 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31145 : STRIP_UNARY (operands[4]))
31146 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31147 : STRIP_UNARY (operands[4]))
31148 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31149 : STRIP_UNARY (operands[3]))
31150 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31151 : STRIP_UNARY (operands[3])))) &&
31152 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31153 : ( 1)))
31154 : return NULL;
31155 : return gen_split_2856 (insn, operands);
31156 :
31157 : case 6:
31158 : if (!((
31159 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31160 : ((64 == 64 || TARGET_AVX512VL
31161 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31162 : && ix86_pre_reload_split ()
31163 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31164 : STRIP_UNARY (operands[4]))
31165 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31166 : STRIP_UNARY (operands[4]))
31167 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31168 : STRIP_UNARY (operands[3]))
31169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31170 : STRIP_UNARY (operands[3])))) &&
31171 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31172 : (TARGET_AVX512F)) &&
31173 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31174 : ( 1)))
31175 : return NULL;
31176 : return gen_split_2883 (insn, operands);
31177 :
31178 : case 7:
31179 : if (!((
31180 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31181 : ((32 == 64 || TARGET_AVX512VL
31182 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31183 : && ix86_pre_reload_split ()
31184 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31185 : STRIP_UNARY (operands[4]))
31186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31187 : STRIP_UNARY (operands[4]))
31188 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31189 : STRIP_UNARY (operands[3]))
31190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31191 : STRIP_UNARY (operands[3])))) &&
31192 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31193 : (TARGET_AVX)) &&
31194 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31195 : ( 1)))
31196 : return NULL;
31197 : return gen_split_2910 (insn, operands);
31198 :
31199 : case 8:
31200 : if (!(
31201 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31202 : ((16 == 64 || TARGET_AVX512VL
31203 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31204 : && ix86_pre_reload_split ()
31205 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31206 : STRIP_UNARY (operands[4]))
31207 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31208 : STRIP_UNARY (operands[4]))
31209 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31210 : STRIP_UNARY (operands[3]))
31211 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31212 : STRIP_UNARY (operands[3])))) &&
31213 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31214 : ( 1)))
31215 : return NULL;
31216 : return gen_split_2937 (insn, operands);
31217 :
31218 : case 9:
31219 : if (!((
31220 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31221 : ((64 == 64 || TARGET_AVX512VL
31222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31223 : && ix86_pre_reload_split ()
31224 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31225 : STRIP_UNARY (operands[4]))
31226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31227 : STRIP_UNARY (operands[4]))
31228 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31229 : STRIP_UNARY (operands[3]))
31230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31231 : STRIP_UNARY (operands[3])))) &&
31232 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31233 : (TARGET_AVX512F)) &&
31234 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31235 : ( 1)))
31236 : return NULL;
31237 : return gen_split_2964 (insn, operands);
31238 :
31239 : case 10:
31240 : if (!((
31241 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31242 : ((32 == 64 || TARGET_AVX512VL
31243 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31244 : && ix86_pre_reload_split ()
31245 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31246 : STRIP_UNARY (operands[4]))
31247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31248 : STRIP_UNARY (operands[4]))
31249 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31250 : STRIP_UNARY (operands[3]))
31251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31252 : STRIP_UNARY (operands[3])))) &&
31253 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31254 : (TARGET_AVX)) &&
31255 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31256 : ( 1)))
31257 : return NULL;
31258 : return gen_split_2991 (insn, operands);
31259 :
31260 : case 11:
31261 : if (!((
31262 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31263 : ((16 == 64 || TARGET_AVX512VL
31264 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31265 : && ix86_pre_reload_split ()
31266 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31267 : STRIP_UNARY (operands[4]))
31268 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31269 : STRIP_UNARY (operands[4]))
31270 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31271 : STRIP_UNARY (operands[3]))
31272 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31273 : STRIP_UNARY (operands[3])))) &&
31274 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31275 : (TARGET_SSE2)) &&
31276 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31277 : ( 1)))
31278 : return NULL;
31279 : return gen_split_3018 (insn, operands);
31280 :
31281 : default:
31282 : return NULL;
31283 : }
31284 :
31285 : case IOR:
31286 : switch (pattern544 (x2))
31287 : {
31288 : case 0:
31289 : if (!((
31290 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31291 : ((64 == 64 || TARGET_AVX512VL
31292 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31293 : && ix86_pre_reload_split ()
31294 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31295 : STRIP_UNARY (operands[4]))
31296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31297 : STRIP_UNARY (operands[4]))
31298 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31299 : STRIP_UNARY (operands[3]))
31300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31301 : STRIP_UNARY (operands[3])))) &&
31302 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31303 : (TARGET_AVX512F)) &&
31304 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31305 : ( 1)))
31306 : return NULL;
31307 : return gen_split_2724 (insn, operands);
31308 :
31309 : case 1:
31310 : if (!((
31311 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31312 : ((32 == 64 || TARGET_AVX512VL
31313 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31314 : && ix86_pre_reload_split ()
31315 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31316 : STRIP_UNARY (operands[4]))
31317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31318 : STRIP_UNARY (operands[4]))
31319 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31320 : STRIP_UNARY (operands[3]))
31321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31322 : STRIP_UNARY (operands[3])))) &&
31323 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31324 : (TARGET_AVX)) &&
31325 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31326 : ( 1)))
31327 : return NULL;
31328 : return gen_split_2751 (insn, operands);
31329 :
31330 : case 2:
31331 : if (!(
31332 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31333 : ((16 == 64 || TARGET_AVX512VL
31334 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31335 : && ix86_pre_reload_split ()
31336 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31337 : STRIP_UNARY (operands[4]))
31338 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31339 : STRIP_UNARY (operands[4]))
31340 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31341 : STRIP_UNARY (operands[3]))
31342 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31343 : STRIP_UNARY (operands[3])))) &&
31344 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31345 : ( 1)))
31346 : return NULL;
31347 : return gen_split_2778 (insn, operands);
31348 :
31349 : case 3:
31350 : if (!((
31351 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31352 : ((64 == 64 || TARGET_AVX512VL
31353 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31354 : && ix86_pre_reload_split ()
31355 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31356 : STRIP_UNARY (operands[4]))
31357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31358 : STRIP_UNARY (operands[4]))
31359 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31360 : STRIP_UNARY (operands[3]))
31361 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31362 : STRIP_UNARY (operands[3])))) &&
31363 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31364 : (TARGET_AVX512F)) &&
31365 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31366 : ( 1)))
31367 : return NULL;
31368 : return gen_split_2805 (insn, operands);
31369 :
31370 : case 4:
31371 : if (!((
31372 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31373 : ((32 == 64 || TARGET_AVX512VL
31374 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31375 : && ix86_pre_reload_split ()
31376 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31377 : STRIP_UNARY (operands[4]))
31378 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31379 : STRIP_UNARY (operands[4]))
31380 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31381 : STRIP_UNARY (operands[3]))
31382 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31383 : STRIP_UNARY (operands[3])))) &&
31384 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31385 : (TARGET_AVX)) &&
31386 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31387 : ( 1)))
31388 : return NULL;
31389 : return gen_split_2832 (insn, operands);
31390 :
31391 : case 5:
31392 : if (!(
31393 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31394 : ((16 == 64 || TARGET_AVX512VL
31395 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31396 : && ix86_pre_reload_split ()
31397 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31398 : STRIP_UNARY (operands[4]))
31399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31400 : STRIP_UNARY (operands[4]))
31401 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31402 : STRIP_UNARY (operands[3]))
31403 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31404 : STRIP_UNARY (operands[3])))) &&
31405 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31406 : ( 1)))
31407 : return NULL;
31408 : return gen_split_2859 (insn, operands);
31409 :
31410 : case 6:
31411 : if (!((
31412 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31413 : ((64 == 64 || TARGET_AVX512VL
31414 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31415 : && ix86_pre_reload_split ()
31416 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31417 : STRIP_UNARY (operands[4]))
31418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31419 : STRIP_UNARY (operands[4]))
31420 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31421 : STRIP_UNARY (operands[3]))
31422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31423 : STRIP_UNARY (operands[3])))) &&
31424 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31425 : (TARGET_AVX512F)) &&
31426 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31427 : ( 1)))
31428 : return NULL;
31429 : return gen_split_2886 (insn, operands);
31430 :
31431 : case 7:
31432 : if (!((
31433 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31434 : ((32 == 64 || TARGET_AVX512VL
31435 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31436 : && ix86_pre_reload_split ()
31437 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31438 : STRIP_UNARY (operands[4]))
31439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31440 : STRIP_UNARY (operands[4]))
31441 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31442 : STRIP_UNARY (operands[3]))
31443 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31444 : STRIP_UNARY (operands[3])))) &&
31445 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31446 : (TARGET_AVX)) &&
31447 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31448 : ( 1)))
31449 : return NULL;
31450 : return gen_split_2913 (insn, operands);
31451 :
31452 : case 8:
31453 : if (!(
31454 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31455 : ((16 == 64 || TARGET_AVX512VL
31456 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31457 : && ix86_pre_reload_split ()
31458 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31459 : STRIP_UNARY (operands[4]))
31460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31461 : STRIP_UNARY (operands[4]))
31462 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31463 : STRIP_UNARY (operands[3]))
31464 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31465 : STRIP_UNARY (operands[3])))) &&
31466 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31467 : ( 1)))
31468 : return NULL;
31469 : return gen_split_2940 (insn, operands);
31470 :
31471 : case 9:
31472 : if (!((
31473 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31474 : ((64 == 64 || TARGET_AVX512VL
31475 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31476 : && ix86_pre_reload_split ()
31477 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31478 : STRIP_UNARY (operands[4]))
31479 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31480 : STRIP_UNARY (operands[4]))
31481 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31482 : STRIP_UNARY (operands[3]))
31483 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31484 : STRIP_UNARY (operands[3])))) &&
31485 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31486 : (TARGET_AVX512F)) &&
31487 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31488 : ( 1)))
31489 : return NULL;
31490 : return gen_split_2967 (insn, operands);
31491 :
31492 : case 10:
31493 : if (!((
31494 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31495 : ((32 == 64 || TARGET_AVX512VL
31496 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31497 : && ix86_pre_reload_split ()
31498 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31499 : STRIP_UNARY (operands[4]))
31500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31501 : STRIP_UNARY (operands[4]))
31502 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31503 : STRIP_UNARY (operands[3]))
31504 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31505 : STRIP_UNARY (operands[3])))) &&
31506 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31507 : (TARGET_AVX)) &&
31508 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31509 : ( 1)))
31510 : return NULL;
31511 : return gen_split_2994 (insn, operands);
31512 :
31513 : case 11:
31514 : if (!((
31515 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31516 : ((16 == 64 || TARGET_AVX512VL
31517 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31518 : && ix86_pre_reload_split ()
31519 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31520 : STRIP_UNARY (operands[4]))
31521 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31522 : STRIP_UNARY (operands[4]))
31523 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31524 : STRIP_UNARY (operands[3]))
31525 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31526 : STRIP_UNARY (operands[3])))) &&
31527 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31528 : (TARGET_SSE2)) &&
31529 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31530 : ( 1)))
31531 : return NULL;
31532 : return gen_split_3021 (insn, operands);
31533 :
31534 : default:
31535 : return NULL;
31536 : }
31537 :
31538 : case XOR:
31539 : switch (pattern544 (x2))
31540 : {
31541 : case 0:
31542 : if (!((
31543 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31544 : ((64 == 64 || TARGET_AVX512VL
31545 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31546 : && ix86_pre_reload_split ()
31547 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31548 : STRIP_UNARY (operands[4]))
31549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31550 : STRIP_UNARY (operands[4]))
31551 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31552 : STRIP_UNARY (operands[3]))
31553 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31554 : STRIP_UNARY (operands[3])))) &&
31555 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31556 : (TARGET_AVX512F)) &&
31557 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31558 : ( 1)))
31559 : return NULL;
31560 : return gen_split_2727 (insn, operands);
31561 :
31562 : case 1:
31563 : if (!((
31564 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31565 : ((32 == 64 || TARGET_AVX512VL
31566 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31567 : && ix86_pre_reload_split ()
31568 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31569 : STRIP_UNARY (operands[4]))
31570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31571 : STRIP_UNARY (operands[4]))
31572 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31573 : STRIP_UNARY (operands[3]))
31574 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31575 : STRIP_UNARY (operands[3])))) &&
31576 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31577 : (TARGET_AVX)) &&
31578 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31579 : ( 1)))
31580 : return NULL;
31581 : return gen_split_2754 (insn, operands);
31582 :
31583 : case 2:
31584 : if (!(
31585 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31586 : ((16 == 64 || TARGET_AVX512VL
31587 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31588 : && ix86_pre_reload_split ()
31589 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31590 : STRIP_UNARY (operands[4]))
31591 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31592 : STRIP_UNARY (operands[4]))
31593 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31594 : STRIP_UNARY (operands[3]))
31595 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31596 : STRIP_UNARY (operands[3])))) &&
31597 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31598 : ( 1)))
31599 : return NULL;
31600 : return gen_split_2781 (insn, operands);
31601 :
31602 : case 3:
31603 : if (!((
31604 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31605 : ((64 == 64 || TARGET_AVX512VL
31606 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31607 : && ix86_pre_reload_split ()
31608 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31609 : STRIP_UNARY (operands[4]))
31610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31611 : STRIP_UNARY (operands[4]))
31612 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31613 : STRIP_UNARY (operands[3]))
31614 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31615 : STRIP_UNARY (operands[3])))) &&
31616 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31617 : (TARGET_AVX512F)) &&
31618 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31619 : ( 1)))
31620 : return NULL;
31621 : return gen_split_2808 (insn, operands);
31622 :
31623 : case 4:
31624 : if (!((
31625 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31626 : ((32 == 64 || TARGET_AVX512VL
31627 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31628 : && ix86_pre_reload_split ()
31629 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31630 : STRIP_UNARY (operands[4]))
31631 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31632 : STRIP_UNARY (operands[4]))
31633 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31634 : STRIP_UNARY (operands[3]))
31635 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31636 : STRIP_UNARY (operands[3])))) &&
31637 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31638 : (TARGET_AVX)) &&
31639 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31640 : ( 1)))
31641 : return NULL;
31642 : return gen_split_2835 (insn, operands);
31643 :
31644 : case 5:
31645 : if (!(
31646 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31647 : ((16 == 64 || TARGET_AVX512VL
31648 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31649 : && ix86_pre_reload_split ()
31650 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31651 : STRIP_UNARY (operands[4]))
31652 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31653 : STRIP_UNARY (operands[4]))
31654 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31655 : STRIP_UNARY (operands[3]))
31656 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31657 : STRIP_UNARY (operands[3])))) &&
31658 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31659 : ( 1)))
31660 : return NULL;
31661 : return gen_split_2862 (insn, operands);
31662 :
31663 : case 6:
31664 : if (!((
31665 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31666 : ((64 == 64 || TARGET_AVX512VL
31667 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31668 : && ix86_pre_reload_split ()
31669 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31670 : STRIP_UNARY (operands[4]))
31671 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31672 : STRIP_UNARY (operands[4]))
31673 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31674 : STRIP_UNARY (operands[3]))
31675 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31676 : STRIP_UNARY (operands[3])))) &&
31677 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31678 : (TARGET_AVX512F)) &&
31679 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31680 : ( 1)))
31681 : return NULL;
31682 : return gen_split_2889 (insn, operands);
31683 :
31684 : case 7:
31685 : if (!((
31686 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31687 : ((32 == 64 || TARGET_AVX512VL
31688 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31689 : && ix86_pre_reload_split ()
31690 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31691 : STRIP_UNARY (operands[4]))
31692 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31693 : STRIP_UNARY (operands[4]))
31694 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31695 : STRIP_UNARY (operands[3]))
31696 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31697 : STRIP_UNARY (operands[3])))) &&
31698 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31699 : (TARGET_AVX)) &&
31700 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31701 : ( 1)))
31702 : return NULL;
31703 : return gen_split_2916 (insn, operands);
31704 :
31705 : case 8:
31706 : if (!(
31707 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31708 : ((16 == 64 || TARGET_AVX512VL
31709 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31710 : && ix86_pre_reload_split ()
31711 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31712 : STRIP_UNARY (operands[4]))
31713 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31714 : STRIP_UNARY (operands[4]))
31715 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31716 : STRIP_UNARY (operands[3]))
31717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31718 : STRIP_UNARY (operands[3])))) &&
31719 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31720 : ( 1)))
31721 : return NULL;
31722 : return gen_split_2943 (insn, operands);
31723 :
31724 : case 9:
31725 : if (!((
31726 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31727 : ((64 == 64 || TARGET_AVX512VL
31728 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31729 : && ix86_pre_reload_split ()
31730 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31731 : STRIP_UNARY (operands[4]))
31732 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31733 : STRIP_UNARY (operands[4]))
31734 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31735 : STRIP_UNARY (operands[3]))
31736 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31737 : STRIP_UNARY (operands[3])))) &&
31738 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31739 : (TARGET_AVX512F)) &&
31740 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31741 : ( 1)))
31742 : return NULL;
31743 : return gen_split_2970 (insn, operands);
31744 :
31745 : case 10:
31746 : if (!((
31747 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31748 : ((32 == 64 || TARGET_AVX512VL
31749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31750 : && ix86_pre_reload_split ()
31751 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31752 : STRIP_UNARY (operands[4]))
31753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31754 : STRIP_UNARY (operands[4]))
31755 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31756 : STRIP_UNARY (operands[3]))
31757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31758 : STRIP_UNARY (operands[3])))) &&
31759 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31760 : (TARGET_AVX)) &&
31761 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31762 : ( 1)))
31763 : return NULL;
31764 : return gen_split_2997 (insn, operands);
31765 :
31766 : case 11:
31767 : if (!((
31768 : #line 14263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31769 : ((16 == 64 || TARGET_AVX512VL
31770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31771 : && ix86_pre_reload_split ()
31772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31773 : STRIP_UNARY (operands[4]))
31774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31775 : STRIP_UNARY (operands[4]))
31776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31777 : STRIP_UNARY (operands[3]))
31778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31779 : STRIP_UNARY (operands[3])))) &&
31780 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31781 : (TARGET_SSE2)) &&
31782 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31783 : ( 1)))
31784 : return NULL;
31785 : return gen_split_3024 (insn, operands);
31786 :
31787 : default:
31788 : return NULL;
31789 : }
31790 :
31791 : default:
31792 : return NULL;
31793 : }
31794 :
31795 : case XOR:
31796 : return split_69 (x1, insn);
31797 :
31798 : default:
31799 : return NULL;
31800 : }
31801 : }
|