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 338451 : pattern4 (rtx x1, machine_mode i1)
57 : {
58 338451 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 338451 : int res ATTRIBUTE_UNUSED;
60 338451 : if (!register_operand (operands[0], i1)
61 298501 : || GET_MODE (x1) != i1
62 298501 : || !register_operand (operands[1], i1)
63 490026 : || !general_operand (operands[2], i1))
64 187282 : return -1;
65 : return 0;
66 : }
67 :
68 : int
69 1100 : pattern11 (rtx x1)
70 : {
71 1100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
72 1100 : rtx x2, x3, x4;
73 1100 : int res ATTRIBUTE_UNUSED;
74 1100 : x2 = XEXP (x1, 0);
75 1100 : operands[0] = x2;
76 1100 : x3 = XEXP (x1, 1);
77 1100 : x4 = XEXP (x3, 0);
78 1100 : operands[1] = x4;
79 1100 : switch (GET_MODE (operands[0]))
80 : {
81 8 : case E_V2QImode:
82 8 : if (!memory_operand (operands[0], E_V2QImode)
83 0 : || GET_MODE (x3) != E_V2QImode
84 8 : || !register_operand (operands[1], E_V2DImode))
85 8 : return -1;
86 : return 0;
87 :
88 11 : case E_V4QImode:
89 11 : res = pattern9 (x3,
90 : E_V4QImode);
91 11 : if (res >= 0)
92 0 : return res + 1; /* [1, 2] */
93 : return -1;
94 :
95 11 : case E_V8QImode:
96 11 : res = pattern10 (x3);
97 11 : if (res >= 0)
98 0 : return res + 3; /* [3, 5] */
99 : return -1;
100 :
101 13 : case E_V4HImode:
102 13 : res = pattern9 (x3,
103 : E_V4HImode);
104 13 : if (res >= 0)
105 0 : return res + 6; /* [6, 7] */
106 : return -1;
107 :
108 35 : case E_V2HImode:
109 35 : if (!memory_operand (operands[0], E_V2HImode)
110 0 : || GET_MODE (x3) != E_V2HImode
111 35 : || !register_operand (operands[1], E_V2DImode))
112 35 : return -1;
113 : return 8;
114 :
115 6 : case E_V2SImode:
116 6 : if (!memory_operand (operands[0], E_V2SImode)
117 0 : || GET_MODE (x3) != E_V2SImode
118 6 : || !register_operand (operands[1], E_V2DImode))
119 6 : return -1;
120 : return 9;
121 :
122 : default:
123 : return -1;
124 : }
125 : }
126 :
127 : int
128 71491 : pattern29 (rtx x1)
129 : {
130 71491 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
131 71491 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
132 71491 : rtx x10;
133 71491 : int res ATTRIBUTE_UNUSED;
134 71491 : x2 = XEXP (x1, 0);
135 71491 : operands[0] = x2;
136 71491 : x3 = XEXP (x1, 1);
137 71491 : x4 = XEXP (x3, 0);
138 71491 : switch (GET_CODE (x4))
139 : {
140 36144 : case REG:
141 36144 : case SUBREG:
142 36144 : case MEM:
143 36144 : operands[1] = x4;
144 36144 : switch (GET_MODE (operands[0]))
145 : {
146 92 : case E_V8HImode:
147 92 : if (!register_operand (operands[0], E_V8HImode)
148 86 : || GET_MODE (x3) != E_V8HImode
149 178 : || !vector_operand (operands[1], E_V8HFmode))
150 6 : return -1;
151 : return 0;
152 :
153 30 : case E_V16HImode:
154 30 : if (!register_operand (operands[0], E_V16HImode)
155 24 : || GET_MODE (x3) != E_V16HImode
156 54 : || !vector_operand (operands[1], E_V16HFmode))
157 6 : return -1;
158 : return 1;
159 :
160 30 : case E_V32HImode:
161 30 : if (!register_operand (operands[0], E_V32HImode)
162 24 : || GET_MODE (x3) != E_V32HImode
163 54 : || !vector_operand (operands[1], E_V32HFmode))
164 6 : return -1;
165 : return 2;
166 :
167 507 : case E_V8SImode:
168 507 : if (!register_operand (operands[0], E_V8SImode)
169 507 : || GET_MODE (x3) != E_V8SImode)
170 : return -1;
171 : return 3;
172 :
173 140 : case E_V16SImode:
174 140 : if (!register_operand (operands[0], E_V16SImode)
175 140 : || GET_MODE (x3) != E_V16SImode)
176 : return -1;
177 94 : switch (GET_MODE (operands[1]))
178 : {
179 34 : case E_V16HFmode:
180 34 : if (!vector_operand (operands[1], E_V16HFmode))
181 : return -1;
182 : return 4;
183 :
184 60 : case E_V16SFmode:
185 60 : if (!vector_operand (operands[1], E_V16SFmode))
186 : return -1;
187 : return 5;
188 :
189 : default:
190 : return -1;
191 : }
192 :
193 221 : case E_V8DImode:
194 221 : if (!register_operand (operands[0], E_V8DImode)
195 221 : || GET_MODE (x3) != E_V8DImode)
196 : return -1;
197 170 : switch (GET_MODE (operands[1]))
198 : {
199 20 : case E_V8HFmode:
200 20 : if (!vector_operand (operands[1], E_V8HFmode))
201 : return -1;
202 : return 6;
203 :
204 94 : case E_V8DFmode:
205 94 : if (!vector_operand (operands[1], E_V8DFmode))
206 : return -1;
207 : return 7;
208 :
209 56 : case E_V8SFmode:
210 56 : if (!vector_operand (operands[1], E_V8SFmode))
211 : return -1;
212 : return 8;
213 :
214 : default:
215 : return -1;
216 : }
217 :
218 6626 : case E_V4SImode:
219 6626 : if (!register_operand (operands[0], E_V4SImode)
220 6626 : || GET_MODE (x3) != E_V4SImode)
221 : return -1;
222 : return 9;
223 :
224 144 : case E_V4DImode:
225 144 : if (!register_operand (operands[0], E_V4DImode)
226 144 : || GET_MODE (x3) != E_V4DImode)
227 : return -1;
228 105 : switch (GET_MODE (operands[1]))
229 : {
230 3 : case E_V4HFmode:
231 3 : if (!memory_operand (operands[1], E_V4HFmode))
232 : return -1;
233 : return 10;
234 :
235 46 : case E_V4DFmode:
236 46 : if (!vector_operand (operands[1], E_V4DFmode))
237 : return -1;
238 : return 11;
239 :
240 56 : case E_V4SFmode:
241 56 : if (!vector_operand (operands[1], E_V4SFmode))
242 : return -1;
243 : return 12;
244 :
245 : default:
246 : return -1;
247 : }
248 :
249 170 : case E_V2DImode:
250 170 : if (!register_operand (operands[0], E_V2DImode)
251 170 : || GET_MODE (x3) != E_V2DImode)
252 : return -1;
253 105 : switch (GET_MODE (operands[1]))
254 : {
255 3 : case E_V2HFmode:
256 3 : if (!memory_operand (operands[1], E_V2HFmode))
257 : return -1;
258 : return 13;
259 :
260 97 : case E_V2DFmode:
261 97 : if (!vector_operand (operands[1], E_V2DFmode))
262 : return -1;
263 : return 14;
264 :
265 : default:
266 : return -1;
267 : }
268 :
269 : default:
270 : return -1;
271 : }
272 :
273 604 : case VEC_SELECT:
274 604 : x5 = XEXP (x4, 1);
275 604 : if (GET_CODE (x5) != PARALLEL)
276 : return -1;
277 604 : x6 = XEXP (x4, 0);
278 604 : operands[1] = x6;
279 604 : switch (XVECLEN (x5, 0))
280 : {
281 247 : case 4:
282 247 : x7 = XVECEXP (x5, 0, 0);
283 247 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
284 : return -1;
285 181 : x8 = XVECEXP (x5, 0, 1);
286 181 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
287 : return -1;
288 181 : x9 = XVECEXP (x5, 0, 2);
289 181 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
290 : return -1;
291 121 : x10 = XVECEXP (x5, 0, 3);
292 121 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 3]
293 121 : || GET_MODE (x4) != E_V4HFmode
294 218 : || !register_operand (operands[1], E_V8HFmode))
295 48 : return -1;
296 73 : res = pattern28 (x3);
297 73 : if (res >= 0)
298 56 : return res + 15; /* [15, 16] */
299 : return -1;
300 :
301 204 : case 2:
302 204 : x7 = XVECEXP (x5, 0, 0);
303 204 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
304 : return -1;
305 204 : x8 = XVECEXP (x5, 0, 1);
306 204 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
307 204 : || !register_operand (operands[0], E_V2DImode)
308 360 : || GET_MODE (x3) != E_V2DImode)
309 48 : return -1;
310 156 : switch (GET_MODE (x4))
311 : {
312 24 : case E_V2HFmode:
313 24 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
314 : return -1;
315 : return 17;
316 :
317 132 : case E_V2SFmode:
318 132 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
319 : return -1;
320 : return 18;
321 :
322 : default:
323 : return -1;
324 : }
325 :
326 : default:
327 : return -1;
328 : }
329 :
330 : default:
331 : return -1;
332 : }
333 : }
334 :
335 : int
336 19597921 : pattern83 (rtx x1)
337 : {
338 19597921 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
339 19597921 : rtx x2, x3;
340 19597921 : int res ATTRIBUTE_UNUSED;
341 19597921 : x2 = XEXP (x1, 0);
342 19597921 : if (GET_CODE (x2) != SUBREG
343 349949 : || maybe_ne (SUBREG_BYTE (x2), 0)
344 19933807 : || GET_MODE (x2) != E_QImode)
345 : return -1;
346 61721 : x3 = XEXP (x2, 0);
347 61721 : switch (GET_CODE (x3))
348 : {
349 16432 : case ASHIFTRT:
350 16432 : case LSHIFTRT:
351 16432 : case SIGN_EXTRACT:
352 16432 : case ZERO_EXTRACT:
353 16432 : operands[3] = x3;
354 16432 : if (GET_MODE (x1) != E_QImode)
355 : return -1;
356 : return 0;
357 :
358 : default:
359 : return -1;
360 : }
361 : }
362 :
363 : int
364 17696 : pattern90 (rtx x1)
365 : {
366 17696 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
367 17696 : rtx x2, x3, x4, x5, x6, x7, x8;
368 17696 : int res ATTRIBUTE_UNUSED;
369 17696 : x2 = XEXP (x1, 0);
370 17696 : if (GET_CODE (x2) != ZERO_EXTRACT)
371 : return -1;
372 7 : x3 = XEXP (x2, 1);
373 7 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
374 : return -1;
375 7 : x4 = XEXP (x2, 2);
376 7 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
377 : return -1;
378 7 : x5 = XEXP (x2, 0);
379 7 : operands[0] = x5;
380 7 : if (!int248_register_operand (operands[0], E_VOIDmode))
381 : return -1;
382 7 : x6 = XEXP (x1, 1);
383 7 : x7 = XEXP (x6, 0);
384 7 : x8 = XEXP (x7, 0);
385 7 : operands[1] = x8;
386 7 : if (!int248_register_operand (operands[1], E_VOIDmode))
387 : return -1;
388 7 : switch (GET_MODE (x2))
389 : {
390 0 : case E_HImode:
391 0 : if (GET_MODE (x6) != E_HImode
392 0 : || !extract_high_operator (operands[2], E_HImode))
393 0 : return -1;
394 : return 0;
395 :
396 7 : case E_SImode:
397 7 : if (GET_MODE (x6) != E_SImode
398 7 : || !extract_high_operator (operands[2], E_SImode))
399 0 : return -1;
400 : return 1;
401 :
402 0 : case E_DImode:
403 0 : if (GET_MODE (x6) != E_DImode
404 0 : || !extract_high_operator (operands[2], E_DImode))
405 0 : return -1;
406 : return 2;
407 :
408 : default:
409 : return -1;
410 : }
411 : }
412 :
413 : int
414 13501 : pattern107 (rtx x1)
415 : {
416 13501 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
417 13501 : rtx x2, x3, x4, x5;
418 13501 : int res ATTRIBUTE_UNUSED;
419 13501 : x2 = XEXP (x1, 0);
420 13501 : x3 = XEXP (x2, 0);
421 13501 : operands[1] = x3;
422 13501 : x4 = XEXP (x1, 2);
423 13501 : operands[2] = x4;
424 13501 : if (!register_operand (operands[2], E_QImode))
425 : return -1;
426 6641 : x5 = XEXP (x1, 1);
427 6641 : if (!rtx_equal_p (x5, operands[0]))
428 : return -1;
429 3719 : switch (GET_MODE (operands[0]))
430 : {
431 248 : case E_V2QImode:
432 248 : return pattern104 (x1,
433 248 : E_V2QImode); /* [-1, 0] */
434 :
435 516 : case E_V4QImode:
436 516 : res = pattern105 (x1,
437 : E_V4QImode);
438 516 : if (res >= 0)
439 516 : return res + 1; /* [1, 2] */
440 : return -1;
441 :
442 811 : case E_V8QImode:
443 811 : if (!memory_operand (operands[0], E_V8QImode)
444 811 : || GET_MODE (x1) != E_V8QImode
445 1622 : || GET_MODE (x2) != E_V8QImode)
446 : return -1;
447 811 : res = pattern106 ();
448 811 : if (res >= 0)
449 811 : return res + 3; /* [3, 5] */
450 : return -1;
451 :
452 519 : case E_V4HImode:
453 519 : res = pattern105 (x1,
454 : E_V4HImode);
455 519 : if (res >= 0)
456 519 : return res + 6; /* [6, 7] */
457 : return -1;
458 :
459 253 : case E_V2HImode:
460 253 : if (pattern104 (x1,
461 : E_V2HImode) != 0)
462 : return -1;
463 : return 8;
464 :
465 237 : case E_V2SImode:
466 237 : if (pattern104 (x1,
467 : E_V2SImode) != 0)
468 : return -1;
469 : return 9;
470 :
471 : default:
472 : return -1;
473 : }
474 : }
475 :
476 : int
477 2552 : pattern122 (rtx x1)
478 : {
479 2552 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
480 2552 : rtx x2, x3, x4;
481 2552 : int res ATTRIBUTE_UNUSED;
482 2552 : x2 = XEXP (x1, 1);
483 2552 : x3 = XEXP (x2, 0);
484 2552 : operands[2] = x3;
485 2552 : if (!register_operand (operands[2], E_QImode))
486 : return -1;
487 1675 : x4 = XEXP (x2, 1);
488 1675 : operands[3] = x4;
489 1675 : if (!const_int_operand (operands[3], E_QImode))
490 : return -1;
491 1675 : switch (GET_MODE (operands[0]))
492 : {
493 1256 : case E_DImode:
494 1256 : if (GET_MODE (x1) != E_DImode)
495 : return -1;
496 : return 0;
497 :
498 299 : case E_SImode:
499 299 : if (!nonimmediate_operand (operands[0], E_SImode)
500 299 : || GET_MODE (x1) != E_SImode
501 598 : || !nonimmediate_operand (operands[1], E_SImode))
502 262 : return -1;
503 : return 1;
504 :
505 : default:
506 : return -1;
507 : }
508 : }
509 :
510 : int
511 171389 : pattern132 (rtx x1)
512 : {
513 171389 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
514 171389 : int res ATTRIBUTE_UNUSED;
515 171389 : switch (GET_MODE (operands[0]))
516 : {
517 57313 : case E_SImode:
518 57313 : if (!register_operand (operands[0], E_SImode)
519 56355 : || GET_MODE (x1) != E_SImode
520 113668 : || !nonimmediate_operand (operands[1], E_SImode))
521 23751 : return -1;
522 : return 0;
523 :
524 90831 : case E_DImode:
525 90831 : if (!register_operand (operands[0], E_DImode)
526 90500 : || GET_MODE (x1) != E_DImode
527 181331 : || !nonimmediate_operand (operands[1], E_DImode))
528 40818 : return -1;
529 : return 1;
530 :
531 : default:
532 : return -1;
533 : }
534 : }
535 :
536 : int
537 847 : pattern141 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
538 : {
539 847 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
540 847 : rtx x2;
541 847 : int res ATTRIBUTE_UNUSED;
542 847 : if (!register_operand (operands[0], i1)
543 847 : || GET_MODE (x1) != i1)
544 : return -1;
545 764 : x2 = XEXP (x1, 0);
546 764 : if (GET_MODE (x2) != i1
547 764 : || !vector_operand (operands[1], i3)
548 764 : || !nonimm_or_0_operand (operands[2], i1)
549 1513 : || !register_operand (operands[3], i2))
550 128 : return -1;
551 : return 0;
552 : }
553 :
554 : int
555 7049 : pattern151 (rtx x1)
556 : {
557 7049 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
558 7049 : rtx x2, x3, x4, x5, x6;
559 7049 : int res ATTRIBUTE_UNUSED;
560 7049 : x2 = XEXP (x1, 0);
561 7049 : x3 = XEXP (x2, 0);
562 7049 : operands[1] = x3;
563 7049 : x4 = XEXP (x2, 1);
564 7049 : operands[2] = x4;
565 7049 : x5 = XEXP (x1, 1);
566 7049 : operands[3] = x5;
567 7049 : x6 = XEXP (x1, 2);
568 7049 : operands[4] = x6;
569 7049 : switch (GET_MODE (operands[0]))
570 : {
571 539 : case E_V16SImode:
572 539 : return pattern134 (x1,
573 : E_V16SImode,
574 539 : E_HImode); /* [-1, 0] */
575 :
576 648 : case E_V8SImode:
577 648 : if (pattern134 (x1,
578 : E_V8SImode,
579 : E_QImode) != 0)
580 : return -1;
581 : return 1;
582 :
583 356 : case E_V4SImode:
584 356 : if (pattern135 (x1,
585 : E_QImode,
586 : E_V4SImode) != 0)
587 : return -1;
588 : return 2;
589 :
590 1006 : case E_V8DImode:
591 1006 : if (pattern134 (x1,
592 : E_V8DImode,
593 : E_QImode) != 0)
594 : return -1;
595 : return 3;
596 :
597 770 : case E_V4DImode:
598 770 : if (pattern134 (x1,
599 : E_V4DImode,
600 : E_QImode) != 0)
601 : return -1;
602 : return 4;
603 :
604 459 : case E_V2DImode:
605 459 : if (pattern134 (x1,
606 : E_V2DImode,
607 : E_QImode) != 0)
608 : return -1;
609 : return 5;
610 :
611 536 : case E_V64QImode:
612 536 : if (pattern134 (x1,
613 : E_V64QImode,
614 : E_DImode) != 0)
615 : return -1;
616 : return 6;
617 :
618 366 : case E_V16QImode:
619 366 : if (pattern134 (x1,
620 : E_V16QImode,
621 : E_HImode) != 0)
622 : return -1;
623 : return 7;
624 :
625 705 : case E_V32QImode:
626 705 : if (pattern134 (x1,
627 : E_V32QImode,
628 : E_SImode) != 0)
629 : return -1;
630 : return 8;
631 :
632 530 : case E_V32HImode:
633 530 : if (pattern134 (x1,
634 : E_V32HImode,
635 : E_SImode) != 0)
636 : return -1;
637 : return 9;
638 :
639 776 : case E_V16HImode:
640 776 : if (pattern134 (x1,
641 : E_V16HImode,
642 : E_HImode) != 0)
643 : return -1;
644 : return 10;
645 :
646 358 : case E_V8HImode:
647 358 : if (pattern135 (x1,
648 : E_QImode,
649 : E_V8HImode) != 0)
650 : return -1;
651 : return 11;
652 :
653 : default:
654 : return -1;
655 : }
656 : }
657 :
658 : int
659 46928 : pattern163 (rtx x1)
660 : {
661 46928 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
662 46928 : rtx x2, x3, x4, x5;
663 46928 : int res ATTRIBUTE_UNUSED;
664 46928 : x2 = XEXP (x1, 0);
665 46928 : operands[0] = x2;
666 46928 : x3 = XEXP (x1, 1);
667 46928 : x4 = XVECEXP (x3, 0, 0);
668 46928 : operands[1] = x4;
669 46928 : x5 = XVECEXP (x3, 0, 1);
670 46928 : operands[2] = x5;
671 46928 : switch (GET_MODE (operands[0]))
672 : {
673 1345 : case E_V64QImode:
674 1345 : return pattern158 (x3,
675 1345 : E_V64QImode); /* [-1, 0] */
676 :
677 5908 : case E_V32QImode:
678 5908 : if (pattern158 (x3,
679 : E_V32QImode) != 0)
680 : return -1;
681 : return 1;
682 :
683 39176 : case E_V16QImode:
684 39176 : if (pattern158 (x3,
685 : E_V16QImode) != 0)
686 : return -1;
687 : return 2;
688 :
689 : default:
690 : return -1;
691 : }
692 : }
693 :
694 : int
695 2587 : pattern169 (rtx x1, machine_mode i1, machine_mode i2)
696 : {
697 2587 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
698 2587 : int res ATTRIBUTE_UNUSED;
699 2587 : if (!register_operand (operands[0], i1)
700 2539 : || GET_MODE (x1) != i1
701 2539 : || !register_operand (operands[1], i2)
702 4960 : || !nonimmediate_operand (operands[2], i2))
703 301 : return -1;
704 : return 0;
705 : }
706 :
707 : int
708 532 : pattern172 (rtx x1)
709 : {
710 532 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
711 532 : rtx x2, x3, x4, x5;
712 532 : int res ATTRIBUTE_UNUSED;
713 532 : x2 = XEXP (x1, 0);
714 532 : operands[0] = x2;
715 532 : x3 = XEXP (x1, 1);
716 532 : x4 = XVECEXP (x3, 0, 0);
717 532 : operands[1] = x4;
718 532 : x5 = XVECEXP (x3, 0, 1);
719 532 : operands[2] = x5;
720 532 : switch (GET_MODE (operands[0]))
721 : {
722 262 : case E_V32QImode:
723 262 : return pattern171 (x3,
724 : E_V32HFmode,
725 : E_V64QImode,
726 262 : E_V32QImode); /* [-1, 0] */
727 :
728 258 : case E_V16QImode:
729 258 : if (pattern171 (x3,
730 : E_V16HFmode,
731 : E_V32QImode,
732 : E_V16QImode) != 0)
733 : return -1;
734 : return 1;
735 :
736 : default:
737 : return -1;
738 : }
739 : }
740 :
741 : int
742 1750 : pattern182 (rtx x1)
743 : {
744 1750 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
745 1750 : rtx x2, x3, x4, x5, x6;
746 1750 : int res ATTRIBUTE_UNUSED;
747 1750 : x2 = XEXP (x1, 0);
748 1750 : operands[0] = x2;
749 1750 : x3 = XEXP (x1, 1);
750 1750 : x4 = XVECEXP (x3, 0, 0);
751 1750 : operands[1] = x4;
752 1750 : x5 = XVECEXP (x3, 0, 1);
753 1750 : operands[2] = x5;
754 1750 : x6 = XVECEXP (x3, 0, 2);
755 1750 : operands[3] = x6;
756 1750 : switch (GET_MODE (operands[0]))
757 : {
758 208 : case E_V32HImode:
759 208 : return pattern178 (x3,
760 208 : E_V32HImode); /* [-1, 0] */
761 :
762 196 : case E_V16SImode:
763 196 : if (pattern178 (x3,
764 : E_V16SImode) != 0)
765 : return -1;
766 : return 1;
767 :
768 206 : case E_V8DImode:
769 206 : if (pattern178 (x3,
770 : E_V8DImode) != 0)
771 : return -1;
772 : return 2;
773 :
774 194 : case E_V16HImode:
775 194 : if (pattern178 (x3,
776 : E_V16HImode) != 0)
777 : return -1;
778 : return 3;
779 :
780 192 : case E_V8SImode:
781 192 : if (pattern178 (x3,
782 : E_V8SImode) != 0)
783 : return -1;
784 : return 4;
785 :
786 202 : case E_V4DImode:
787 202 : if (pattern178 (x3,
788 : E_V4DImode) != 0)
789 : return -1;
790 : return 5;
791 :
792 182 : case E_V8HImode:
793 182 : if (pattern178 (x3,
794 : E_V8HImode) != 0)
795 : return -1;
796 : return 6;
797 :
798 180 : case E_V4SImode:
799 180 : if (pattern178 (x3,
800 : E_V4SImode) != 0)
801 : return -1;
802 : return 7;
803 :
804 190 : case E_V2DImode:
805 190 : if (pattern178 (x3,
806 : E_V2DImode) != 0)
807 : return -1;
808 : return 8;
809 :
810 : default:
811 : return -1;
812 : }
813 : }
814 :
815 : int
816 584 : pattern195 (rtx x1, machine_mode i1, machine_mode i2)
817 : {
818 584 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
819 584 : rtx x2, x3, x4, x5;
820 584 : int res ATTRIBUTE_UNUSED;
821 584 : if (!register_operand (operands[0], i2)
822 584 : || GET_MODE (x1) != i2)
823 : return -1;
824 565 : x2 = XEXP (x1, 0);
825 565 : if (GET_MODE (x2) != i2)
826 : return -1;
827 565 : x3 = XEXP (x2, 0);
828 565 : if (GET_MODE (x3) != i1
829 565 : || !register_operand (operands[1], i2)
830 1114 : || !nonimmediate_operand (operands[2], i2))
831 16 : return -1;
832 549 : x4 = XEXP (x1, 1);
833 549 : if (GET_MODE (x4) != i2)
834 : return -1;
835 549 : x5 = XEXP (x4, 0);
836 549 : if (GET_MODE (x5) != i1)
837 : return -1;
838 : return 0;
839 : }
840 :
841 : int
842 15779 : pattern201 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
843 : {
844 15779 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
845 15779 : rtx x2, x3, x4, x5;
846 15779 : int res ATTRIBUTE_UNUSED;
847 15779 : if (!register_operand (operands[0], i3)
848 15779 : || GET_MODE (x1) != i3)
849 : return -1;
850 15737 : x2 = XEXP (x1, 0);
851 15737 : if (GET_MODE (x2) != i3)
852 : return -1;
853 15737 : x3 = XEXP (x2, 0);
854 15737 : if (GET_MODE (x3) != i2
855 15737 : || !nonimmediate_operand (operands[1], i1))
856 2172 : return -1;
857 13565 : x4 = XEXP (x1, 1);
858 13565 : if (GET_MODE (x4) != i3)
859 : return -1;
860 13565 : x5 = XEXP (x4, 0);
861 13565 : if (GET_MODE (x5) != i2
862 13565 : || !nonimmediate_operand (operands[2], i1))
863 327 : return -1;
864 : return 0;
865 : }
866 :
867 : int
868 5867144 : pattern205 ()
869 : {
870 5867144 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
871 5867144 : int res ATTRIBUTE_UNUSED;
872 5867144 : switch (GET_MODE (operands[0]))
873 : {
874 46 : case E_V32HFmode:
875 46 : if (!register_operand (operands[0], E_V32HFmode)
876 46 : || !ternlog_operand (operands[1], E_V32HFmode))
877 24 : return -1;
878 : return 0;
879 :
880 48 : case E_V16HFmode:
881 48 : if (!register_operand (operands[0], E_V16HFmode)
882 48 : || !ternlog_operand (operands[1], E_V16HFmode))
883 23 : return -1;
884 : return 1;
885 :
886 681 : case E_V8HFmode:
887 681 : if (!register_operand (operands[0], E_V8HFmode)
888 681 : || !ternlog_operand (operands[1], E_V8HFmode))
889 532 : return -1;
890 : return 2;
891 :
892 4 : case E_V32BFmode:
893 4 : if (!register_operand (operands[0], E_V32BFmode)
894 4 : || !ternlog_operand (operands[1], E_V32BFmode))
895 4 : return -1;
896 : return 3;
897 :
898 4 : case E_V16BFmode:
899 4 : if (!register_operand (operands[0], E_V16BFmode)
900 4 : || !ternlog_operand (operands[1], E_V16BFmode))
901 4 : return -1;
902 : return 4;
903 :
904 4 : case E_V8BFmode:
905 4 : if (!register_operand (operands[0], E_V8BFmode)
906 4 : || !ternlog_operand (operands[1], E_V8BFmode))
907 4 : return -1;
908 : return 5;
909 :
910 364 : case E_V16SFmode:
911 364 : if (!register_operand (operands[0], E_V16SFmode)
912 364 : || !ternlog_operand (operands[1], E_V16SFmode))
913 310 : return -1;
914 : return 6;
915 :
916 1469 : case E_V8SFmode:
917 1469 : if (!register_operand (operands[0], E_V8SFmode)
918 1469 : || !ternlog_operand (operands[1], E_V8SFmode))
919 1442 : return -1;
920 : return 7;
921 :
922 186381 : case E_V4SFmode:
923 186381 : if (!register_operand (operands[0], E_V4SFmode)
924 186381 : || !ternlog_operand (operands[1], E_V4SFmode))
925 145129 : return -1;
926 : return 8;
927 :
928 321 : case E_V8DFmode:
929 321 : if (!register_operand (operands[0], E_V8DFmode)
930 321 : || !ternlog_operand (operands[1], E_V8DFmode))
931 267 : return -1;
932 : return 9;
933 :
934 3724 : case E_V4DFmode:
935 3724 : if (!register_operand (operands[0], E_V4DFmode)
936 3724 : || !ternlog_operand (operands[1], E_V4DFmode))
937 3625 : return -1;
938 : return 10;
939 :
940 193275 : case E_V2DFmode:
941 193275 : if (!register_operand (operands[0], E_V2DFmode)
942 193275 : || !ternlog_operand (operands[1], E_V2DFmode))
943 152285 : return -1;
944 : return 11;
945 :
946 : default:
947 : return -1;
948 : }
949 : }
950 :
951 : int
952 537381 : pattern216 (rtx x1)
953 : {
954 537381 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
955 537381 : rtx x2, x3, x4, x5, x6, x7, x8;
956 537381 : int res ATTRIBUTE_UNUSED;
957 537381 : x2 = XVECEXP (x1, 0, 0);
958 537381 : x3 = XEXP (x2, 0);
959 537381 : operands[0] = x3;
960 537381 : x4 = XEXP (x2, 1);
961 537381 : x5 = XEXP (x4, 0);
962 537381 : operands[1] = x5;
963 537381 : x6 = XEXP (x4, 1);
964 537381 : operands[2] = x6;
965 537381 : x7 = XVECEXP (x1, 0, 1);
966 537381 : switch (GET_CODE (x7))
967 : {
968 494414 : case CLOBBER:
969 494414 : x8 = XEXP (x7, 0);
970 494414 : if (GET_CODE (x8) != REG
971 494414 : || REGNO (x8) != 17
972 988828 : || GET_MODE (x8) != E_CCmode)
973 : return -1;
974 494414 : switch (GET_MODE (operands[0]))
975 : {
976 352280 : case E_DImode:
977 352280 : return pattern213 (x4,
978 352280 : E_DImode); /* [-1, 0] */
979 :
980 782 : case E_TImode:
981 782 : if (pattern213 (x4,
982 : E_TImode) != 0)
983 : return -1;
984 : return 1;
985 :
986 1000 : case E_QImode:
987 1000 : if (pattern213 (x4,
988 : E_QImode) != 0)
989 : return -1;
990 : return 2;
991 :
992 1508 : case E_HImode:
993 1508 : if (pattern213 (x4,
994 : E_HImode) != 0)
995 : return -1;
996 : return 3;
997 :
998 138844 : case E_SImode:
999 138844 : if (pattern213 (x4,
1000 : E_SImode) != 0)
1001 : return -1;
1002 : return 4;
1003 :
1004 : default:
1005 : return -1;
1006 : }
1007 :
1008 0 : case UNSPEC:
1009 0 : if (pattern215 (x1) != 0)
1010 : return -1;
1011 : return 5;
1012 :
1013 : default:
1014 : return -1;
1015 : }
1016 : }
1017 :
1018 : int
1019 947 : pattern229 (rtx x1)
1020 : {
1021 947 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1022 947 : rtx x2, x3, x4, x5, x6, x7, x8;
1023 947 : int res ATTRIBUTE_UNUSED;
1024 947 : x2 = XVECEXP (x1, 0, 0);
1025 947 : x3 = XEXP (x2, 0);
1026 947 : operands[0] = x3;
1027 947 : x4 = XEXP (x2, 1);
1028 947 : x5 = XEXP (x4, 0);
1029 947 : operands[1] = x5;
1030 947 : x6 = XEXP (x4, 1);
1031 947 : operands[2] = x6;
1032 947 : x7 = XVECEXP (x1, 0, 2);
1033 947 : x8 = XEXP (x7, 0);
1034 947 : operands[3] = x8;
1035 947 : switch (GET_MODE (operands[0]))
1036 : {
1037 880 : case E_DImode:
1038 880 : if (!register_operand (operands[0], E_DImode)
1039 860 : || GET_MODE (x4) != E_DImode
1040 860 : || !register_operand (operands[1], E_DImode)
1041 716 : || !const_1_to_31_operand (operands[2], E_QImode)
1042 1596 : || !scratch_operand (operands[3], E_SImode))
1043 164 : return -1;
1044 : return 0;
1045 :
1046 67 : case E_TImode:
1047 67 : if (!register_operand (operands[0], E_TImode)
1048 67 : || GET_MODE (x4) != E_TImode
1049 67 : || !register_operand (operands[1], E_TImode)
1050 54 : || !const_1_to_63_operand (operands[2], E_QImode)
1051 121 : || !scratch_operand (operands[3], E_DImode))
1052 13 : return -1;
1053 : return 1;
1054 :
1055 : default:
1056 : return -1;
1057 : }
1058 : }
1059 :
1060 : int
1061 4042 : pattern247 (rtx x1)
1062 : {
1063 4042 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1064 4042 : rtx x2, x3;
1065 4042 : int res ATTRIBUTE_UNUSED;
1066 4042 : if (GET_MODE (x1) != E_V1TImode
1067 4042 : || !register_operand (operands[0], E_V1TImode))
1068 4011 : return -1;
1069 31 : x2 = XEXP (x1, 0);
1070 31 : operands[1] = x2;
1071 31 : if (!register_operand (operands[1], E_V1TImode))
1072 : return -1;
1073 31 : x3 = XEXP (x1, 1);
1074 31 : operands[2] = x3;
1075 31 : if (!const_0_to_255_operand (operands[2], E_SImode))
1076 : return -1;
1077 : return 0;
1078 : }
1079 :
1080 : int
1081 48 : pattern253 (rtx x1, machine_mode i1)
1082 : {
1083 48 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1084 48 : rtx x2, x3, x4;
1085 48 : int res ATTRIBUTE_UNUSED;
1086 48 : if (!register_operand (operands[0], i1)
1087 48 : || GET_MODE (x1) != i1)
1088 : return -1;
1089 40 : x2 = XEXP (x1, 0);
1090 40 : operands[1] = x2;
1091 40 : if (!register_operand (operands[1], i1))
1092 : return -1;
1093 40 : x3 = XEXP (x1, 1);
1094 40 : operands[2] = x3;
1095 40 : if (!register_operand (operands[2], i1))
1096 : return -1;
1097 28 : x4 = XEXP (x1, 2);
1098 28 : operands[3] = x4;
1099 28 : if (!register_operand (operands[3], i1))
1100 : return -1;
1101 : return 0;
1102 : }
1103 :
1104 : int
1105 598295 : pattern261 (rtx x1, machine_mode i1, machine_mode i2)
1106 : {
1107 598295 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1108 598295 : rtx x2;
1109 598295 : int res ATTRIBUTE_UNUSED;
1110 598295 : switch (GET_CODE (x1))
1111 : {
1112 239369 : case ZERO_EXTEND:
1113 239369 : if (GET_MODE (x1) != i2)
1114 : return -1;
1115 239369 : x2 = XEXP (x1, 0);
1116 239369 : operands[3] = x2;
1117 239369 : if (!nonimmediate_operand (operands[3], i1))
1118 : return -1;
1119 : return 0;
1120 :
1121 46243 : case CONST_INT:
1122 46243 : case CONST_WIDE_INT:
1123 46243 : operands[3] = x1;
1124 46243 : if (!const_scalar_int_operand (operands[3], i2))
1125 : return -1;
1126 : return 1;
1127 :
1128 : default:
1129 : return -1;
1130 : }
1131 : }
1132 :
1133 : int
1134 1087 : pattern272 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1135 : {
1136 1087 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1137 1087 : rtx x2, x3;
1138 1087 : int res ATTRIBUTE_UNUSED;
1139 1087 : if (!register_operand (operands[0], i3)
1140 1087 : || GET_MODE (x1) != i3)
1141 : return -1;
1142 1063 : x2 = XEXP (x1, 0);
1143 1063 : if (GET_MODE (x2) != i2
1144 1063 : || !register_operand (operands[1], i1))
1145 210 : return -1;
1146 853 : x3 = XEXP (x1, 1);
1147 853 : if (GET_MODE (x3) != i2
1148 853 : || !register_mmxmem_operand (operands[2], i1))
1149 116 : return -1;
1150 : return 0;
1151 : }
1152 :
1153 : int
1154 59 : pattern282 (rtx x1, int *pnum_clobbers)
1155 : {
1156 59 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1157 59 : rtx x2, x3, x4, x5, x6;
1158 59 : int res ATTRIBUTE_UNUSED;
1159 59 : if (pnum_clobbers == NULL)
1160 : return -1;
1161 53 : x2 = XEXP (x1, 0);
1162 53 : x3 = XEXP (x2, 0);
1163 53 : operands[2] = x3;
1164 53 : x4 = XEXP (x3, 0);
1165 53 : if (GET_CODE (x4) != REG
1166 53 : || REGNO (x4) != 17)
1167 : return -1;
1168 33 : x5 = XEXP (x3, 1);
1169 33 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1170 : return -1;
1171 33 : x6 = XEXP (x2, 1);
1172 33 : operands[1] = x6;
1173 33 : return pattern281 (x1); /* [-1, 4] */
1174 : }
1175 :
1176 : int
1177 1465 : pattern289 (rtx x1, int *pnum_clobbers)
1178 : {
1179 1465 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1180 1465 : rtx x2, x3;
1181 1465 : int res ATTRIBUTE_UNUSED;
1182 1465 : if (pnum_clobbers == NULL)
1183 : return -1;
1184 1465 : x2 = XEXP (x1, 0);
1185 1465 : x3 = XEXP (x2, 0);
1186 1465 : if (XWINT (x3, 0) != 1L)
1187 : return -1;
1188 796 : return pattern288 (x1); /* [-1, 2] */
1189 : }
1190 :
1191 : int
1192 5654818 : pattern294 (rtx x1, machine_mode i1)
1193 : {
1194 5654818 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1195 5654818 : rtx x2, x3, x4, x5;
1196 5654818 : int res ATTRIBUTE_UNUSED;
1197 5654818 : x2 = XEXP (x1, 1);
1198 5654818 : x3 = XEXP (x2, 1);
1199 5654818 : if (GET_CODE (x3) != SUBREG
1200 437372 : || maybe_ne (SUBREG_BYTE (x3), 0)
1201 6092190 : || GET_MODE (x3) != E_QImode)
1202 : return -1;
1203 432345 : x4 = XEXP (x3, 0);
1204 432345 : if (GET_CODE (x4) != AND)
1205 : return -1;
1206 24370 : x5 = XEXP (x1, 0);
1207 24370 : operands[0] = x5;
1208 24370 : return pattern293 (x2,
1209 24370 : i1); /* [-1, 0] */
1210 : }
1211 :
1212 : int
1213 523 : pattern300 (rtx x1)
1214 : {
1215 523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1216 523 : rtx x2, x3;
1217 523 : int res ATTRIBUTE_UNUSED;
1218 523 : x2 = XEXP (x1, 0);
1219 523 : x3 = XEXP (x2, 0);
1220 523 : operands[1] = x3;
1221 523 : switch (GET_MODE (operands[0]))
1222 : {
1223 2 : case E_SImode:
1224 2 : return pattern298 (x1); /* [-1, 2] */
1225 :
1226 14 : case E_DImode:
1227 14 : res = pattern299 (x1);
1228 14 : if (res >= 0)
1229 3 : return res + 3; /* [3, 8] */
1230 : return -1;
1231 :
1232 : default:
1233 : return -1;
1234 : }
1235 : }
1236 :
1237 : int
1238 56 : pattern306 (rtx x1)
1239 : {
1240 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1241 56 : rtx x2;
1242 56 : int res ATTRIBUTE_UNUSED;
1243 56 : if (!register_operand (operands[0], E_SImode)
1244 56 : || GET_MODE (x1) != E_SImode)
1245 : return -1;
1246 56 : x2 = XVECEXP (x1, 0, 0);
1247 56 : switch (GET_MODE (x2))
1248 : {
1249 28 : case E_V32QImode:
1250 28 : if (!vector_operand (operands[1], E_V32QImode)
1251 28 : || !vector_operand (operands[2], E_V32QImode)
1252 56 : || !const0_operand (operands[3], E_V32QImode))
1253 14 : return -1;
1254 : return 0;
1255 :
1256 28 : case E_V32HImode:
1257 28 : if (!vector_operand (operands[1], E_V32HImode)
1258 28 : || !vector_operand (operands[2], E_V32HImode)
1259 56 : || !const0_operand (operands[3], E_V32HImode))
1260 14 : return -1;
1261 : return 1;
1262 :
1263 : default:
1264 : return -1;
1265 : }
1266 : }
1267 :
1268 : int
1269 942 : pattern318 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1270 : {
1271 942 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1272 942 : rtx x2, x3, x4, x5, x6;
1273 942 : int res ATTRIBUTE_UNUSED;
1274 942 : if (!register_operand (operands[0], i1)
1275 942 : || GET_MODE (x1) != i1)
1276 : return -1;
1277 882 : x2 = XEXP (x1, 0);
1278 882 : if (GET_MODE (x2) != i1)
1279 : return -1;
1280 882 : x3 = XEXP (x2, 0);
1281 882 : if (GET_MODE (x3) != i1)
1282 : return -1;
1283 882 : x4 = XEXP (x3, 0);
1284 882 : if (GET_MODE (x4) != i3
1285 882 : || !nonimmediate_operand (operands[1], i2))
1286 24 : return -1;
1287 858 : x5 = XEXP (x2, 1);
1288 858 : if (GET_MODE (x5) != i1)
1289 : return -1;
1290 858 : x6 = XEXP (x5, 0);
1291 858 : if (GET_MODE (x6) != i3
1292 858 : || !nonimmediate_operand (operands[2], i2)
1293 1692 : || !nonimm_or_0_operand (operands[3], i1))
1294 52 : return -1;
1295 : return 0;
1296 : }
1297 :
1298 : int
1299 163125 : pattern325 (rtx x1)
1300 : {
1301 163125 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1302 163125 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1303 163125 : rtx x10;
1304 163125 : int res ATTRIBUTE_UNUSED;
1305 163125 : x2 = XEXP (x1, 1);
1306 163125 : operands[2] = x2;
1307 163125 : x3 = XEXP (x1, 2);
1308 163125 : if (GET_MODE (x3) != E_QImode)
1309 : return -1;
1310 18879 : switch (GET_CODE (x3))
1311 : {
1312 5678 : case UNSPEC:
1313 5678 : if (XVECLEN (x3, 0) != 3
1314 5678 : || XINT (x3, 1) != 60)
1315 : return -1;
1316 5266 : x4 = XVECEXP (x3, 0, 0);
1317 5266 : operands[3] = x4;
1318 5266 : x5 = XVECEXP (x3, 0, 1);
1319 5266 : operands[4] = x5;
1320 5266 : x6 = XVECEXP (x3, 0, 2);
1321 5266 : operands[5] = x6;
1322 5266 : if (!const_0_to_31_operand (operands[5], E_SImode))
1323 : return -1;
1324 5266 : switch (GET_MODE (operands[0]))
1325 : {
1326 151 : case E_V8SFmode:
1327 151 : return pattern323 (x1,
1328 151 : E_V8SFmode); /* [-1, 0] */
1329 :
1330 181 : case E_V4SFmode:
1331 181 : if (pattern323 (x1,
1332 : E_V4SFmode) != 0)
1333 : return -1;
1334 : return 1;
1335 :
1336 155 : case E_V4DFmode:
1337 155 : if (pattern323 (x1,
1338 : E_V4DFmode) != 0)
1339 : return -1;
1340 : return 2;
1341 :
1342 121 : case E_V2DFmode:
1343 121 : if (pattern323 (x1,
1344 : E_V2DFmode) != 0)
1345 : return -1;
1346 : return 3;
1347 :
1348 : default:
1349 : return -1;
1350 : }
1351 :
1352 9 : case NOT:
1353 9 : x7 = XEXP (x3, 0);
1354 9 : if (GET_CODE (x7) != UNSPEC
1355 0 : || XVECLEN (x7, 0) != 3
1356 0 : || XINT (x7, 1) != 60
1357 0 : || GET_MODE (x7) != E_QImode)
1358 : return -1;
1359 0 : x8 = XVECEXP (x7, 0, 0);
1360 0 : operands[3] = x8;
1361 0 : x9 = XVECEXP (x7, 0, 1);
1362 0 : operands[4] = x9;
1363 0 : x10 = XVECEXP (x7, 0, 2);
1364 0 : operands[5] = x10;
1365 0 : if (!const_0_to_31_operand (operands[5], E_SImode))
1366 : return -1;
1367 0 : switch (GET_MODE (operands[0]))
1368 : {
1369 0 : case E_V8SFmode:
1370 0 : if (pattern324 (x1,
1371 : E_V8SFmode) != 0)
1372 : return -1;
1373 : return 4;
1374 :
1375 0 : case E_V4SFmode:
1376 0 : if (pattern324 (x1,
1377 : E_V4SFmode) != 0)
1378 : return -1;
1379 : return 5;
1380 :
1381 0 : case E_V4DFmode:
1382 0 : if (pattern324 (x1,
1383 : E_V4DFmode) != 0)
1384 : return -1;
1385 : return 6;
1386 :
1387 0 : case E_V2DFmode:
1388 0 : if (pattern324 (x1,
1389 : E_V2DFmode) != 0)
1390 : return -1;
1391 : return 7;
1392 :
1393 : default:
1394 : return -1;
1395 : }
1396 :
1397 : default:
1398 : return -1;
1399 : }
1400 : }
1401 :
1402 : int
1403 49682 : pattern342 (rtx x1)
1404 : {
1405 49682 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1406 49682 : int res ATTRIBUTE_UNUSED;
1407 49682 : switch (GET_MODE (operands[0]))
1408 : {
1409 26259 : case E_SImode:
1410 26259 : if (!nonimmediate_operand (operands[0], E_SImode)
1411 26247 : || GET_MODE (x1) != E_SImode
1412 52506 : || !nonimmediate_operand (operands[1], E_SImode))
1413 2478 : return -1;
1414 : return 0;
1415 :
1416 22066 : case E_DImode:
1417 22066 : if (!nonimmediate_operand (operands[0], E_DImode)
1418 22054 : || GET_MODE (x1) != E_DImode
1419 44120 : || !nonimmediate_operand (operands[1], E_DImode))
1420 4258 : return -1;
1421 : return 1;
1422 :
1423 : default:
1424 : return -1;
1425 : }
1426 : }
1427 :
1428 : int
1429 8747054 : pattern345 (rtx x1)
1430 : {
1431 8747054 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1432 8747054 : rtx x2, x3, x4, x5, x6, x7;
1433 8747054 : int res ATTRIBUTE_UNUSED;
1434 8747054 : x2 = XVECEXP (x1, 0, 0);
1435 8747054 : x3 = XEXP (x2, 1);
1436 8747054 : x4 = XEXP (x3, 0);
1437 8747054 : operands[1] = x4;
1438 8747054 : x5 = XEXP (x3, 1);
1439 8747054 : switch (GET_CODE (x5))
1440 : {
1441 : case CONST_INT:
1442 : case CONST_WIDE_INT:
1443 : case CONST_POLY_INT:
1444 : case CONST_FIXED:
1445 : case CONST_DOUBLE:
1446 : case CONST_VECTOR:
1447 : case CONST:
1448 : case REG:
1449 : case SUBREG:
1450 : case LABEL_REF:
1451 : case SYMBOL_REF:
1452 : case HIGH:
1453 : return 0;
1454 :
1455 4844 : case AND:
1456 4844 : if (GET_MODE (x5) != E_QImode)
1457 : return -1;
1458 4604 : x6 = XVECEXP (x1, 0, 1);
1459 4604 : if (GET_CODE (x6) != CLOBBER)
1460 : return -1;
1461 4437 : x7 = XEXP (x6, 0);
1462 4437 : if (GET_CODE (x7) != REG
1463 4437 : || REGNO (x7) != 17
1464 8874 : || GET_MODE (x7) != E_CCmode)
1465 : return -1;
1466 4437 : res = pattern341 (x2);
1467 4437 : if (res >= 0)
1468 3423 : return res + 1; /* [1, 3] */
1469 : return -1;
1470 :
1471 20336 : case PLUS:
1472 20336 : if (GET_MODE (x5) != E_QImode)
1473 : return -1;
1474 20336 : x6 = XVECEXP (x1, 0, 1);
1475 20336 : if (GET_CODE (x6) != CLOBBER)
1476 : return -1;
1477 18201 : x7 = XEXP (x6, 0);
1478 18201 : if (GET_CODE (x7) != REG
1479 18201 : || REGNO (x7) != 17
1480 36402 : || GET_MODE (x7) != E_CCmode)
1481 : return -1;
1482 18201 : res = pattern343 (x2);
1483 18201 : if (res >= 0)
1484 14365 : return res + 4; /* [4, 5] */
1485 : return -1;
1486 :
1487 15737 : case MINUS:
1488 15737 : if (GET_MODE (x5) != E_QImode)
1489 : return -1;
1490 15705 : x6 = XVECEXP (x1, 0, 1);
1491 15705 : if (GET_CODE (x6) != CLOBBER)
1492 : return -1;
1493 12211 : x7 = XEXP (x6, 0);
1494 12211 : if (GET_CODE (x7) != REG
1495 12211 : || REGNO (x7) != 17
1496 24422 : || GET_MODE (x7) != E_CCmode)
1497 : return -1;
1498 12211 : res = pattern344 (x2);
1499 12211 : if (res >= 0)
1500 2589 : return res + 6; /* [6, 7] */
1501 : return -1;
1502 :
1503 : default:
1504 : return -1;
1505 : }
1506 : }
1507 :
1508 : int
1509 27679 : pattern361 (rtx x1)
1510 : {
1511 27679 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1512 27679 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1513 27679 : rtx x10;
1514 27679 : int res ATTRIBUTE_UNUSED;
1515 27679 : x2 = XVECEXP (x1, 0, 0);
1516 27679 : x3 = XEXP (x2, 1);
1517 27679 : x4 = XEXP (x3, 0);
1518 27679 : x5 = XEXP (x4, 0);
1519 27679 : if (GET_CODE (x5) != ASHIFT)
1520 : return -1;
1521 8484 : x6 = XEXP (x5, 0);
1522 8484 : if (GET_CODE (x6) != ZERO_EXTEND)
1523 : return -1;
1524 7779 : x7 = XEXP (x4, 1);
1525 7779 : if (GET_CODE (x7) != ZERO_EXTEND)
1526 : return -1;
1527 7779 : x8 = XVECEXP (x1, 0, 1);
1528 7779 : if (GET_CODE (x8) != CLOBBER)
1529 : return -1;
1530 6141 : x9 = XEXP (x8, 0);
1531 6141 : if (GET_CODE (x9) != REG
1532 6141 : || REGNO (x9) != 17
1533 12282 : || GET_MODE (x9) != E_CCmode)
1534 : return -1;
1535 6141 : x10 = XEXP (x2, 0);
1536 6141 : operands[0] = x10;
1537 6141 : return pattern360 (x3); /* [-1, 3] */
1538 : }
1539 :
1540 : int
1541 21093 : pattern368 (rtx x1, machine_mode i1)
1542 : {
1543 21093 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1544 21093 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1545 21093 : rtx x10, x11, x12, x13;
1546 21093 : int res ATTRIBUTE_UNUSED;
1547 21093 : x2 = XVECEXP (x1, 0, 0);
1548 21093 : x3 = XEXP (x2, 1);
1549 21093 : if (GET_MODE (x3) != i1)
1550 : return -1;
1551 21093 : x4 = XEXP (x3, 0);
1552 21093 : x5 = XEXP (x4, 0);
1553 21093 : x6 = XVECEXP (x5, 0, 0);
1554 21093 : operands[0] = x6;
1555 21093 : x7 = XVECEXP (x5, 0, 1);
1556 21093 : operands[2] = x7;
1557 21093 : if (!const_int_operand (operands[2], E_SImode))
1558 : return -1;
1559 21093 : x8 = XEXP (x4, 1);
1560 21093 : operands[1] = x8;
1561 21093 : x9 = XVECEXP (x1, 0, 1);
1562 21093 : x10 = XEXP (x9, 1);
1563 21093 : x11 = XEXP (x10, 0);
1564 21093 : if (!rtx_equal_p (x11, operands[0]))
1565 : return -1;
1566 21093 : x12 = XEXP (x10, 1);
1567 21093 : if (!rtx_equal_p (x12, operands[1]))
1568 : return -1;
1569 21093 : x13 = XEXP (x9, 0);
1570 21093 : if (!rtx_equal_p (x13, operands[0]))
1571 : return -1;
1572 21093 : switch (GET_MODE (x4))
1573 : {
1574 2888 : case E_QImode:
1575 2888 : return pattern367 (x1,
1576 2888 : E_QImode); /* [-1, 0] */
1577 :
1578 2588 : case E_HImode:
1579 2588 : if (pattern367 (x1,
1580 : E_HImode) != 0)
1581 : return -1;
1582 : return 1;
1583 :
1584 12083 : case E_SImode:
1585 12083 : if (pattern367 (x1,
1586 : E_SImode) != 0)
1587 : return -1;
1588 : return 2;
1589 :
1590 3534 : case E_DImode:
1591 3534 : if (pattern367 (x1,
1592 : E_DImode) != 0)
1593 : return -1;
1594 : return 3;
1595 :
1596 : default:
1597 : return -1;
1598 : }
1599 : }
1600 :
1601 : int
1602 7258 : pattern378 (rtx x1)
1603 : {
1604 7258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1605 7258 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1606 7258 : rtx x10, x11;
1607 7258 : int res ATTRIBUTE_UNUSED;
1608 7258 : x2 = XVECEXP (x1, 0, 0);
1609 7258 : x3 = XEXP (x2, 1);
1610 7258 : x4 = XEXP (x3, 0);
1611 7258 : if (GET_MODE (x4) != E_DImode)
1612 : return -1;
1613 7258 : x5 = XEXP (x4, 1);
1614 7258 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1615 : return -1;
1616 7258 : x6 = XEXP (x2, 0);
1617 7258 : if (GET_CODE (x6) != ZERO_EXTRACT
1618 7258 : || GET_MODE (x6) != E_DImode)
1619 : return -1;
1620 7258 : x7 = XEXP (x6, 1);
1621 7258 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1622 : return -1;
1623 7258 : x8 = XVECEXP (x1, 0, 1);
1624 7258 : if (GET_CODE (x8) != CLOBBER)
1625 : return -1;
1626 7258 : x9 = XEXP (x8, 0);
1627 7258 : if (GET_CODE (x9) != REG
1628 7258 : || REGNO (x9) != 17
1629 14516 : || GET_MODE (x9) != E_CCmode)
1630 : return -1;
1631 7258 : x10 = XEXP (x6, 0);
1632 7258 : operands[0] = x10;
1633 7258 : if (!nonimmediate_operand (operands[0], E_DImode))
1634 : return -1;
1635 7258 : x11 = XEXP (x6, 2);
1636 7258 : operands[1] = x11;
1637 7258 : if (!const_0_to_63_operand (operands[1], E_QImode))
1638 : return -1;
1639 : return 0;
1640 : }
1641 :
1642 : int
1643 57 : pattern394 (rtx x1)
1644 : {
1645 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1646 57 : rtx x2, x3;
1647 57 : int res ATTRIBUTE_UNUSED;
1648 57 : x2 = XVECEXP (x1, 0, 2);
1649 57 : if (XVECLEN (x2, 0) != 1
1650 57 : || XINT (x2, 1) != 33)
1651 : return -1;
1652 57 : x3 = XVECEXP (x2, 0, 0);
1653 57 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1654 : return -1;
1655 57 : switch (GET_MODE (operands[0]))
1656 : {
1657 38 : case E_SImode:
1658 38 : return pattern393 (x1,
1659 38 : E_SImode); /* [-1, 0] */
1660 :
1661 19 : case E_DImode:
1662 19 : if (pattern393 (x1,
1663 : E_DImode) != 0)
1664 : return -1;
1665 : return 1;
1666 :
1667 : default:
1668 : return -1;
1669 : }
1670 : }
1671 :
1672 : int
1673 0 : pattern403 (rtx x1, machine_mode i1, machine_mode i2)
1674 : {
1675 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1676 0 : rtx x2, x3;
1677 0 : int res ATTRIBUTE_UNUSED;
1678 0 : if (!nonimmediate_operand (operands[0], i1)
1679 0 : || GET_MODE (x1) != i1)
1680 : return -1;
1681 0 : x2 = XEXP (x1, 0);
1682 0 : if (GET_MODE (x2) != i1
1683 0 : || !nonimmediate_operand (operands[1], i2))
1684 0 : return -1;
1685 0 : x3 = XEXP (x1, 1);
1686 0 : if (GET_MODE (x3) != i1
1687 0 : || !register_operand (operands[2], i1))
1688 0 : return -1;
1689 : return 0;
1690 : }
1691 :
1692 : int
1693 73031 : pattern410 (rtx x1)
1694 : {
1695 73031 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1696 73031 : int res ATTRIBUTE_UNUSED;
1697 73031 : switch (GET_MODE (operands[0]))
1698 : {
1699 32530 : case E_SImode:
1700 32530 : if (!register_operand (operands[0], E_SImode)
1701 32414 : || GET_MODE (x1) != E_SImode
1702 64944 : || !nonimmediate_operand (operands[1], E_SImode))
1703 6265 : return -1;
1704 : return 0;
1705 :
1706 28487 : case E_DImode:
1707 28487 : if (!register_operand (operands[0], E_DImode)
1708 28116 : || GET_MODE (x1) != E_DImode
1709 56603 : || !nonimmediate_operand (operands[1], E_DImode))
1710 9503 : return -1;
1711 : return 1;
1712 :
1713 : default:
1714 : return -1;
1715 : }
1716 : }
1717 :
1718 : int
1719 2793 : pattern417 (rtx x1)
1720 : {
1721 2793 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1722 2793 : rtx x2, x3, x4, x5, x6, x7;
1723 2793 : int res ATTRIBUTE_UNUSED;
1724 2793 : x2 = XEXP (x1, 0);
1725 2793 : x3 = XEXP (x2, 0);
1726 2793 : if (GET_CODE (x3) != VEC_SELECT)
1727 : return -1;
1728 1414 : x4 = XEXP (x3, 0);
1729 1414 : if (GET_CODE (x4) != SUBREG
1730 1414 : || maybe_ne (SUBREG_BYTE (x4), 0))
1731 : return -1;
1732 381 : x5 = XEXP (x3, 1);
1733 381 : if (GET_CODE (x5) != PARALLEL)
1734 : return -1;
1735 381 : x6 = XEXP (x1, 1);
1736 381 : operands[2] = x6;
1737 381 : x7 = XEXP (x1, 2);
1738 381 : operands[3] = x7;
1739 381 : return pattern416 (x1); /* [-1, 8] */
1740 : }
1741 :
1742 : int
1743 18294704 : pattern421 (rtx x1, machine_mode i1)
1744 : {
1745 18294704 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1746 18294704 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1747 18294704 : rtx x10, x11;
1748 18294704 : int res ATTRIBUTE_UNUSED;
1749 18294704 : operands[4] = x1;
1750 18294704 : if (!general_gr_operand (operands[4], i1))
1751 : return -1;
1752 13265514 : x2 = PATTERN (peep2_next_insn (1));
1753 13265514 : if (GET_CODE (x2) != PARALLEL
1754 1287544 : || XVECLEN (x2, 0) != 3)
1755 : return -1;
1756 39499 : x3 = XVECEXP (x2, 0, 0);
1757 39499 : if (GET_CODE (x3) != SET)
1758 : return -1;
1759 37778 : x4 = XEXP (x3, 1);
1760 37778 : if (GET_CODE (x4) != UNSPEC
1761 60 : || XVECLEN (x4, 0) != 1
1762 30 : || XINT (x4, 1) != 93)
1763 : return -1;
1764 30 : x5 = XVECEXP (x2, 0, 1);
1765 30 : if (GET_CODE (x5) != SET)
1766 : return -1;
1767 30 : x6 = XEXP (x5, 1);
1768 30 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1769 : return -1;
1770 30 : x7 = XVECEXP (x2, 0, 2);
1771 30 : if (GET_CODE (x7) != CLOBBER)
1772 : return -1;
1773 30 : x8 = XEXP (x7, 0);
1774 30 : if (GET_CODE (x8) != REG
1775 30 : || REGNO (x8) != 17
1776 60 : || GET_MODE (x8) != E_CCmode)
1777 : return -1;
1778 30 : x9 = XEXP (x3, 0);
1779 30 : operands[0] = x9;
1780 30 : x10 = XVECEXP (x4, 0, 0);
1781 30 : operands[1] = x10;
1782 30 : x11 = XEXP (x5, 0);
1783 30 : operands[2] = x11;
1784 30 : if (!general_reg_operand (operands[2], E_VOIDmode))
1785 : return -1;
1786 30 : switch (GET_MODE (operands[0]))
1787 : {
1788 0 : case E_SImode:
1789 0 : if (!memory_operand (operands[0], E_SImode)
1790 0 : || GET_MODE (x4) != E_SImode
1791 0 : || !memory_operand (operands[1], E_SImode))
1792 0 : return -1;
1793 : return 0;
1794 :
1795 30 : case E_DImode:
1796 30 : if (!memory_operand (operands[0], E_DImode)
1797 30 : || GET_MODE (x4) != E_DImode
1798 60 : || !memory_operand (operands[1], E_DImode))
1799 0 : return -1;
1800 : return 1;
1801 :
1802 : default:
1803 : return -1;
1804 : }
1805 : }
1806 :
1807 : int
1808 47679 : pattern445 (rtx x1)
1809 : {
1810 47679 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1811 47679 : rtx x2, x3, x4;
1812 47679 : int res ATTRIBUTE_UNUSED;
1813 47679 : x2 = XEXP (x1, 0);
1814 47679 : x3 = XEXP (x2, 0);
1815 47679 : operands[1] = x3;
1816 47679 : if (!nonimmediate_operand (operands[1], E_SImode))
1817 : return -1;
1818 17556 : x4 = XEXP (x1, 1);
1819 17556 : switch (GET_CODE (x4))
1820 : {
1821 : case CONST_INT:
1822 : case CONST_WIDE_INT:
1823 : case CONST:
1824 : case LABEL_REF:
1825 : case SYMBOL_REF:
1826 : return 0;
1827 :
1828 0 : case ASHIFT:
1829 0 : if (GET_MODE (x4) != E_DImode
1830 0 : || !nonimmediate_operand (operands[0], E_DImode))
1831 0 : return -1;
1832 0 : res = pattern39 (x4,
1833 : E_DImode,
1834 : E_SImode);
1835 0 : if (res >= 0)
1836 0 : return res + 1; /* [1, 3] */
1837 : return -1;
1838 :
1839 : default:
1840 : return -1;
1841 : }
1842 : }
1843 :
1844 : int
1845 5975 : pattern456 (rtx x1, int *pnum_clobbers)
1846 : {
1847 5975 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1848 5975 : rtx x2, x3, x4, x5;
1849 5975 : int res ATTRIBUTE_UNUSED;
1850 5975 : if (pnum_clobbers == NULL)
1851 : return -1;
1852 5973 : x2 = XEXP (x1, 1);
1853 5973 : if (maybe_ne (SUBREG_BYTE (x2), 0)
1854 5973 : || GET_MODE (x2) != E_QImode)
1855 : return -1;
1856 5649 : x3 = XEXP (x2, 0);
1857 5649 : switch (GET_CODE (x3))
1858 : {
1859 886 : case AND:
1860 886 : return pattern455 (x1); /* [-1, 1] */
1861 :
1862 0 : case PLUS:
1863 0 : x4 = XEXP (x3, 0);
1864 0 : operands[2] = x4;
1865 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1866 : return -1;
1867 0 : res = pattern454 (x1);
1868 0 : if (res >= 0)
1869 0 : return res + 2; /* [2, 3] */
1870 : return -1;
1871 :
1872 0 : case MINUS:
1873 0 : x4 = XEXP (x3, 0);
1874 0 : operands[3] = x4;
1875 0 : if (!const_int_operand (operands[3], E_VOIDmode))
1876 : return -1;
1877 0 : x5 = XEXP (x3, 1);
1878 0 : operands[2] = x5;
1879 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1880 : return -1;
1881 0 : res = pattern14 (x1);
1882 0 : if (res >= 0)
1883 0 : return res + 4; /* [4, 5] */
1884 : return -1;
1885 :
1886 : default:
1887 : return -1;
1888 : }
1889 : }
1890 :
1891 : int
1892 4331 : pattern468 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
1893 : {
1894 4331 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1895 4331 : rtx x2;
1896 4331 : int res ATTRIBUTE_UNUSED;
1897 4331 : if (!register_operand (operands[0], i2)
1898 4331 : || GET_MODE (x1) != i2)
1899 : return -1;
1900 4170 : x2 = XEXP (x1, 0);
1901 4170 : if (GET_MODE (x2) != i2
1902 4170 : || !register_operand (operands[1], i3)
1903 4166 : || !nonimmediate_operand (operands[2], i3)
1904 4165 : || !nonimm_or_0_operand (operands[3], i2)
1905 8208 : || !register_operand (operands[4], i1))
1906 354 : return -1;
1907 : return 0;
1908 : }
1909 :
1910 : int
1911 1048 : pattern475 (rtx x1, machine_mode i1, machine_mode i2)
1912 : {
1913 1048 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1914 1048 : rtx x2, x3;
1915 1048 : int res ATTRIBUTE_UNUSED;
1916 1048 : if (!register_operand (operands[0], i2)
1917 1048 : || GET_MODE (x1) != i2)
1918 : return -1;
1919 1020 : x2 = XEXP (x1, 0);
1920 1020 : if (GET_MODE (x2) != i2
1921 1020 : || !vector_operand (operands[1], i2)
1922 1016 : || !vector_operand (operands[2], i2)
1923 2036 : || !vector_operand (operands[3], i2))
1924 4 : return -1;
1925 1016 : x3 = XEXP (x1, 2);
1926 1016 : if (GET_MODE (x3) != i1
1927 1016 : || !register_operand (operands[4], E_QImode))
1928 90 : return -1;
1929 : return 0;
1930 : }
1931 :
1932 : int
1933 4225 : pattern483 (rtx x1)
1934 : {
1935 4225 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1936 4225 : rtx x2, x3, x4, x5, x6, x7;
1937 4225 : int res ATTRIBUTE_UNUSED;
1938 4225 : x2 = XEXP (x1, 0);
1939 4225 : x3 = XVECEXP (x2, 0, 0);
1940 4225 : operands[1] = x3;
1941 4225 : x4 = XVECEXP (x2, 0, 1);
1942 4225 : operands[2] = x4;
1943 4225 : x5 = XVECEXP (x2, 0, 2);
1944 4225 : operands[3] = x5;
1945 4225 : if (!const_0_to_255_operand (operands[3], E_SImode))
1946 : return -1;
1947 4225 : x6 = XEXP (x1, 1);
1948 4225 : operands[4] = x6;
1949 4225 : x7 = XEXP (x1, 2);
1950 4225 : operands[5] = x7;
1951 4225 : switch (GET_MODE (operands[0]))
1952 : {
1953 400 : case E_V32HImode:
1954 400 : return pattern482 (x1,
1955 : E_V32HImode,
1956 400 : E_SImode); /* [-1, 0] */
1957 :
1958 509 : case E_V16SImode:
1959 509 : if (pattern482 (x1,
1960 : E_V16SImode,
1961 : E_HImode) != 0)
1962 : return -1;
1963 : return 1;
1964 :
1965 536 : case E_V8DImode:
1966 536 : if (pattern482 (x1,
1967 : E_V8DImode,
1968 : E_QImode) != 0)
1969 : return -1;
1970 : return 2;
1971 :
1972 434 : case E_V16HImode:
1973 434 : if (pattern482 (x1,
1974 : E_V16HImode,
1975 : E_HImode) != 0)
1976 : return -1;
1977 : return 3;
1978 :
1979 488 : case E_V8SImode:
1980 488 : if (pattern482 (x1,
1981 : E_V8SImode,
1982 : E_QImode) != 0)
1983 : return -1;
1984 : return 4;
1985 :
1986 502 : case E_V4DImode:
1987 502 : if (pattern482 (x1,
1988 : E_V4DImode,
1989 : E_QImode) != 0)
1990 : return -1;
1991 : return 5;
1992 :
1993 426 : case E_V8HImode:
1994 426 : if (pattern482 (x1,
1995 : E_V8HImode,
1996 : E_QImode) != 0)
1997 : return -1;
1998 : return 6;
1999 :
2000 458 : case E_V4SImode:
2001 458 : if (pattern482 (x1,
2002 : E_V4SImode,
2003 : E_QImode) != 0)
2004 : return -1;
2005 : return 7;
2006 :
2007 472 : case E_V2DImode:
2008 472 : if (pattern482 (x1,
2009 : E_V2DImode,
2010 : E_QImode) != 0)
2011 : return -1;
2012 : return 8;
2013 :
2014 : default:
2015 : return -1;
2016 : }
2017 : }
2018 :
2019 : int
2020 8 : pattern498 (rtx x1, machine_mode i1)
2021 : {
2022 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2023 8 : int res ATTRIBUTE_UNUSED;
2024 8 : if (!register_operand (operands[0], i1)
2025 8 : || GET_MODE (x1) != i1
2026 8 : || !register_operand (operands[1], i1)
2027 12 : || !nonimmediate_operand (operands[2], i1))
2028 6 : return -1;
2029 : return 0;
2030 : }
2031 :
2032 : int
2033 696 : pattern501 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2034 : {
2035 696 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2036 696 : rtx x2, x3, x4;
2037 696 : int res ATTRIBUTE_UNUSED;
2038 696 : if (!register_operand (operands[0], i2)
2039 696 : || GET_MODE (x1) != i2)
2040 : return -1;
2041 678 : x2 = XEXP (x1, 0);
2042 678 : if (GET_MODE (x2) != i1)
2043 : return -1;
2044 678 : x3 = XEXP (x2, 0);
2045 678 : if (GET_MODE (x3) != i1
2046 678 : || !nonimmediate_operand (operands[1], i3))
2047 0 : return -1;
2048 678 : x4 = XEXP (x2, 1);
2049 678 : if (GET_MODE (x4) != i1
2050 678 : || !nonimm_or_0_operand (operands[2], i2)
2051 1351 : || !const0_operand (operands[4], i1))
2052 5 : return -1;
2053 : return 0;
2054 : }
2055 :
2056 : int
2057 0 : pattern507 (rtx x1)
2058 : {
2059 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2060 0 : rtx x2, x3, x4, x5, x6, x7;
2061 0 : int res ATTRIBUTE_UNUSED;
2062 0 : x2 = XEXP (x1, 0);
2063 0 : x3 = XEXP (x2, 0);
2064 0 : if (GET_MODE (x3) != E_V2SImode)
2065 : return -1;
2066 0 : x4 = XEXP (x1, 1);
2067 0 : if (GET_CODE (x4) != CONST_VECTOR
2068 0 : || XVECLEN (x4, 0) != 2
2069 0 : || GET_MODE (x4) != E_V2SImode)
2070 : return -1;
2071 0 : x5 = XVECEXP (x4, 0, 0);
2072 0 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2073 : return -1;
2074 0 : x6 = XVECEXP (x4, 0, 1);
2075 0 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2076 0 : || !register_operand (operands[0], E_V4SImode)
2077 0 : || GET_MODE (x1) != E_V4SImode
2078 0 : || GET_MODE (x2) != E_V2SImode)
2079 0 : return -1;
2080 0 : x7 = XEXP (x3, 0);
2081 0 : operands[1] = x7;
2082 0 : if (!nonimmediate_operand (operands[1], E_V2DFmode))
2083 : return -1;
2084 0 : return pattern506 (x2); /* [-1, 1] */
2085 : }
2086 :
2087 : int
2088 720 : pattern512 (rtx x1, machine_mode i1, machine_mode i2)
2089 : {
2090 720 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2091 720 : rtx x2, x3, x4;
2092 720 : int res ATTRIBUTE_UNUSED;
2093 720 : if (!register_operand (operands[0], i2)
2094 720 : || GET_MODE (x1) != i2)
2095 : return -1;
2096 720 : x2 = XEXP (x1, 0);
2097 720 : if (GET_MODE (x2) != i1)
2098 : return -1;
2099 720 : x3 = XEXP (x2, 0);
2100 720 : if (GET_MODE (x3) != i1)
2101 : return -1;
2102 720 : x4 = XEXP (x2, 1);
2103 720 : if (GET_MODE (x4) != i1)
2104 : return -1;
2105 720 : switch (GET_MODE (operands[1]))
2106 : {
2107 360 : case E_V4SImode:
2108 360 : if (!register_operand (operands[1], E_V4SImode))
2109 : return -1;
2110 : return 0;
2111 :
2112 360 : case E_V4DImode:
2113 360 : if (!register_operand (operands[1], E_V4DImode))
2114 : return -1;
2115 : return 1;
2116 :
2117 : default:
2118 : return -1;
2119 : }
2120 : }
2121 :
2122 : int
2123 251 : pattern520 (rtx x1)
2124 : {
2125 251 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2126 251 : int res ATTRIBUTE_UNUSED;
2127 251 : if (!register_operand (operands[0], E_V16HFmode)
2128 251 : || GET_MODE (x1) != E_V16HFmode)
2129 : return -1;
2130 221 : switch (GET_MODE (operands[1]))
2131 : {
2132 138 : case E_V16HImode:
2133 138 : if (!vector_operand (operands[1], E_V16HImode))
2134 : return -1;
2135 : return 0;
2136 :
2137 79 : case E_V16SImode:
2138 79 : if (!vector_operand (operands[1], E_V16SImode))
2139 : return -1;
2140 : return 1;
2141 :
2142 : default:
2143 : return -1;
2144 : }
2145 : }
2146 :
2147 : int
2148 8 : pattern524 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2149 : {
2150 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2151 8 : rtx x2, x3;
2152 8 : int res ATTRIBUTE_UNUSED;
2153 8 : if (!register_operand (operands[0], i1)
2154 8 : || GET_MODE (x1) != i1)
2155 : return -1;
2156 8 : x2 = XEXP (x1, 0);
2157 8 : if (GET_MODE (x2) != i3)
2158 : return -1;
2159 8 : x3 = XEXP (x2, 0);
2160 8 : if (GET_MODE (x3) != i1
2161 8 : || !nonimmediate_operand (operands[1], i2)
2162 8 : || !const0_operand (operands[2], i2)
2163 16 : || !const0_operand (operands[3], i1))
2164 0 : return -1;
2165 : return 0;
2166 : }
2167 :
2168 : int
2169 26981 : pattern533 (rtx x1)
2170 : {
2171 26981 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2172 26981 : rtx x2, x3, x4;
2173 26981 : int res ATTRIBUTE_UNUSED;
2174 26981 : x2 = XEXP (x1, 0);
2175 26981 : x3 = XEXP (x2, 1);
2176 26981 : operands[2] = x3;
2177 26981 : x4 = XEXP (x1, 1);
2178 26981 : operands[3] = x4;
2179 26981 : switch (GET_CODE (x2))
2180 : {
2181 18904 : case GT:
2182 18904 : switch (GET_MODE (operands[0]))
2183 : {
2184 27 : case E_V4DImode:
2185 27 : return pattern532 (x1,
2186 27 : E_V4DImode); /* [-1, 0] */
2187 :
2188 118 : case E_V2DImode:
2189 118 : if (pattern532 (x1,
2190 : E_V2DImode) != 0)
2191 : return -1;
2192 : return 1;
2193 :
2194 : default:
2195 : return -1;
2196 : }
2197 :
2198 : case LT:
2199 : return 2;
2200 :
2201 : default:
2202 : return -1;
2203 : }
2204 : }
2205 :
2206 : int
2207 10373 : pattern538 (rtx x1, machine_mode i1)
2208 : {
2209 10373 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2210 10373 : rtx x2, x3;
2211 10373 : int res ATTRIBUTE_UNUSED;
2212 10373 : if (!register_operand (operands[0], i1)
2213 10373 : || GET_MODE (x1) != i1)
2214 : return -1;
2215 10373 : x2 = XEXP (x1, 0);
2216 10373 : if (GET_MODE (x2) != i1)
2217 : return -1;
2218 10373 : x3 = XEXP (x2, 0);
2219 10373 : if (GET_MODE (x3) != i1
2220 10373 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2221 10065 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2222 10061 : || !regmem_or_bitnot_regmem_operand (operands[3], i1)
2223 20430 : || !regmem_or_bitnot_regmem_operand (operands[4], i1))
2224 320 : return -1;
2225 : return 0;
2226 : }
2227 :
2228 : int
2229 125163 : pattern544 (rtx x1)
2230 : {
2231 125163 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2232 125163 : rtx x2, x3, x4, x5, x6, x7;
2233 125163 : int res ATTRIBUTE_UNUSED;
2234 125163 : x2 = XEXP (x1, 0);
2235 125163 : x3 = XEXP (x2, 0);
2236 125163 : x4 = XEXP (x3, 0);
2237 125163 : operands[1] = x4;
2238 125163 : x5 = XEXP (x3, 1);
2239 125163 : operands[2] = x5;
2240 125163 : x6 = XEXP (x2, 1);
2241 125163 : operands[3] = x6;
2242 125163 : x7 = XEXP (x1, 1);
2243 125163 : operands[4] = x7;
2244 125163 : switch (GET_MODE (operands[0]))
2245 : {
2246 0 : case E_V32HFmode:
2247 0 : return pattern538 (x1,
2248 0 : E_V32HFmode); /* [-1, 0] */
2249 :
2250 0 : case E_V16HFmode:
2251 0 : if (pattern538 (x1,
2252 : E_V16HFmode) != 0)
2253 : return -1;
2254 : return 1;
2255 :
2256 0 : case E_V8HFmode:
2257 0 : if (pattern538 (x1,
2258 : E_V8HFmode) != 0)
2259 : return -1;
2260 : return 2;
2261 :
2262 0 : case E_V32BFmode:
2263 0 : if (pattern538 (x1,
2264 : E_V32BFmode) != 0)
2265 : return -1;
2266 : return 3;
2267 :
2268 0 : case E_V16BFmode:
2269 0 : if (pattern538 (x1,
2270 : E_V16BFmode) != 0)
2271 : return -1;
2272 : return 4;
2273 :
2274 0 : case E_V8BFmode:
2275 0 : if (pattern538 (x1,
2276 : E_V8BFmode) != 0)
2277 : return -1;
2278 : return 5;
2279 :
2280 0 : case E_V16SFmode:
2281 0 : if (pattern538 (x1,
2282 : E_V16SFmode) != 0)
2283 : return -1;
2284 : return 6;
2285 :
2286 0 : case E_V8SFmode:
2287 0 : if (pattern538 (x1,
2288 : E_V8SFmode) != 0)
2289 : return -1;
2290 : return 7;
2291 :
2292 18 : case E_V4SFmode:
2293 18 : if (pattern538 (x1,
2294 : E_V4SFmode) != 0)
2295 : return -1;
2296 : return 8;
2297 :
2298 0 : case E_V8DFmode:
2299 0 : if (pattern538 (x1,
2300 : E_V8DFmode) != 0)
2301 : return -1;
2302 : return 9;
2303 :
2304 0 : case E_V4DFmode:
2305 0 : if (pattern538 (x1,
2306 : E_V4DFmode) != 0)
2307 : return -1;
2308 : return 10;
2309 :
2310 0 : case E_V2DFmode:
2311 0 : if (pattern538 (x1,
2312 : E_V2DFmode) != 0)
2313 : return -1;
2314 : return 11;
2315 :
2316 : default:
2317 : return -1;
2318 : }
2319 : }
2320 :
2321 : int
2322 85 : pattern552 (rtx x1, int i1)
2323 : {
2324 85 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2325 85 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2326 85 : int res ATTRIBUTE_UNUSED;
2327 85 : x2 = XVECEXP (x1, 0, 0);
2328 85 : x3 = XEXP (x2, 1);
2329 85 : if (GET_MODE (x3) != E_XFmode)
2330 : return -1;
2331 85 : x4 = XVECEXP (x1, 0, 1);
2332 85 : if (GET_CODE (x4) != SET)
2333 : return -1;
2334 85 : x5 = XEXP (x4, 1);
2335 85 : if (GET_CODE (x5) != UNSPEC
2336 85 : || XVECLEN (x5, 0) != 1
2337 85 : || XINT (x5, 1) != i1
2338 85 : || GET_MODE (x5) != E_XFmode)
2339 : return -1;
2340 85 : x6 = XEXP (x2, 0);
2341 85 : operands[0] = x6;
2342 85 : if (!register_operand (operands[0], E_XFmode))
2343 : return -1;
2344 85 : x7 = XVECEXP (x3, 0, 0);
2345 85 : operands[2] = x7;
2346 85 : if (!register_operand (operands[2], E_XFmode))
2347 : return -1;
2348 49 : x8 = XEXP (x4, 0);
2349 49 : operands[1] = x8;
2350 49 : if (!register_operand (operands[1], E_XFmode))
2351 : return -1;
2352 49 : x9 = XVECEXP (x5, 0, 0);
2353 49 : if (!rtx_equal_p (x9, operands[2]))
2354 : return -1;
2355 : return 0;
2356 : }
2357 :
2358 : int
2359 6791 : pattern561 (rtx x1)
2360 : {
2361 6791 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2362 6791 : rtx x2, x3, x4;
2363 6791 : int res ATTRIBUTE_UNUSED;
2364 6791 : x2 = XEXP (x1, 0);
2365 6791 : x3 = XEXP (x2, 0);
2366 6791 : operands[0] = x3;
2367 6791 : switch (GET_MODE (operands[0]))
2368 : {
2369 6147 : case E_QImode:
2370 6147 : x4 = XEXP (x1, 1);
2371 6147 : return pattern560 (x4,
2372 6147 : E_QImode); /* [-1, 0] */
2373 :
2374 644 : case E_HImode:
2375 644 : x4 = XEXP (x1, 1);
2376 644 : if (pattern560 (x4,
2377 : E_HImode) != 0)
2378 : return -1;
2379 : return 1;
2380 :
2381 : default:
2382 : return -1;
2383 : }
2384 : }
2385 :
2386 : int
2387 301502 : pattern566 (rtx x1, machine_mode i1, machine_mode i2)
2388 : {
2389 301502 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2390 301502 : int res ATTRIBUTE_UNUSED;
2391 301502 : if (!register_operand (operands[0], i2)
2392 301441 : || GET_MODE (x1) != i2
2393 602943 : || pattern565 (x1,
2394 : i1,
2395 : i2) != 0)
2396 13826 : return -1;
2397 : return 0;
2398 : }
2399 :
2400 : int
2401 26781859 : pattern570 (rtx x1)
2402 : {
2403 26781859 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2404 26781859 : int res ATTRIBUTE_UNUSED;
2405 26781859 : if (!nonimmediate_operand (operands[0], E_SImode)
2406 26754122 : || GET_MODE (x1) != E_SImode
2407 26754122 : || !nonimmediate_operand (operands[1], E_SImode)
2408 53209823 : || !x86_64_general_operand (operands[2], E_SImode))
2409 387796 : return -1;
2410 : return 0;
2411 : }
2412 :
2413 : int
2414 798339 : pattern575 (rtx x1)
2415 : {
2416 798339 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2417 798339 : rtx x2, x3, x4, x5;
2418 798339 : int res ATTRIBUTE_UNUSED;
2419 798339 : x2 = XVECEXP (x1, 0, 1);
2420 798339 : x3 = XEXP (x2, 0);
2421 798339 : if (GET_CODE (x3) != REG
2422 798339 : || REGNO (x3) != 17
2423 1596678 : || GET_MODE (x3) != E_CCmode)
2424 : return -1;
2425 798339 : x4 = XVECEXP (x1, 0, 0);
2426 798339 : x5 = XEXP (x4, 1);
2427 798339 : if (GET_MODE (x5) != E_QImode)
2428 181369 : return -1;
2429 : return 0;
2430 : }
2431 :
2432 : int
2433 343 : pattern579 (rtx x1)
2434 : {
2435 343 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2436 343 : int res ATTRIBUTE_UNUSED;
2437 343 : if (GET_MODE (x1) != E_BLKmode
2438 343 : || !memory_operand (operands[0], E_BLKmode)
2439 343 : || !register_operand (operands[1], E_SImode)
2440 666 : || !register_operand (operands[2], E_SImode))
2441 141 : return -1;
2442 : return 0;
2443 : }
2444 :
2445 : int
2446 100 : pattern584 (rtx x1)
2447 : {
2448 100 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2449 100 : rtx x2, x3, x4, x5;
2450 100 : int res ATTRIBUTE_UNUSED;
2451 100 : x2 = XEXP (x1, 1);
2452 100 : x3 = XEXP (x2, 0);
2453 100 : x4 = XEXP (x3, 0);
2454 100 : operands[2] = x4;
2455 100 : if (!int248_register_operand (operands[2], E_VOIDmode))
2456 : return -1;
2457 100 : x5 = XEXP (x3, 1);
2458 100 : operands[3] = x5;
2459 100 : if (!const_int_operand (operands[3], E_VOIDmode))
2460 : return -1;
2461 100 : return pattern583 (x1); /* [-1, 3] */
2462 : }
2463 :
2464 : int
2465 848 : pattern591 (rtx x1)
2466 : {
2467 848 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2468 848 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2469 848 : int res ATTRIBUTE_UNUSED;
2470 848 : x2 = XVECEXP (x1, 0, 0);
2471 848 : x3 = XEXP (x2, 1);
2472 848 : x4 = XEXP (x3, 0);
2473 848 : x5 = XEXP (x4, 0);
2474 848 : x6 = XEXP (x5, 0);
2475 848 : x7 = XEXP (x6, 0);
2476 848 : operands[1] = x7;
2477 848 : if (!int248_register_operand (operands[1], E_VOIDmode))
2478 : return -1;
2479 848 : x8 = XEXP (x4, 1);
2480 848 : operands[2] = x8;
2481 848 : if (!general_operand (operands[2], E_QImode))
2482 : return -1;
2483 848 : x9 = XVECEXP (x1, 0, 1);
2484 848 : return pattern590 (x9); /* [-1, 2] */
2485 : }
2486 :
2487 : int
2488 49 : pattern595 (rtx x1)
2489 : {
2490 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2491 49 : rtx x2, x3;
2492 49 : int res ATTRIBUTE_UNUSED;
2493 49 : x2 = XVECEXP (x1, 0, 1);
2494 49 : if (GET_CODE (x2) != CLOBBER)
2495 : return -1;
2496 49 : x3 = XEXP (x2, 0);
2497 49 : if (GET_CODE (x3) != REG
2498 49 : || REGNO (x3) != 17
2499 98 : || GET_MODE (x3) != E_CCmode)
2500 : return -1;
2501 49 : return pattern229 (x1); /* [-1, 1] */
2502 : }
2503 :
2504 : int
2505 16049 : pattern600 (rtx x1)
2506 : {
2507 16049 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2508 16049 : int res ATTRIBUTE_UNUSED;
2509 16049 : if (!register_operand (operands[0], E_HImode)
2510 16049 : || GET_MODE (x1) != E_HImode)
2511 : return -1;
2512 15997 : switch (GET_MODE (operands[1]))
2513 : {
2514 1521 : case E_V16QImode:
2515 1521 : if (!general_operand (operands[1], E_V16QImode)
2516 1521 : || !general_operand (operands[2], E_V16QImode))
2517 29 : return -1;
2518 : return 0;
2519 :
2520 2741 : case E_V16HImode:
2521 2741 : if (!general_operand (operands[1], E_V16HImode)
2522 2741 : || !general_operand (operands[2], E_V16HImode))
2523 25 : return -1;
2524 : return 1;
2525 :
2526 10862 : case E_V16SImode:
2527 10862 : if (!general_operand (operands[1], E_V16SImode)
2528 10862 : || !general_operand (operands[2], E_V16SImode))
2529 110 : return -1;
2530 : return 2;
2531 :
2532 : default:
2533 : return -1;
2534 : }
2535 : }
2536 :
2537 : int
2538 14941982 : pattern608 (rtx x1, machine_mode i1)
2539 : {
2540 14941982 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2541 14941982 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2542 14941982 : rtx x10, x11, x12, x13, x14, x15;
2543 14941982 : int res ATTRIBUTE_UNUSED;
2544 14941982 : x2 = XEXP (x1, 0);
2545 14941982 : operands[5] = x2;
2546 14941982 : if (!memory_operand (operands[5], i1))
2547 : return -1;
2548 3677813 : x3 = XEXP (x1, 1);
2549 3677813 : operands[0] = x3;
2550 3677813 : if (!general_reg_operand (operands[0], i1))
2551 : return -1;
2552 2401832 : x4 = PATTERN (peep2_next_insn (1));
2553 2401832 : if (GET_CODE (x4) != SET)
2554 : return -1;
2555 2212277 : x5 = XEXP (x4, 1);
2556 2212277 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2557 : return -1;
2558 98746 : x6 = XEXP (x4, 0);
2559 98746 : operands[1] = x6;
2560 98746 : if (!memory_operand (operands[1], i1))
2561 : return -1;
2562 44686 : x7 = PATTERN (peep2_next_insn (2));
2563 44686 : if (GET_CODE (x7) != SET)
2564 : return -1;
2565 42723 : x8 = XEXP (x7, 1);
2566 42723 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2567 : return -1;
2568 18604 : x9 = XEXP (x7, 0);
2569 18604 : operands[2] = x9;
2570 18604 : if (!memory_operand (operands[2], i1))
2571 : return -1;
2572 15382 : x10 = PATTERN (peep2_next_insn (3));
2573 15382 : if (GET_CODE (x10) != SET)
2574 : return -1;
2575 14538 : x11 = XEXP (x10, 1);
2576 14538 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2577 : return -1;
2578 7398 : x12 = XEXP (x10, 0);
2579 7398 : operands[3] = x12;
2580 7398 : if (!memory_operand (operands[3], i1))
2581 : return -1;
2582 6910 : x13 = PATTERN (peep2_next_insn (4));
2583 6910 : if (GET_CODE (x13) != SET)
2584 : return -1;
2585 6694 : x14 = XEXP (x13, 1);
2586 6694 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2587 : return -1;
2588 2253 : x15 = XEXP (x13, 0);
2589 2253 : operands[4] = x15;
2590 2253 : if (!memory_operand (operands[4], i1))
2591 : return -1;
2592 : return 0;
2593 : }
2594 :
2595 : int
2596 12449 : pattern622 (rtx x1)
2597 : {
2598 12449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2599 12449 : rtx x2, x3, x4, x5;
2600 12449 : int res ATTRIBUTE_UNUSED;
2601 12449 : x2 = XEXP (x1, 0);
2602 12449 : x3 = XEXP (x2, 1);
2603 12449 : x4 = XVECEXP (x3, 0, 0);
2604 12449 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2605 : return -1;
2606 12447 : x5 = XVECEXP (x3, 0, 1);
2607 12447 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2608 : return -1;
2609 12298 : switch (GET_MODE (operands[0]))
2610 : {
2611 3915 : case E_V2SImode:
2612 3915 : if (!register_operand (operands[0], E_V2SImode)
2613 3915 : || GET_MODE (x1) != E_V2SImode)
2614 : return -1;
2615 3767 : switch (GET_MODE (x2))
2616 : {
2617 3374 : case E_V2HImode:
2618 3374 : if (!register_operand (operands[1], E_V4HImode))
2619 : return -1;
2620 : return 0;
2621 :
2622 393 : case E_V2QImode:
2623 393 : if (!register_operand (operands[1], E_V4QImode))
2624 : return -1;
2625 : return 1;
2626 :
2627 : default:
2628 : return -1;
2629 : }
2630 :
2631 162 : case E_V2HImode:
2632 162 : if (pattern620 (x1,
2633 : E_V4QImode,
2634 : E_V2QImode,
2635 : E_V2HImode) != 0)
2636 : return -1;
2637 : return 2;
2638 :
2639 : default:
2640 : return -1;
2641 : }
2642 : }
2643 :
2644 : int
2645 7115 : pattern640 (rtx x1, machine_mode i1, machine_mode i2)
2646 : {
2647 7115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2648 7115 : rtx x2;
2649 7115 : int res ATTRIBUTE_UNUSED;
2650 7115 : if (!register_operand (operands[0], i1)
2651 7115 : || GET_MODE (x1) != i1)
2652 : return -1;
2653 6788 : x2 = XEXP (x1, 0);
2654 6788 : if (GET_MODE (x2) != i1
2655 6788 : || !nonimmediate_operand (operands[1], i1)
2656 6764 : || !nonimm_or_0_operand (operands[2], i1)
2657 13447 : || !register_operand (operands[3], i2))
2658 217 : return -1;
2659 : return 0;
2660 : }
2661 :
2662 : int
2663 12625 : pattern646 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2664 : {
2665 12625 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2666 12625 : rtx x2;
2667 12625 : int res ATTRIBUTE_UNUSED;
2668 12625 : if (!register_operand (operands[0], i1)
2669 12625 : || GET_MODE (x1) != i1)
2670 : return -1;
2671 12170 : x2 = XEXP (x1, 0);
2672 12170 : if (GET_MODE (x2) != i1
2673 12170 : || !vector_operand (operands[1], i3)
2674 12170 : || !nonimm_or_0_operand (operands[2], i1)
2675 24024 : || !register_operand (operands[3], i2))
2676 928 : return -1;
2677 : return 0;
2678 : }
2679 :
2680 : int
2681 20190 : pattern652 (rtx x1)
2682 : {
2683 20190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2684 20190 : rtx x2, x3, x4;
2685 20190 : int res ATTRIBUTE_UNUSED;
2686 20190 : x2 = XEXP (x1, 0);
2687 20190 : x3 = XEXP (x2, 2);
2688 20190 : switch (GET_CODE (x3))
2689 : {
2690 10208 : case REG:
2691 10208 : case SUBREG:
2692 10208 : case MEM:
2693 10208 : case VEC_DUPLICATE:
2694 10208 : operands[3] = x3;
2695 10208 : return pattern651 (x1); /* [-1, 28] */
2696 :
2697 9542 : case NEG:
2698 9542 : x4 = XEXP (x3, 0);
2699 9542 : operands[3] = x4;
2700 9542 : return 29;
2701 :
2702 : default:
2703 : return -1;
2704 : }
2705 : }
2706 :
2707 : int
2708 330 : pattern655 (rtx x1, machine_mode i1)
2709 : {
2710 330 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2711 330 : int res ATTRIBUTE_UNUSED;
2712 330 : if (!register_operand (operands[0], i1)
2713 330 : || GET_MODE (x1) != i1)
2714 : return -1;
2715 305 : switch (GET_MODE (operands[1]))
2716 : {
2717 147 : case E_V16HFmode:
2718 147 : if (!vector_operand (operands[1], E_V16HFmode))
2719 : return -1;
2720 : return 0;
2721 :
2722 158 : case E_V16SFmode:
2723 158 : if (!vector_operand (operands[1], E_V16SFmode))
2724 : return -1;
2725 : return 1;
2726 :
2727 : default:
2728 : return -1;
2729 : }
2730 : }
2731 :
2732 : int
2733 2180 : pattern661 (rtx x1)
2734 : {
2735 2180 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2736 2180 : rtx x2, x3, x4, x5;
2737 2180 : int res ATTRIBUTE_UNUSED;
2738 2180 : x2 = XVECEXP (x1, 0, 0);
2739 2180 : x3 = XEXP (x2, 2);
2740 2180 : if (XWINT (x3, 0) != 1L)
2741 : return -1;
2742 2136 : x4 = XVECEXP (x1, 0, 1);
2743 2136 : operands[3] = x4;
2744 2136 : x5 = XEXP (x2, 1);
2745 2136 : if (!rtx_equal_p (x5, operands[1]))
2746 : return -1;
2747 2124 : switch (GET_MODE (operands[0]))
2748 : {
2749 340 : case E_V8HFmode:
2750 340 : return pattern660 (x1,
2751 340 : E_V8HFmode); /* [-1, 0] */
2752 :
2753 352 : case E_V4SFmode:
2754 352 : if (pattern660 (x1,
2755 : E_V4SFmode) != 0)
2756 : return -1;
2757 : return 1;
2758 :
2759 1432 : case E_V2DFmode:
2760 1432 : if (pattern660 (x1,
2761 : E_V2DFmode) != 0)
2762 : return -1;
2763 : return 2;
2764 :
2765 : default:
2766 : return -1;
2767 : }
2768 : }
2769 :
2770 : int
2771 190 : pattern669 (rtx x1, machine_mode i1)
2772 : {
2773 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2774 190 : rtx x2;
2775 190 : int res ATTRIBUTE_UNUSED;
2776 190 : if (!register_operand (operands[0], i1)
2777 187 : || GET_MODE (x1) != i1
2778 187 : || !register_operand (operands[1], i1)
2779 367 : || !vector_operand (operands[2], i1))
2780 18 : return -1;
2781 172 : x2 = XVECEXP (x1, 0, 2);
2782 172 : if (GET_MODE (x2) != i1
2783 172 : || !register_operand (operands[3], i1)
2784 336 : || !const0_operand (operands[4], i1))
2785 8 : return -1;
2786 : return 0;
2787 : }
2788 :
2789 : int
2790 851 : pattern675 (rtx x1)
2791 : {
2792 851 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2793 851 : rtx x2, x3, x4, x5;
2794 851 : int res ATTRIBUTE_UNUSED;
2795 851 : x2 = XVECEXP (x1, 0, 1);
2796 851 : operands[2] = x2;
2797 851 : x3 = XVECEXP (x1, 0, 2);
2798 851 : x4 = XEXP (x3, 0);
2799 851 : operands[3] = x4;
2800 851 : x5 = XEXP (x3, 1);
2801 851 : operands[4] = x5;
2802 851 : switch (GET_MODE (operands[0]))
2803 : {
2804 50 : case E_V8SFmode:
2805 50 : return pattern673 (x1,
2806 : E_V8SImode,
2807 50 : E_V8SFmode); /* [-1, 0] */
2808 :
2809 180 : case E_V4SFmode:
2810 180 : if (pattern673 (x1,
2811 : E_V4SImode,
2812 : E_V4SFmode) != 0)
2813 : return -1;
2814 : return 1;
2815 :
2816 67 : case E_V4DFmode:
2817 67 : if (pattern673 (x1,
2818 : E_V4DImode,
2819 : E_V4DFmode) != 0)
2820 : return -1;
2821 : return 2;
2822 :
2823 122 : case E_V2DFmode:
2824 122 : if (pattern673 (x1,
2825 : E_V2DImode,
2826 : E_V2DFmode) != 0)
2827 : return -1;
2828 : return 3;
2829 :
2830 47 : case E_V32QImode:
2831 47 : if (pattern674 (x1,
2832 : E_V32QImode) != 0)
2833 : return -1;
2834 : return 4;
2835 :
2836 244 : case E_V16QImode:
2837 244 : if (pattern674 (x1,
2838 : E_V16QImode) != 0)
2839 : return -1;
2840 : return 5;
2841 :
2842 : default:
2843 : return -1;
2844 : }
2845 : }
2846 :
2847 : int
2848 3562 : pattern683 (rtx x1)
2849 : {
2850 3562 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2851 3562 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2852 3562 : int res ATTRIBUTE_UNUSED;
2853 3562 : x2 = XVECEXP (x1, 0, 0);
2854 3562 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2855 : return -1;
2856 3511 : x3 = XVECEXP (x1, 0, 1);
2857 3511 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2858 : return -1;
2859 3511 : x4 = XVECEXP (x1, 0, 2);
2860 3511 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2861 : return -1;
2862 3511 : x5 = XVECEXP (x1, 0, 3);
2863 3511 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2864 : return -1;
2865 3511 : x6 = XVECEXP (x1, 0, 4);
2866 3511 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2867 : return -1;
2868 3511 : x7 = XVECEXP (x1, 0, 5);
2869 3511 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2870 : return -1;
2871 3511 : x8 = XVECEXP (x1, 0, 6);
2872 3511 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2873 : return -1;
2874 3511 : x9 = XVECEXP (x1, 0, 7);
2875 3511 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
2876 0 : return -1;
2877 : return 0;
2878 : }
2879 :
2880 : int
2881 1889 : pattern694 (rtx x1, rtx_code i1, machine_mode i2)
2882 : {
2883 1889 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2884 1889 : rtx x2, x3, x4;
2885 1889 : int res ATTRIBUTE_UNUSED;
2886 1889 : x2 = XVECEXP (x1, 0, 0);
2887 1889 : x3 = XEXP (x2, 0);
2888 1889 : if (GET_CODE (x3) != REG
2889 1889 : || REGNO (x3) != 17
2890 3778 : || GET_MODE (x3) != i2)
2891 : return -1;
2892 1889 : x4 = XVECEXP (x1, 0, 1);
2893 1889 : if (GET_CODE (x4) != i1)
2894 422 : return -1;
2895 : return 0;
2896 : }
2897 :
2898 : int
2899 14686 : pattern700 (rtx x1)
2900 : {
2901 14686 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2902 14686 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2903 14686 : int res ATTRIBUTE_UNUSED;
2904 14686 : x2 = XVECEXP (x1, 0, 0);
2905 14686 : x3 = XEXP (x2, 1);
2906 14686 : x4 = XEXP (x3, 1);
2907 14686 : operands[2] = x4;
2908 14686 : x5 = XEXP (x4, 0);
2909 14686 : if (GET_CODE (x5) != REG
2910 14686 : || REGNO (x5) != 17)
2911 : return -1;
2912 13330 : x6 = XEXP (x4, 1);
2913 13330 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2914 : return -1;
2915 13330 : x7 = XVECEXP (x1, 0, 1);
2916 13330 : if (GET_CODE (x7) != CLOBBER)
2917 : return -1;
2918 13216 : x8 = XEXP (x7, 0);
2919 13216 : if (GET_CODE (x8) != REG
2920 13216 : || REGNO (x8) != 17
2921 26432 : || GET_MODE (x8) != E_CCmode)
2922 : return -1;
2923 13216 : x9 = XEXP (x2, 0);
2924 13216 : operands[0] = x9;
2925 13216 : switch (GET_MODE (operands[0]))
2926 : {
2927 : case E_QImode:
2928 : return 0;
2929 :
2930 : case E_HImode:
2931 : return 1;
2932 :
2933 : case E_SImode:
2934 : return 2;
2935 :
2936 : case E_DImode:
2937 : return 3;
2938 :
2939 : default:
2940 : return -1;
2941 : }
2942 : }
2943 :
2944 : int
2945 51667 : pattern708 (rtx x1, machine_mode i1)
2946 : {
2947 51667 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2948 51667 : int res ATTRIBUTE_UNUSED;
2949 51667 : if (!register_operand (operands[0], i1)
2950 51243 : || GET_MODE (x1) != i1
2951 51243 : || !vector_operand (operands[1], i1)
2952 102296 : || !vector_operand (operands[2], i1))
2953 10355 : return -1;
2954 : return 0;
2955 : }
2956 :
2957 : int
2958 1 : pattern713 (rtx x1)
2959 : {
2960 1 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2961 1 : rtx x2;
2962 1 : int res ATTRIBUTE_UNUSED;
2963 1 : x2 = XVECEXP (x1, 0, 1);
2964 1 : if (XVECLEN (x2, 0) != 1
2965 1 : || XINT (x2, 1) != 39)
2966 : return -1;
2967 1 : return pattern234 (x1); /* [-1, 1] */
2968 : }
2969 :
2970 : int
2971 1723977 : pattern718 (rtx x1)
2972 : {
2973 1723977 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2974 1723977 : rtx x2, x3, x4, x5;
2975 1723977 : int res ATTRIBUTE_UNUSED;
2976 1723977 : switch (GET_CODE (x1))
2977 : {
2978 21977 : case UNSPEC:
2979 21977 : if (XVECLEN (x1, 0) != 1
2980 21976 : || XINT (x1, 1) != 38)
2981 : return -1;
2982 1506 : x2 = XVECEXP (x1, 0, 0);
2983 1506 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2984 0 : return -1;
2985 : return 0;
2986 :
2987 1702000 : case SET:
2988 1702000 : x3 = XEXP (x1, 1);
2989 1702000 : if (GET_CODE (x3) != PLUS
2990 1699626 : || GET_MODE (x3) != E_SImode)
2991 : return -1;
2992 1699588 : x4 = XEXP (x3, 0);
2993 1699588 : if (GET_CODE (x4) != REG
2994 1699588 : || REGNO (x4) != 7
2995 3399176 : || GET_MODE (x4) != E_SImode)
2996 : return -1;
2997 1699588 : x5 = XEXP (x1, 0);
2998 1699588 : if (GET_CODE (x5) != REG
2999 1699588 : || REGNO (x5) != 7
3000 3399176 : || GET_MODE (x5) != E_SImode)
3001 0 : return -1;
3002 : return 1;
3003 :
3004 : default:
3005 : return -1;
3006 : }
3007 : }
3008 :
3009 : int
3010 108302 : pattern725 (rtx x1)
3011 : {
3012 108302 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3013 108302 : rtx x2, x3, x4, x5, x6;
3014 108302 : int res ATTRIBUTE_UNUSED;
3015 108302 : x2 = XEXP (x1, 0);
3016 108302 : x3 = XEXP (x2, 0);
3017 108302 : x4 = XEXP (x3, 0);
3018 108302 : operands[1] = x4;
3019 108302 : if (!const_int_operand (operands[2], E_QImode))
3020 : return -1;
3021 107783 : x5 = XEXP (x1, 1);
3022 107783 : switch (GET_CODE (x5))
3023 : {
3024 96755 : case ZERO_EXTEND:
3025 96755 : x6 = XEXP (x5, 0);
3026 96755 : operands[3] = x6;
3027 96755 : switch (GET_MODE (operands[0]))
3028 : {
3029 497 : case E_DImode:
3030 497 : return pattern723 (x1,
3031 : E_SImode,
3032 497 : E_DImode); /* [-1, 0] */
3033 :
3034 96258 : case E_TImode:
3035 96258 : if (pattern723 (x1,
3036 : E_DImode,
3037 : E_TImode) != 0)
3038 : return -1;
3039 : return 1;
3040 :
3041 : default:
3042 : return -1;
3043 : }
3044 :
3045 6530 : case CONST_INT:
3046 6530 : case CONST_WIDE_INT:
3047 6530 : operands[3] = x5;
3048 6530 : switch (GET_MODE (operands[0]))
3049 : {
3050 543 : case E_DImode:
3051 543 : if (pattern724 (x1,
3052 : E_DImode,
3053 : E_SImode) != 0)
3054 : return -1;
3055 : return 2;
3056 :
3057 5981 : case E_TImode:
3058 5981 : if (pattern724 (x1,
3059 : E_TImode,
3060 : E_DImode) != 0)
3061 : return -1;
3062 : return 3;
3063 :
3064 : default:
3065 : return -1;
3066 : }
3067 :
3068 : default:
3069 : return -1;
3070 : }
3071 : }
3072 :
3073 : int
3074 2497 : pattern743 (rtx x1)
3075 : {
3076 2497 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3077 2497 : rtx x2, x3, x4;
3078 2497 : int res ATTRIBUTE_UNUSED;
3079 2497 : x2 = XVECEXP (x1, 0, 2);
3080 2497 : x3 = XEXP (x2, 0);
3081 2497 : operands[3] = x3;
3082 2497 : x4 = XEXP (x2, 1);
3083 2497 : operands[4] = x4;
3084 2497 : switch (GET_MODE (operands[0]))
3085 : {
3086 43 : case E_SFmode:
3087 43 : return pattern742 (x1,
3088 43 : E_SFmode); /* [-1, 0] */
3089 :
3090 0 : case E_DFmode:
3091 0 : if (pattern742 (x1,
3092 : E_DFmode) != 0)
3093 : return -1;
3094 : return 1;
3095 :
3096 : default:
3097 : return -1;
3098 : }
3099 : }
3100 :
3101 : int
3102 6975 : pattern749 ()
3103 : {
3104 6975 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3105 6975 : int res ATTRIBUTE_UNUSED;
3106 6975 : switch (GET_MODE (operands[1]))
3107 : {
3108 1183 : case E_V8HImode:
3109 1183 : if (!register_operand (operands[1], E_V8HImode)
3110 1183 : || !nonimmediate_operand (operands[2], E_V8HImode))
3111 1 : return -1;
3112 : return 0;
3113 :
3114 1135 : case E_V8SImode:
3115 1135 : if (!register_operand (operands[1], E_V8SImode)
3116 1135 : || !nonimmediate_operand (operands[2], E_V8SImode))
3117 0 : return -1;
3118 : return 1;
3119 :
3120 1144 : case E_V4SImode:
3121 1144 : if (!register_operand (operands[1], E_V4SImode)
3122 1144 : || !nonimmediate_operand (operands[2], E_V4SImode))
3123 0 : return -1;
3124 : return 2;
3125 :
3126 1141 : case E_V8DImode:
3127 1141 : if (!register_operand (operands[1], E_V8DImode)
3128 1141 : || !nonimmediate_operand (operands[2], E_V8DImode))
3129 4 : return -1;
3130 : return 3;
3131 :
3132 1147 : case E_V4DImode:
3133 1147 : if (!register_operand (operands[1], E_V4DImode)
3134 1147 : || !nonimmediate_operand (operands[2], E_V4DImode))
3135 8 : return -1;
3136 : return 4;
3137 :
3138 1225 : case E_V2DImode:
3139 1225 : if (!register_operand (operands[1], E_V2DImode)
3140 1225 : || !nonimmediate_operand (operands[2], E_V2DImode))
3141 88 : return -1;
3142 : return 5;
3143 :
3144 : default:
3145 : return -1;
3146 : }
3147 : }
3148 :
3149 : int
3150 0 : pattern768 (rtx x1, machine_mode i1, machine_mode i2)
3151 : {
3152 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3153 0 : rtx x2, x3, x4, x5;
3154 0 : int res ATTRIBUTE_UNUSED;
3155 0 : if (!register_operand (operands[0], i1)
3156 0 : || GET_MODE (x1) != i1)
3157 : return -1;
3158 0 : x2 = XEXP (x1, 0);
3159 0 : if (GET_MODE (x2) != i2)
3160 : return -1;
3161 0 : x3 = XEXP (x2, 0);
3162 0 : if (GET_MODE (x3) != i2)
3163 : return -1;
3164 0 : x4 = XEXP (x3, 0);
3165 0 : if (GET_MODE (x4) != i2
3166 0 : || !nonimmediate_operand (operands[1], i1))
3167 0 : return -1;
3168 0 : x5 = XEXP (x3, 1);
3169 0 : if (GET_MODE (x5) != i2
3170 0 : || !nonimmediate_operand (operands[2], i1))
3171 0 : return -1;
3172 : return 0;
3173 : }
3174 :
3175 : int
3176 3034 : pattern776 (rtx x1)
3177 : {
3178 3034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3179 3034 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3180 3034 : int res ATTRIBUTE_UNUSED;
3181 3034 : x2 = XEXP (x1, 2);
3182 3034 : if (XWINT (x2, 0) != 1L)
3183 : return -1;
3184 3034 : x3 = XEXP (x1, 0);
3185 3034 : x4 = XEXP (x3, 0);
3186 3034 : x5 = XVECEXP (x4, 0, 0);
3187 3034 : operands[1] = x5;
3188 3034 : x6 = XVECEXP (x4, 0, 1);
3189 3034 : operands[2] = x6;
3190 3034 : x7 = XEXP (x3, 1);
3191 3034 : operands[3] = x7;
3192 3034 : x8 = XEXP (x3, 2);
3193 3034 : operands[4] = x8;
3194 3034 : if (!register_operand (operands[4], E_QImode))
3195 : return -1;
3196 2998 : x9 = XEXP (x1, 1);
3197 2998 : if (!rtx_equal_p (x9, operands[1]))
3198 : return -1;
3199 2998 : switch (GET_MODE (operands[0]))
3200 : {
3201 770 : case E_V8HFmode:
3202 770 : return pattern775 (x1,
3203 770 : E_V8HFmode); /* [-1, 0] */
3204 :
3205 1196 : case E_V4SFmode:
3206 1196 : if (pattern775 (x1,
3207 : E_V4SFmode) != 0)
3208 : return -1;
3209 : return 1;
3210 :
3211 1032 : case E_V2DFmode:
3212 1032 : if (pattern775 (x1,
3213 : E_V2DFmode) != 0)
3214 : return -1;
3215 : return 2;
3216 :
3217 : default:
3218 : return -1;
3219 : }
3220 : }
3221 :
3222 : int
3223 1045 : pattern787 (rtx x1, machine_mode i1)
3224 : {
3225 1045 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3226 1045 : int res ATTRIBUTE_UNUSED;
3227 1045 : if (!register_operand (operands[0], i1)
3228 917 : || GET_MODE (x1) != i1
3229 917 : || !nonimmediate_operand (operands[1], i1)
3230 1884 : || !const_0_to_255_operand (operands[2], E_SImode))
3231 206 : return -1;
3232 : return 0;
3233 : }
3234 :
3235 : int
3236 1005 : pattern794 (rtx x1, machine_mode i1, machine_mode i2)
3237 : {
3238 1005 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3239 1005 : rtx x2, x3;
3240 1005 : int res ATTRIBUTE_UNUSED;
3241 1005 : if (!memory_operand (operands[0], i1)
3242 887 : || GET_MODE (x1) != i1
3243 1892 : || !register_operand (operands[1], i2))
3244 342 : return -1;
3245 663 : x2 = XVECEXP (x1, 0, 1);
3246 663 : operands[2] = x2;
3247 663 : if (!register_operand (operands[2], i1))
3248 : return -1;
3249 552 : x3 = XVECEXP (x1, 0, 2);
3250 552 : if (!rtx_equal_p (x3, operands[0]))
3251 : return -1;
3252 : return 0;
3253 : }
3254 :
3255 : int
3256 120625 : pattern805 (machine_mode i1)
3257 : {
3258 120625 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3259 120625 : int res ATTRIBUTE_UNUSED;
3260 120625 : if (!register_operand (operands[0], i1)
3261 120615 : || !sse_comparison_operator (operands[3], i1)
3262 119496 : || !register_operand (operands[1], i1)
3263 206984 : || !vector_operand (operands[2], i1))
3264 42622 : return -1;
3265 : return 0;
3266 : }
3267 :
3268 : int
3269 67689 : pattern812 (rtx x1)
3270 : {
3271 67689 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3272 67689 : rtx x2, x3, x4, x5;
3273 67689 : int res ATTRIBUTE_UNUSED;
3274 67689 : x2 = XEXP (x1, 0);
3275 67689 : x3 = XEXP (x2, 1);
3276 67689 : operands[2] = x3;
3277 67689 : x4 = XEXP (x1, 1);
3278 67689 : if (XVECLEN (x4, 0) < 1)
3279 : return -1;
3280 67689 : operands[3] = x4;
3281 67689 : x5 = XVECEXP (x4, 0, 0);
3282 67689 : operands[4] = x5;
3283 67689 : if (!const_int_operand (operands[4], E_VOIDmode))
3284 : return -1;
3285 67689 : switch (GET_MODE (operands[0]))
3286 : {
3287 117 : case E_V32QImode:
3288 117 : return pattern808 (x1,
3289 : E_V32QImode,
3290 117 : E_V64QImode); /* [-1, 0] */
3291 :
3292 103 : case E_V64QImode:
3293 103 : if (pattern808 (x1,
3294 : E_V64QImode,
3295 : E_V128QImode) != 0)
3296 : return -1;
3297 : return 1;
3298 :
3299 19850 : case E_V16QImode:
3300 19850 : if (pattern809 (x1,
3301 : E_V16QImode,
3302 : E_V32QImode) != 0)
3303 : return -1;
3304 : return 2;
3305 :
3306 152 : case E_V32HImode:
3307 152 : if (pattern808 (x1,
3308 : E_V32HImode,
3309 : E_V64HImode) != 0)
3310 : return -1;
3311 : return 3;
3312 :
3313 164 : case E_V16HImode:
3314 164 : if (pattern808 (x1,
3315 : E_V16HImode,
3316 : E_V32HImode) != 0)
3317 : return -1;
3318 : return 4;
3319 :
3320 24592 : case E_V8HImode:
3321 24592 : if (pattern809 (x1,
3322 : E_V8HImode,
3323 : E_V16HImode) != 0)
3324 : return -1;
3325 : return 5;
3326 :
3327 186 : case E_V16SImode:
3328 186 : if (pattern810 (x1,
3329 : E_V16SImode,
3330 : E_V32SImode) != 0)
3331 : return -1;
3332 : return 6;
3333 :
3334 187 : case E_V8SImode:
3335 187 : if (pattern810 (x1,
3336 : E_V8SImode,
3337 : E_V16SImode) != 0)
3338 : return -1;
3339 : return 7;
3340 :
3341 10825 : case E_V4SImode:
3342 10825 : if (!register_operand (operands[0], E_V4SImode)
3343 10730 : || GET_MODE (x1) != E_V4SImode
3344 10730 : || GET_MODE (x2) != E_V8SImode
3345 21510 : || !const0_operand (operands[2], E_V4SImode))
3346 309 : return -1;
3347 : return 8;
3348 :
3349 21 : case E_V8DImode:
3350 21 : if (pattern811 (x1,
3351 : E_V8DImode,
3352 : E_V16DImode) != 0)
3353 : return -1;
3354 : return 9;
3355 :
3356 41 : case E_V4DImode:
3357 41 : if (pattern811 (x1,
3358 : E_V4DImode,
3359 : E_V8DImode) != 0)
3360 : return -1;
3361 : return 10;
3362 :
3363 257 : case E_V2DImode:
3364 257 : if (pattern811 (x1,
3365 : E_V2DImode,
3366 : E_V4DImode) != 0)
3367 : return -1;
3368 : return 11;
3369 :
3370 0 : case E_V32HFmode:
3371 0 : if (pattern811 (x1,
3372 : E_V32HFmode,
3373 : E_V64HFmode) != 0)
3374 : return -1;
3375 : return 12;
3376 :
3377 0 : case E_V16HFmode:
3378 0 : if (pattern811 (x1,
3379 : E_V16HFmode,
3380 : E_V32HFmode) != 0)
3381 : return -1;
3382 : return 13;
3383 :
3384 28 : case E_V8HFmode:
3385 28 : if (pattern811 (x1,
3386 : E_V8HFmode,
3387 : E_V16HFmode) != 0)
3388 : return -1;
3389 : return 14;
3390 :
3391 0 : case E_V32BFmode:
3392 0 : if (pattern811 (x1,
3393 : E_V32BFmode,
3394 : E_V64BFmode) != 0)
3395 : return -1;
3396 : return 15;
3397 :
3398 0 : case E_V16BFmode:
3399 0 : if (pattern811 (x1,
3400 : E_V16BFmode,
3401 : E_V32BFmode) != 0)
3402 : return -1;
3403 : return 16;
3404 :
3405 0 : case E_V8BFmode:
3406 0 : if (pattern811 (x1,
3407 : E_V8BFmode,
3408 : E_V16BFmode) != 0)
3409 : return -1;
3410 : return 17;
3411 :
3412 38 : case E_V16SFmode:
3413 38 : if (pattern811 (x1,
3414 : E_V16SFmode,
3415 : E_V32SFmode) != 0)
3416 : return -1;
3417 : return 18;
3418 :
3419 58 : case E_V8SFmode:
3420 58 : if (pattern811 (x1,
3421 : E_V8SFmode,
3422 : E_V16SFmode) != 0)
3423 : return -1;
3424 : return 19;
3425 :
3426 221 : case E_V4SFmode:
3427 221 : if (pattern811 (x1,
3428 : E_V4SFmode,
3429 : E_V8SFmode) != 0)
3430 : return -1;
3431 : return 20;
3432 :
3433 41 : case E_V8DFmode:
3434 41 : if (pattern811 (x1,
3435 : E_V8DFmode,
3436 : E_V16DFmode) != 0)
3437 : return -1;
3438 : return 21;
3439 :
3440 101 : case E_V4DFmode:
3441 101 : if (pattern811 (x1,
3442 : E_V4DFmode,
3443 : E_V8DFmode) != 0)
3444 : return -1;
3445 : return 22;
3446 :
3447 18 : case E_V2DFmode:
3448 18 : if (pattern811 (x1,
3449 : E_V2DFmode,
3450 : E_V4DFmode) != 0)
3451 : return -1;
3452 : return 23;
3453 :
3454 : default:
3455 : return -1;
3456 : }
3457 : }
3458 :
3459 : int
3460 13532 : pattern852 (rtx x1)
3461 : {
3462 13532 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3463 13532 : rtx x2;
3464 13532 : int res ATTRIBUTE_UNUSED;
3465 13532 : if (peep2_current_count < 3
3466 13496 : || XVECLEN (x1, 0) != 1
3467 13493 : || XINT (x1, 1) != 1)
3468 : return -1;
3469 13487 : x2 = XVECEXP (x1, 0, 0);
3470 13487 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3471 0 : return -1;
3472 : return 0;
3473 : }
3474 :
3475 : int
3476 26360 : pattern856 (rtx x1)
3477 : {
3478 26360 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3479 26360 : rtx x2, x3, x4;
3480 26360 : int res ATTRIBUTE_UNUSED;
3481 26360 : x2 = XEXP (x1, 0);
3482 26360 : x3 = XEXP (x2, 0);
3483 26360 : operands[0] = x3;
3484 26360 : x4 = XEXP (x1, 1);
3485 26360 : operands[1] = x4;
3486 26360 : switch (GET_MODE (x1))
3487 : {
3488 683 : case E_QImode:
3489 683 : if (GET_MODE (x2) != E_QImode
3490 683 : || !register_operand (operands[0], E_QImode)
3491 1180 : || !nonmemory_operand (operands[1], E_QImode))
3492 317 : return -1;
3493 : return 0;
3494 :
3495 3040 : case E_HImode:
3496 3040 : if (GET_MODE (x2) != E_HImode
3497 3040 : || !register_operand (operands[0], E_HImode)
3498 5633 : || !nonmemory_operand (operands[1], E_HImode))
3499 447 : return -1;
3500 : return 1;
3501 :
3502 13890 : case E_SImode:
3503 13890 : if (GET_MODE (x2) != E_SImode
3504 13890 : || !register_operand (operands[0], E_SImode)
3505 25598 : || !x86_64_szext_nonmemory_operand (operands[1], E_SImode))
3506 2204 : return -1;
3507 : return 2;
3508 :
3509 8372 : case E_DImode:
3510 8372 : if (GET_MODE (x2) != E_DImode)
3511 : return -1;
3512 : return 3;
3513 :
3514 375 : case E_TImode:
3515 375 : if (GET_MODE (x2) != E_TImode
3516 375 : || !nonimmediate_operand (operands[0], E_TImode)
3517 747 : || !nonimmediate_operand (operands[1], E_TImode))
3518 3 : return -1;
3519 : return 4;
3520 :
3521 : default:
3522 : return -1;
3523 : }
3524 : }
3525 :
3526 : int
3527 23764 : pattern867 (rtx x1, machine_mode i1, machine_mode i2)
3528 : {
3529 23764 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3530 23764 : rtx x2, x3;
3531 23764 : int res ATTRIBUTE_UNUSED;
3532 23764 : x2 = XEXP (x1, 0);
3533 23764 : if (GET_MODE (x2) != i2
3534 23764 : || !register_operand (operands[1], i1))
3535 1149 : return -1;
3536 22615 : x3 = XEXP (x1, 1);
3537 22615 : if (GET_MODE (x3) != i2
3538 22615 : || !nonimmediate_operand (operands[2], i1))
3539 270 : return -1;
3540 : return 0;
3541 : }
3542 :
3543 : int
3544 65 : pattern873 (rtx x1, machine_mode i1)
3545 : {
3546 65 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3547 65 : int res ATTRIBUTE_UNUSED;
3548 65 : if (!register_operand (operands[0], i1)
3549 65 : || GET_MODE (x1) != i1
3550 65 : || !register_operand (operands[2], i1)
3551 44 : || !register_operand (operands[1], i1)
3552 99 : || !const_0_to_7_operand (operands[3], E_SImode))
3553 31 : return -1;
3554 : return 0;
3555 : }
3556 :
3557 : int
3558 8867 : pattern879 (rtx x1, machine_mode i1)
3559 : {
3560 8867 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3561 8867 : rtx x2, x3;
3562 8867 : int res ATTRIBUTE_UNUSED;
3563 8867 : if (!register_operand (operands[0], i1)
3564 8867 : || GET_MODE (x1) != i1)
3565 : return -1;
3566 8843 : x2 = XEXP (x1, 0);
3567 8843 : if (GET_MODE (x2) != i1)
3568 : return -1;
3569 8843 : x3 = XEXP (x1, 2);
3570 8843 : if (GET_MODE (x3) != i1)
3571 0 : return -1;
3572 : return 0;
3573 : }
3574 :
3575 : int
3576 1392 : pattern885 (rtx x1)
3577 : {
3578 1392 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3579 1392 : rtx x2;
3580 1392 : int res ATTRIBUTE_UNUSED;
3581 1392 : switch (GET_MODE (operands[0]))
3582 : {
3583 276 : case E_DImode:
3584 276 : return pattern884 (x1,
3585 : E_DImode,
3586 276 : E_V64QImode); /* [-1, 0] */
3587 :
3588 584 : case E_SImode:
3589 584 : if (!register_operand (operands[0], E_SImode)
3590 584 : || GET_MODE (x1) != E_SImode)
3591 : return -1;
3592 568 : x2 = XEXP (x1, 0);
3593 568 : if (GET_MODE (x2) != E_SImode
3594 568 : || !register_operand (operands[3], E_SImode))
3595 96 : return -1;
3596 472 : res = pattern881 ();
3597 472 : if (res >= 0)
3598 472 : return res + 1; /* [1, 2] */
3599 : return -1;
3600 :
3601 : default:
3602 : return -1;
3603 : }
3604 : }
3605 :
3606 : int
3607 614 : pattern894 (rtx x1)
3608 : {
3609 614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3610 614 : rtx x2;
3611 614 : int res ATTRIBUTE_UNUSED;
3612 614 : x2 = XEXP (x1, 2);
3613 614 : if (XWINT (x2, 0) != 1L)
3614 : return -1;
3615 434 : switch (GET_MODE (operands[0]))
3616 : {
3617 210 : case E_V4SFmode:
3618 210 : return pattern641 (x1,
3619 210 : E_V4SFmode); /* [-1, 0] */
3620 :
3621 224 : case E_V8HFmode:
3622 224 : if (pattern641 (x1,
3623 : E_V8HFmode) != 0)
3624 : return -1;
3625 : return 1;
3626 :
3627 : default:
3628 : return -1;
3629 : }
3630 : }
3631 :
3632 : int
3633 1994 : pattern902 (rtx x1, machine_mode i1)
3634 : {
3635 1994 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3636 1994 : rtx x2, x3;
3637 1994 : int res ATTRIBUTE_UNUSED;
3638 1994 : if (!register_operand (operands[0], i1)
3639 1994 : || GET_MODE (x1) != i1)
3640 : return -1;
3641 1741 : x2 = XEXP (x1, 0);
3642 1741 : operands[2] = x2;
3643 1741 : if (!register_operand (operands[2], i1))
3644 : return -1;
3645 1522 : x3 = XEXP (x1, 1);
3646 1522 : operands[1] = x3;
3647 1522 : if (!reg_or_0_operand (operands[1], i1))
3648 : return -1;
3649 : return 0;
3650 : }
3651 :
3652 : int
3653 1370 : pattern912 (rtx x1)
3654 : {
3655 1370 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3656 1370 : rtx x2, x3, x4, x5, x6, x7;
3657 1370 : int res ATTRIBUTE_UNUSED;
3658 1370 : x2 = XVECEXP (x1, 0, 0);
3659 1370 : x3 = XEXP (x2, 0);
3660 1370 : x4 = XEXP (x3, 0);
3661 1370 : x5 = XEXP (x4, 0);
3662 1370 : operands[2] = x5;
3663 1370 : x6 = XEXP (x2, 1);
3664 1370 : operands[1] = x6;
3665 1370 : x7 = XVECEXP (x1, 0, 1);
3666 1370 : operands[3] = x7;
3667 1370 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
3668 : return -1;
3669 1370 : switch (GET_MODE (operands[0]))
3670 : {
3671 572 : case E_V8HFmode:
3672 572 : return pattern911 (x1,
3673 : E_V8HFmode,
3674 572 : E_HFmode); /* [-1, 1] */
3675 :
3676 556 : case E_V4SFmode:
3677 556 : res = pattern911 (x1,
3678 : E_V4SFmode,
3679 : E_SFmode);
3680 556 : if (res >= 0)
3681 540 : return res + 2; /* [2, 3] */
3682 : return -1;
3683 :
3684 242 : case E_V2DFmode:
3685 242 : if (!register_operand (operands[0], E_V2DFmode)
3686 236 : || GET_MODE (x1) != E_V2DFmode
3687 236 : || GET_MODE (x2) != E_V2DFmode
3688 236 : || GET_MODE (x3) != E_V2DFmode
3689 236 : || GET_MODE (x4) != E_DFmode
3690 236 : || !register_operand (operands[2], E_DImode)
3691 478 : || !register_operand (operands[1], E_V2DFmode))
3692 8 : return -1;
3693 : return 4;
3694 :
3695 : default:
3696 : return -1;
3697 : }
3698 : }
3699 :
3700 : int
3701 599830 : pattern925 (rtx x1, machine_mode i1, machine_mode i2)
3702 : {
3703 599830 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3704 599830 : int res ATTRIBUTE_UNUSED;
3705 599830 : if (!register_operand (operands[0], i2)
3706 580669 : || GET_MODE (x1) != i2
3707 580669 : || !nonimmediate_operand (operands[1], i1)
3708 1160224 : || !const0_operand (operands[2], i1))
3709 45012 : return -1;
3710 : return 0;
3711 : }
3712 :
3713 : int
3714 232 : pattern927 (rtx x1, machine_mode i1)
3715 : {
3716 232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3717 232 : rtx x2;
3718 232 : int res ATTRIBUTE_UNUSED;
3719 232 : if (!register_operand (operands[0], i1)
3720 223 : || GET_MODE (x1) != i1
3721 223 : || !nonimmediate_operand (operands[1], i1)
3722 452 : || !nonimmediate_operand (operands[2], i1))
3723 12 : return -1;
3724 220 : x2 = XEXP (x1, 2);
3725 220 : if (GET_MODE (x2) != i1
3726 220 : || !nonimmediate_operand (operands[3], i1))
3727 0 : return -1;
3728 : return 0;
3729 : }
3730 :
3731 : int
3732 9112 : pattern931 (rtx x1)
3733 : {
3734 9112 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3735 9112 : rtx x2, x3, x4, x5, x6, x7;
3736 9112 : int res ATTRIBUTE_UNUSED;
3737 9112 : x2 = XVECEXP (x1, 0, 2);
3738 9112 : if (GET_CODE (x2) != CONST_INT)
3739 : return -1;
3740 9112 : x3 = XVECEXP (x1, 0, 3);
3741 9112 : if (GET_CODE (x3) != CONST_INT)
3742 : return -1;
3743 9112 : x4 = XVECEXP (x1, 0, 4);
3744 9112 : if (GET_CODE (x4) != CONST_INT)
3745 : return -1;
3746 9112 : x5 = XVECEXP (x1, 0, 5);
3747 9112 : if (GET_CODE (x5) != CONST_INT)
3748 : return -1;
3749 9112 : x6 = XVECEXP (x1, 0, 6);
3750 9112 : if (GET_CODE (x6) != CONST_INT)
3751 : return -1;
3752 9112 : x7 = XVECEXP (x1, 0, 7);
3753 9112 : if (GET_CODE (x7) != CONST_INT)
3754 0 : return -1;
3755 : return 0;
3756 : }
3757 :
3758 : int
3759 66 : pattern941 (rtx x1, int *pnum_clobbers)
3760 : {
3761 66 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3762 66 : rtx x2, x3, x4, x5, x6;
3763 66 : int res ATTRIBUTE_UNUSED;
3764 66 : x2 = XVECEXP (x1, 0, 0);
3765 66 : x3 = XEXP (x2, 1);
3766 66 : x4 = XEXP (x3, 0);
3767 66 : x5 = XEXP (x4, 0);
3768 66 : operands[1] = x5;
3769 66 : if (!nonimmediate_operand (operands[1], E_SImode))
3770 : return -1;
3771 24 : x6 = XVECEXP (x1, 0, 1);
3772 24 : return pattern831 (x6, pnum_clobbers); /* [-1, 1] */
3773 : }
3774 :
3775 : int
3776 288 : pattern947 (rtx x1)
3777 : {
3778 288 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3779 288 : rtx x2, x3, x4, x5;
3780 288 : int res ATTRIBUTE_UNUSED;
3781 288 : x2 = XEXP (x1, 0);
3782 288 : x3 = XEXP (x2, 1);
3783 288 : x4 = XEXP (x3, 1);
3784 288 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3785 : return -1;
3786 282 : x5 = XEXP (x3, 0);
3787 282 : operands[3] = x5;
3788 282 : if (!int_nonimmediate_operand (operands[3], E_VOIDmode))
3789 : return -1;
3790 276 : switch (GET_MODE (operands[0]))
3791 : {
3792 0 : case E_QImode:
3793 0 : return pattern945 (x1,
3794 0 : E_QImode); /* [-1, 0] */
3795 :
3796 0 : case E_HImode:
3797 0 : if (pattern945 (x1,
3798 : E_HImode) != 0)
3799 : return -1;
3800 : return 1;
3801 :
3802 192 : case E_SImode:
3803 192 : if (pattern946 (x1,
3804 : E_SImode) != 0)
3805 : return -1;
3806 : return 2;
3807 :
3808 84 : case E_DImode:
3809 84 : if (pattern946 (x1,
3810 : E_DImode) != 0)
3811 : return -1;
3812 : return 3;
3813 :
3814 : default:
3815 : return -1;
3816 : }
3817 : }
3818 :
3819 : int
3820 105 : pattern960 (rtx x1, machine_mode i1)
3821 : {
3822 105 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3823 105 : rtx x2;
3824 105 : int res ATTRIBUTE_UNUSED;
3825 105 : if (!register_operand (operands[0], i1)
3826 105 : || GET_MODE (x1) != i1)
3827 : return -1;
3828 81 : x2 = XEXP (x1, 0);
3829 81 : if (GET_MODE (x2) != i1
3830 81 : || !vector_operand (operands[1], i1)
3831 61 : || !vector_operand (operands[2], i1)
3832 138 : || !const0_operand (operands[3], i1))
3833 57 : return -1;
3834 : return 0;
3835 : }
3836 :
3837 : int
3838 143501 : pattern969 (rtx x1)
3839 : {
3840 143501 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3841 143501 : int res ATTRIBUTE_UNUSED;
3842 143501 : switch (GET_MODE (operands[0]))
3843 : {
3844 62584 : case E_QImode:
3845 62584 : if (!register_operand (operands[0], E_QImode)
3846 62584 : || GET_MODE (x1) != E_QImode)
3847 : return -1;
3848 : return 0;
3849 :
3850 59724 : case E_HImode:
3851 59724 : if (!register_operand (operands[0], E_HImode)
3852 59724 : || GET_MODE (x1) != E_HImode)
3853 : return -1;
3854 : return 1;
3855 :
3856 : default:
3857 : return -1;
3858 : }
3859 : }
3860 :
3861 : int
3862 8887 : pattern971 (rtx x1, machine_mode i1)
3863 : {
3864 8887 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3865 8887 : int res ATTRIBUTE_UNUSED;
3866 8887 : if (!register_operand (operands[0], i1)
3867 8867 : || GET_MODE (x1) != i1
3868 8867 : || !register_operand (operands[1], i1)
3869 7003 : || !register_operand (operands[2], i1)
3870 14525 : || !register_operand (operands[3], i1))
3871 3815 : return -1;
3872 : return 0;
3873 : }
3874 :
3875 : int
3876 4098 : pattern975 (rtx x1)
3877 : {
3878 4098 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3879 4098 : rtx x2, x3;
3880 4098 : int res ATTRIBUTE_UNUSED;
3881 4098 : x2 = XEXP (x1, 1);
3882 4098 : switch (GET_CODE (x2))
3883 : {
3884 1302 : case CONST_INT:
3885 1302 : if (!register_operand (operands[0], E_QImode)
3886 1302 : || GET_MODE (x1) != E_QImode)
3887 : return -1;
3888 686 : x3 = XEXP (x1, 0);
3889 686 : if (GET_MODE (x3) != E_QImode)
3890 : return -1;
3891 686 : switch (XWINT (x2, 0))
3892 : {
3893 13 : case 15L:
3894 13 : switch (GET_MODE (operands[1]))
3895 : {
3896 8 : case E_V4SImode:
3897 8 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3898 8 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3899 4 : return -1;
3900 : return 0;
3901 :
3902 4 : case E_V4DImode:
3903 4 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3904 4 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3905 4 : return -1;
3906 : return 1;
3907 :
3908 : default:
3909 : return -1;
3910 : }
3911 :
3912 69 : case 3L:
3913 69 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
3914 69 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3915 69 : return -1;
3916 : return 2;
3917 :
3918 : default:
3919 : return -1;
3920 : }
3921 :
3922 2690 : case REG:
3923 2690 : case SUBREG:
3924 2690 : operands[3] = x2;
3925 2690 : switch (GET_MODE (operands[0]))
3926 : {
3927 1062 : case E_HImode:
3928 1062 : if (!register_operand (operands[0], E_HImode)
3929 1062 : || GET_MODE (x1) != E_HImode)
3930 : return -1;
3931 1048 : x3 = XEXP (x1, 0);
3932 1048 : if (GET_MODE (x3) != E_HImode
3933 1048 : || !register_operand (operands[3], E_HImode))
3934 0 : return -1;
3935 1048 : switch (GET_MODE (operands[1]))
3936 : {
3937 86 : case E_V16QImode:
3938 86 : if (!nonimm_or_0_operand (operands[1], E_V16QImode)
3939 86 : || !nonimm_or_0_operand (operands[2], E_V16QImode))
3940 0 : return -1;
3941 : return 3;
3942 :
3943 91 : case E_V16HImode:
3944 91 : if (!nonimm_or_0_operand (operands[1], E_V16HImode)
3945 91 : || !nonimm_or_0_operand (operands[2], E_V16HImode))
3946 0 : return -1;
3947 : return 4;
3948 :
3949 867 : case E_V16SImode:
3950 867 : if (!nonimm_or_0_operand (operands[1], E_V16SImode)
3951 867 : || !nonimm_or_0_operand (operands[2], E_V16SImode))
3952 8 : return -1;
3953 : return 5;
3954 :
3955 : default:
3956 : return -1;
3957 : }
3958 :
3959 550 : case E_QImode:
3960 550 : if (!register_operand (operands[0], E_QImode)
3961 550 : || GET_MODE (x1) != E_QImode)
3962 : return -1;
3963 512 : x3 = XEXP (x1, 0);
3964 512 : if (GET_MODE (x3) != E_QImode
3965 512 : || !register_operand (operands[3], E_QImode))
3966 0 : return -1;
3967 512 : switch (GET_MODE (operands[1]))
3968 : {
3969 91 : case E_V8HImode:
3970 91 : if (!nonimm_or_0_operand (operands[1], E_V8HImode)
3971 91 : || !nonimm_or_0_operand (operands[2], E_V8HImode))
3972 0 : return -1;
3973 : return 6;
3974 :
3975 77 : case E_V8SImode:
3976 77 : if (!nonimm_or_0_operand (operands[1], E_V8SImode)
3977 77 : || !nonimm_or_0_operand (operands[2], E_V8SImode))
3978 0 : return -1;
3979 : return 7;
3980 :
3981 81 : case E_V4SImode:
3982 81 : if (!nonimm_or_0_operand (operands[1], E_V4SImode)
3983 81 : || !nonimm_or_0_operand (operands[2], E_V4SImode))
3984 0 : return -1;
3985 : return 8;
3986 :
3987 80 : case E_V8DImode:
3988 80 : if (!nonimm_or_0_operand (operands[1], E_V8DImode)
3989 80 : || !nonimm_or_0_operand (operands[2], E_V8DImode))
3990 2 : return -1;
3991 : return 9;
3992 :
3993 80 : case E_V4DImode:
3994 80 : if (!nonimm_or_0_operand (operands[1], E_V4DImode)
3995 80 : || !nonimm_or_0_operand (operands[2], E_V4DImode))
3996 2 : return -1;
3997 : return 10;
3998 :
3999 99 : case E_V2DImode:
4000 99 : if (!nonimm_or_0_operand (operands[1], E_V2DImode)
4001 99 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
4002 2 : return -1;
4003 : return 11;
4004 :
4005 : default:
4006 : return -1;
4007 : }
4008 :
4009 : default:
4010 : return -1;
4011 : }
4012 :
4013 : default:
4014 : return -1;
4015 : }
4016 : }
4017 :
4018 : int
4019 598 : pattern1009 (rtx x1, machine_mode i1)
4020 : {
4021 598 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4022 598 : rtx x2, x3;
4023 598 : int res ATTRIBUTE_UNUSED;
4024 598 : if (!register_operand (operands[0], i1)
4025 598 : || GET_MODE (x1) != i1)
4026 : return -1;
4027 592 : x2 = XEXP (x1, 0);
4028 592 : if (GET_MODE (x2) != i1)
4029 : return -1;
4030 592 : x3 = XEXP (x2, 0);
4031 592 : if (GET_MODE (x3) != i1)
4032 0 : return -1;
4033 : return 0;
4034 : }
4035 :
4036 : int
4037 117 : pattern1016 (rtx x1)
4038 : {
4039 117 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4040 117 : rtx x2, x3, x4, x5;
4041 117 : int res ATTRIBUTE_UNUSED;
4042 117 : x2 = XEXP (x1, 0);
4043 117 : x3 = XEXP (x2, 0);
4044 117 : x4 = XEXP (x3, 0);
4045 117 : operands[2] = x4;
4046 117 : x5 = XEXP (x1, 1);
4047 117 : operands[1] = x5;
4048 117 : switch (GET_MODE (operands[0]))
4049 : {
4050 32 : case E_V8HImode:
4051 32 : return pattern1015 (x1,
4052 : E_V8HImode,
4053 32 : E_HImode); /* [-1, 0] */
4054 :
4055 0 : case E_V8HFmode:
4056 0 : if (pattern1015 (x1,
4057 : E_V8HFmode,
4058 : E_HFmode) != 0)
4059 : return -1;
4060 : return 1;
4061 :
4062 0 : case E_V8BFmode:
4063 0 : if (pattern1015 (x1,
4064 : E_V8BFmode,
4065 : E_BFmode) != 0)
4066 : return -1;
4067 : return 2;
4068 :
4069 : default:
4070 : return -1;
4071 : }
4072 : }
4073 :
4074 : int
4075 481 : pattern1027 (rtx x1, machine_mode i1, machine_mode i2)
4076 : {
4077 481 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4078 481 : rtx x2;
4079 481 : int res ATTRIBUTE_UNUSED;
4080 481 : if (!register_operand (operands[0], i2)
4081 481 : || GET_MODE (x1) != i2)
4082 : return -1;
4083 461 : x2 = XVECEXP (x1, 0, 0);
4084 461 : if (GET_MODE (x2) != i2
4085 461 : || !register_operand (operands[1], i1))
4086 32 : return -1;
4087 : return 0;
4088 : }
4089 :
4090 : int
4091 471 : pattern1033 (rtx x1)
4092 : {
4093 471 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4094 471 : rtx x2;
4095 471 : int res ATTRIBUTE_UNUSED;
4096 471 : if (!const48_operand (operands[2], E_SImode))
4097 : return -1;
4098 471 : switch (GET_MODE (operands[0]))
4099 : {
4100 88 : case E_V16SImode:
4101 88 : return pattern1027 (x1,
4102 : E_V16SFmode,
4103 88 : E_V16SImode); /* [-1, 0] */
4104 :
4105 93 : case E_V8SImode:
4106 93 : if (pattern1027 (x1,
4107 : E_V8DFmode,
4108 : E_V8SImode) != 0)
4109 : return -1;
4110 : return 1;
4111 :
4112 232 : case E_V8DImode:
4113 232 : if (!register_operand (operands[0], E_V8DImode)
4114 232 : || GET_MODE (x1) != E_V8DImode)
4115 : return -1;
4116 208 : x2 = XVECEXP (x1, 0, 0);
4117 208 : if (GET_MODE (x2) != E_V8DImode)
4118 : return -1;
4119 208 : switch (GET_MODE (operands[1]))
4120 : {
4121 106 : case E_V8DFmode:
4122 106 : if (!register_operand (operands[1], E_V8DFmode))
4123 : return -1;
4124 : return 2;
4125 :
4126 102 : case E_V8SFmode:
4127 102 : if (!register_operand (operands[1], E_V8SFmode))
4128 : return -1;
4129 : return 3;
4130 :
4131 : default:
4132 : return -1;
4133 : }
4134 :
4135 : default:
4136 : return -1;
4137 : }
4138 : }
4139 :
4140 : int
4141 13968 : pattern1050 (rtx x1)
4142 : {
4143 13968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4144 13968 : rtx x2;
4145 13968 : int res ATTRIBUTE_UNUSED;
4146 13968 : switch (GET_MODE (operands[0]))
4147 : {
4148 23 : case E_HImode:
4149 23 : if (!register_operand (operands[0], E_HImode)
4150 23 : || GET_MODE (x1) != E_HImode)
4151 : return -1;
4152 23 : x2 = XEXP (x1, 0);
4153 23 : if (GET_MODE (x2) != E_QImode
4154 23 : || !nonimmediate_operand (operands[1], E_QImode)
4155 44 : || !x86_64_general_operand (operands[2], E_QImode))
4156 2 : return -1;
4157 : return 0;
4158 :
4159 426 : case E_SImode:
4160 426 : if (!register_operand (operands[0], E_SImode)
4161 426 : || GET_MODE (x1) != E_SImode)
4162 : return -1;
4163 424 : x2 = XEXP (x1, 0);
4164 424 : switch (GET_MODE (x2))
4165 : {
4166 228 : case E_QImode:
4167 228 : if (!nonimmediate_operand (operands[1], E_QImode)
4168 228 : || !x86_64_general_operand (operands[2], E_QImode))
4169 2 : return -1;
4170 : return 1;
4171 :
4172 196 : case E_HImode:
4173 196 : if (!nonimmediate_operand (operands[1], E_HImode)
4174 196 : || !x86_64_general_operand (operands[2], E_HImode))
4175 48 : return -1;
4176 : return 2;
4177 :
4178 : default:
4179 : return -1;
4180 : }
4181 :
4182 13518 : case E_DImode:
4183 13518 : if (!register_operand (operands[0], E_DImode)
4184 13518 : || GET_MODE (x1) != E_DImode)
4185 : return -1;
4186 13518 : x2 = XEXP (x1, 0);
4187 13518 : switch (GET_MODE (x2))
4188 : {
4189 253 : case E_QImode:
4190 253 : if (!nonimmediate_operand (operands[1], E_QImode)
4191 253 : || !x86_64_general_operand (operands[2], E_QImode))
4192 0 : return -1;
4193 : return 3;
4194 :
4195 19 : case E_HImode:
4196 19 : if (!nonimmediate_operand (operands[1], E_HImode)
4197 19 : || !x86_64_general_operand (operands[2], E_HImode))
4198 0 : return -1;
4199 : return 4;
4200 :
4201 13246 : case E_SImode:
4202 13246 : if (!nonimmediate_operand (operands[1], E_SImode)
4203 13246 : || !x86_64_general_operand (operands[2], E_SImode))
4204 1781 : return -1;
4205 : return 5;
4206 :
4207 : default:
4208 : return -1;
4209 : }
4210 :
4211 : default:
4212 : return -1;
4213 : }
4214 : }
4215 :
4216 : int
4217 0 : pattern1065 (rtx x1)
4218 : {
4219 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4220 0 : rtx x2;
4221 0 : int res ATTRIBUTE_UNUSED;
4222 0 : if (!register_operand (operands[0], E_V2SFmode)
4223 0 : || GET_MODE (x1) != E_V2SFmode)
4224 : return -1;
4225 0 : x2 = XEXP (x1, 0);
4226 0 : if (GET_MODE (x2) != E_V2SFmode
4227 0 : || !register_operand (operands[1], E_V2SFmode)
4228 0 : || !nonimmediate_operand (operands[2], E_V2SFmode))
4229 0 : return -1;
4230 : return 0;
4231 : }
4232 :
4233 : int
4234 1053 : pattern1069 (rtx x1)
4235 : {
4236 1053 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4237 1053 : rtx x2, x3, x4, x5, x6, x7, x8;
4238 1053 : int res ATTRIBUTE_UNUSED;
4239 1053 : x2 = XEXP (x1, 0);
4240 1053 : x3 = XEXP (x2, 1);
4241 1053 : if (GET_MODE (x3) != E_QImode)
4242 : return -1;
4243 1053 : x4 = XEXP (x1, 1);
4244 1053 : operands[3] = x4;
4245 1053 : switch (GET_CODE (x3))
4246 : {
4247 541 : case SUBREG:
4248 541 : if (maybe_ne (SUBREG_BYTE (x3), 0))
4249 : return -1;
4250 541 : x5 = XEXP (x3, 0);
4251 541 : if (GET_CODE (x5) != AND)
4252 : return -1;
4253 162 : x6 = XEXP (x5, 0);
4254 162 : operands[1] = x6;
4255 162 : if (!int248_register_operand (operands[1], E_VOIDmode))
4256 : return -1;
4257 157 : x7 = XEXP (x5, 1);
4258 157 : operands[2] = x7;
4259 157 : if (!const_int_operand (operands[2], E_VOIDmode))
4260 : return -1;
4261 157 : switch (GET_MODE (operands[0]))
4262 : {
4263 64 : case E_SImode:
4264 64 : return pattern374 (x1,
4265 64 : E_SImode); /* [-1, 0] */
4266 :
4267 65 : case E_DImode:
4268 65 : if (pattern374 (x1,
4269 : E_DImode) != 0)
4270 : return -1;
4271 : return 1;
4272 :
4273 : default:
4274 : return -1;
4275 : }
4276 :
4277 3 : case AND:
4278 3 : x5 = XEXP (x3, 0);
4279 3 : operands[1] = x5;
4280 3 : if (!register_operand (operands[1], E_QImode))
4281 : return -1;
4282 3 : x8 = XEXP (x3, 1);
4283 3 : operands[2] = x8;
4284 3 : if (!const_int_operand (operands[2], E_QImode))
4285 : return -1;
4286 3 : switch (GET_MODE (operands[0]))
4287 : {
4288 3 : case E_SImode:
4289 3 : if (pattern374 (x1,
4290 : E_SImode) != 0)
4291 : return -1;
4292 : return 2;
4293 :
4294 0 : case E_DImode:
4295 0 : if (pattern374 (x1,
4296 : E_DImode) != 0)
4297 : return -1;
4298 : return 3;
4299 :
4300 : default:
4301 : return -1;
4302 : }
4303 :
4304 : default:
4305 : return -1;
4306 : }
4307 : }
4308 :
4309 : int
4310 323 : pattern1089 (rtx x1, machine_mode i1, machine_mode i2)
4311 : {
4312 323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4313 323 : rtx x2;
4314 323 : int res ATTRIBUTE_UNUSED;
4315 323 : if (!register_operand (operands[0], i1)
4316 323 : || GET_MODE (x1) != i1)
4317 : return -1;
4318 311 : x2 = XEXP (x1, 0);
4319 311 : if (GET_MODE (x2) != i1
4320 311 : || !nonimmediate_operand (operands[1], i2)
4321 618 : || !register_operand (operands[3], i1))
4322 53 : return -1;
4323 : return 0;
4324 : }
4325 :
4326 : int
4327 0 : pattern1097 (rtx x1)
4328 : {
4329 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4330 0 : rtx x2;
4331 0 : int res ATTRIBUTE_UNUSED;
4332 0 : switch (GET_MODE (x1))
4333 : {
4334 0 : case E_DImode:
4335 0 : x2 = XEXP (x1, 0);
4336 0 : if (GET_MODE (x2) != E_DImode
4337 0 : || !register_operand (operands[1], E_V64QImode)
4338 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
4339 0 : || !register_operand (operands[3], E_DImode))
4340 0 : return -1;
4341 : return 0;
4342 :
4343 0 : case E_SImode:
4344 0 : x2 = XEXP (x1, 0);
4345 0 : if (GET_MODE (x2) != E_SImode
4346 0 : || !register_operand (operands[3], E_SImode))
4347 0 : return -1;
4348 0 : switch (GET_MODE (operands[1]))
4349 : {
4350 0 : case E_V32QImode:
4351 0 : if (!register_operand (operands[1], E_V32QImode)
4352 0 : || !nonimmediate_operand (operands[2], E_V32QImode))
4353 0 : return -1;
4354 : return 1;
4355 :
4356 0 : case E_V32HImode:
4357 0 : if (!register_operand (operands[1], E_V32HImode)
4358 0 : || !nonimmediate_operand (operands[2], E_V32HImode))
4359 0 : return -1;
4360 : return 2;
4361 :
4362 : default:
4363 : return -1;
4364 : }
4365 :
4366 0 : case E_HImode:
4367 0 : x2 = XEXP (x1, 0);
4368 0 : if (GET_MODE (x2) != E_HImode
4369 0 : || !register_operand (operands[3], E_HImode))
4370 0 : return -1;
4371 0 : switch (GET_MODE (operands[1]))
4372 : {
4373 0 : case E_V16QImode:
4374 0 : if (!register_operand (operands[1], E_V16QImode)
4375 0 : || !nonimmediate_operand (operands[2], E_V16QImode))
4376 0 : return -1;
4377 : return 3;
4378 :
4379 0 : case E_V16HImode:
4380 0 : if (!register_operand (operands[1], E_V16HImode)
4381 0 : || !nonimmediate_operand (operands[2], E_V16HImode))
4382 0 : return -1;
4383 : return 4;
4384 :
4385 0 : case E_V16SImode:
4386 0 : if (!register_operand (operands[1], E_V16SImode)
4387 0 : || !nonimmediate_operand (operands[2], E_V16SImode))
4388 0 : return -1;
4389 : return 5;
4390 :
4391 : default:
4392 : return -1;
4393 : }
4394 :
4395 0 : case E_QImode:
4396 0 : x2 = XEXP (x1, 0);
4397 0 : if (GET_MODE (x2) != E_QImode
4398 0 : || !register_operand (operands[3], E_QImode))
4399 0 : return -1;
4400 0 : switch (GET_MODE (operands[1]))
4401 : {
4402 0 : case E_V8HImode:
4403 0 : if (!register_operand (operands[1], E_V8HImode)
4404 0 : || !nonimmediate_operand (operands[2], E_V8HImode))
4405 0 : return -1;
4406 : return 6;
4407 :
4408 0 : case E_V8SImode:
4409 0 : if (!register_operand (operands[1], E_V8SImode)
4410 0 : || !nonimmediate_operand (operands[2], E_V8SImode))
4411 0 : return -1;
4412 : return 7;
4413 :
4414 0 : case E_V4SImode:
4415 0 : if (!register_operand (operands[1], E_V4SImode)
4416 0 : || !nonimmediate_operand (operands[2], E_V4SImode))
4417 0 : return -1;
4418 : return 8;
4419 :
4420 0 : case E_V8DImode:
4421 0 : if (!register_operand (operands[1], E_V8DImode)
4422 0 : || !nonimmediate_operand (operands[2], E_V8DImode))
4423 0 : return -1;
4424 : return 9;
4425 :
4426 0 : case E_V4DImode:
4427 0 : if (!register_operand (operands[1], E_V4DImode)
4428 0 : || !nonimmediate_operand (operands[2], E_V4DImode))
4429 0 : return -1;
4430 : return 10;
4431 :
4432 0 : case E_V2DImode:
4433 0 : if (!register_operand (operands[1], E_V2DImode)
4434 0 : || !nonimmediate_operand (operands[2], E_V2DImode))
4435 0 : return -1;
4436 : return 11;
4437 :
4438 : default:
4439 : return -1;
4440 : }
4441 :
4442 : default:
4443 : return -1;
4444 : }
4445 : }
4446 :
4447 : int
4448 958 : pattern1141 (rtx x1)
4449 : {
4450 958 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4451 958 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4452 958 : rtx x10, x11;
4453 958 : int res ATTRIBUTE_UNUSED;
4454 958 : x2 = XVECEXP (x1, 0, 0);
4455 958 : x3 = XEXP (x2, 2);
4456 958 : if (XWINT (x3, 0) != 1L)
4457 : return -1;
4458 958 : x4 = XEXP (x2, 0);
4459 958 : x5 = XEXP (x4, 0);
4460 958 : x6 = XVECEXP (x5, 0, 0);
4461 958 : operands[1] = x6;
4462 958 : x7 = XVECEXP (x5, 0, 1);
4463 958 : operands[2] = x7;
4464 958 : x8 = XEXP (x4, 1);
4465 958 : operands[3] = x8;
4466 958 : x9 = XEXP (x4, 2);
4467 958 : operands[4] = x9;
4468 958 : if (!register_operand (operands[4], E_QImode))
4469 : return -1;
4470 940 : x10 = XVECEXP (x1, 0, 1);
4471 940 : operands[5] = x10;
4472 940 : if (!const48_operand (operands[5], E_SImode))
4473 : return -1;
4474 940 : x11 = XEXP (x2, 1);
4475 940 : if (!rtx_equal_p (x11, operands[1]))
4476 : return -1;
4477 940 : switch (GET_MODE (operands[0]))
4478 : {
4479 520 : case E_V8HFmode:
4480 520 : return pattern1140 (x1,
4481 520 : E_V8HFmode); /* [-1, 0] */
4482 :
4483 210 : case E_V4SFmode:
4484 210 : if (pattern1140 (x1,
4485 : E_V4SFmode) != 0)
4486 : return -1;
4487 : return 1;
4488 :
4489 210 : case E_V2DFmode:
4490 210 : if (pattern1140 (x1,
4491 : E_V2DFmode) != 0)
4492 : return -1;
4493 : return 2;
4494 :
4495 : default:
4496 : return -1;
4497 : }
4498 : }
4499 :
4500 : int
4501 7394 : pattern1158 (rtx x1)
4502 : {
4503 7394 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4504 7394 : rtx x2, x3, x4, x5;
4505 7394 : int res ATTRIBUTE_UNUSED;
4506 7394 : x2 = XEXP (x1, 2);
4507 7394 : x3 = XEXP (x2, 0);
4508 7394 : if (!rtx_equal_p (x3, operands[1]))
4509 : return -1;
4510 7394 : x4 = XEXP (x2, 1);
4511 7394 : x5 = XEXP (x4, 0);
4512 7394 : if (!rtx_equal_p (x5, operands[2]))
4513 : return -1;
4514 7372 : switch (GET_MODE (operands[0]))
4515 : {
4516 468 : case E_V16QImode:
4517 468 : return pattern1157 (x1,
4518 468 : E_V16QImode); /* [-1, 0] */
4519 :
4520 410 : case E_V8HImode:
4521 410 : if (pattern1157 (x1,
4522 : E_V8HImode) != 0)
4523 : return -1;
4524 : return 1;
4525 :
4526 4204 : case E_V4SImode:
4527 4204 : if (pattern1157 (x1,
4528 : E_V4SImode) != 0)
4529 : return -1;
4530 : return 2;
4531 :
4532 2290 : case E_V2DImode:
4533 2290 : if (pattern1157 (x1,
4534 : E_V2DImode) != 0)
4535 : return -1;
4536 : return 3;
4537 :
4538 : default:
4539 : return -1;
4540 : }
4541 : }
4542 :
4543 : int
4544 237 : pattern1170 (rtx x1, machine_mode i1)
4545 : {
4546 237 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4547 237 : rtx x2, x3;
4548 237 : int res ATTRIBUTE_UNUSED;
4549 237 : if (!nonimmediate_operand (operands[0], i1)
4550 237 : || GET_MODE (x1) != i1)
4551 : return -1;
4552 237 : x2 = XEXP (x1, 0);
4553 237 : if (GET_MODE (x2) != i1)
4554 : return -1;
4555 237 : x3 = XEXP (x2, 0);
4556 237 : if (GET_MODE (x3) != i1
4557 237 : || !nonimmediate_operand (operands[1], i1)
4558 425 : || !x86_64_general_operand (operands[2], i1))
4559 49 : return -1;
4560 : return 0;
4561 : }
4562 :
4563 : int
4564 26283 : pattern1178 (rtx x1)
4565 : {
4566 26283 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4567 26283 : rtx x2, x3, x4, x5;
4568 26283 : int res ATTRIBUTE_UNUSED;
4569 26283 : x2 = XEXP (x1, 1);
4570 26283 : x3 = XEXP (x2, 0);
4571 26283 : switch (GET_CODE (x3))
4572 : {
4573 4377 : case AND:
4574 4377 : x4 = XEXP (x3, 0);
4575 4377 : operands[2] = x4;
4576 4377 : if (!int248_register_operand (operands[2], E_VOIDmode))
4577 : return -1;
4578 4227 : return pattern1177 (x1); /* [-1, 3] */
4579 :
4580 0 : case PLUS:
4581 0 : x4 = XEXP (x3, 0);
4582 0 : operands[2] = x4;
4583 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
4584 : return -1;
4585 0 : res = pattern1177 (x1);
4586 0 : if (res >= 0)
4587 0 : return res + 4; /* [4, 7] */
4588 : return -1;
4589 :
4590 0 : case MINUS:
4591 0 : x4 = XEXP (x3, 0);
4592 0 : operands[3] = x4;
4593 0 : if (!const_int_operand (operands[3], E_VOIDmode))
4594 : return -1;
4595 0 : x5 = XEXP (x3, 1);
4596 0 : operands[2] = x5;
4597 0 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
4598 : return -1;
4599 0 : res = pattern207 (x1);
4600 0 : if (res >= 0)
4601 0 : return res + 8; /* [8, 11] */
4602 : return -1;
4603 :
4604 : default:
4605 : return -1;
4606 : }
4607 : }
4608 :
4609 : int
4610 683 : pattern1196 (rtx x1, machine_mode i1, machine_mode i2)
4611 : {
4612 683 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4613 683 : int res ATTRIBUTE_UNUSED;
4614 683 : if (!register_operand (operands[0], i2)
4615 677 : || GET_MODE (x1) != i2
4616 677 : || !const0_operand (operands[2], i2)
4617 8 : || !vector_all_ones_operand (operands[3], i2)
4618 683 : || !register_operand (operands[1], i1))
4619 683 : return -1;
4620 : return 0;
4621 : }
4622 :
4623 : int
4624 4 : pattern1201 (rtx x1, machine_mode i1)
4625 : {
4626 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4627 4 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4628 4 : rtx x10, x11, x12;
4629 4 : int res ATTRIBUTE_UNUSED;
4630 4 : x2 = XVECEXP (x1, 0, 0);
4631 4 : x3 = XEXP (x2, 1);
4632 4 : x4 = XEXP (x3, 0);
4633 4 : operands[2] = x4;
4634 4 : if (!memory_operand (operands[2], i1))
4635 : return -1;
4636 4 : x5 = XVECEXP (x1, 0, 1);
4637 4 : x6 = XEXP (x5, 1);
4638 4 : if (GET_CODE (x6) != MINUS)
4639 : return -1;
4640 4 : x7 = XEXP (x2, 0);
4641 4 : if (GET_MODE (x7) != E_CCmode
4642 4 : || GET_MODE (x3) != E_CCmode)
4643 : return -1;
4644 4 : x8 = XEXP (x3, 1);
4645 4 : if (!rtx_equal_p (x8, operands[0]))
4646 : return -1;
4647 4 : x9 = XEXP (x6, 0);
4648 4 : if (!rtx_equal_p (x9, operands[2]))
4649 : return -1;
4650 4 : x10 = XEXP (x6, 1);
4651 4 : if (!rtx_equal_p (x10, operands[0]))
4652 : return -1;
4653 4 : x11 = PATTERN (peep2_next_insn (2));
4654 4 : x12 = XEXP (x11, 0);
4655 4 : if (!rtx_equal_p (x12, operands[2]))
4656 : return -1;
4657 : return 0;
4658 : }
4659 :
4660 : int
4661 1129725 : pattern1210 (rtx x1)
4662 : {
4663 1129725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4664 1129725 : int res ATTRIBUTE_UNUSED;
4665 1129725 : if (!register_operand (operands[0], E_QImode)
4666 1126343 : || GET_MODE (x1) != E_QImode
4667 1126343 : || !ix86_comparison_operator (operands[1], E_VOIDmode)
4668 1126343 : || !register_operand (operands[2], E_QImode)
4669 2243520 : || !register_operand (operands[3], E_QImode))
4670 523420 : return -1;
4671 : return 0;
4672 : }
4673 :
4674 : int
4675 159 : pattern1215 (rtx x1, machine_mode i1)
4676 : {
4677 159 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4678 159 : rtx x2, x3;
4679 159 : int res ATTRIBUTE_UNUSED;
4680 159 : if (!nonimmediate_operand (operands[0], i1)
4681 159 : || GET_MODE (x1) != i1)
4682 : return -1;
4683 159 : x2 = XEXP (x1, 0);
4684 159 : if (GET_MODE (x2) != i1)
4685 : return -1;
4686 159 : x3 = XEXP (x2, 0);
4687 159 : if (GET_MODE (x3) != i1
4688 159 : || !nonimmediate_operand (operands[1], i1)
4689 269 : || !x86_64_general_operand (operands[2], i1))
4690 49 : return -1;
4691 : return 0;
4692 : }
4693 :
4694 : int
4695 1933 : pattern1222 (rtx x1, machine_mode i1, machine_mode i2)
4696 : {
4697 1933 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4698 1933 : rtx x2;
4699 1933 : int res ATTRIBUTE_UNUSED;
4700 1933 : if (!register_operand (operands[0], i1)
4701 1933 : || GET_MODE (x1) != i1)
4702 : return -1;
4703 1799 : x2 = XEXP (x1, 0);
4704 1799 : if (GET_MODE (x2) != i1
4705 1799 : || !vector_operand (operands[1], i1)
4706 1799 : || !nonimm_or_0_operand (operands[3], i1)
4707 3568 : || !register_operand (operands[4], i2))
4708 139 : return -1;
4709 : return 0;
4710 : }
4711 :
4712 : int
4713 652 : pattern1230 (rtx x1, machine_mode i1)
4714 : {
4715 652 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4716 652 : rtx x2;
4717 652 : int res ATTRIBUTE_UNUSED;
4718 652 : if (!register_operand (operands[0], i1)
4719 652 : || GET_MODE (x1) != i1)
4720 : return -1;
4721 626 : x2 = XVECEXP (x1, 0, 0);
4722 626 : if (GET_MODE (x2) != i1
4723 626 : || !nonimmediate_operand (operands[1], i1))
4724 2 : return -1;
4725 : return 0;
4726 : }
4727 :
4728 : int
4729 42 : pattern1235 (rtx x1)
4730 : {
4731 42 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4732 42 : rtx x2, x3, x4, x5, x6, x7;
4733 42 : int res ATTRIBUTE_UNUSED;
4734 42 : x2 = XVECEXP (x1, 0, 2);
4735 42 : x3 = XEXP (x2, 0);
4736 42 : x4 = XEXP (x3, 0);
4737 42 : if (maybe_ne (SUBREG_BYTE (x4), 0))
4738 : return -1;
4739 42 : x5 = XEXP (x4, 0);
4740 42 : if (GET_CODE (x5) != NOT)
4741 : return -1;
4742 18 : x6 = XEXP (x5, 0);
4743 18 : operands[3] = x6;
4744 18 : x7 = XEXP (x3, 1);
4745 18 : operands[4] = x7;
4746 18 : switch (GET_MODE (operands[0]))
4747 : {
4748 18 : case E_V16QImode:
4749 18 : if (!register_operand (operands[0], E_V16QImode)
4750 18 : || GET_MODE (x1) != E_V16QImode
4751 18 : || !register_operand (operands[1], E_V16QImode)
4752 18 : || !vector_operand (operands[2], E_V16QImode)
4753 18 : || GET_MODE (x2) != E_V16QImode
4754 18 : || GET_MODE (x5) != E_V16QImode
4755 36 : || !register_operand (operands[3], E_V16QImode))
4756 0 : return -1;
4757 18 : switch (GET_MODE (x3))
4758 : {
4759 18 : case E_V4SImode:
4760 18 : if (GET_MODE (x4) != E_V4SImode
4761 18 : || !const0_operand (operands[4], E_V4SImode))
4762 0 : return -1;
4763 : return 0;
4764 :
4765 0 : case E_V2DImode:
4766 0 : if (GET_MODE (x4) != E_V2DImode
4767 0 : || !const0_operand (operands[4], E_V2DImode))
4768 0 : return -1;
4769 : return 1;
4770 :
4771 : default:
4772 : return -1;
4773 : }
4774 :
4775 0 : case E_V32QImode:
4776 0 : if (!register_operand (operands[0], E_V32QImode)
4777 0 : || GET_MODE (x1) != E_V32QImode
4778 0 : || !register_operand (operands[1], E_V32QImode)
4779 0 : || !vector_operand (operands[2], E_V32QImode)
4780 0 : || GET_MODE (x2) != E_V32QImode
4781 0 : || GET_MODE (x5) != E_V32QImode
4782 0 : || !register_operand (operands[3], E_V32QImode))
4783 0 : return -1;
4784 0 : switch (GET_MODE (x3))
4785 : {
4786 0 : case E_V8SImode:
4787 0 : if (GET_MODE (x4) != E_V8SImode
4788 0 : || !const0_operand (operands[4], E_V8SImode))
4789 0 : return -1;
4790 : return 2;
4791 :
4792 0 : case E_V4DImode:
4793 0 : if (GET_MODE (x4) != E_V4DImode
4794 0 : || !const0_operand (operands[4], E_V4DImode))
4795 0 : return -1;
4796 : return 3;
4797 :
4798 : default:
4799 : return -1;
4800 : }
4801 :
4802 : default:
4803 : return -1;
4804 : }
4805 : }
4806 :
4807 : int
4808 58 : pattern1256 (rtx x1)
4809 : {
4810 58 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4811 58 : rtx x2, x3, x4, x5;
4812 58 : int res ATTRIBUTE_UNUSED;
4813 58 : x2 = XEXP (x1, 0);
4814 58 : x3 = XEXP (x2, 0);
4815 58 : x4 = XEXP (x3, 0);
4816 58 : operands[1] = x4;
4817 58 : x5 = XEXP (x3, 1);
4818 58 : operands[2] = x5;
4819 58 : if (!register_operand (operands[2], E_QImode))
4820 : return -1;
4821 50 : return pattern1255 (x1); /* [-1, 1] */
4822 : }
4823 :
4824 : int
4825 12499 : pattern1261 (rtx x1)
4826 : {
4827 12499 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4828 12499 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4829 12499 : int res ATTRIBUTE_UNUSED;
4830 12499 : x2 = XVECEXP (x1, 0, 1);
4831 12499 : if (GET_CODE (x2) != CLOBBER)
4832 : return -1;
4833 12499 : x3 = XVECEXP (x1, 0, 2);
4834 12499 : if (GET_CODE (x3) != CLOBBER)
4835 : return -1;
4836 12499 : x4 = XVECEXP (x1, 0, 3);
4837 12499 : x5 = XEXP (x4, 0);
4838 12499 : if (GET_CODE (x5) != REG
4839 12499 : || REGNO (x5) != 17
4840 12499 : || GET_MODE (x5) != E_CCmode
4841 24998 : || !register_operand (operands[0], E_SImode))
4842 0 : return -1;
4843 12499 : x6 = XVECEXP (x1, 0, 0);
4844 12499 : x7 = XEXP (x6, 1);
4845 12499 : x8 = XVECEXP (x7, 0, 0);
4846 12499 : operands[1] = x8;
4847 12499 : if (!register_operand (operands[1], E_SImode))
4848 : return -1;
4849 12045 : x9 = XVECEXP (x7, 0, 1);
4850 12045 : operands[2] = x9;
4851 12045 : return 0;
4852 : }
4853 :
4854 : int
4855 2 : pattern1272 (rtx x1)
4856 : {
4857 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4858 2 : rtx x2, x3, x4, x5, x6, x7;
4859 2 : int res ATTRIBUTE_UNUSED;
4860 2 : x2 = XEXP (x1, 2);
4861 2 : switch (GET_CODE (x2))
4862 : {
4863 0 : case REG:
4864 0 : case SUBREG:
4865 0 : operands[1] = x2;
4866 0 : x3 = XEXP (x1, 0);
4867 0 : operands[0] = x3;
4868 0 : x4 = XEXP (x1, 1);
4869 0 : operands[3] = x4;
4870 0 : switch (GET_MODE (x1))
4871 : {
4872 0 : case E_V32QImode:
4873 0 : if (!vector_all_ones_operand (operands[0], E_V32QImode)
4874 0 : || !const0_operand (operands[3], E_V32QImode)
4875 0 : || !register_operand (operands[1], E_SImode))
4876 0 : return -1;
4877 : return 0;
4878 :
4879 0 : case E_V16QImode:
4880 0 : if (!vector_all_ones_operand (operands[0], E_V16QImode)
4881 0 : || !const0_operand (operands[3], E_V16QImode)
4882 0 : || !register_operand (operands[1], E_HImode))
4883 0 : return -1;
4884 : return 1;
4885 :
4886 : default:
4887 : return -1;
4888 : }
4889 :
4890 2 : case UNSPEC:
4891 2 : if (XVECLEN (x2, 0) != 3
4892 2 : || XINT (x2, 1) != 60)
4893 : return -1;
4894 2 : x5 = XVECEXP (x2, 0, 2);
4895 2 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4896 : return -1;
4897 2 : x3 = XEXP (x1, 0);
4898 2 : operands[3] = x3;
4899 2 : x4 = XEXP (x1, 1);
4900 2 : operands[4] = x4;
4901 2 : x6 = XVECEXP (x2, 0, 0);
4902 2 : operands[0] = x6;
4903 2 : x7 = XVECEXP (x2, 0, 1);
4904 2 : operands[1] = x7;
4905 2 : switch (GET_MODE (x1))
4906 : {
4907 0 : case E_V32QImode:
4908 0 : if (pattern1271 (x2,
4909 : E_V32QImode,
4910 : E_SImode) != 0)
4911 : return -1;
4912 : return 2;
4913 :
4914 2 : case E_V16QImode:
4915 2 : if (pattern1271 (x2,
4916 : E_V16QImode,
4917 : E_HImode) != 0)
4918 : return -1;
4919 : return 3;
4920 :
4921 : default:
4922 : return -1;
4923 : }
4924 :
4925 : default:
4926 : return -1;
4927 : }
4928 : }
4929 :
4930 : int
4931 787 : pattern1298 (rtx x1, machine_mode i1, machine_mode i2)
4932 : {
4933 787 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4934 787 : rtx x2;
4935 787 : int res ATTRIBUTE_UNUSED;
4936 787 : if (!register_operand (operands[0], i2)
4937 787 : || GET_MODE (x1) != i2)
4938 : return -1;
4939 763 : x2 = XEXP (x1, 0);
4940 763 : if (GET_MODE (x2) != i2
4941 763 : || !nonimmediate_operand (operands[1], i2)
4942 736 : || !nonimmediate_operand (operands[2], i2)
4943 736 : || !nonimmediate_operand (operands[3], i2)
4944 1490 : || !register_operand (operands[4], i1))
4945 36 : return -1;
4946 : return 0;
4947 : }
4948 :
4949 : int
4950 460 : pattern1308 (rtx x1, int i1, int i2, int i3, int i4)
4951 : {
4952 460 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4953 460 : rtx x2, x3, x4, x5;
4954 460 : int res ATTRIBUTE_UNUSED;
4955 460 : x2 = XVECEXP (x1, 0, 8);
4956 460 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4957 : return -1;
4958 460 : x3 = XVECEXP (x1, 0, 9);
4959 460 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4960 : return -1;
4961 460 : x4 = XVECEXP (x1, 0, 10);
4962 460 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4963 : return -1;
4964 460 : x5 = XVECEXP (x1, 0, 11);
4965 460 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4966 0 : return -1;
4967 : return 0;
4968 : }
4969 :
4970 : int
4971 972 : pattern1317 (rtx x1)
4972 : {
4973 972 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4974 972 : rtx x2, x3;
4975 972 : int res ATTRIBUTE_UNUSED;
4976 972 : if (!register_operand (operands[0], E_V16HFmode)
4977 972 : || GET_MODE (x1) != E_V16HFmode)
4978 : return -1;
4979 944 : x2 = XVECEXP (x1, 0, 0);
4980 944 : if (GET_MODE (x2) != E_V16HFmode)
4981 : return -1;
4982 944 : x3 = XEXP (x2, 0);
4983 944 : if (GET_MODE (x3) != E_V16HFmode
4984 944 : || !nonimm_or_0_operand (operands[2], E_V16HFmode)
4985 1888 : || !register_operand (operands[3], E_HImode))
4986 20 : return -1;
4987 924 : switch (GET_MODE (operands[1]))
4988 : {
4989 0 : case E_V16HImode:
4990 0 : if (!register_operand (operands[1], E_V16HImode))
4991 : return -1;
4992 : return 0;
4993 :
4994 924 : case E_V16SImode:
4995 924 : if (!register_operand (operands[1], E_V16SImode))
4996 : return -1;
4997 : return 1;
4998 :
4999 : default:
5000 : return -1;
5001 : }
5002 : }
5003 :
5004 : int
5005 6828 : pattern1326 (rtx x1)
5006 : {
5007 6828 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5008 6828 : rtx x2, x3, x4, x5, x6, x7;
5009 6828 : int res ATTRIBUTE_UNUSED;
5010 6828 : x2 = XEXP (x1, 1);
5011 6828 : x3 = XEXP (x2, 2);
5012 6828 : if (maybe_ne (SUBREG_BYTE (x3), 0)
5013 6828 : || GET_MODE (x3) != E_QImode)
5014 : return -1;
5015 6828 : x4 = XEXP (x3, 0);
5016 6828 : if (GET_CODE (x4) != AND)
5017 : return -1;
5018 1127 : x5 = XEXP (x1, 0);
5019 1127 : operands[0] = x5;
5020 1127 : x6 = XEXP (x4, 0);
5021 1127 : operands[2] = x6;
5022 1127 : if (!int248_register_operand (operands[2], E_VOIDmode))
5023 : return -1;
5024 1040 : x7 = XEXP (x4, 1);
5025 1040 : operands[3] = x7;
5026 1040 : if (!const_int_operand (operands[3], E_VOIDmode))
5027 : return -1;
5028 1040 : return pattern410 (x2); /* [-1, 1] */
5029 : }
5030 :
5031 : int
5032 130 : pattern1333 (rtx x1, machine_mode i1)
5033 : {
5034 130 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5035 130 : int res ATTRIBUTE_UNUSED;
5036 130 : if (!register_operand (operands[0], i1)
5037 130 : || GET_MODE (x1) != i1
5038 130 : || !register_operand (operands[1], i1)
5039 251 : || !general_operand (operands[2], i1))
5040 30 : return -1;
5041 : return 0;
5042 : }
5043 :
5044 : int
5045 0 : pattern1340 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5046 : {
5047 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5048 0 : int res ATTRIBUTE_UNUSED;
5049 0 : if (!register_operand (operands[0], i3)
5050 0 : || GET_MODE (x1) != i3
5051 0 : || pattern565 (x1,
5052 : i1,
5053 : i2) != 0)
5054 0 : return -1;
5055 : return 0;
5056 : }
5057 :
5058 : int
5059 184 : pattern1344 (rtx x1)
5060 : {
5061 184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5062 184 : rtx x2, x3, x4;
5063 184 : int res ATTRIBUTE_UNUSED;
5064 184 : x2 = XEXP (x1, 0);
5065 184 : x3 = XEXP (x2, 0);
5066 184 : operands[0] = x3;
5067 184 : if (!nonmemory_operand (operands[2], E_QImode))
5068 : return -1;
5069 177 : x4 = XEXP (x1, 1);
5070 177 : return pattern379 (x4); /* [-1, 1] */
5071 : }
5072 :
5073 : int
5074 0 : pattern1351 (rtx x1)
5075 : {
5076 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5077 0 : rtx x2, x3, x4, x5, x6;
5078 0 : int res ATTRIBUTE_UNUSED;
5079 0 : x2 = XEXP (x1, 1);
5080 0 : if (GET_CODE (x2) != CALL)
5081 : return -1;
5082 0 : x3 = XEXP (x2, 0);
5083 0 : if (GET_CODE (x3) != MEM
5084 0 : || GET_MODE (x3) != E_QImode)
5085 : return -1;
5086 0 : x4 = XEXP (x1, 0);
5087 0 : operands[2] = x4;
5088 0 : x5 = XEXP (x2, 1);
5089 0 : operands[3] = x5;
5090 0 : x6 = XEXP (x3, 0);
5091 0 : if (!rtx_equal_p (x6, operands[0]))
5092 : return -1;
5093 : return 0;
5094 : }
5095 :
5096 : int
5097 224067 : pattern1356 (rtx x1, machine_mode i1)
5098 : {
5099 224067 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5100 224067 : rtx x2, x3, x4, x5, x6, x7, x8;
5101 224067 : int res ATTRIBUTE_UNUSED;
5102 224067 : x2 = XVECEXP (x1, 0, 0);
5103 224067 : x3 = XEXP (x2, 0);
5104 224067 : if (GET_CODE (x3) != REG
5105 224067 : || REGNO (x3) != 17)
5106 : return -1;
5107 7497 : x4 = XVECEXP (x1, 0, 1);
5108 7497 : if (GET_CODE (x4) != SET)
5109 : return -1;
5110 6696 : x5 = XEXP (x2, 1);
5111 6696 : operands[5] = x5;
5112 6696 : x6 = XEXP (x4, 1);
5113 6696 : operands[6] = x6;
5114 6696 : x7 = XEXP (x4, 0);
5115 6696 : if (!rtx_equal_p (x7, operands[0]))
5116 : return -1;
5117 6513 : x8 = PATTERN (peep2_next_insn (2));
5118 6513 : return pattern1355 (x8,
5119 6513 : i1); /* [-1, 0] */
5120 : }
5121 :
5122 : int
5123 653022 : pattern1365 (rtx x1, machine_mode i1)
5124 : {
5125 653022 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5126 653022 : int res ATTRIBUTE_UNUSED;
5127 653022 : if (!register_operand (operands[0], i1)
5128 648154 : || GET_MODE (x1) != i1
5129 648154 : || !nonimmediate_operand (operands[1], i1)
5130 1285129 : || !const_int_operand (operands[2], i1))
5131 79034 : return -1;
5132 : return 0;
5133 : }
5134 :
5135 : int
5136 826 : pattern1371 (rtx x1)
5137 : {
5138 826 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5139 826 : rtx x2, x3, x4, x5, x6, x7, x8;
5140 826 : int res ATTRIBUTE_UNUSED;
5141 826 : if (!nonimmediate_operand (operands[0], E_DImode))
5142 : return -1;
5143 826 : x2 = XEXP (x1, 1);
5144 826 : if (GET_MODE (x2) != E_DImode)
5145 : return -1;
5146 826 : x3 = XEXP (x2, 0);
5147 826 : if (GET_MODE (x3) != E_TImode)
5148 : return -1;
5149 826 : x4 = XEXP (x3, 0);
5150 826 : if (GET_MODE (x4) != E_TImode)
5151 : return -1;
5152 826 : x5 = XEXP (x4, 0);
5153 826 : operands[1] = x5;
5154 826 : if (!register_operand (operands[1], E_DImode))
5155 : return -1;
5156 826 : x6 = XEXP (x3, 1);
5157 826 : operands[3] = x6;
5158 826 : if (!const_0_to_255_operand (operands[3], E_QImode))
5159 : return -1;
5160 826 : x7 = XEXP (x1, 0);
5161 826 : x8 = XEXP (x7, 0);
5162 826 : if (!rtx_equal_p (x8, operands[0]))
5163 : return -1;
5164 : return 0;
5165 : }
5166 :
5167 : int
5168 276 : pattern1380 (rtx x1, machine_mode i1, machine_mode i2)
5169 : {
5170 276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5171 276 : rtx x2;
5172 276 : int res ATTRIBUTE_UNUSED;
5173 276 : if (!register_operand (operands[0], i2)
5174 276 : || GET_MODE (x1) != i2)
5175 : return -1;
5176 264 : x2 = XEXP (x1, 0);
5177 264 : if (GET_MODE (x2) != i2
5178 264 : || !register_operand (operands[1], i2)
5179 264 : || !register_operand (operands[2], i1)
5180 524 : || !nonimmediate_operand (operands[3], i1))
5181 4 : return -1;
5182 : return 0;
5183 : }
5184 :
5185 : int
5186 436 : pattern1387 (rtx x1, machine_mode i1)
5187 : {
5188 436 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5189 436 : rtx x2;
5190 436 : int res ATTRIBUTE_UNUSED;
5191 436 : if (!register_operand (operands[0], i1)
5192 436 : || GET_MODE (x1) != i1)
5193 : return -1;
5194 436 : x2 = XEXP (x1, 0);
5195 436 : if (GET_MODE (x2) != i1
5196 436 : || !nonimmediate_operand (operands[1], i1)
5197 436 : || !nonimmediate_operand (operands[2], i1)
5198 436 : || !nonimmediate_operand (operands[3], i1)
5199 872 : || !const0_operand (operands[4], i1))
5200 0 : return -1;
5201 : return 0;
5202 : }
5203 :
5204 : int
5205 40 : pattern1398 (rtx x1, machine_mode i1)
5206 : {
5207 40 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5208 40 : rtx x2, x3;
5209 40 : int res ATTRIBUTE_UNUSED;
5210 40 : if (!register_operand (operands[0], i1)
5211 40 : || GET_MODE (x1) != i1)
5212 : return -1;
5213 40 : x2 = XEXP (x1, 0);
5214 40 : if (GET_MODE (x2) != i1)
5215 : return -1;
5216 40 : x3 = XEXP (x2, 0);
5217 40 : if (GET_MODE (x3) != i1
5218 40 : || !nonimmediate_operand (operands[1], i1)
5219 40 : || !nonimmediate_operand (operands[2], i1)
5220 40 : || !nonimmediate_operand (operands[3], i1)
5221 80 : || !const0_operand (operands[4], i1))
5222 0 : return -1;
5223 : return 0;
5224 : }
5225 :
5226 : int
5227 1136 : pattern1410 (rtx x1, machine_mode i1)
5228 : {
5229 1136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5230 1136 : rtx x2, x3, x4, x5, x6;
5231 1136 : int res ATTRIBUTE_UNUSED;
5232 1136 : if (!register_operand (operands[0], i1)
5233 1136 : || GET_MODE (x1) != i1)
5234 : return -1;
5235 1085 : x2 = XVECEXP (x1, 0, 0);
5236 1085 : if (GET_MODE (x2) != i1)
5237 : return -1;
5238 1085 : x3 = XEXP (x2, 0);
5239 1085 : if (GET_MODE (x3) != i1)
5240 : return -1;
5241 1085 : x4 = XEXP (x3, 0);
5242 1085 : if (GET_MODE (x4) != i1)
5243 : return -1;
5244 1085 : x5 = XEXP (x4, 0);
5245 1085 : if (GET_MODE (x5) != i1)
5246 : return -1;
5247 1085 : x6 = XEXP (x4, 1);
5248 1085 : if (!register_operand (x6, i1))
5249 : return -1;
5250 : return 0;
5251 : }
5252 :
5253 : int
5254 1459 : pattern1418 (rtx x1)
5255 : {
5256 1459 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5257 1459 : rtx x2;
5258 1459 : int res ATTRIBUTE_UNUSED;
5259 1459 : x2 = XVECEXP (x1, 0, 1);
5260 1459 : operands[4] = x2;
5261 1459 : if (!const48_operand (operands[4], E_SImode))
5262 : return -1;
5263 1459 : return pattern1417 (x1); /* [-1, 2] */
5264 : }
5265 :
5266 : int
5267 333 : pattern1422 (rtx x1, machine_mode i1)
5268 : {
5269 333 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5270 333 : rtx x2, x3;
5271 333 : int res ATTRIBUTE_UNUSED;
5272 333 : if (!register_operand (operands[0], i1)
5273 333 : || GET_MODE (x1) != i1)
5274 : return -1;
5275 320 : x2 = XVECEXP (x1, 0, 0);
5276 320 : if (GET_MODE (x2) != i1)
5277 : return -1;
5278 320 : x3 = XEXP (x2, 0);
5279 320 : if (GET_MODE (x3) != i1
5280 320 : || !register_operand (operands[1], i1)
5281 312 : || !register_operand (operands[2], i1)
5282 627 : || !register_operand (operands[3], i1))
5283 13 : return -1;
5284 : return 0;
5285 : }
5286 :
5287 : int
5288 614 : pattern1430 (rtx x1, machine_mode i1)
5289 : {
5290 614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5291 614 : int res ATTRIBUTE_UNUSED;
5292 614 : if (!register_operand (operands[0], i1)
5293 614 : || GET_MODE (x1) != i1
5294 614 : || !nonimmediate_operand (operands[1], i1)
5295 1228 : || !register_operand (operands[2], i1))
5296 107 : return -1;
5297 : return 0;
5298 : }
5299 :
5300 : int
5301 213 : pattern1437 (rtx x1, machine_mode i1)
5302 : {
5303 213 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5304 213 : int res ATTRIBUTE_UNUSED;
5305 213 : if (GET_MODE (x1) != i1
5306 213 : || !register_operand (operands[1], i1)
5307 213 : || !nonimmediate_operand (operands[2], i1)
5308 230 : || !scratch_operand (operands[0], i1))
5309 196 : return -1;
5310 : return 0;
5311 : }
5312 :
5313 : int
5314 59 : pattern1443 (rtx x1)
5315 : {
5316 59 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5317 59 : rtx x2, x3, x4, x5, x6, x7;
5318 59 : int res ATTRIBUTE_UNUSED;
5319 59 : x2 = XEXP (x1, 0);
5320 59 : operands[0] = x2;
5321 59 : x3 = XEXP (x1, 1);
5322 59 : x4 = XEXP (x3, 0);
5323 59 : x5 = XEXP (x4, 0);
5324 59 : x6 = XEXP (x5, 1);
5325 59 : operands[2] = x6;
5326 59 : if (!register_operand (operands[2], E_QImode))
5327 : return -1;
5328 34 : x7 = XEXP (x3, 1);
5329 34 : operands[1] = x7;
5330 34 : switch (GET_MODE (operands[0]))
5331 : {
5332 22 : case E_QImode:
5333 22 : return pattern1442 (x3,
5334 22 : E_QImode); /* [-1, 0] */
5335 :
5336 12 : case E_HImode:
5337 12 : if (pattern1442 (x3,
5338 : E_HImode) != 0)
5339 : return -1;
5340 : return 1;
5341 :
5342 : default:
5343 : return -1;
5344 : }
5345 : }
5346 :
5347 : int
5348 4052 : pattern1456 (rtx x1, machine_mode i1)
5349 : {
5350 4052 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5351 4052 : rtx x2, x3;
5352 4052 : int res ATTRIBUTE_UNUSED;
5353 4052 : if (!register_operand (operands[0], i1)
5354 4052 : || !addsub_vm_operator (operands[6], i1))
5355 0 : return -1;
5356 4052 : x2 = XEXP (x1, 0);
5357 4052 : if (GET_MODE (x2) != i1
5358 4052 : || !register_operand (operands[1], i1)
5359 8104 : || !vector_operand (operands[2], i1))
5360 0 : return -1;
5361 4052 : x3 = XEXP (x1, 1);
5362 4052 : if (GET_MODE (x3) != i1
5363 4052 : || !vector_operand (operands[3], i1)
5364 8104 : || !vector_operand (operands[4], i1))
5365 0 : return -1;
5366 : return 0;
5367 : }
5368 :
5369 : int
5370 678 : pattern1464 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5371 : {
5372 678 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5373 678 : rtx x2, x3;
5374 678 : int res ATTRIBUTE_UNUSED;
5375 678 : if (!register_operand (operands[0], i1)
5376 678 : || GET_MODE (x1) != i1)
5377 : return -1;
5378 647 : x2 = XEXP (x1, 0);
5379 647 : if (GET_MODE (x2) != i1
5380 647 : || !register_operand (operands[2], i2)
5381 647 : || !register_operand (operands[1], i1)
5382 1265 : || !nonimmediate_operand (operands[3], i1))
5383 29 : return -1;
5384 618 : x3 = XEXP (x1, 1);
5385 618 : if (GET_MODE (x3) != i1
5386 618 : || !register_operand (operands[4], i3))
5387 36 : return -1;
5388 : return 0;
5389 : }
5390 :
5391 : int
5392 48 : pattern1475 (rtx x1, machine_mode i1, machine_mode i2)
5393 : {
5394 48 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5395 48 : rtx x2, x3, x4;
5396 48 : int res ATTRIBUTE_UNUSED;
5397 48 : if (!register_operand (operands[0], i1)
5398 48 : || GET_MODE (x1) != i1
5399 48 : || !vector_operand (operands[1], i1)
5400 96 : || !vector_operand (operands[2], i1))
5401 0 : return -1;
5402 48 : x2 = XEXP (x1, 2);
5403 48 : if (GET_MODE (x2) != E_QImode)
5404 : return -1;
5405 48 : x3 = XVECEXP (x2, 0, 0);
5406 48 : if (GET_MODE (x3) != i1)
5407 : return -1;
5408 48 : x4 = XEXP (x3, 0);
5409 48 : if (GET_MODE (x4) != i2
5410 48 : || !vector_operand (operands[3], i2)
5411 96 : || !const0_operand (operands[4], i1))
5412 24 : return -1;
5413 : return 0;
5414 : }
5415 :
5416 : int
5417 1188 : pattern1484 (rtx x1, machine_mode i1, machine_mode i2)
5418 : {
5419 1188 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5420 1188 : rtx x2, x3;
5421 1188 : int res ATTRIBUTE_UNUSED;
5422 1188 : if (!register_operand (operands[0], i1)
5423 1188 : || GET_MODE (x1) != i1)
5424 : return -1;
5425 1155 : x2 = XVECEXP (x1, 0, 0);
5426 1155 : if (GET_MODE (x2) != i1)
5427 : return -1;
5428 1155 : x3 = XEXP (x2, 0);
5429 1155 : if (GET_MODE (x3) != i1
5430 1155 : || !register_operand (operands[1], i1)
5431 1147 : || !nonimm_or_0_operand (operands[2], i1)
5432 2302 : || !register_operand (operands[3], i2))
5433 23 : return -1;
5434 : return 0;
5435 : }
5436 :
5437 : int
5438 89429 : pattern1491 (rtx x1, machine_mode i1, machine_mode i2)
5439 : {
5440 89429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5441 89429 : rtx x2;
5442 89429 : int res ATTRIBUTE_UNUSED;
5443 89429 : if (!nonimmediate_operand (operands[0], i1)
5444 89429 : || GET_MODE (x1) != i1)
5445 : return -1;
5446 89429 : x2 = XEXP (x1, 0);
5447 89429 : if (GET_MODE (x2) != i2
5448 89429 : || !nonimmediate_operand (operands[1], i1)
5449 178838 : || !nonimmediate_operand (operands[2], i1))
5450 213 : return -1;
5451 : return 0;
5452 : }
5453 :
5454 : int
5455 11924 : pattern1497 (rtx x1, machine_mode i1)
5456 : {
5457 11924 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5458 11924 : int res ATTRIBUTE_UNUSED;
5459 11924 : if (!nonimmediate_operand (operands[1], i1)
5460 11924 : || !general_operand (operands[2], i1)
5461 11888 : || !nonimmediate_operand (operands[0], i1)
5462 23812 : || GET_MODE (x1) != i1)
5463 36 : return -1;
5464 : return 0;
5465 : }
5466 :
5467 : int
5468 69343 : pattern1503 (rtx x1, machine_mode i1)
5469 : {
5470 69343 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5471 69343 : rtx x2, x3, x4, x5;
5472 69343 : int res ATTRIBUTE_UNUSED;
5473 69343 : if (!register_operand (operands[0], i1))
5474 : return -1;
5475 69339 : x2 = XVECEXP (x1, 0, 0);
5476 69339 : x3 = XEXP (x2, 1);
5477 69339 : if (GET_MODE (x3) != i1
5478 69339 : || !register_operand (operands[2], i1)
5479 69051 : || !const_int_operand (operands[3], i1)
5480 138390 : || !register_operand (operands[1], i1))
5481 288 : return -1;
5482 69051 : x4 = XVECEXP (x1, 0, 1);
5483 69051 : x5 = XEXP (x4, 1);
5484 69051 : if (GET_MODE (x5) != i1)
5485 : return -1;
5486 : return 0;
5487 : }
5488 :
5489 : int
5490 734 : pattern1513 (rtx x1, int i1, int i2, int i3, int i4, int i5)
5491 : {
5492 734 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5493 734 : rtx x2, x3, x4, x5, x6;
5494 734 : int res ATTRIBUTE_UNUSED;
5495 734 : x2 = XVECEXP (x1, 0, 7);
5496 734 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
5497 : return -1;
5498 734 : x3 = XVECEXP (x1, 0, 8);
5499 734 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
5500 : return -1;
5501 734 : x4 = XVECEXP (x1, 0, 9);
5502 734 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
5503 : return -1;
5504 734 : x5 = XVECEXP (x1, 0, 10);
5505 734 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
5506 : return -1;
5507 734 : x6 = XVECEXP (x1, 0, 11);
5508 734 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1]
5509 734 : || pattern1426 (x1) != 0)
5510 0 : return -1;
5511 : return 0;
5512 : }
5513 :
5514 : int
5515 121 : pattern1523 (rtx x1, machine_mode i1)
5516 : {
5517 121 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5518 121 : rtx x2;
5519 121 : int res ATTRIBUTE_UNUSED;
5520 121 : if (!register_operand (operands[0], i1)
5521 121 : || GET_MODE (x1) != i1
5522 242 : || !register_operand (operands[2], i1))
5523 20 : return -1;
5524 101 : x2 = XEXP (x1, 1);
5525 101 : if (GET_MODE (x2) != i1
5526 101 : || !nonimmediate_operand (operands[3], i1))
5527 75 : return -1;
5528 : return 0;
5529 : }
5530 :
5531 : int
5532 669776 : pattern1529 ()
5533 : {
5534 669776 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5535 669776 : int res ATTRIBUTE_UNUSED;
5536 669776 : if (!const_0_to_3_operand (operands[3], E_VOIDmode)
5537 622642 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
5538 427765 : || !const_4_to_7_operand (operands[5], E_VOIDmode)
5539 1094126 : || !const_4_to_7_operand (operands[6], E_VOIDmode))
5540 248857 : return -1;
5541 : return 0;
5542 : }
5543 :
5544 : int
5545 2935 : pattern1536 (rtx x1, machine_mode i1)
5546 : {
5547 2935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5548 2935 : int res ATTRIBUTE_UNUSED;
5549 2935 : if (!nonimmediate_operand (operands[0], i1)
5550 2935 : || GET_MODE (x1) != i1
5551 2935 : || !ix86_carry_flag_operator (operands[2], i1)
5552 5870 : || !nonimmediate_operand (operands[1], i1))
5553 849 : return -1;
5554 : return 0;
5555 : }
5556 :
5557 : int
5558 8739 : pattern1540 (rtx x1)
5559 : {
5560 8739 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5561 8739 : rtx x2;
5562 8739 : int res ATTRIBUTE_UNUSED;
5563 8739 : if (maybe_ne (SUBREG_BYTE (x1), 0)
5564 8739 : || GET_MODE (x1) != E_QImode
5565 17478 : || !nonimmediate_operand (operands[0], E_SImode))
5566 0 : return -1;
5567 8739 : x2 = XEXP (x1, 0);
5568 8739 : return pattern1243 (x2); /* [-1, 2] */
5569 : }
5570 :
5571 : int
5572 3 : pattern1547 (rtx x1, machine_mode i1)
5573 : {
5574 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5575 3 : int res ATTRIBUTE_UNUSED;
5576 3 : if (GET_MODE (x1) != i1
5577 3 : || !ix86_carry_flag_operator (operands[3], i1)
5578 3 : || !nonimmediate_operand (operands[1], i1)
5579 6 : || !x86_64_general_operand (operands[2], i1))
5580 0 : return -1;
5581 : return 0;
5582 : }
5583 :
5584 : int
5585 52 : pattern1552 (rtx x1, machine_mode i1)
5586 : {
5587 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5588 52 : rtx x2, x3, x4;
5589 52 : int res ATTRIBUTE_UNUSED;
5590 52 : if (!register_operand (operands[0], i1)
5591 52 : || GET_MODE (x1) != i1)
5592 : return -1;
5593 43 : x2 = XEXP (x1, 0);
5594 43 : if (GET_MODE (x2) != i1)
5595 : return -1;
5596 43 : x3 = XEXP (x2, 0);
5597 43 : if (GET_MODE (x3) != i1)
5598 : return -1;
5599 43 : x4 = XEXP (x3, 0);
5600 43 : if (GET_MODE (x4) != i1
5601 43 : || !nonimmediate_operand (operands[2], i1)
5602 43 : || !nonimmediate_operand (operands[1], i1)
5603 43 : || !nonimmediate_operand (operands[3], i1)
5604 86 : || !const0_operand (operands[4], i1))
5605 0 : return -1;
5606 : return 0;
5607 : }
5608 :
5609 : int
5610 190 : pattern1563 (rtx x1, machine_mode i1)
5611 : {
5612 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5613 190 : rtx x2, x3, x4, x5, x6, x7;
5614 190 : int res ATTRIBUTE_UNUSED;
5615 190 : x2 = XEXP (x1, 0);
5616 190 : if (GET_CODE (x2) != VEC_SELECT
5617 190 : || GET_MODE (x2) != i1)
5618 : return -1;
5619 190 : x3 = XEXP (x2, 1);
5620 190 : if (GET_CODE (x3) != PARALLEL
5621 190 : || XVECLEN (x3, 0) != 1)
5622 : return -1;
5623 190 : x4 = XVECEXP (x3, 0, 0);
5624 190 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5625 : return -1;
5626 190 : x5 = XEXP (x1, 1);
5627 190 : if (GET_CODE (x5) != VEC_SELECT
5628 190 : || GET_MODE (x5) != i1)
5629 : return -1;
5630 190 : x6 = XEXP (x5, 1);
5631 190 : if (GET_CODE (x6) != PARALLEL
5632 190 : || XVECLEN (x6, 0) != 1)
5633 : return -1;
5634 190 : x7 = XVECEXP (x6, 0, 0);
5635 190 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
5636 0 : return -1;
5637 : return 0;
5638 : }
5639 :
5640 : int
5641 5129 : pattern1578 (rtx x1, machine_mode i1, machine_mode i2)
5642 : {
5643 5129 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5644 5129 : rtx x2, x3, x4;
5645 5129 : int res ATTRIBUTE_UNUSED;
5646 5129 : if (!register_operand (operands[0], i2)
5647 5129 : || GET_MODE (x1) != i2)
5648 : return -1;
5649 5129 : x2 = XEXP (x1, 0);
5650 5129 : if (GET_MODE (x2) != i2)
5651 : return -1;
5652 5129 : x3 = XEXP (x2, 0);
5653 5129 : if (GET_MODE (x3) != i2
5654 5129 : || !register_operand (operands[1], i1))
5655 0 : return -1;
5656 5129 : x4 = XEXP (x1, 1);
5657 5129 : if (GET_MODE (x4) != i2
5658 5129 : || !register_operand (operands[2], i1))
5659 164 : return -1;
5660 : return 0;
5661 : }
5662 :
5663 : int
5664 104 : pattern1586 (rtx x1)
5665 : {
5666 104 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5667 104 : rtx x2, x3, x4;
5668 104 : int res ATTRIBUTE_UNUSED;
5669 104 : x2 = XEXP (x1, 2);
5670 104 : operands[3] = x2;
5671 104 : x3 = XEXP (x1, 1);
5672 104 : x4 = XEXP (x3, 0);
5673 104 : if (!rtx_equal_p (x4, operands[2]))
5674 : return -1;
5675 104 : switch (GET_MODE (operands[0]))
5676 : {
5677 17 : case E_HImode:
5678 17 : return pattern1585 (x1,
5679 17 : E_HImode); /* [-1, 0] */
5680 :
5681 69 : case E_SImode:
5682 69 : if (pattern1585 (x1,
5683 : E_SImode) != 0)
5684 : return -1;
5685 : return 1;
5686 :
5687 18 : case E_DImode:
5688 18 : if (pattern1585 (x1,
5689 : E_DImode) != 0)
5690 : return -1;
5691 : return 2;
5692 :
5693 : default:
5694 : return -1;
5695 : }
5696 : }
5697 :
5698 : int
5699 0 : pattern1594 (rtx x1, machine_mode i1, machine_mode i2)
5700 : {
5701 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5702 0 : rtx x2, x3, x4, x5;
5703 0 : int res ATTRIBUTE_UNUSED;
5704 0 : if (!register_operand (operands[0], i1)
5705 0 : || GET_MODE (x1) != i1)
5706 : return -1;
5707 0 : x2 = XVECEXP (x1, 0, 0);
5708 0 : if (GET_MODE (x2) != i1)
5709 : return -1;
5710 0 : x3 = XEXP (x2, 0);
5711 0 : if (GET_MODE (x3) != i1)
5712 : return -1;
5713 0 : x4 = XEXP (x3, 0);
5714 0 : if (GET_MODE (x4) != i1)
5715 : return -1;
5716 0 : x5 = XEXP (x4, 0);
5717 0 : if (GET_MODE (x5) != i2
5718 0 : || !nonimmediate_operand (operands[1], i2)
5719 0 : || !nonimm_or_0_operand (operands[3], i1)
5720 0 : || !register_operand (operands[2], i1))
5721 0 : return -1;
5722 : return 0;
5723 : }
5724 :
5725 : int
5726 0 : pattern1606 (rtx x1, machine_mode i1, machine_mode i2)
5727 : {
5728 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5729 0 : rtx x2, x3, x4, x5;
5730 0 : int res ATTRIBUTE_UNUSED;
5731 0 : if (!register_operand (operands[0], i1)
5732 0 : || GET_MODE (x1) != i1)
5733 : return -1;
5734 0 : x2 = XVECEXP (x1, 0, 0);
5735 0 : if (GET_MODE (x2) != i1)
5736 : return -1;
5737 0 : x3 = XEXP (x2, 0);
5738 0 : if (GET_MODE (x3) != i1
5739 0 : || !nonimmediate_operand (operands[1], i1)
5740 0 : || !register_operand (operands[2], i1))
5741 0 : return -1;
5742 0 : x4 = XEXP (x3, 2);
5743 0 : if (GET_MODE (x4) != i1
5744 0 : || !register_operand (operands[3], i1)
5745 0 : || !register_operand (operands[4], i2))
5746 0 : return -1;
5747 0 : x5 = XEXP (x2, 1);
5748 0 : if (!rtx_equal_p (x5, operands[1]))
5749 : return -1;
5750 : return 0;
5751 : }
5752 :
5753 : int
5754 270 : pattern1617 (rtx x1, machine_mode i1)
5755 : {
5756 270 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5757 270 : rtx x2, x3, x4;
5758 270 : int res ATTRIBUTE_UNUSED;
5759 270 : if (!vsib_mem_operator (operands[5], i1)
5760 270 : || !register_operand (operands[6], E_QImode))
5761 114 : return -1;
5762 156 : x2 = XEXP (x1, 1);
5763 156 : if (GET_MODE (x2) != i1
5764 156 : || !register_operand (operands[3], i1))
5765 0 : return -1;
5766 156 : x3 = XEXP (x1, 0);
5767 156 : x4 = XEXP (x3, 0);
5768 156 : switch (GET_MODE (x4))
5769 : {
5770 0 : case E_SImode:
5771 0 : return pattern1616 (
5772 0 : E_SImode); /* [-1, 1] */
5773 :
5774 156 : case E_DImode:
5775 156 : res = pattern1616 (
5776 : E_DImode);
5777 156 : if (res >= 0)
5778 88 : return res + 2; /* [2, 3] */
5779 : return -1;
5780 :
5781 : default:
5782 : return -1;
5783 : }
5784 : }
5785 :
5786 : int
5787 36 : pattern1628 (machine_mode i1)
5788 : {
5789 36 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5790 36 : int res ATTRIBUTE_UNUSED;
5791 36 : if (!vsib_address_operand (operands[3], i1))
5792 : return -1;
5793 36 : switch (GET_MODE (operands[2]))
5794 : {
5795 9 : case E_V4SImode:
5796 9 : if (!register_operand (operands[2], E_V4SImode))
5797 : return -1;
5798 : return 0;
5799 :
5800 27 : case E_V2DImode:
5801 27 : if (!register_operand (operands[2], E_V2DImode))
5802 : return -1;
5803 : return 1;
5804 :
5805 : default:
5806 : return -1;
5807 : }
5808 : }
5809 :
5810 : int
5811 13 : pattern1637 (rtx x1, machine_mode i1)
5812 : {
5813 13 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5814 13 : rtx x2, x3, x4, x5, x6;
5815 13 : int res ATTRIBUTE_UNUSED;
5816 13 : if (!nonimmediate_operand (operands[1], i1)
5817 13 : || !general_operand (operands[2], i1)
5818 25 : || !nonimmediate_operand (operands[0], i1))
5819 1 : return -1;
5820 12 : x2 = XVECEXP (x1, 0, 1);
5821 12 : x3 = XEXP (x2, 1);
5822 12 : if (GET_MODE (x3) != i1)
5823 : return -1;
5824 12 : x4 = XVECEXP (x1, 0, 0);
5825 12 : x5 = XEXP (x4, 1);
5826 12 : x6 = XEXP (x5, 1);
5827 12 : if (!rtx_equal_p (x6, operands[2]))
5828 : return -1;
5829 : return 0;
5830 : }
5831 :
5832 : int
5833 2034 : pattern1647 (rtx x1, machine_mode i1)
5834 : {
5835 2034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5836 2034 : rtx x2, x3, x4;
5837 2034 : int res ATTRIBUTE_UNUSED;
5838 2034 : if (!nonmemory_operand (operands[1], i1))
5839 : return -1;
5840 2034 : operands[3] = x1;
5841 2034 : if (!register_operand (operands[3], i1))
5842 : return -1;
5843 8 : x2 = PATTERN (peep2_next_insn (1));
5844 8 : x3 = XEXP (x2, 1);
5845 8 : if (!rtx_equal_p (x3, operands[3]))
5846 : return -1;
5847 8 : x4 = XEXP (x2, 0);
5848 8 : if (!rtx_equal_p (x4, operands[0]))
5849 : return -1;
5850 : return 0;
5851 : }
5852 :
5853 : int
5854 890 : pattern1655 (rtx x1, machine_mode i1, machine_mode i2)
5855 : {
5856 890 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5857 890 : rtx x2, x3, x4;
5858 890 : int res ATTRIBUTE_UNUSED;
5859 890 : if (!register_operand (operands[0], i1)
5860 890 : || GET_MODE (x1) != i1)
5861 : return -1;
5862 840 : x2 = XEXP (x1, 0);
5863 840 : if (GET_MODE (x2) != i1)
5864 : return -1;
5865 840 : x3 = XEXP (x2, 0);
5866 840 : if (GET_MODE (x3) != i2)
5867 : return -1;
5868 840 : x4 = XEXP (x1, 1);
5869 840 : if (!nonimm_or_0_operand (x4, i1))
5870 : return -1;
5871 : return 0;
5872 : }
5873 :
5874 : int
5875 725 : pattern1662 (rtx x1, machine_mode i1, machine_mode i2)
5876 : {
5877 725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5878 725 : rtx x2, x3;
5879 725 : int res ATTRIBUTE_UNUSED;
5880 725 : if (!register_operand (operands[0], i2)
5881 725 : || GET_MODE (x1) != i2)
5882 : return -1;
5883 705 : x2 = XVECEXP (x1, 0, 0);
5884 705 : if (GET_MODE (x2) != i2)
5885 : return -1;
5886 705 : x3 = XEXP (x2, 0);
5887 705 : if (GET_MODE (x3) != i2
5888 705 : || !register_operand (operands[1], i2)
5889 700 : || !register_operand (operands[2], i2)
5890 696 : || !register_operand (operands[3], i2)
5891 696 : || !const0_operand (operands[4], i2)
5892 1401 : || !register_operand (operands[5], i1))
5893 19 : return -1;
5894 : return 0;
5895 : }
5896 :
5897 : int
5898 115 : pattern1672 (machine_mode i1)
5899 : {
5900 115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5901 115 : int res ATTRIBUTE_UNUSED;
5902 115 : if (!vsib_address_operand (operands[4], i1))
5903 : return -1;
5904 115 : switch (GET_MODE (operands[3]))
5905 : {
5906 82 : case E_V4SImode:
5907 82 : if (!register_operand (operands[3], E_V4SImode))
5908 : return -1;
5909 : return 0;
5910 :
5911 33 : case E_V4DImode:
5912 33 : if (!register_operand (operands[3], E_V4DImode))
5913 : return -1;
5914 : return 1;
5915 :
5916 : default:
5917 : return -1;
5918 : }
5919 : }
5920 :
5921 : int
5922 31 : pattern1680 (rtx x1, machine_mode i1)
5923 : {
5924 31 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5925 31 : rtx x2, x3, x4;
5926 31 : int res ATTRIBUTE_UNUSED;
5927 31 : x2 = XVECEXP (x1, 0, 0);
5928 31 : x3 = XEXP (x2, 0);
5929 31 : if (GET_MODE (x3) != i1)
5930 : return -1;
5931 31 : x4 = XEXP (x2, 1);
5932 31 : if (GET_MODE (x4) != i1)
5933 : return -1;
5934 31 : switch (GET_MODE (operands[2]))
5935 : {
5936 19 : case E_SImode:
5937 19 : return pattern1679 (x1,
5938 19 : E_SImode); /* [-1, 0] */
5939 :
5940 12 : case E_DImode:
5941 12 : if (pattern1679 (x1,
5942 : E_DImode) != 0)
5943 : return -1;
5944 : return 1;
5945 :
5946 : default:
5947 : return -1;
5948 : }
5949 : }
5950 :
5951 : int
5952 1356 : pattern1691 (rtx x1, machine_mode i1)
5953 : {
5954 1356 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5955 1356 : rtx x2, x3, x4, x5;
5956 1356 : int res ATTRIBUTE_UNUSED;
5957 1356 : if (!register_operand (operands[0], i1)
5958 1356 : || GET_MODE (x1) != i1)
5959 : return -1;
5960 1316 : x2 = XVECEXP (x1, 0, 0);
5961 1316 : if (GET_MODE (x2) != i1)
5962 : return -1;
5963 1316 : x3 = XEXP (x2, 0);
5964 1316 : if (GET_MODE (x3) != i1)
5965 : return -1;
5966 1316 : x4 = XEXP (x3, 0);
5967 1316 : if (GET_MODE (x4) != i1
5968 1316 : || !register_operand (operands[2], i1))
5969 15 : return -1;
5970 1301 : x5 = XEXP (x4, 2);
5971 1301 : if (GET_MODE (x5) != i1)
5972 : return -1;
5973 : return 0;
5974 : }
5975 :
5976 : int
5977 541 : pattern1700 (rtx x1)
5978 : {
5979 541 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5980 541 : rtx x2, x3, x4, x5, x6, x7, x8;
5981 541 : int res ATTRIBUTE_UNUSED;
5982 541 : if (!register_operand (operands[0], E_DImode))
5983 : return -1;
5984 541 : x2 = XEXP (x1, 0);
5985 541 : x3 = XEXP (x2, 0);
5986 541 : operands[1] = x3;
5987 541 : if (!nonimmediate_operand (operands[1], E_DImode))
5988 : return -1;
5989 541 : x4 = XEXP (x1, 1);
5990 541 : if (GET_MODE (x4) != E_DImode)
5991 : return -1;
5992 541 : x5 = XEXP (x4, 0);
5993 541 : if (GET_MODE (x5) != E_TImode)
5994 : return -1;
5995 541 : x6 = XEXP (x5, 0);
5996 541 : if (GET_MODE (x6) != E_TImode)
5997 : return -1;
5998 541 : x7 = XEXP (x6, 0);
5999 541 : operands[2] = x7;
6000 541 : if (!register_operand (operands[2], E_DImode))
6001 : return -1;
6002 541 : x8 = XEXP (x5, 1);
6003 541 : operands[4] = x8;
6004 541 : if (!const_0_to_255_operand (operands[4], E_QImode))
6005 : return -1;
6006 : return 0;
6007 : }
6008 :
6009 : int
6010 10000 : pattern1711 (rtx x1)
6011 : {
6012 10000 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6013 10000 : rtx x2, x3, x4, x5, x6, x7, x8;
6014 10000 : int res ATTRIBUTE_UNUSED;
6015 10000 : x2 = XVECEXP (x1, 0, 0);
6016 10000 : x3 = XEXP (x2, 1);
6017 10000 : x4 = XVECEXP (x3, 0, 3);
6018 10000 : operands[4] = x4;
6019 10000 : if (!const_int_operand (operands[4], E_SImode))
6020 : return -1;
6021 10000 : x5 = XVECEXP (x3, 0, 1);
6022 10000 : if (!rtx_equal_p (x5, operands[0]))
6023 : return -1;
6024 7097 : x6 = XEXP (x2, 0);
6025 7097 : if (!rtx_equal_p (x6, operands[0]))
6026 : return -1;
6027 7097 : x7 = XVECEXP (x1, 0, 1);
6028 7097 : x8 = XEXP (x7, 0);
6029 7097 : if (!rtx_equal_p (x8, operands[2]))
6030 : return -1;
6031 : return 0;
6032 : }
6033 :
6034 : int
6035 215 : pattern1720 (machine_mode i1)
6036 : {
6037 215 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6038 215 : int res ATTRIBUTE_UNUSED;
6039 215 : if (!vsib_address_operand (operands[2], i1))
6040 : return -1;
6041 165 : switch (GET_MODE (operands[3]))
6042 : {
6043 66 : case E_V4SImode:
6044 66 : if (!register_operand (operands[3], E_V4SImode))
6045 : return -1;
6046 : return 0;
6047 :
6048 99 : case E_V2DImode:
6049 99 : if (!register_operand (operands[3], E_V2DImode))
6050 : return -1;
6051 : return 1;
6052 :
6053 : default:
6054 : return -1;
6055 : }
6056 : }
6057 :
6058 : int
6059 1110 : pattern1727 (machine_mode i1)
6060 : {
6061 1110 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6062 1110 : int res ATTRIBUTE_UNUSED;
6063 1110 : if (!vsib_address_operand (operands[0], i1))
6064 : return -1;
6065 1068 : switch (GET_MODE (operands[2]))
6066 : {
6067 615 : case E_V8SImode:
6068 615 : if (!register_operand (operands[2], E_V8SImode))
6069 : return -1;
6070 : return 0;
6071 :
6072 453 : case E_V8DImode:
6073 453 : if (!register_operand (operands[2], E_V8DImode))
6074 : return -1;
6075 : return 1;
6076 :
6077 : default:
6078 : return -1;
6079 : }
6080 : }
6081 :
6082 : int
6083 1443 : pattern1737 (rtx x1, machine_mode i1, machine_mode i2)
6084 : {
6085 1443 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6086 1443 : rtx x2, x3;
6087 1443 : int res ATTRIBUTE_UNUSED;
6088 1443 : if (!register_operand (operands[0], i2)
6089 1415 : || GET_MODE (x1) != i2
6090 1415 : || !register_operand (operands[6], E_QImode)
6091 855 : || !vsib_mem_operator (operands[5], i1)
6092 2298 : || !scratch_operand (operands[1], E_QImode))
6093 588 : return -1;
6094 855 : x2 = XVECEXP (x1, 0, 2);
6095 855 : x3 = XEXP (x2, 0);
6096 855 : switch (GET_MODE (x3))
6097 : {
6098 0 : case E_SImode:
6099 0 : return pattern1736 (
6100 0 : E_SImode); /* [-1, 1] */
6101 :
6102 855 : case E_DImode:
6103 855 : res = pattern1736 (
6104 : E_DImode);
6105 855 : if (res >= 0)
6106 776 : return res + 2; /* [2, 3] */
6107 : return -1;
6108 :
6109 : default:
6110 : return -1;
6111 : }
6112 : }
6113 :
6114 : int
6115 0 : pattern1749 (rtx x1, machine_mode i1)
6116 : {
6117 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6118 0 : rtx x2, x3, x4, x5;
6119 0 : int res ATTRIBUTE_UNUSED;
6120 0 : x2 = XVECEXP (x1, 0, 1);
6121 0 : if (GET_CODE (x2) != CLOBBER)
6122 : return -1;
6123 0 : x3 = XEXP (x2, 0);
6124 0 : if (GET_CODE (x3) != REG
6125 0 : || REGNO (x3) != 17
6126 0 : || GET_MODE (x3) != E_CCmode)
6127 : return -1;
6128 0 : x4 = XVECEXP (x1, 0, 0);
6129 0 : x5 = XEXP (x4, 0);
6130 0 : operands[3] = x5;
6131 0 : if (!any_QIreg_operand (operands[3], i1))
6132 : return -1;
6133 : return 0;
6134 : }
6135 :
6136 : int
6137 148 : pattern1757 (machine_mode i1)
6138 : {
6139 148 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6140 148 : int res ATTRIBUTE_UNUSED;
6141 148 : if (!vsib_address_operand (operands[0], i1))
6142 : return -1;
6143 131 : switch (GET_MODE (operands[2]))
6144 : {
6145 75 : case E_V8SImode:
6146 75 : if (!register_operand (operands[2], E_V8SImode)
6147 75 : || !register_operand (operands[3], E_V8SImode))
6148 48 : return -1;
6149 : return 0;
6150 :
6151 56 : case E_V4DImode:
6152 56 : if (!register_operand (operands[2], E_V4DImode)
6153 56 : || !register_operand (operands[3], E_V4SImode))
6154 29 : return -1;
6155 : return 1;
6156 :
6157 : default:
6158 : return -1;
6159 : }
6160 : }
6161 :
6162 : int
6163 574 : pattern1763 (machine_mode i1)
6164 : {
6165 574 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6166 574 : int res ATTRIBUTE_UNUSED;
6167 574 : if (!vsib_address_operand (operands[4], i1))
6168 : return -1;
6169 574 : switch (GET_MODE (operands[3]))
6170 : {
6171 324 : case E_V8SImode:
6172 324 : if (!register_operand (operands[3], E_V8SImode))
6173 : return -1;
6174 : return 0;
6175 :
6176 250 : case E_V8DImode:
6177 250 : if (!register_operand (operands[3], E_V8DImode))
6178 : return -1;
6179 : return 1;
6180 :
6181 : default:
6182 : return -1;
6183 : }
6184 : }
6185 :
6186 : int
6187 22 : pattern1771 (rtx x1, machine_mode i1)
6188 : {
6189 22 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6190 22 : int res ATTRIBUTE_UNUSED;
6191 22 : if (GET_MODE (x1) != i1
6192 22 : || !nonimmediate_operand (operands[1], i1)
6193 22 : || !ix86_carry_flag_operator (operands[3], i1)
6194 44 : || !x86_64_general_operand (operands[2], i1))
6195 0 : return -1;
6196 : return 0;
6197 : }
6198 :
6199 : int
6200 147368 : pattern1779 (rtx x1, machine_mode i1, machine_mode i2)
6201 : {
6202 147368 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6203 147368 : rtx x2, x3;
6204 147368 : int res ATTRIBUTE_UNUSED;
6205 147368 : if (!register_operand (operands[1], i1)
6206 147368 : || GET_MODE (x1) != i2)
6207 : return -1;
6208 146325 : x2 = XEXP (x1, 0);
6209 146325 : if (GET_MODE (x2) != i2)
6210 : return -1;
6211 146325 : x3 = XEXP (x1, 1);
6212 146325 : if (GET_MODE (x3) != i2
6213 146325 : || !x86_64_sext_operand (operands[2], i1)
6214 292301 : || !scratch_operand (operands[0], i1))
6215 429 : return -1;
6216 : return 0;
6217 : }
6218 :
6219 : int
6220 327 : pattern1787 (rtx x1, machine_mode i1, machine_mode i2)
6221 : {
6222 327 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6223 327 : rtx x2, x3, x4;
6224 327 : int res ATTRIBUTE_UNUSED;
6225 327 : if (!register_operand (operands[0], i1)
6226 327 : || GET_MODE (x1) != i1)
6227 : return -1;
6228 321 : x2 = XVECEXP (x1, 0, 0);
6229 321 : if (GET_MODE (x2) != i1)
6230 : return -1;
6231 321 : x3 = XEXP (x2, 0);
6232 321 : if (GET_MODE (x3) != i1)
6233 : return -1;
6234 321 : x4 = XEXP (x3, 0);
6235 321 : if (GET_MODE (x4) != i1
6236 321 : || !register_operand (operands[1], i1)
6237 321 : || !register_operand (operands[2], i1)
6238 321 : || !register_operand (operands[3], i2)
6239 642 : || !const0_operand (operands[5], i1))
6240 0 : return -1;
6241 : return 0;
6242 : }
6243 :
6244 : int
6245 653 : pattern1797 (rtx x1, machine_mode i1, machine_mode i2)
6246 : {
6247 653 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6248 653 : rtx x2, x3;
6249 653 : int res ATTRIBUTE_UNUSED;
6250 653 : if (!register_operand (operands[0], i1)
6251 645 : || GET_MODE (x1) != i1
6252 645 : || !vsib_mem_operator (operands[6], i2)
6253 645 : || !register_operand (operands[4], i1)
6254 1176 : || !scratch_operand (operands[1], i1))
6255 130 : return -1;
6256 523 : x2 = XVECEXP (x1, 0, 1);
6257 523 : x3 = XEXP (x2, 0);
6258 523 : switch (GET_MODE (x3))
6259 : {
6260 0 : case E_SImode:
6261 0 : return pattern1796 (
6262 0 : E_SImode); /* [-1, 1] */
6263 :
6264 523 : case E_DImode:
6265 523 : res = pattern1796 (
6266 : E_DImode);
6267 523 : if (res >= 0)
6268 435 : return res + 2; /* [2, 3] */
6269 : return -1;
6270 :
6271 : default:
6272 : return -1;
6273 : }
6274 : }
6275 :
6276 : int
6277 376 : pattern1809 (machine_mode i1)
6278 : {
6279 376 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6280 376 : int res ATTRIBUTE_UNUSED;
6281 376 : if (!vsib_address_operand (operands[2], i1))
6282 : return -1;
6283 361 : switch (GET_MODE (operands[3]))
6284 : {
6285 230 : case E_V8SImode:
6286 230 : if (!register_operand (operands[3], E_V8SImode)
6287 230 : || !register_operand (operands[4], E_V8SFmode))
6288 188 : return -1;
6289 : return 0;
6290 :
6291 131 : case E_V4DImode:
6292 131 : if (!register_operand (operands[3], E_V4DImode)
6293 131 : || !register_operand (operands[4], E_V4SFmode))
6294 118 : return -1;
6295 : return 1;
6296 :
6297 : default:
6298 : return -1;
6299 : }
6300 : }
6301 :
6302 : int
6303 1 : pattern1817 (rtx x1, machine_mode i1)
6304 : {
6305 1 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6306 1 : rtx x2;
6307 1 : int res ATTRIBUTE_UNUSED;
6308 1 : if (!general_operand (operands[2], i1)
6309 1 : || !nonimmediate_operand (operands[0], i1)
6310 2 : || GET_MODE (x1) != i1)
6311 0 : return -1;
6312 1 : x2 = XEXP (x1, 0);
6313 1 : if (GET_MODE (x2) != i1)
6314 : return -1;
6315 : return 0;
6316 : }
6317 :
6318 : int
6319 42734 : pattern1823 (rtx x1, machine_mode i1, machine_mode i2)
6320 : {
6321 42734 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6322 42734 : rtx x2, x3, x4, x5, x6, x7;
6323 42734 : int res ATTRIBUTE_UNUSED;
6324 42734 : x2 = XVECEXP (x1, 0, 0);
6325 42734 : x3 = XEXP (x2, 1);
6326 42734 : x4 = XEXP (x3, 1);
6327 42734 : if (GET_MODE (x4) != i2)
6328 : return -1;
6329 42734 : x5 = XEXP (x4, 0);
6330 42734 : if (GET_MODE (x5) != i1
6331 42734 : || !register_operand (operands[0], i1))
6332 0 : return -1;
6333 42734 : x6 = XVECEXP (x1, 0, 1);
6334 42734 : x7 = XEXP (x6, 1);
6335 42734 : if (GET_MODE (x7) != i1)
6336 : return -1;
6337 : return 0;
6338 : }
6339 :
6340 : int
6341 10 : pattern1831 (rtx x1, machine_mode i1)
6342 : {
6343 10 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6344 10 : rtx x2, x3, x4, x5;
6345 10 : int res ATTRIBUTE_UNUSED;
6346 10 : if (!register_operand (operands[2], i1))
6347 : return -1;
6348 10 : x2 = XVECEXP (x1, 0, 0);
6349 10 : x3 = XEXP (x2, 1);
6350 10 : if (GET_MODE (x3) != i1
6351 10 : || !memory_operand (operands[3], i1)
6352 20 : || !register_operand (operands[4], i1))
6353 0 : return -1;
6354 10 : x4 = XVECEXP (x1, 0, 1);
6355 10 : x5 = XEXP (x4, 1);
6356 10 : if (GET_MODE (x5) != i1)
6357 : return -1;
6358 : return 0;
6359 : }
6360 :
6361 : int
6362 234 : pattern1838 (rtx x1, machine_mode i1)
6363 : {
6364 234 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6365 234 : rtx x2, x3, x4, x5, x6, x7, x8;
6366 234 : int res ATTRIBUTE_UNUSED;
6367 234 : x2 = XEXP (x1, 0);
6368 234 : x3 = XEXP (x2, 0);
6369 234 : x4 = XEXP (x3, 0);
6370 234 : x5 = XEXP (x4, 0);
6371 234 : operands[2] = x5;
6372 234 : if (!register_operand (operands[2], i1))
6373 : return -1;
6374 233 : x6 = XEXP (x3, 2);
6375 233 : if (GET_MODE (x6) != i1
6376 233 : || !nonimmediate_operand (operands[3], i1))
6377 0 : return -1;
6378 233 : x7 = XEXP (x2, 1);
6379 233 : if (!rtx_equal_p (x7, operands[3]))
6380 : return -1;
6381 233 : x8 = XEXP (x1, 1);
6382 233 : if (!rtx_equal_p (x8, operands[3]))
6383 : return -1;
6384 : return 0;
6385 : }
6386 :
6387 : int
6388 634 : pattern1849 (rtx x1)
6389 : {
6390 634 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6391 634 : int res ATTRIBUTE_UNUSED;
6392 634 : switch (GET_MODE (operands[0]))
6393 : {
6394 464 : case E_V8SFmode:
6395 464 : if (!nonimmediate_operand (operands[0], E_V8SFmode)
6396 464 : || pattern1555 (x1,
6397 : E_V8SFmode,
6398 : E_V16SFmode) != 0)
6399 8 : return -1;
6400 : return 0;
6401 :
6402 170 : case E_V8SImode:
6403 170 : if (!nonimmediate_operand (operands[0], E_V8SImode)
6404 170 : || pattern1555 (x1,
6405 : E_V8SImode,
6406 : E_V16SImode) != 0)
6407 0 : return -1;
6408 : return 1;
6409 :
6410 : default:
6411 : return -1;
6412 : }
6413 : }
6414 :
6415 : int
6416 1053 : pattern1855 (rtx x1)
6417 : {
6418 1053 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6419 1053 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6420 1053 : rtx x10, x11;
6421 1053 : int res ATTRIBUTE_UNUSED;
6422 1053 : if (!register_operand (operands[3], E_V2DImode))
6423 : return -1;
6424 912 : x2 = XEXP (x1, 0);
6425 912 : x3 = XEXP (x2, 0);
6426 912 : x4 = XEXP (x3, 1);
6427 912 : x5 = XVECEXP (x4, 0, 0);
6428 912 : switch (XWINT (x5, 0))
6429 : {
6430 421 : case 0L:
6431 421 : x6 = XVECEXP (x4, 0, 1);
6432 421 : if (XWINT (x6, 0) != 2L)
6433 : return -1;
6434 421 : x7 = XEXP (x1, 1);
6435 421 : x8 = XEXP (x7, 0);
6436 421 : x9 = XEXP (x8, 1);
6437 421 : x10 = XVECEXP (x9, 0, 0);
6438 421 : if (XWINT (x10, 0) != 0L)
6439 : return -1;
6440 421 : x11 = XVECEXP (x9, 0, 1);
6441 421 : if (XWINT (x11, 0) != 2L)
6442 0 : return -1;
6443 : return 0;
6444 :
6445 491 : case 1L:
6446 491 : x6 = XVECEXP (x4, 0, 1);
6447 491 : if (XWINT (x6, 0) != 3L)
6448 : return -1;
6449 491 : x7 = XEXP (x1, 1);
6450 491 : x8 = XEXP (x7, 0);
6451 491 : x9 = XEXP (x8, 1);
6452 491 : x10 = XVECEXP (x9, 0, 0);
6453 491 : if (XWINT (x10, 0) != 1L)
6454 : return -1;
6455 491 : x11 = XVECEXP (x9, 0, 1);
6456 491 : if (XWINT (x11, 0) != 3L)
6457 0 : return -1;
6458 : return 1;
6459 :
6460 : default:
6461 : return -1;
6462 : }
6463 : }
6464 :
6465 : int
6466 614 : pattern1867 (rtx x1, machine_mode i1, machine_mode i2)
6467 : {
6468 614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6469 614 : int res ATTRIBUTE_UNUSED;
6470 614 : if (!register_operand (operands[2], i1)
6471 614 : || !register_operand (operands[4], i2))
6472 44 : return -1;
6473 570 : return pattern1866 (x1,
6474 570 : i1); /* [-1, 1] */
6475 : }
6476 :
6477 : int
6478 1107 : pattern1873 (rtx x1, machine_mode i1)
6479 : {
6480 1107 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6481 1107 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6482 1107 : int res ATTRIBUTE_UNUSED;
6483 1107 : operands[5] = x1;
6484 1107 : if (!register_operand (operands[5], i1))
6485 : return -1;
6486 58 : x2 = PATTERN (peep2_next_insn (3));
6487 58 : x3 = XEXP (x2, 1);
6488 58 : if (!rtx_equal_p (x3, operands[5]))
6489 : return -1;
6490 5 : x4 = XEXP (x2, 0);
6491 5 : if (!rtx_equal_p (x4, operands[1]))
6492 : return -1;
6493 5 : x5 = PATTERN (peep2_next_insn (4));
6494 5 : if (GET_CODE (x5) != SET)
6495 : return -1;
6496 5 : x6 = XEXP (x5, 1);
6497 5 : if (GET_CODE (x6) != COMPARE)
6498 : return -1;
6499 0 : x7 = XEXP (x6, 1);
6500 0 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6501 : return -1;
6502 0 : x8 = XEXP (x5, 0);
6503 0 : if (GET_CODE (x8) != REG
6504 0 : || REGNO (x8) != 17)
6505 : return -1;
6506 0 : x9 = XEXP (x6, 0);
6507 0 : if (!rtx_equal_p (x9, operands[5]))
6508 : return -1;
6509 : return 0;
6510 : }
6511 :
6512 : int
6513 17263 : pattern1882 (rtx x1, machine_mode i1, machine_mode i2)
6514 : {
6515 17263 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6516 17263 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6517 17263 : rtx x10;
6518 17263 : int res ATTRIBUTE_UNUSED;
6519 17263 : x2 = XVECEXP (x1, 0, 0);
6520 17263 : x3 = XEXP (x2, 1);
6521 17263 : x4 = XEXP (x3, 0);
6522 17263 : x5 = XEXP (x4, 0);
6523 17263 : if (GET_MODE (x5) != i1)
6524 : return -1;
6525 17263 : x6 = XEXP (x5, 0);
6526 17263 : if (GET_MODE (x6) != i1
6527 17263 : || !ix86_carry_flag_operator (operands[5], i1)
6528 17263 : || !nonimmediate_operand (operands[1], i1)
6529 34446 : || !x86_64_immediate_operand (operands[2], i1))
6530 16439 : return -1;
6531 824 : x7 = XEXP (x3, 1);
6532 824 : if (GET_MODE (x7) != i2
6533 824 : || !ix86_carry_flag_operator (operands[4], i2)
6534 824 : || !const_scalar_int_operand (operands[6], i2)
6535 1644 : || !nonimmediate_operand (operands[0], i1))
6536 4 : return -1;
6537 820 : x8 = XVECEXP (x1, 0, 1);
6538 820 : x9 = XEXP (x8, 1);
6539 820 : if (GET_MODE (x9) != i1)
6540 : return -1;
6541 820 : x10 = XEXP (x9, 0);
6542 820 : if (GET_MODE (x10) != i1)
6543 : return -1;
6544 : return 0;
6545 : }
6546 :
6547 : int
6548 871 : pattern1891 (rtx x1, int i1)
6549 : {
6550 871 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6551 871 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6552 871 : int res ATTRIBUTE_UNUSED;
6553 871 : if (XVECLEN (x1, 0) != i1)
6554 : return -1;
6555 871 : x2 = XVECEXP (x1, 0, 0);
6556 871 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6557 : return -1;
6558 871 : x3 = XVECEXP (x1, 0, 1);
6559 871 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6560 : return -1;
6561 871 : x4 = XVECEXP (x1, 0, 2);
6562 871 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6563 : return -1;
6564 871 : x5 = XVECEXP (x1, 0, 3);
6565 871 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6566 : return -1;
6567 871 : x6 = XVECEXP (x1, 0, 4);
6568 871 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 9])
6569 : return -1;
6570 871 : x7 = XVECEXP (x1, 0, 5);
6571 871 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 11])
6572 : return -1;
6573 871 : x8 = XVECEXP (x1, 0, 6);
6574 871 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 13])
6575 : return -1;
6576 871 : x9 = XVECEXP (x1, 0, 7);
6577 871 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 15])
6578 0 : return -1;
6579 : return 0;
6580 : }
6581 :
6582 : int
6583 499 : pattern1901 (rtx x1, machine_mode i1)
6584 : {
6585 499 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6586 499 : rtx x2;
6587 499 : int res ATTRIBUTE_UNUSED;
6588 499 : if (!x86_64_immediate_operand (operands[2], i1)
6589 499 : || !nonimmediate_operand (operands[0], i1)
6590 998 : || GET_MODE (x1) != i1)
6591 0 : return -1;
6592 499 : x2 = XEXP (x1, 0);
6593 499 : if (GET_MODE (x2) != i1)
6594 : return -1;
6595 : return 0;
6596 : }
6597 :
6598 : int
6599 968 : pattern1905 (rtx x1, machine_mode i1, machine_mode i2)
6600 : {
6601 968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6602 968 : rtx x2, x3, x4, x5, x6, x7;
6603 968 : int res ATTRIBUTE_UNUSED;
6604 968 : x2 = XVECEXP (x1, 0, 0);
6605 968 : x3 = XEXP (x2, 1);
6606 968 : x4 = XEXP (x3, 0);
6607 968 : x5 = XEXP (x4, 0);
6608 968 : if (GET_MODE (x5) != i2)
6609 : return -1;
6610 968 : x6 = XEXP (x5, 0);
6611 968 : if (GET_MODE (x6) != i2
6612 968 : || !nonimmediate_operand (operands[1], i1)
6613 1936 : || !ix86_carry_flag_operator (operands[4], i2))
6614 0 : return -1;
6615 968 : x7 = XEXP (x4, 1);
6616 968 : if (GET_MODE (x7) != i2
6617 968 : || !x86_64_sext_operand (operands[2], i1)
6618 1936 : || pattern1903 (x1,
6619 : i1,
6620 : i2) != 0)
6621 0 : return -1;
6622 : return 0;
6623 : }
6624 :
6625 : int
6626 1597 : pattern1913 (rtx x1)
6627 : {
6628 1597 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6629 1597 : rtx x2, x3, x4, x5;
6630 1597 : int res ATTRIBUTE_UNUSED;
6631 1597 : x2 = XVECEXP (x1, 0, 24);
6632 1597 : if (XWINT (x2, 0) != 24L)
6633 : return -1;
6634 1597 : x3 = XVECEXP (x1, 0, 25);
6635 1597 : if (XWINT (x3, 0) != 25L)
6636 : return -1;
6637 1597 : x4 = XVECEXP (x1, 0, 26);
6638 1597 : if (XWINT (x4, 0) != 26L)
6639 : return -1;
6640 1597 : x5 = XVECEXP (x1, 0, 27);
6641 1597 : if (XWINT (x5, 0) != 27L)
6642 0 : return -1;
6643 : return 0;
6644 : }
6645 :
6646 : int
6647 1060 : pattern1916 (rtx x1)
6648 : {
6649 1060 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6650 1060 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6651 1060 : int res ATTRIBUTE_UNUSED;
6652 1060 : x2 = XVECEXP (x1, 0, 24);
6653 1060 : if (XWINT (x2, 0) != 28L)
6654 : return -1;
6655 1060 : x3 = XVECEXP (x1, 0, 25);
6656 1060 : if (XWINT (x3, 0) != 60L)
6657 : return -1;
6658 1060 : x4 = XVECEXP (x1, 0, 26);
6659 1060 : if (XWINT (x4, 0) != 29L)
6660 : return -1;
6661 1060 : x5 = XVECEXP (x1, 0, 27);
6662 1060 : if (XWINT (x5, 0) != 61L)
6663 : return -1;
6664 1060 : x6 = XVECEXP (x1, 0, 28);
6665 1060 : if (XWINT (x6, 0) != 30L)
6666 : return -1;
6667 1060 : x7 = XVECEXP (x1, 0, 29);
6668 1060 : if (XWINT (x7, 0) != 62L)
6669 : return -1;
6670 1060 : x8 = XVECEXP (x1, 0, 30);
6671 1060 : if (XWINT (x8, 0) != 31L)
6672 : return -1;
6673 1060 : x9 = XVECEXP (x1, 0, 31);
6674 1060 : if (XWINT (x9, 0) != 63L)
6675 0 : return -1;
6676 : return 0;
6677 : }
6678 :
6679 : int
6680 2976 : recog_7 (rtx x1 ATTRIBUTE_UNUSED,
6681 : rtx_insn *insn ATTRIBUTE_UNUSED,
6682 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6683 : {
6684 2976 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6685 2976 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6686 2976 : rtx x10;
6687 2976 : int res ATTRIBUTE_UNUSED;
6688 2976 : x2 = XEXP (x1, 1);
6689 2976 : if (GET_MODE (x2) != E_HImode)
6690 : return -1;
6691 2976 : x3 = XEXP (x1, 0);
6692 2976 : operands[0] = x3;
6693 2976 : if (!register_operand (operands[0], E_HImode))
6694 : return -1;
6695 2976 : x4 = XVECEXP (x2, 0, 0);
6696 2976 : if (GET_MODE (x4) != E_CCFPmode)
6697 : return -1;
6698 2976 : switch (GET_CODE (x4))
6699 : {
6700 0 : case COMPARE:
6701 0 : x5 = XEXP (x4, 0);
6702 0 : operands[1] = x5;
6703 0 : x6 = XEXP (x4, 1);
6704 0 : switch (GET_CODE (x6))
6705 : {
6706 0 : case CONST_INT:
6707 0 : case CONST_DOUBLE:
6708 0 : case CONST_VECTOR:
6709 0 : case REG:
6710 0 : case SUBREG:
6711 0 : case MEM:
6712 0 : operands[2] = x6;
6713 0 : switch (GET_MODE (operands[1]))
6714 : {
6715 0 : case E_XFmode:
6716 0 : if (!register_operand (operands[1], E_XFmode)
6717 0 : || !reg_or_0_operand (operands[2], E_XFmode)
6718 0 : || !
6719 : #line 1946 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6720 : (TARGET_80387))
6721 : return -1;
6722 : return 39; /* *cmpxf_i387 */
6723 :
6724 : case E_SFmode:
6725 : if (!register_operand (operands[1], E_SFmode)
6726 : || !nonimm_or_0_operand (operands[2], E_SFmode)
6727 : || !
6728 : #line 1959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6729 : (TARGET_80387))
6730 : return -1;
6731 : return 40; /* *cmpsf_i387 */
6732 :
6733 : case E_DFmode:
6734 : if (!register_operand (operands[1], E_DFmode)
6735 : || !nonimm_or_0_operand (operands[2], E_DFmode)
6736 : || !
6737 : #line 1959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6738 : (TARGET_80387))
6739 : return -1;
6740 : return 41; /* *cmpdf_i387 */
6741 :
6742 : default:
6743 : return -1;
6744 : }
6745 :
6746 : case FLOAT:
6747 : x7 = XEXP (x6, 0);
6748 : operands[2] = x7;
6749 : switch (GET_MODE (operands[1]))
6750 : {
6751 : case E_SFmode:
6752 : switch (pattern1273 (x6,
6753 : E_SFmode))
6754 : {
6755 : case 0:
6756 : if (!
6757 : #line 1973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6758 : (TARGET_80387
6759 : && (TARGET_USE_HIMODE_FIOP
6760 : || optimize_function_for_size_p (cfun))))
6761 : return -1;
6762 : return 42; /* *cmpsf_hi_i387 */
6763 :
6764 : case 1:
6765 : if (!
6766 : #line 1973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6767 : (TARGET_80387
6768 : && (TARGET_USE_SIMODE_FIOP
6769 : || optimize_function_for_size_p (cfun))))
6770 : return -1;
6771 : return 45; /* *cmpsf_si_i387 */
6772 :
6773 : default:
6774 : return -1;
6775 : }
6776 :
6777 : case E_DFmode:
6778 : switch (pattern1273 (x6,
6779 : E_DFmode))
6780 : {
6781 : case 0:
6782 : if (!
6783 : #line 1973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6784 : (TARGET_80387
6785 : && (TARGET_USE_HIMODE_FIOP
6786 : || optimize_function_for_size_p (cfun))))
6787 : return -1;
6788 : return 43; /* *cmpdf_hi_i387 */
6789 :
6790 : case 1:
6791 : if (!
6792 : #line 1973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6793 : (TARGET_80387
6794 : && (TARGET_USE_SIMODE_FIOP
6795 : || optimize_function_for_size_p (cfun))))
6796 : return -1;
6797 : return 46; /* *cmpdf_si_i387 */
6798 :
6799 : default:
6800 : return -1;
6801 : }
6802 :
6803 : case E_XFmode:
6804 : switch (pattern1273 (x6,
6805 : E_XFmode))
6806 : {
6807 : case 0:
6808 : if (!
6809 : #line 1973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6810 : (TARGET_80387
6811 : && (TARGET_USE_HIMODE_FIOP
6812 : || optimize_function_for_size_p (cfun))))
6813 : return -1;
6814 : return 44; /* *cmpxf_hi_i387 */
6815 :
6816 : case 1:
6817 : if (!
6818 : #line 1973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6819 : (TARGET_80387
6820 : && (TARGET_USE_SIMODE_FIOP
6821 : || optimize_function_for_size_p (cfun))))
6822 : return -1;
6823 : return 47; /* *cmpxf_si_i387 */
6824 :
6825 : default:
6826 : return -1;
6827 : }
6828 :
6829 : default:
6830 : return -1;
6831 : }
6832 :
6833 : default:
6834 : return -1;
6835 : }
6836 :
6837 : case UNSPEC:
6838 : if (XVECLEN (x4, 0) != 1
6839 : || XINT (x4, 1) != 27)
6840 : return -1;
6841 : x8 = XVECEXP (x4, 0, 0);
6842 : if (GET_CODE (x8) != COMPARE
6843 : || GET_MODE (x8) != E_CCFPmode)
6844 : return -1;
6845 : x9 = XEXP (x8, 0);
6846 : operands[1] = x9;
6847 : x10 = XEXP (x8, 1);
6848 : operands[2] = x10;
6849 : switch (GET_MODE (operands[1]))
6850 : {
6851 : case E_SFmode:
6852 : if (!register_operand (operands[1], E_SFmode)
6853 : || !register_operand (operands[2], E_SFmode)
6854 : || !
6855 : #line 1991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6856 : (TARGET_80387))
6857 : return -1;
6858 : return 48; /* *cmpusf_i387 */
6859 :
6860 : case E_DFmode:
6861 : if (!register_operand (operands[1], E_DFmode)
6862 : || !register_operand (operands[2], E_DFmode)
6863 : || !
6864 : #line 1991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6865 : (TARGET_80387))
6866 : return -1;
6867 : return 49; /* *cmpudf_i387 */
6868 :
6869 : case E_XFmode:
6870 : if (!register_operand (operands[1], E_XFmode)
6871 : || !register_operand (operands[2], E_XFmode)
6872 : || !
6873 : #line 1991 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6874 : (TARGET_80387))
6875 : return -1;
6876 : return 50; /* *cmpuxf_i387 */
6877 :
6878 : default:
6879 : return -1;
6880 : }
6881 :
6882 : case REG:
6883 : if (REGNO (x4) != 18
6884 : || !
6885 : #line 24169 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6886 : (TARGET_80387))
6887 : return -1;
6888 : return 1740; /* x86_fnstsw_1 */
6889 :
6890 : default:
6891 : return -1;
6892 : }
6893 : }
6894 :
6895 : int
6896 : recog_14 (rtx x1 ATTRIBUTE_UNUSED,
6897 : rtx_insn *insn ATTRIBUTE_UNUSED,
6898 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6899 : {
6900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6901 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6902 : rtx x10, x11;
6903 : int res ATTRIBUTE_UNUSED;
6904 : x2 = XEXP (x1, 1);
6905 : switch (XVECLEN (x2, 0))
6906 : {
6907 : case 1:
6908 : return recog_13 (x1, insn, pnum_clobbers);
6909 :
6910 : case 2:
6911 : return recog_12 (x1, insn, pnum_clobbers);
6912 :
6913 : case 3:
6914 : switch (XINT (x2, 1))
6915 : {
6916 : case 40:
6917 : if (pnum_clobbers == NULL
6918 : || GET_MODE (x2) != E_CCGZmode)
6919 : return -1;
6920 : x3 = XVECEXP (x2, 0, 2);
6921 : if (GET_CODE (x3) != LTU)
6922 : return -1;
6923 : x4 = XEXP (x3, 0);
6924 : if (GET_CODE (x4) != REG
6925 : || REGNO (x4) != 17
6926 : || GET_MODE (x4) != E_CCmode)
6927 : return -1;
6928 : x5 = XEXP (x3, 1);
6929 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6930 : return -1;
6931 : x6 = XEXP (x1, 0);
6932 : if (GET_CODE (x6) != REG
6933 : || REGNO (x6) != 17
6934 : || GET_MODE (x6) != E_CCGZmode)
6935 : return -1;
6936 : x7 = XVECEXP (x2, 0, 0);
6937 : operands[1] = x7;
6938 : x8 = XVECEXP (x2, 0, 1);
6939 : operands[2] = x8;
6940 : switch (GET_MODE (operands[1]))
6941 : {
6942 : case E_SImode:
6943 : if (!register_operand (operands[1], E_SImode)
6944 : || !x86_64_general_operand (operands[2], E_SImode)
6945 : || GET_MODE (x3) != E_SImode
6946 : || !
6947 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6948 : (!TARGET_64BIT))
6949 : return -1;
6950 : *pnum_clobbers = 1;
6951 : return 549; /* subsi3_carry_ccgz */
6952 :
6953 : case E_DImode:
6954 : if (!register_operand (operands[1], E_DImode)
6955 : || !x86_64_general_operand (operands[2], E_DImode)
6956 : || GET_MODE (x3) != E_DImode
6957 : || !
6958 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6959 : (TARGET_64BIT))
6960 : return -1;
6961 : *pnum_clobbers = 1;
6962 : return 550; /* subdi3_carry_ccgz */
6963 :
6964 : default:
6965 : return -1;
6966 : }
6967 :
6968 : case 60:
6969 : return recog_11 (x1, insn, pnum_clobbers);
6970 :
6971 : case 49:
6972 : if (GET_MODE (x2) != E_HFmode)
6973 : return -1;
6974 : x6 = XEXP (x1, 0);
6975 : operands[0] = x6;
6976 : if (!nonimmediate_operand (operands[0], E_HFmode))
6977 : return -1;
6978 : x7 = XVECEXP (x2, 0, 0);
6979 : operands[1] = x7;
6980 : if (!nonimmediate_operand (operands[1], E_HFmode))
6981 : return -1;
6982 : x8 = XVECEXP (x2, 0, 1);
6983 : operands[2] = x8;
6984 : if (!nonimm_or_0_operand (operands[2], E_HFmode))
6985 : return -1;
6986 : x3 = XVECEXP (x2, 0, 2);
6987 : operands[3] = x3;
6988 : if (!register_operand (operands[3], E_QImode)
6989 : || !
6990 : #line 26950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6991 : (TARGET_AVX512FP16))
6992 : return -1;
6993 : return 1835; /* movhf_mask */
6994 :
6995 : case 52:
6996 : x6 = XEXP (x1, 0);
6997 : operands[0] = x6;
6998 : x7 = XVECEXP (x2, 0, 0);
6999 : operands[1] = x7;
7000 : x8 = XVECEXP (x2, 0, 1);
7001 : operands[2] = x8;
7002 : x3 = XVECEXP (x2, 0, 2);
7003 : switch (GET_CODE (x3))
7004 : {
7005 : case LT:
7006 : switch (pattern743 (x2))
7007 : {
7008 : case 0:
7009 : if (
7010 : #line 27185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7011 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
7012 : && (rtx_equal_p (operands[1], operands[3])
7013 : && rtx_equal_p (operands[2], operands[4]))
7014 : && ix86_pre_reload_split ()))
7015 : return 1853; /* *ieee_maxsf3_1 */
7016 : if (!
7017 : #line 27206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7018 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
7019 : && (rtx_equal_p (operands[1], operands[4])
7020 : && rtx_equal_p (operands[2], operands[3]))
7021 : && ix86_pre_reload_split ()))
7022 : return -1;
7023 : return 1855; /* *ieee_minsf3_1 */
7024 :
7025 : case 1:
7026 : if (
7027 : #line 27185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7028 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
7029 : && (rtx_equal_p (operands[1], operands[3])
7030 : && rtx_equal_p (operands[2], operands[4]))
7031 : && ix86_pre_reload_split ()))
7032 : return 1854; /* *ieee_maxdf3_1 */
7033 : if (!
7034 : #line 27206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7035 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
7036 : && (rtx_equal_p (operands[1], operands[4])
7037 : && rtx_equal_p (operands[2], operands[3]))
7038 : && ix86_pre_reload_split ()))
7039 : return -1;
7040 : return 1856; /* *ieee_mindf3_1 */
7041 :
7042 : default:
7043 : return -1;
7044 : }
7045 :
7046 : case REG:
7047 : case SUBREG:
7048 : operands[3] = x3;
7049 : switch (GET_MODE (operands[0]))
7050 : {
7051 : case E_V2SFmode:
7052 : if (pattern971 (x2,
7053 : E_V2SFmode) == 0
7054 : &&
7055 : #line 1342 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7056 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7057 : return 2123; /* mmx_blendvps */
7058 : break;
7059 :
7060 : case E_V8QImode:
7061 : if (pattern971 (x2,
7062 : E_V8QImode) == 0
7063 : &&
7064 : #line 4346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7065 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7066 : return 2289; /* mmx_pblendvb_v8qi */
7067 : break;
7068 :
7069 : case E_V4QImode:
7070 : if (pattern971 (x2,
7071 : E_V4QImode) == 0
7072 : &&
7073 : #line 4423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7074 : (TARGET_SSE4_1))
7075 : return 2293; /* mmx_pblendvb_v4qi */
7076 : break;
7077 :
7078 : case E_V2QImode:
7079 : if (pattern971 (x2,
7080 : E_V2QImode) == 0
7081 : &&
7082 : #line 4423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7083 : (TARGET_SSE4_1))
7084 : return 2294; /* mmx_pblendvb_v2qi */
7085 : break;
7086 :
7087 : case E_V2HImode:
7088 : if (pattern971 (x2,
7089 : E_V2HImode) == 0
7090 : &&
7091 : #line 4423 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7092 : (TARGET_SSE4_1))
7093 : return 2295; /* mmx_pblendvb_v2hi */
7094 : break;
7095 :
7096 : case E_SFmode:
7097 : if (pattern971 (x2,
7098 : E_SFmode) == 0
7099 : &&
7100 : #line 24063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7101 : (TARGET_SSE4_1))
7102 : return 8743; /* sse4_1_blendvss */
7103 : break;
7104 :
7105 : case E_DFmode:
7106 : if (pattern971 (x2,
7107 : E_DFmode) == 0
7108 : &&
7109 : #line 24063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7110 : (TARGET_SSE4_1))
7111 : return 8744; /* sse4_1_blendvsd */
7112 : break;
7113 :
7114 : default:
7115 : break;
7116 : }
7117 : if (GET_CODE (x3) != SUBREG)
7118 : return -1;
7119 : switch (pattern859 (x2))
7120 : {
7121 : case 0:
7122 : if (!
7123 : #line 4399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7124 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7125 : return -1;
7126 : return 2291; /* *mmx_pblendvb_v8qi_2 */
7127 :
7128 : case 1:
7129 : if (!
7130 : #line 4399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7131 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7132 : return -1;
7133 : return 2292; /* *mmx_pblendvb_v8qi_2 */
7134 :
7135 : case 2:
7136 : if (!
7137 : #line 4476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7138 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7139 : return -1;
7140 : return 2299; /* *mmx_pblendvb_v4qi_2 */
7141 :
7142 : default:
7143 : return -1;
7144 : }
7145 :
7146 : case EQ:
7147 : switch (pattern745 (x2))
7148 : {
7149 : case 0:
7150 : if (!
7151 : #line 4371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7152 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
7153 : return -1;
7154 : return 2290; /* *mmx_pblendvb_v8qi_1 */
7155 :
7156 : case 1:
7157 : if (!
7158 : #line 4448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7159 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7160 : return -1;
7161 : return 2296; /* *mmx_pblendvb_v4qi_1 */
7162 :
7163 : case 2:
7164 : if (!
7165 : #line 4448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7166 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7167 : return -1;
7168 : return 2297; /* *mmx_pblendvb_v2qi_1 */
7169 :
7170 : case 3:
7171 : if (!
7172 : #line 4448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7173 : (TARGET_SSE2 && ix86_pre_reload_split ()))
7174 : return -1;
7175 : return 2298; /* *mmx_pblendvb_v2hi_1 */
7176 :
7177 : default:
7178 : return -1;
7179 : }
7180 :
7181 : default:
7182 : return -1;
7183 : }
7184 :
7185 : case 51:
7186 : x6 = XEXP (x1, 0);
7187 : operands[0] = x6;
7188 : x7 = XVECEXP (x2, 0, 0);
7189 : operands[2] = x7;
7190 : x8 = XVECEXP (x2, 0, 1);
7191 : operands[1] = x8;
7192 : x3 = XVECEXP (x2, 0, 2);
7193 : operands[3] = x3;
7194 : if (!const_0_to_255_operand (operands[3], E_SImode))
7195 : return -1;
7196 : switch (GET_MODE (operands[0]))
7197 : {
7198 : case E_V2SFmode:
7199 : if (pattern972 (x2,
7200 : E_V2SFmode) != 0
7201 : || !
7202 : #line 1285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7203 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7204 : return -1;
7205 : return 2120; /* sse4_1_insertps_v2sf */
7206 :
7207 : case E_V2SImode:
7208 : if (pattern972 (x2,
7209 : E_V2SImode) != 0
7210 : || !
7211 : #line 1285 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7212 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
7213 : return -1;
7214 : return 2121; /* sse4_1_insertps_v2si */
7215 :
7216 : default:
7217 : return -1;
7218 : }
7219 :
7220 : case 54:
7221 : x6 = XEXP (x1, 0);
7222 : operands[0] = x6;
7223 : x7 = XVECEXP (x2, 0, 0);
7224 : operands[1] = x7;
7225 : x8 = XVECEXP (x2, 0, 1);
7226 : operands[2] = x8;
7227 : x3 = XVECEXP (x2, 0, 2);
7228 : operands[3] = x3;
7229 : if (!nonimmediate_operand (operands[3], E_V16QImode))
7230 : return -1;
7231 : switch (GET_MODE (operands[0]))
7232 : {
7233 : case E_V8QImode:
7234 : if (pattern973 (x2,
7235 : E_V8QImode) != 0
7236 : || !
7237 : #line 4546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7238 : (TARGET_XOP && TARGET_MMX_WITH_SSE))
7239 : return -1;
7240 : return 2311; /* mmx_ppermv64 */
7241 :
7242 : case E_V4QImode:
7243 : if (pattern973 (x2,
7244 : E_V4QImode) != 0
7245 : || !
7246 : #line 4558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7247 : (TARGET_XOP))
7248 : return -1;
7249 : return 2312; /* mmx_ppermv32 */
7250 :
7251 : default:
7252 : return -1;
7253 : }
7254 :
7255 : case 48:
7256 : if (GET_MODE (x2) != E_V8QImode)
7257 : return -1;
7258 : x3 = XVECEXP (x2, 0, 2);
7259 : if (GET_CODE (x3) != MEM
7260 : || GET_MODE (x3) != E_V8QImode)
7261 : return -1;
7262 : x6 = XEXP (x1, 0);
7263 : if (GET_CODE (x6) != MEM
7264 : || GET_MODE (x6) != E_V8QImode)
7265 : return -1;
7266 : x9 = XEXP (x6, 0);
7267 : operands[0] = x9;
7268 : x7 = XVECEXP (x2, 0, 0);
7269 : operands[1] = x7;
7270 : switch (pattern1080 (x2,
7271 : E_V8QImode))
7272 : {
7273 : case 0:
7274 : if (!(
7275 : #line 6918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7276 : (TARGET_SSE || TARGET_3DNOW_A) &&
7277 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7278 : (Pmode == SImode)))
7279 : return -1;
7280 : return 2433; /* *mmx_maskmovq */
7281 :
7282 : case 1:
7283 : if (!(
7284 : #line 6918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7285 : (TARGET_SSE || TARGET_3DNOW_A) &&
7286 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7287 : (Pmode == DImode)))
7288 : return -1;
7289 : return 2434; /* *mmx_maskmovq */
7290 :
7291 : default:
7292 : return -1;
7293 : }
7294 :
7295 : case 158:
7296 : switch (pattern74 (x1))
7297 : {
7298 : case 0:
7299 : x3 = XVECEXP (x2, 0, 2);
7300 : operands[3] = x3;
7301 : if (const_0_to_7_operand (operands[3], E_SImode))
7302 : {
7303 : x8 = XVECEXP (x2, 0, 1);
7304 : operands[2] = x8;
7305 : switch (GET_MODE (operands[0]))
7306 : {
7307 : case E_HImode:
7308 : switch (pattern600 (x2))
7309 : {
7310 : case 0:
7311 : if ((
7312 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7313 : (TARGET_AVX512F && ix86_pre_reload_split ()
7314 : && rtx_equal_p (operands[1], operands[2])
7315 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7316 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7317 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7318 : return 3534; /* *avx512vl_cmpv16qi3_dup_op */
7319 : break;
7320 :
7321 : case 1:
7322 : if ((
7323 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7324 : (TARGET_AVX512F && ix86_pre_reload_split ()
7325 : && rtx_equal_p (operands[1], operands[2])
7326 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7327 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7328 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7329 : return 3538; /* *avx512vl_cmpv16hi3_dup_op */
7330 : break;
7331 :
7332 : case 2:
7333 : if (
7334 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7335 : (TARGET_AVX512F && ix86_pre_reload_split ()
7336 : && rtx_equal_p (operands[1], operands[2])
7337 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
7338 : return 3542; /* *avx512f_cmpv16si3_dup_op */
7339 : break;
7340 :
7341 : default:
7342 : break;
7343 : }
7344 : break;
7345 :
7346 : case E_QImode:
7347 : switch (pattern601 (x2))
7348 : {
7349 : case 0:
7350 : if ((
7351 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7352 : (TARGET_AVX512F && ix86_pre_reload_split ()
7353 : && rtx_equal_p (operands[1], operands[2])
7354 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7355 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7356 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7357 : return 3540; /* *avx512vl_cmpv8hi3_dup_op */
7358 : break;
7359 :
7360 : case 1:
7361 : if ((
7362 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7363 : (TARGET_AVX512F && ix86_pre_reload_split ()
7364 : && rtx_equal_p (operands[1], operands[2])
7365 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7366 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7367 : (TARGET_AVX512VL)))
7368 : return 3544; /* *avx512vl_cmpv8si3_dup_op */
7369 : break;
7370 :
7371 : case 2:
7372 : if ((
7373 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7374 : (TARGET_AVX512F && ix86_pre_reload_split ()
7375 : && rtx_equal_p (operands[1], operands[2])
7376 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7377 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7378 : (TARGET_AVX512VL)))
7379 : return 3546; /* *avx512vl_cmpv4si3_dup_op */
7380 : break;
7381 :
7382 : case 3:
7383 : if (
7384 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7385 : (TARGET_AVX512F && ix86_pre_reload_split ()
7386 : && rtx_equal_p (operands[1], operands[2])
7387 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))))
7388 : return 3548; /* *avx512f_cmpv8di3_dup_op */
7389 : break;
7390 :
7391 : case 4:
7392 : if ((
7393 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7394 : (TARGET_AVX512F && ix86_pre_reload_split ()
7395 : && rtx_equal_p (operands[1], operands[2])
7396 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7397 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7398 : (TARGET_AVX512VL)))
7399 : return 3550; /* *avx512vl_cmpv4di3_dup_op */
7400 : break;
7401 :
7402 : case 5:
7403 : if ((
7404 : #line 4945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7405 : (TARGET_AVX512F && ix86_pre_reload_split ()
7406 : && rtx_equal_p (operands[1], operands[2])
7407 : && (!MEM_P (operands[1]) || !MEM_VOLATILE_P (operands[1]))) &&
7408 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7409 : (TARGET_AVX512VL)))
7410 : return 3552; /* *avx512vl_cmpv2di3_dup_op */
7411 : break;
7412 :
7413 : default:
7414 : break;
7415 : }
7416 : break;
7417 :
7418 : default:
7419 : break;
7420 : }
7421 : }
7422 : x8 = XVECEXP (x2, 0, 1);
7423 : operands[2] = x8;
7424 : if (XWINT (x3, 0) == 0L)
7425 : {
7426 : switch (pattern970 (x2))
7427 : {
7428 : case 0:
7429 : if ((
7430 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7431 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7432 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7433 : (TARGET_AVX512VL)))
7434 : return 3559; /* *avx512vl_eqv16qi3_1 */
7435 : break;
7436 :
7437 : case 1:
7438 : if ((
7439 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7440 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7441 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7442 : (TARGET_AVX512VL)))
7443 : return 3571; /* *avx512vl_eqv16hi3_1 */
7444 : break;
7445 :
7446 : case 2:
7447 : if (
7448 : #line 5049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7449 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7450 : return 3615; /* *avx512f_eqv16si3_1 */
7451 : break;
7452 :
7453 : case 3:
7454 : if ((
7455 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7456 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7457 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7458 : (TARGET_AVX512VL)))
7459 : return 3575; /* *avx512vl_eqv8hi3_1 */
7460 : break;
7461 :
7462 : case 4:
7463 : if ((
7464 : #line 5049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7465 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7466 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7467 : (TARGET_AVX512VL)))
7468 : return 3619; /* *avx512vl_eqv8si3_1 */
7469 : break;
7470 :
7471 : case 5:
7472 : if ((
7473 : #line 5049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7474 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7475 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7476 : (TARGET_AVX512VL)))
7477 : return 3623; /* *avx512vl_eqv4si3_1 */
7478 : break;
7479 :
7480 : case 6:
7481 : if (
7482 : #line 5049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7483 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7484 : return 3627; /* *avx512f_eqv8di3_1 */
7485 : break;
7486 :
7487 : case 7:
7488 : if ((
7489 : #line 5049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7490 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7491 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7492 : (TARGET_AVX512VL)))
7493 : return 3631; /* *avx512vl_eqv4di3_1 */
7494 : break;
7495 :
7496 : case 8:
7497 : if ((
7498 : #line 5049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7499 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
7500 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7501 : (TARGET_AVX512VL)))
7502 : return 3635; /* *avx512vl_eqv2di3_1 */
7503 : break;
7504 :
7505 : default:
7506 : break;
7507 : }
7508 : }
7509 : operands[3] = x3;
7510 : if (!const_0_to_7_operand (operands[3], E_SImode))
7511 : return -1;
7512 : switch (pattern70 (x2))
7513 : {
7514 : case 0:
7515 : if (!(
7516 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7517 : (TARGET_AVX512F) &&
7518 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7519 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7520 : return -1;
7521 : return 3641; /* avx512vl_ucmpv16qi3 */
7522 :
7523 : case 1:
7524 : if (!(
7525 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7526 : (TARGET_AVX512F) &&
7527 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7528 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7529 : return -1;
7530 : return 3645; /* avx512vl_ucmpv16hi3 */
7531 :
7532 : case 2:
7533 : if (!
7534 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7535 : (TARGET_AVX512F))
7536 : return -1;
7537 : return 3649; /* avx512f_ucmpv16si3 */
7538 :
7539 : case 3:
7540 : if (!(
7541 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7542 : (TARGET_AVX512F) &&
7543 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7544 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7545 : return -1;
7546 : return 3647; /* avx512vl_ucmpv8hi3 */
7547 :
7548 : case 4:
7549 : if (!(
7550 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7551 : (TARGET_AVX512F) &&
7552 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7553 : (TARGET_AVX512VL)))
7554 : return -1;
7555 : return 3651; /* avx512vl_ucmpv8si3 */
7556 :
7557 : case 5:
7558 : if (!(
7559 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7560 : (TARGET_AVX512F) &&
7561 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7562 : (TARGET_AVX512VL)))
7563 : return -1;
7564 : return 3653; /* avx512vl_ucmpv4si3 */
7565 :
7566 : case 6:
7567 : if (!
7568 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7569 : (TARGET_AVX512F))
7570 : return -1;
7571 : return 3655; /* avx512f_ucmpv8di3 */
7572 :
7573 : case 7:
7574 : if (!(
7575 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7576 : (TARGET_AVX512F) &&
7577 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7578 : (TARGET_AVX512VL)))
7579 : return -1;
7580 : return 3657; /* avx512vl_ucmpv4di3 */
7581 :
7582 : case 8:
7583 : if (!(
7584 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7585 : (TARGET_AVX512F) &&
7586 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7587 : (TARGET_AVX512VL)))
7588 : return -1;
7589 : return 3659; /* avx512vl_ucmpv2di3 */
7590 :
7591 : default:
7592 : return -1;
7593 : }
7594 :
7595 : case 1:
7596 : if (!(
7597 : #line 5170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7598 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7599 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands)
7600 : && (INTVAL (operands[4]) & 1) == 0) &&
7601 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7602 : (TARGET_AVX512VL)))
7603 : return -1;
7604 : return 3706; /* *avx512vl_ucmpv16qi3_1 */
7605 :
7606 : case 2:
7607 : if (!(
7608 : #line 5170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7609 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7610 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)
7611 : && (INTVAL (operands[4]) & 1) == 0) &&
7612 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7613 : (TARGET_AVX512VL)))
7614 : return -1;
7615 : return 3712; /* *avx512vl_ucmpv16hi3_1 */
7616 :
7617 : case 3:
7618 : if (!(
7619 : #line 5170 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7620 : (TARGET_AVX512BW && ix86_pre_reload_split ()
7621 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands)
7622 : && (INTVAL (operands[4]) & 1) == 0) &&
7623 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7624 : (TARGET_AVX512VL)))
7625 : return -1;
7626 : return 3714; /* *avx512vl_ucmpv8hi3_1 */
7627 :
7628 : default:
7629 : return -1;
7630 : }
7631 :
7632 : case 53:
7633 : if (pattern62 (x1, pnum_clobbers,
7634 : E_V8QImode) != 0)
7635 : return -1;
7636 : x8 = XVECEXP (x2, 0, 1);
7637 : operands[2] = x8;
7638 : if (!register_mmxmem_operand (operands[2], E_V8QImode))
7639 : return -1;
7640 : x3 = XVECEXP (x2, 0, 2);
7641 : operands[4] = x3;
7642 : if (!reg_or_const_vector_operand (operands[4], E_V4SImode)
7643 : || !
7644 : #line 23660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7645 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
7646 : return -1;
7647 : *pnum_clobbers = 1;
7648 : return 8686; /* *ssse3_pshufbv8qi3 */
7649 :
7650 : case 133:
7651 : if (pnum_clobbers == NULL
7652 : || pattern257 (x1) != 0
7653 : || !nonimmediate_operand (operands[3], E_V16QImode))
7654 : return -1;
7655 : x3 = XVECEXP (x2, 0, 2);
7656 : operands[4] = x3;
7657 : if (!const_0_to_255_operand (operands[4], E_SImode)
7658 : || !
7659 : #line 26894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7660 : (TARGET_SSE4_2))
7661 : return -1;
7662 : *pnum_clobbers = 2;
7663 : return 9050; /* sse4_2_pcmpistr_cconly */
7664 :
7665 : default:
7666 : return -1;
7667 : }
7668 :
7669 : case 5:
7670 : if (pnum_clobbers == NULL
7671 : || XINT (x2, 1) != 132
7672 : || pattern257 (x1) != 0
7673 : || !register_operand (operands[3], E_SImode))
7674 : return -1;
7675 : x3 = XVECEXP (x2, 0, 2);
7676 : operands[4] = x3;
7677 : if (!nonimmediate_operand (operands[4], E_V16QImode))
7678 : return -1;
7679 : x10 = XVECEXP (x2, 0, 3);
7680 : operands[5] = x10;
7681 : if (!register_operand (operands[5], E_SImode))
7682 : return -1;
7683 : x11 = XVECEXP (x2, 0, 4);
7684 : operands[6] = x11;
7685 : if (!const_0_to_255_operand (operands[6], E_SImode)
7686 : || !
7687 : #line 26766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7688 : (TARGET_SSE4_2))
7689 : return -1;
7690 : *pnum_clobbers = 2;
7691 : return 9046; /* sse4_2_pcmpestr_cconly */
7692 :
7693 : default:
7694 : return -1;
7695 : }
7696 : }
7697 :
7698 : int
7699 : recog_37 (rtx x1 ATTRIBUTE_UNUSED,
7700 : rtx_insn *insn ATTRIBUTE_UNUSED,
7701 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7702 : {
7703 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7704 : rtx x2;
7705 : int res ATTRIBUTE_UNUSED;
7706 : switch (pattern88 (x1, pnum_clobbers))
7707 : {
7708 : case 0:
7709 : switch (GET_MODE (operands[0]))
7710 : {
7711 : case E_TImode:
7712 : x2 = XEXP (x1, 1);
7713 : if (pattern79 (x2, pnum_clobbers) != 0
7714 : || !(
7715 : #line 12926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7716 : (ix86_binary_operator_ok (AND, TImode, operands, TARGET_APX_NDD)) &&
7717 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7718 : (TARGET_64BIT)))
7719 : return -1;
7720 : *pnum_clobbers = 1;
7721 : return 732; /* *andti3_doubleword */
7722 :
7723 : case E_HImode:
7724 : x2 = XEXP (x1, 1);
7725 : if (pattern80 (x2,
7726 : E_HImode) != 0)
7727 : return -1;
7728 : if (
7729 : #line 13097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7730 : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
7731 : && TARGET_APX_NF))
7732 : return 747; /* *andhi_1_nf */
7733 : if (pnum_clobbers == NULL
7734 : || !
7735 : #line 13097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7736 : (ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)
7737 : && true))
7738 : return -1;
7739 : *pnum_clobbers = 1;
7740 : return 748; /* *andhi_1 */
7741 :
7742 : case E_QImode:
7743 : x2 = XEXP (x1, 1);
7744 : if (pattern80 (x2,
7745 : E_QImode) != 0)
7746 : return -1;
7747 : if (
7748 : #line 13135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7749 : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
7750 : && TARGET_APX_NF))
7751 : return 751; /* *andqi_1_nf */
7752 : if (pnum_clobbers == NULL
7753 : || !
7754 : #line 13135 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7755 : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
7756 : && true))
7757 : return -1;
7758 : *pnum_clobbers = 1;
7759 : return 752; /* *andqi_1 */
7760 :
7761 : case E_V2SFmode:
7762 : x2 = XEXP (x1, 1);
7763 : if (pattern5 (x2,
7764 : E_V2SFmode) != 0
7765 : || !
7766 : #line 1383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7767 : (TARGET_MMX_WITH_SSE))
7768 : return -1;
7769 : return 2125; /* andv2sf3 */
7770 :
7771 : case E_V2BFmode:
7772 : x2 = XEXP (x1, 1);
7773 : if (pattern5 (x2,
7774 : E_V2BFmode) != 0
7775 : || !
7776 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7777 : (TARGET_SSE))
7778 : return -1;
7779 : return 2159; /* andv2bf3 */
7780 :
7781 : case E_V4BFmode:
7782 : x2 = XEXP (x1, 1);
7783 : if (pattern5 (x2,
7784 : E_V4BFmode) != 0
7785 : || !(
7786 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7787 : (TARGET_SSE) &&
7788 : #line 2251 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7789 : (TARGET_MMX_WITH_SSE)))
7790 : return -1;
7791 : return 2162; /* andv4bf3 */
7792 :
7793 : case E_V2HFmode:
7794 : x2 = XEXP (x1, 1);
7795 : if (pattern5 (x2,
7796 : E_V2HFmode) != 0
7797 : || !
7798 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7799 : (TARGET_SSE))
7800 : return -1;
7801 : return 2165; /* andv2hf3 */
7802 :
7803 : case E_V4HFmode:
7804 : x2 = XEXP (x1, 1);
7805 : if (pattern5 (x2,
7806 : E_V4HFmode) != 0
7807 : || !(
7808 : #line 2609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7809 : (TARGET_SSE) &&
7810 : #line 2252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7811 : (TARGET_MMX_WITH_SSE)))
7812 : return -1;
7813 : return 2168; /* andv4hf3 */
7814 :
7815 : case E_V8QImode:
7816 : x2 = XEXP (x1, 1);
7817 : if (pattern6 (x2,
7818 : E_V8QImode) != 0
7819 : || !
7820 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7821 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7822 : && ix86_binary_operator_ok (AND, V8QImode, operands)))
7823 : return -1;
7824 : return 2322; /* *mmx_andv8qi3 */
7825 :
7826 : case E_V4HImode:
7827 : x2 = XEXP (x1, 1);
7828 : if (pattern6 (x2,
7829 : E_V4HImode) != 0
7830 : || !
7831 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7832 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7833 : && ix86_binary_operator_ok (AND, V4HImode, operands)))
7834 : return -1;
7835 : return 2325; /* *mmx_andv4hi3 */
7836 :
7837 : case E_V2SImode:
7838 : x2 = XEXP (x1, 1);
7839 : if (pattern6 (x2,
7840 : E_V2SImode) != 0
7841 : || !
7842 : #line 4721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7843 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
7844 : && ix86_binary_operator_ok (AND, V2SImode, operands)))
7845 : return -1;
7846 : return 2328; /* *mmx_andv2si3 */
7847 :
7848 : case E_V4QImode:
7849 : x2 = XEXP (x1, 1);
7850 : if (pattern81 (x2, pnum_clobbers,
7851 : E_V4QImode) != 0
7852 : || !
7853 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7854 : (ix86_binary_operator_ok (AND, V4QImode, operands)))
7855 : return -1;
7856 : *pnum_clobbers = 1;
7857 : return 2331; /* *andv4qi3 */
7858 :
7859 : case E_V2QImode:
7860 : x2 = XEXP (x1, 1);
7861 : if (pattern81 (x2, pnum_clobbers,
7862 : E_V2QImode) != 0
7863 : || !
7864 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7865 : (ix86_binary_operator_ok (AND, V2QImode, operands)))
7866 : return -1;
7867 : *pnum_clobbers = 1;
7868 : return 2334; /* *andv2qi3 */
7869 :
7870 : case E_V2HImode:
7871 : x2 = XEXP (x1, 1);
7872 : if (pattern81 (x2, pnum_clobbers,
7873 : E_V2HImode) != 0
7874 : || !
7875 : #line 4747 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7876 : (ix86_binary_operator_ok (AND, V2HImode, operands)))
7877 : return -1;
7878 : *pnum_clobbers = 1;
7879 : return 2337; /* *andv2hi3 */
7880 :
7881 : case E_BFmode:
7882 : x2 = XEXP (x1, 1);
7883 : if (pattern5 (x2,
7884 : E_BFmode) != 0
7885 : || !
7886 : #line 6049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7887 : (TARGET_SSE))
7888 : return -1;
7889 : return 3842; /* andbf3 */
7890 :
7891 : case E_HFmode:
7892 : x2 = XEXP (x1, 1);
7893 : if (pattern5 (x2,
7894 : E_HFmode) != 0
7895 : || !
7896 : #line 6049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7897 : (TARGET_SSE))
7898 : return -1;
7899 : return 3845; /* andhf3 */
7900 :
7901 : case E_SFmode:
7902 : x2 = XEXP (x1, 1);
7903 : if (pattern5 (x2,
7904 : E_SFmode) != 0
7905 : || !
7906 : #line 6049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7907 : (TARGET_SSE))
7908 : return -1;
7909 : return 3848; /* andsf3 */
7910 :
7911 : case E_DFmode:
7912 : x2 = XEXP (x1, 1);
7913 : if (pattern5 (x2,
7914 : E_DFmode) != 0
7915 : || !(
7916 : #line 6049 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7917 : (TARGET_SSE) &&
7918 : #line 1356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7919 : (TARGET_SSE2)))
7920 : return -1;
7921 : return 3851; /* anddf3 */
7922 :
7923 : case E_TFmode:
7924 : x2 = XEXP (x1, 1);
7925 : if (pattern26 (x2,
7926 : E_TFmode) != 0
7927 : || !
7928 : #line 6124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7929 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7930 : return -1;
7931 : return 3854; /* *andtf3 */
7932 :
7933 : default:
7934 : return -1;
7935 : }
7936 :
7937 : case 1:
7938 : if (!
7939 : #line 13167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7940 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7941 : return -1;
7942 : *pnum_clobbers = 1;
7943 : return 753; /* *andqi_1_slp */
7944 :
7945 : case 2:
7946 : if (!
7947 : #line 13167 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7948 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7949 : return -1;
7950 : *pnum_clobbers = 1;
7951 : return 756; /* *andhi_1_slp */
7952 :
7953 : default:
7954 : return -1;
7955 : }
7956 : }
7957 :
7958 : int
7959 : recog_46 (rtx x1 ATTRIBUTE_UNUSED,
7960 : rtx_insn *insn ATTRIBUTE_UNUSED,
7961 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7962 : {
7963 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7964 : rtx x2, x3, x4;
7965 : int res ATTRIBUTE_UNUSED;
7966 : switch (pattern2 (x1, pnum_clobbers))
7967 : {
7968 : case 0:
7969 : if (!
7970 : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7971 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
7972 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
7973 : == GET_MODE_BITSIZE (QImode)-1
7974 : && ix86_pre_reload_split ()))
7975 : return -1;
7976 : *pnum_clobbers = 1;
7977 : return 1324; /* *rotlqi3_mask_1 */
7978 :
7979 : case 1:
7980 : if (!
7981 : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7982 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
7983 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
7984 : == GET_MODE_BITSIZE (HImode)-1
7985 : && ix86_pre_reload_split ()))
7986 : return -1;
7987 : *pnum_clobbers = 1;
7988 : return 1326; /* *rotlhi3_mask_1 */
7989 :
7990 : case 2:
7991 : if (!
7992 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7993 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
7994 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
7995 : && ix86_pre_reload_split ()))
7996 : return -1;
7997 : *pnum_clobbers = 1;
7998 : return 1340; /* *rotlqi3_add_1 */
7999 :
8000 : case 3:
8001 : if (!
8002 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8003 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8004 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8005 : && ix86_pre_reload_split ()))
8006 : return -1;
8007 : *pnum_clobbers = 1;
8008 : return 1342; /* *rotlhi3_add_1 */
8009 :
8010 : case 4:
8011 : if (!
8012 : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8013 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
8014 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
8015 : && ix86_pre_reload_split ()))
8016 : return -1;
8017 : *pnum_clobbers = 1;
8018 : return 1356; /* *rotlqi3_sub_1 */
8019 :
8020 : case 5:
8021 : if (!
8022 : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8023 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8024 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8025 : && ix86_pre_reload_split ()))
8026 : return -1;
8027 : *pnum_clobbers = 1;
8028 : return 1358; /* *rotlhi3_sub_1 */
8029 :
8030 : case 6:
8031 : x2 = XEXP (x1, 0);
8032 : operands[0] = x2;
8033 : x3 = XEXP (x1, 1);
8034 : switch (pattern270 (x3, pnum_clobbers))
8035 : {
8036 : case 0:
8037 : if (
8038 : #line 18413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8039 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
8040 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
8041 : == GET_MODE_BITSIZE (QImode)-1
8042 : && ix86_pre_reload_split ()))
8043 : {
8044 : *pnum_clobbers = 1;
8045 : return 1316; /* *rotlqi3_mask */
8046 : }
8047 : break;
8048 :
8049 : case 1:
8050 : if (
8051 : #line 18413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8052 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8053 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
8054 : == GET_MODE_BITSIZE (HImode)-1
8055 : && ix86_pre_reload_split ()))
8056 : {
8057 : *pnum_clobbers = 1;
8058 : return 1318; /* *rotlhi3_mask */
8059 : }
8060 : break;
8061 :
8062 : case 2:
8063 : if (
8064 : #line 18506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8065 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
8066 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
8067 : && ix86_pre_reload_split ()))
8068 : {
8069 : *pnum_clobbers = 1;
8070 : return 1332; /* *rotlqi3_add */
8071 : }
8072 : break;
8073 :
8074 : case 3:
8075 : if (
8076 : #line 18506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8077 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8078 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8079 : && ix86_pre_reload_split ()))
8080 : {
8081 : *pnum_clobbers = 1;
8082 : return 1334; /* *rotlhi3_add */
8083 : }
8084 : break;
8085 :
8086 : case 4:
8087 : if (
8088 : #line 18575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8089 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
8090 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
8091 : && ix86_pre_reload_split ()))
8092 : {
8093 : *pnum_clobbers = 1;
8094 : return 1348; /* *rotlqi3_sub */
8095 : }
8096 : break;
8097 :
8098 : case 5:
8099 : if (
8100 : #line 18575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8101 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
8102 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
8103 : && ix86_pre_reload_split ()))
8104 : {
8105 : *pnum_clobbers = 1;
8106 : return 1350; /* *rotlhi3_sub */
8107 : }
8108 : break;
8109 :
8110 : case 6:
8111 : if (pnum_clobbers != NULL
8112 : && pattern628 (x3) == 0
8113 : &&
8114 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8115 : (TARGET_64BIT))
8116 : {
8117 : *pnum_clobbers = 2;
8118 : return 1365; /* ix86_rotlti3_doubleword */
8119 : }
8120 : x4 = XEXP (x3, 1);
8121 : if (XWINT (x4, 0) == 64L
8122 : && register_operand (operands[0], E_TImode)
8123 : && GET_MODE (x3) == E_TImode
8124 : && register_operand (operands[1], E_TImode)
8125 : &&
8126 : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8127 : (TARGET_64BIT))
8128 : return 1370; /* rotl64ti2_doubleword */
8129 : break;
8130 :
8131 : default:
8132 : break;
8133 : }
8134 : x4 = XEXP (x3, 1);
8135 : operands[2] = x4;
8136 : switch (pattern271 (x1, pnum_clobbers))
8137 : {
8138 : case 0:
8139 : if (
8140 : #line 18934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8141 : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
8142 : && TARGET_APX_NF))
8143 : return 1405; /* *rotlqi3_1_nf */
8144 : if (pnum_clobbers == NULL
8145 : || !
8146 : #line 18934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8147 : (ix86_binary_operator_ok (ROTATE, QImode, operands, TARGET_APX_NDD)
8148 : && true))
8149 : return -1;
8150 : *pnum_clobbers = 1;
8151 : return 1406; /* *rotlqi3_1 */
8152 :
8153 : case 1:
8154 : if (
8155 : #line 18934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8156 : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
8157 : && TARGET_APX_NF))
8158 : return 1409; /* *rotlhi3_1_nf */
8159 : if (pnum_clobbers == NULL
8160 : || !
8161 : #line 18934 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8162 : (ix86_binary_operator_ok (ROTATE, HImode, operands, TARGET_APX_NDD)
8163 : && true))
8164 : return -1;
8165 : *pnum_clobbers = 1;
8166 : return 1410; /* *rotlhi3_1 */
8167 :
8168 : case 2:
8169 : if (!
8170 : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8171 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8172 : return -1;
8173 : *pnum_clobbers = 1;
8174 : return 1413; /* *rotlqi3_1_slp */
8175 :
8176 : case 3:
8177 : if (!
8178 : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8179 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8180 : return -1;
8181 : *pnum_clobbers = 1;
8182 : return 1415; /* *rotlhi3_1_slp */
8183 :
8184 : default:
8185 : return -1;
8186 : }
8187 :
8188 : default:
8189 : return -1;
8190 : }
8191 : }
8192 :
8193 : int
8194 : recog_52 (rtx x1 ATTRIBUTE_UNUSED,
8195 : rtx_insn *insn ATTRIBUTE_UNUSED,
8196 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8197 : {
8198 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8199 : rtx x2, x3, x4, x5;
8200 : int res ATTRIBUTE_UNUSED;
8201 : x2 = XEXP (x1, 1);
8202 : x3 = XEXP (x2, 1);
8203 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8204 : return -1;
8205 : x4 = XEXP (x1, 0);
8206 : switch (GET_CODE (x4))
8207 : {
8208 : case REG:
8209 : case SUBREG:
8210 : case MEM:
8211 : operands[0] = x4;
8212 : switch (GET_MODE (operands[0]))
8213 : {
8214 : case E_HImode:
8215 : if (!register_operand (operands[0], E_HImode)
8216 : || !ix86_comparison_operator (operands[1], E_HImode))
8217 : return -1;
8218 : if (
8219 : #line 19731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8220 : (TARGET_APX_ZU))
8221 : return 1468; /* *setcc_hi_zu */
8222 : if (pnum_clobbers != NULL
8223 : &&
8224 : #line 19755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8225 : (!TARGET_PARTIAL_REG_STALL
8226 : && TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
8227 : {
8228 : *pnum_clobbers = 1;
8229 : return 1472; /* *setcc_hi_1_and */
8230 : }
8231 : if (!
8232 : #line 19772 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8233 : (!TARGET_APX_ZU && !TARGET_PARTIAL_REG_STALL
8234 : && (!TARGET_ZERO_EXTEND_WITH_AND || optimize_function_for_size_p (cfun))))
8235 : return -1;
8236 : return 1474; /* *setcc_hi_1_movzbl */
8237 :
8238 : case E_QImode:
8239 : if (!nonimmediate_operand (operands[0], E_QImode)
8240 : || !ix86_comparison_operator (operands[1], E_QImode))
8241 : return -1;
8242 : return 1476; /* *setcc_qi */
8243 :
8244 : default:
8245 : return -1;
8246 : }
8247 :
8248 : case STRICT_LOW_PART:
8249 : x5 = XEXP (x4, 0);
8250 : operands[0] = x5;
8251 : if (!register_operand (operands[0], E_QImode)
8252 : || !ix86_comparison_operator (operands[1], E_QImode))
8253 : return -1;
8254 : return 1477; /* *setcc_qi_slp */
8255 :
8256 : default:
8257 : return -1;
8258 : }
8259 : }
8260 :
8261 : int
8262 : recog_57 (rtx x1 ATTRIBUTE_UNUSED,
8263 : rtx_insn *insn ATTRIBUTE_UNUSED,
8264 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8265 : {
8266 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8267 : rtx x2, x3, x4;
8268 : int res ATTRIBUTE_UNUSED;
8269 : x2 = XEXP (x1, 0);
8270 : switch (GET_CODE (x2))
8271 : {
8272 : case REG:
8273 : case SUBREG:
8274 : case MEM:
8275 : operands[0] = x2;
8276 : switch (GET_MODE (operands[0]))
8277 : {
8278 : case E_TImode:
8279 : x3 = XEXP (x1, 1);
8280 : if (pattern79 (x3, pnum_clobbers) != 0
8281 : || !(
8282 : #line 8184 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8283 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
8284 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8285 : (TARGET_64BIT)))
8286 : return -1;
8287 : *pnum_clobbers = 1;
8288 : return 385; /* *subti3_doubleword */
8289 :
8290 : case E_QImode:
8291 : x3 = XEXP (x1, 1);
8292 : if (pattern80 (x3,
8293 : E_QImode) != 0)
8294 : return -1;
8295 : if (
8296 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8297 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
8298 : && TARGET_APX_NF))
8299 : return 388; /* *subqi_1_nf */
8300 : if (pnum_clobbers == NULL
8301 : || !
8302 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8303 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
8304 : && true))
8305 : return -1;
8306 : *pnum_clobbers = 1;
8307 : return 389; /* *subqi_1 */
8308 :
8309 : case E_HImode:
8310 : x3 = XEXP (x1, 1);
8311 : if (pattern80 (x3,
8312 : E_HImode) != 0)
8313 : return -1;
8314 : if (
8315 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8316 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
8317 : && TARGET_APX_NF))
8318 : return 390; /* *subhi_1_nf */
8319 : if (pnum_clobbers == NULL
8320 : || !
8321 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8322 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
8323 : && true))
8324 : return -1;
8325 : *pnum_clobbers = 1;
8326 : return 391; /* *subhi_1 */
8327 :
8328 : case E_HFmode:
8329 : x3 = XEXP (x1, 1);
8330 : if (pattern3 (x3,
8331 : E_HFmode) != 0
8332 : || !
8333 : #line 23755 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8334 : (TARGET_AVX512FP16
8335 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8336 : return -1;
8337 : return 1703; /* *subhf */
8338 :
8339 : case E_V8QImode:
8340 : x3 = XEXP (x1, 1);
8341 : if (pattern6 (x3,
8342 : E_V8QImode) != 0
8343 : || !
8344 : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8345 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8346 : && ix86_binary_operator_ok (MINUS, V8QImode, operands)))
8347 : return -1;
8348 : return 2173; /* *mmx_subv8qi3 */
8349 :
8350 : case E_V4HImode:
8351 : x3 = XEXP (x1, 1);
8352 : if (pattern6 (x3,
8353 : E_V4HImode) != 0
8354 : || !
8355 : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8356 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8357 : && ix86_binary_operator_ok (MINUS, V4HImode, operands)))
8358 : return -1;
8359 : return 2175; /* *mmx_subv4hi3 */
8360 :
8361 : case E_V2SImode:
8362 : x3 = XEXP (x1, 1);
8363 : if (pattern6 (x3,
8364 : E_V2SImode) != 0
8365 : || !
8366 : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8367 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8368 : && ix86_binary_operator_ok (MINUS, V2SImode, operands)))
8369 : return -1;
8370 : return 2177; /* *mmx_subv2si3 */
8371 :
8372 : case E_V1DImode:
8373 : x3 = XEXP (x1, 1);
8374 : if (pattern6 (x3,
8375 : E_V1DImode) != 0
8376 : || !(
8377 : #line 3242 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8378 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8379 : && ix86_binary_operator_ok (MINUS, V1DImode, operands)) &&
8380 : #line 50 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8381 : (TARGET_SSE2)))
8382 : return -1;
8383 : return 2179; /* *mmx_subv1di3 */
8384 :
8385 : case E_V4QImode:
8386 : x3 = XEXP (x1, 1);
8387 : if (pattern5 (x3,
8388 : E_V4QImode) != 0
8389 : || !
8390 : #line 3258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8391 : (TARGET_SSE2))
8392 : return -1;
8393 : return 2181; /* subv4qi3 */
8394 :
8395 : case E_V2HImode:
8396 : x3 = XEXP (x1, 1);
8397 : if (pattern5 (x3,
8398 : E_V2HImode) != 0
8399 : || !
8400 : #line 3258 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8401 : (TARGET_SSE2))
8402 : return -1;
8403 : return 2183; /* subv2hi3 */
8404 :
8405 : case E_V2QImode:
8406 : if (pnum_clobbers == NULL)
8407 : return -1;
8408 : x3 = XEXP (x1, 1);
8409 : if (pattern5 (x3,
8410 : E_V2QImode) != 0
8411 : || !
8412 : #line 3272 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8413 : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
8414 : return -1;
8415 : *pnum_clobbers = 1;
8416 : return 2185; /* subv2qi3 */
8417 :
8418 : default:
8419 : return -1;
8420 : }
8421 :
8422 : case STRICT_LOW_PART:
8423 : if (pnum_clobbers == NULL)
8424 : return -1;
8425 : x4 = XEXP (x2, 0);
8426 : operands[0] = x4;
8427 : switch (GET_MODE (operands[0]))
8428 : {
8429 : case E_QImode:
8430 : x3 = XEXP (x1, 1);
8431 : if (pattern1093 (x3,
8432 : E_QImode) != 0
8433 : || !
8434 : #line 8304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8435 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8436 : return -1;
8437 : *pnum_clobbers = 1;
8438 : return 407; /* *subqi_1_slp */
8439 :
8440 : case E_HImode:
8441 : x3 = XEXP (x1, 1);
8442 : if (pattern1093 (x3,
8443 : E_HImode) != 0
8444 : || !
8445 : #line 8304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8446 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8447 : return -1;
8448 : *pnum_clobbers = 1;
8449 : return 408; /* *subhi_1_slp */
8450 :
8451 : default:
8452 : return -1;
8453 : }
8454 :
8455 : default:
8456 : return -1;
8457 : }
8458 : }
8459 :
8460 : int
8461 : recog_64 (rtx x1 ATTRIBUTE_UNUSED,
8462 : rtx_insn *insn ATTRIBUTE_UNUSED,
8463 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8464 : {
8465 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8466 : rtx x2, x3, x4, x5, x6, x7;
8467 : int res ATTRIBUTE_UNUSED;
8468 : x2 = XEXP (x1, 0);
8469 : operands[0] = x2;
8470 : x3 = XEXP (x1, 1);
8471 : x4 = XEXP (x3, 0);
8472 : switch (GET_CODE (x4))
8473 : {
8474 : case REG:
8475 : case SUBREG:
8476 : operands[2] = x4;
8477 : x5 = XEXP (x3, 2);
8478 : if (GET_CODE (x5) != CONST_INT)
8479 : return -1;
8480 : operands[3] = x5;
8481 : x6 = XEXP (x3, 1);
8482 : operands[1] = x6;
8483 : switch (GET_MODE (operands[0]))
8484 : {
8485 : case E_V2SFmode:
8486 : if (register_operand (operands[0], E_V2SFmode)
8487 : && GET_MODE (x3) == E_V2SFmode
8488 : && register_operand (operands[2], E_V2SFmode)
8489 : && register_operand (operands[1], E_V2SFmode)
8490 : && const_0_to_3_operand (operands[3], E_SImode)
8491 : &&
8492 : #line 1321 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8493 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8494 : return 2122; /* *mmx_blendps */
8495 : break;
8496 :
8497 : case E_V4HFmode:
8498 : if (pattern872 (x3,
8499 : E_V4HFmode) == 0
8500 : &&
8501 : #line 5643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8502 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8503 : return 2384; /* *mmx_pblendw64 */
8504 : break;
8505 :
8506 : case E_V4BFmode:
8507 : if (pattern872 (x3,
8508 : E_V4BFmode) == 0
8509 : &&
8510 : #line 5643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8511 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8512 : return 2385; /* *mmx_pblendw64 */
8513 : break;
8514 :
8515 : case E_V4HImode:
8516 : if (pattern872 (x3,
8517 : E_V4HImode) == 0
8518 : &&
8519 : #line 5643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8520 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8521 : return 2386; /* *mmx_pblendw64 */
8522 : break;
8523 :
8524 : case E_V2HFmode:
8525 : if (pattern873 (x3,
8526 : E_V2HFmode) == 0
8527 : &&
8528 : #line 5662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8529 : (TARGET_SSE4_1))
8530 : return 2387; /* *mmx_pblendw32 */
8531 : break;
8532 :
8533 : case E_V2BFmode:
8534 : if (pattern873 (x3,
8535 : E_V2BFmode) == 0
8536 : &&
8537 : #line 5662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8538 : (TARGET_SSE4_1))
8539 : return 2388; /* *mmx_pblendw32 */
8540 : break;
8541 :
8542 : case E_V2HImode:
8543 : if (pattern873 (x3,
8544 : E_V2HImode) == 0
8545 : &&
8546 : #line 5662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8547 : (TARGET_SSE4_1))
8548 : return 2389; /* *mmx_pblendw32 */
8549 : break;
8550 :
8551 : default:
8552 : break;
8553 : }
8554 : if (XWINT (x5, 0) != 1L)
8555 : return -1;
8556 : operands[1] = x6;
8557 : switch (GET_MODE (operands[0]))
8558 : {
8559 : case E_V2SFmode:
8560 : if (pattern874 (x3,
8561 : E_V2SFmode) != 0
8562 : || !
8563 : #line 1767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8564 : (TARGET_MMX_WITH_SSE))
8565 : return -1;
8566 : return 2138; /* *mmx_movss_v2sf */
8567 :
8568 : case E_V2SImode:
8569 : if (pattern874 (x3,
8570 : E_V2SImode) != 0
8571 : || !
8572 : #line 1767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8573 : (TARGET_MMX_WITH_SSE))
8574 : return -1;
8575 : return 2139; /* *mmx_movss_v2si */
8576 :
8577 : default:
8578 : return -1;
8579 : }
8580 :
8581 : case VEC_DUPLICATE:
8582 : x7 = XEXP (x4, 0);
8583 : operands[2] = x7;
8584 : x6 = XEXP (x3, 1);
8585 : operands[1] = x6;
8586 : x5 = XEXP (x3, 2);
8587 : operands[3] = x5;
8588 : if (!const_int_operand (operands[3], E_SImode))
8589 : return -1;
8590 : switch (GET_MODE (operands[0]))
8591 : {
8592 : case E_V2SImode:
8593 : if (pattern875 (x3,
8594 : E_V2SImode,
8595 : E_SImode) != 0
8596 : || !
8597 : #line 5300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8598 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE
8599 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8600 : < GET_MODE_NUNITS (V2SImode))))
8601 : return -1;
8602 : return 2364; /* *mmx_pinsrd */
8603 :
8604 : case E_V4HFmode:
8605 : if (pattern875 (x3,
8606 : E_V4HFmode,
8607 : E_HFmode) != 0
8608 : || !
8609 : #line 5331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8610 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8611 : && (TARGET_SSE || TARGET_3DNOW_A)
8612 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8613 : < GET_MODE_NUNITS (V4HImode))))
8614 : return -1;
8615 : return 2365; /* *mmx_pinsrw */
8616 :
8617 : case E_V4BFmode:
8618 : if (pattern875 (x3,
8619 : E_V4BFmode,
8620 : E_BFmode) != 0
8621 : || !
8622 : #line 5331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8623 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8624 : && (TARGET_SSE || TARGET_3DNOW_A)
8625 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8626 : < GET_MODE_NUNITS (V4HImode))))
8627 : return -1;
8628 : return 2366; /* *mmx_pinsrw */
8629 :
8630 : case E_V4HImode:
8631 : if (pattern875 (x3,
8632 : E_V4HImode,
8633 : E_HImode) != 0
8634 : || !
8635 : #line 5331 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8636 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8637 : && (TARGET_SSE || TARGET_3DNOW_A)
8638 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8639 : < GET_MODE_NUNITS (V4HImode))))
8640 : return -1;
8641 : return 2367; /* *mmx_pinsrw */
8642 :
8643 : case E_V8QImode:
8644 : if (pattern875 (x3,
8645 : E_V8QImode,
8646 : E_QImode) != 0
8647 : || !
8648 : #line 5387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8649 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE
8650 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8651 : < GET_MODE_NUNITS (V8QImode))))
8652 : return -1;
8653 : return 2368; /* *mmx_pinsrb */
8654 :
8655 : case E_V2HFmode:
8656 : if (pattern875 (x3,
8657 : E_V2HFmode,
8658 : E_HFmode) != 0
8659 : || !
8660 : #line 6010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8661 : (TARGET_SSE2
8662 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8663 : < GET_MODE_NUNITS (V2HImode))))
8664 : return -1;
8665 : return 2403; /* *pinsrw */
8666 :
8667 : case E_V2BFmode:
8668 : if (pattern875 (x3,
8669 : E_V2BFmode,
8670 : E_BFmode) != 0
8671 : || !
8672 : #line 6010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8673 : (TARGET_SSE2
8674 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8675 : < GET_MODE_NUNITS (V2HImode))))
8676 : return -1;
8677 : return 2404; /* *pinsrw */
8678 :
8679 : case E_V2HImode:
8680 : if (pattern875 (x3,
8681 : E_V2HImode,
8682 : E_HImode) != 0
8683 : || !
8684 : #line 6010 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8685 : (TARGET_SSE2
8686 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8687 : < GET_MODE_NUNITS (V2HImode))))
8688 : return -1;
8689 : return 2405; /* *pinsrw */
8690 :
8691 : case E_V4QImode:
8692 : if (pattern875 (x3,
8693 : E_V4QImode,
8694 : E_QImode) != 0
8695 : || !
8696 : #line 6064 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8697 : (TARGET_SSE4_1
8698 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8699 : < GET_MODE_NUNITS (V4QImode))))
8700 : return -1;
8701 : return 2406; /* *pinsrb */
8702 :
8703 : default:
8704 : return -1;
8705 : }
8706 :
8707 : case SS_TRUNCATE:
8708 : switch (pattern107 (x3))
8709 : {
8710 : case 0:
8711 : if (!
8712 : #line 15845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8713 : (TARGET_AVX512VL))
8714 : return -1;
8715 : return 7331; /* avx512vl_ss_truncatev2div2qi2_mask_store_1 */
8716 :
8717 : case 1:
8718 : if (!
8719 : #line 15940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8720 : (TARGET_AVX512VL))
8721 : return -1;
8722 : return 7358; /* avx512vl_ss_truncatev4siv4qi2_mask_store_1 */
8723 :
8724 : case 2:
8725 : if (!
8726 : #line 15940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8727 : (TARGET_AVX512VL))
8728 : return -1;
8729 : return 7361; /* avx512vl_ss_truncatev4div4qi2_mask_store_1 */
8730 :
8731 : case 3:
8732 : if (!(
8733 : #line 16038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8734 : (TARGET_AVX512VL) &&
8735 : #line 15962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8736 : (TARGET_AVX512BW)))
8737 : return -1;
8738 : return 7388; /* avx512vl_ss_truncatev8hiv8qi2_mask_store_1 */
8739 :
8740 : case 4:
8741 : if (!
8742 : #line 16038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8743 : (TARGET_AVX512VL))
8744 : return -1;
8745 : return 7391; /* avx512vl_ss_truncatev8siv8qi2_mask_store_1 */
8746 :
8747 : case 5:
8748 : if (!
8749 : #line 16554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8750 : (TARGET_AVX512F))
8751 : return -1;
8752 : return 7483; /* avx512f_ss_truncatev8div16qi2_mask_store_1 */
8753 :
8754 : case 6:
8755 : if (!
8756 : #line 16192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8757 : (TARGET_AVX512VL))
8758 : return -1;
8759 : return 7428; /* avx512vl_ss_truncatev4siv4hi2_mask_store_1 */
8760 :
8761 : case 7:
8762 : if (!
8763 : #line 16192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8764 : (TARGET_AVX512VL))
8765 : return -1;
8766 : return 7431; /* avx512vl_ss_truncatev4div4hi2_mask_store_1 */
8767 :
8768 : case 8:
8769 : if (!
8770 : #line 16283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8771 : (TARGET_AVX512VL))
8772 : return -1;
8773 : return 7446; /* avx512vl_ss_truncatev2div2hi2_mask_store_1 */
8774 :
8775 : case 9:
8776 : if (!
8777 : #line 16429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8778 : (TARGET_AVX512VL))
8779 : return -1;
8780 : return 7465; /* avx512vl_ss_truncatev2div2si2_mask_store_1 */
8781 :
8782 : default:
8783 : return -1;
8784 : }
8785 :
8786 : case TRUNCATE:
8787 : switch (pattern107 (x3))
8788 : {
8789 : case 0:
8790 : if (!
8791 : #line 15845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8792 : (TARGET_AVX512VL))
8793 : return -1;
8794 : return 7332; /* avx512vl_truncatev2div2qi2_mask_store_1 */
8795 :
8796 : case 1:
8797 : if (!
8798 : #line 15940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8799 : (TARGET_AVX512VL))
8800 : return -1;
8801 : return 7359; /* avx512vl_truncatev4siv4qi2_mask_store_1 */
8802 :
8803 : case 2:
8804 : if (!
8805 : #line 15940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8806 : (TARGET_AVX512VL))
8807 : return -1;
8808 : return 7362; /* avx512vl_truncatev4div4qi2_mask_store_1 */
8809 :
8810 : case 3:
8811 : if (!(
8812 : #line 16038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8813 : (TARGET_AVX512VL) &&
8814 : #line 15962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8815 : (TARGET_AVX512BW)))
8816 : return -1;
8817 : return 7389; /* avx512vl_truncatev8hiv8qi2_mask_store_1 */
8818 :
8819 : case 4:
8820 : if (!
8821 : #line 16038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8822 : (TARGET_AVX512VL))
8823 : return -1;
8824 : return 7392; /* avx512vl_truncatev8siv8qi2_mask_store_1 */
8825 :
8826 : case 5:
8827 : if (!
8828 : #line 16554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8829 : (TARGET_AVX512F))
8830 : return -1;
8831 : return 7484; /* avx512f_truncatev8div16qi2_mask_store_1 */
8832 :
8833 : case 6:
8834 : if (!
8835 : #line 16192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8836 : (TARGET_AVX512VL))
8837 : return -1;
8838 : return 7429; /* avx512vl_truncatev4siv4hi2_mask_store_1 */
8839 :
8840 : case 7:
8841 : if (!
8842 : #line 16192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8843 : (TARGET_AVX512VL))
8844 : return -1;
8845 : return 7432; /* avx512vl_truncatev4div4hi2_mask_store_1 */
8846 :
8847 : case 8:
8848 : if (!
8849 : #line 16283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8850 : (TARGET_AVX512VL))
8851 : return -1;
8852 : return 7447; /* avx512vl_truncatev2div2hi2_mask_store_1 */
8853 :
8854 : case 9:
8855 : if (!
8856 : #line 16429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8857 : (TARGET_AVX512VL))
8858 : return -1;
8859 : return 7466; /* avx512vl_truncatev2div2si2_mask_store_1 */
8860 :
8861 : default:
8862 : return -1;
8863 : }
8864 :
8865 : case US_TRUNCATE:
8866 : switch (pattern107 (x3))
8867 : {
8868 : case 0:
8869 : if (!
8870 : #line 15845 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8871 : (TARGET_AVX512VL))
8872 : return -1;
8873 : return 7333; /* avx512vl_us_truncatev2div2qi2_mask_store_1 */
8874 :
8875 : case 1:
8876 : if (!
8877 : #line 15940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8878 : (TARGET_AVX512VL))
8879 : return -1;
8880 : return 7360; /* avx512vl_us_truncatev4siv4qi2_mask_store_1 */
8881 :
8882 : case 2:
8883 : if (!
8884 : #line 15940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8885 : (TARGET_AVX512VL))
8886 : return -1;
8887 : return 7363; /* avx512vl_us_truncatev4div4qi2_mask_store_1 */
8888 :
8889 : case 3:
8890 : if (!(
8891 : #line 16038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8892 : (TARGET_AVX512VL) &&
8893 : #line 15962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8894 : (TARGET_AVX512BW)))
8895 : return -1;
8896 : return 7390; /* avx512vl_us_truncatev8hiv8qi2_mask_store_1 */
8897 :
8898 : case 4:
8899 : if (!
8900 : #line 16038 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8901 : (TARGET_AVX512VL))
8902 : return -1;
8903 : return 7393; /* avx512vl_us_truncatev8siv8qi2_mask_store_1 */
8904 :
8905 : case 5:
8906 : if (!
8907 : #line 16554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8908 : (TARGET_AVX512F))
8909 : return -1;
8910 : return 7485; /* avx512f_us_truncatev8div16qi2_mask_store_1 */
8911 :
8912 : case 6:
8913 : if (!
8914 : #line 16192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8915 : (TARGET_AVX512VL))
8916 : return -1;
8917 : return 7430; /* avx512vl_us_truncatev4siv4hi2_mask_store_1 */
8918 :
8919 : case 7:
8920 : if (!
8921 : #line 16192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8922 : (TARGET_AVX512VL))
8923 : return -1;
8924 : return 7433; /* avx512vl_us_truncatev4div4hi2_mask_store_1 */
8925 :
8926 : case 8:
8927 : if (!
8928 : #line 16283 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8929 : (TARGET_AVX512VL))
8930 : return -1;
8931 : return 7448; /* avx512vl_us_truncatev2div2hi2_mask_store_1 */
8932 :
8933 : case 9:
8934 : if (!
8935 : #line 16429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8936 : (TARGET_AVX512VL))
8937 : return -1;
8938 : return 7467; /* avx512vl_us_truncatev2div2si2_mask_store_1 */
8939 :
8940 : default:
8941 : return -1;
8942 : }
8943 :
8944 : default:
8945 : return -1;
8946 : }
8947 : }
8948 :
8949 : int
8950 : recog_76 (rtx x1 ATTRIBUTE_UNUSED,
8951 : rtx_insn *insn ATTRIBUTE_UNUSED,
8952 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8953 : {
8954 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8955 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8956 : rtx x10, x11;
8957 : int res ATTRIBUTE_UNUSED;
8958 : x2 = XEXP (x1, 1);
8959 : x3 = XEXP (x2, 0);
8960 : x4 = XEXP (x3, 0);
8961 : switch (GET_CODE (x4))
8962 : {
8963 : case REG:
8964 : case SUBREG:
8965 : case MEM:
8966 : operands[1] = x4;
8967 : x5 = XEXP (x3, 1);
8968 : operands[2] = x5;
8969 : switch (GET_CODE (operands[2]))
8970 : {
8971 : case CONST_INT:
8972 : case CONST_WIDE_INT:
8973 : case CONST_POLY_INT:
8974 : case CONST_FIXED:
8975 : case CONST_DOUBLE:
8976 : case CONST_VECTOR:
8977 : case CONST:
8978 : case REG:
8979 : case SUBREG:
8980 : case MEM:
8981 : case LABEL_REF:
8982 : case SYMBOL_REF:
8983 : case HIGH:
8984 : switch (pattern114 (x2, pnum_clobbers))
8985 : {
8986 : case 0:
8987 : if (
8988 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8989 : (TARGET_APX_NDD && TARGET_APX_NF
8990 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8991 : return 398; /* *subqi_1_zextsi_nf */
8992 : if (pnum_clobbers == NULL
8993 : || !
8994 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8995 : (TARGET_APX_NDD && true
8996 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8997 : return -1;
8998 : *pnum_clobbers = 1;
8999 : return 399; /* *subqi_1_zextsi */
9000 :
9001 : case 1:
9002 : if (
9003 : #line 8273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9004 : (TARGET_APX_NDD && TARGET_APX_NF
9005 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9006 : return 402; /* *subhi_1_zextsi_nf */
9007 : if (pnum_clobbers == NULL
9008 : || !
9009 : #line 8273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9010 : (TARGET_APX_NDD && true
9011 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9012 : return -1;
9013 : *pnum_clobbers = 1;
9014 : return 403; /* *subhi_1_zextsi */
9015 :
9016 : case 2:
9017 : if (
9018 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9019 : (TARGET_APX_NDD && TARGET_APX_NF
9020 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9021 : return 400; /* *subqi_1_zextdi_nf */
9022 : if (pnum_clobbers == NULL
9023 : || !
9024 : #line 8259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9025 : (TARGET_APX_NDD && true
9026 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9027 : return -1;
9028 : *pnum_clobbers = 1;
9029 : return 401; /* *subqi_1_zextdi */
9030 :
9031 : case 3:
9032 : if (
9033 : #line 8273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9034 : (TARGET_APX_NDD && TARGET_APX_NF
9035 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9036 : return 404; /* *subhi_1_zextdi_nf */
9037 : if (pnum_clobbers == NULL
9038 : || !
9039 : #line 8273 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9040 : (TARGET_APX_NDD && true
9041 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9042 : return -1;
9043 : *pnum_clobbers = 1;
9044 : return 405; /* *subhi_1_zextdi */
9045 :
9046 : case 4:
9047 : if (!
9048 : #line 8288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9049 : (TARGET_64BIT
9050 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9051 : return -1;
9052 : *pnum_clobbers = 1;
9053 : return 406; /* *subsi_1_zext */
9054 :
9055 : default:
9056 : return -1;
9057 : }
9058 :
9059 : case LTU:
9060 : case UNLT:
9061 : switch (pattern762 (x2, pnum_clobbers))
9062 : {
9063 : case 0:
9064 : if (!nonimmediate_operand (operands[1], E_QImode)
9065 : || !ix86_carry_flag_operator (operands[2], E_QImode)
9066 : || !
9067 : #line 9819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9068 : (TARGET_APX_NDD))
9069 : return -1;
9070 : *pnum_clobbers = 1;
9071 : return 534; /* *subqi3_carry_zextsi_0 */
9072 :
9073 : case 1:
9074 : if (!nonimmediate_operand (operands[1], E_HImode)
9075 : || !ix86_carry_flag_operator (operands[2], E_HImode)
9076 : || !
9077 : #line 9834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9078 : (TARGET_APX_NDD))
9079 : return -1;
9080 : *pnum_clobbers = 1;
9081 : return 536; /* *subhi3_carry_zextsi_0 */
9082 :
9083 : case 2:
9084 : if (!nonimmediate_operand (operands[1], E_QImode)
9085 : || !ix86_carry_flag_operator (operands[2], E_QImode)
9086 : || !
9087 : #line 9819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9088 : (TARGET_APX_NDD))
9089 : return -1;
9090 : *pnum_clobbers = 1;
9091 : return 535; /* *subqi3_carry_zextdi_0 */
9092 :
9093 : case 3:
9094 : if (!nonimmediate_operand (operands[1], E_HImode)
9095 : || !ix86_carry_flag_operator (operands[2], E_HImode)
9096 : || !
9097 : #line 9834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9098 : (TARGET_APX_NDD))
9099 : return -1;
9100 : *pnum_clobbers = 1;
9101 : return 537; /* *subhi3_carry_zextdi_0 */
9102 :
9103 : case 4:
9104 : if (!nonimmediate_operand (operands[1], E_SImode)
9105 : || !ix86_carry_flag_operator (operands[2], E_SImode)
9106 : || !
9107 : #line 9849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9108 : (TARGET_64BIT))
9109 : return -1;
9110 : *pnum_clobbers = 1;
9111 : return 538; /* *subsi3_carry_zext_0 */
9112 :
9113 : default:
9114 : return -1;
9115 : }
9116 :
9117 : case GE:
9118 : case GEU:
9119 : switch (pattern762 (x2, pnum_clobbers))
9120 : {
9121 : case 0:
9122 : if (!nonimmediate_operand (operands[1], E_QImode)
9123 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
9124 : || !
9125 : #line 9867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9126 : (TARGET_APX_NDD))
9127 : return -1;
9128 : *pnum_clobbers = 1;
9129 : return 540; /* *subqi3_carry_zextsi_0r */
9130 :
9131 : case 1:
9132 : if (!nonimmediate_operand (operands[1], E_HImode)
9133 : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
9134 : || !
9135 : #line 9882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9136 : (TARGET_APX_NDD))
9137 : return -1;
9138 : *pnum_clobbers = 1;
9139 : return 542; /* *subhi3_carry_zextsi_0r */
9140 :
9141 : case 2:
9142 : if (!nonimmediate_operand (operands[1], E_QImode)
9143 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
9144 : || !
9145 : #line 9867 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9146 : (TARGET_APX_NDD))
9147 : return -1;
9148 : *pnum_clobbers = 1;
9149 : return 541; /* *subqi3_carry_zextdi_0r */
9150 :
9151 : case 3:
9152 : if (!nonimmediate_operand (operands[1], E_HImode)
9153 : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
9154 : || !
9155 : #line 9882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9156 : (TARGET_APX_NDD))
9157 : return -1;
9158 : *pnum_clobbers = 1;
9159 : return 543; /* *subhi3_carry_zextdi_0r */
9160 :
9161 : case 4:
9162 : if (!nonimmediate_operand (operands[1], E_SImode)
9163 : || !ix86_carry_flag_unset_operator (operands[2], E_SImode)
9164 : || !
9165 : #line 9897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9166 : (TARGET_64BIT))
9167 : return -1;
9168 : *pnum_clobbers = 1;
9169 : return 544; /* *subsi3_carry_zext_0r */
9170 :
9171 : default:
9172 : return -1;
9173 : }
9174 :
9175 : default:
9176 : return -1;
9177 : }
9178 :
9179 : case MINUS:
9180 : if (pnum_clobbers == NULL)
9181 : return -1;
9182 : x6 = XEXP (x4, 1);
9183 : switch (GET_CODE (x6))
9184 : {
9185 : case LTU:
9186 : case UNLT:
9187 : operands[3] = x6;
9188 : x7 = XEXP (x6, 0);
9189 : if (GET_CODE (x7) != REG
9190 : || REGNO (x7) != 17)
9191 : return -1;
9192 : x8 = XEXP (x6, 1);
9193 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9194 : return -1;
9195 : x9 = XEXP (x4, 0);
9196 : operands[1] = x9;
9197 : x5 = XEXP (x3, 1);
9198 : operands[2] = x5;
9199 : switch (pattern281 (x2))
9200 : {
9201 : case 0:
9202 : if (pattern1548 (x4,
9203 : E_QImode) != 0
9204 : || !
9205 : #line 9759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9206 : (TARGET_APX_NDD
9207 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9208 : return -1;
9209 : *pnum_clobbers = 1;
9210 : return 528; /* *subqi3_carry_zextsi */
9211 :
9212 : case 1:
9213 : if (pattern1548 (x4,
9214 : E_HImode) != 0
9215 : || !
9216 : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9217 : (TARGET_APX_NDD
9218 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9219 : return -1;
9220 : *pnum_clobbers = 1;
9221 : return 530; /* *subhi3_carry_zextsi */
9222 :
9223 : case 2:
9224 : if (pattern1548 (x4,
9225 : E_QImode) != 0
9226 : || !
9227 : #line 9759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9228 : (TARGET_APX_NDD
9229 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9230 : return -1;
9231 : *pnum_clobbers = 1;
9232 : return 529; /* *subqi3_carry_zextdi */
9233 :
9234 : case 3:
9235 : if (pattern1548 (x4,
9236 : E_HImode) != 0
9237 : || !
9238 : #line 9779 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9239 : (TARGET_APX_NDD
9240 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9241 : return -1;
9242 : *pnum_clobbers = 1;
9243 : return 531; /* *subhi3_carry_zextdi */
9244 :
9245 : case 4:
9246 : if (pattern1548 (x4,
9247 : E_SImode) != 0
9248 : || !
9249 : #line 9799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9250 : (TARGET_64BIT
9251 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9252 : return -1;
9253 : *pnum_clobbers = 1;
9254 : return 532; /* *subsi3_carry_zext */
9255 :
9256 : default:
9257 : return -1;
9258 : }
9259 :
9260 : default:
9261 : return -1;
9262 : }
9263 :
9264 : case CONST_INT:
9265 : if (pnum_clobbers == NULL
9266 : || !register_operand (operands[0], E_DImode)
9267 : || GET_MODE (x2) != E_DImode
9268 : || GET_MODE (x3) != E_SImode)
9269 : return -1;
9270 : x5 = XEXP (x3, 1);
9271 : if (GET_MODE (x5) != E_SImode)
9272 : return -1;
9273 : switch (XWINT (x4, 0))
9274 : {
9275 : case 63L:
9276 : if (GET_CODE (x5) != SUBREG
9277 : || maybe_ne (SUBREG_BYTE (x5), 0))
9278 : return -1;
9279 : x10 = XEXP (x5, 0);
9280 : if (GET_CODE (x10) != CLZ
9281 : || GET_MODE (x10) != E_DImode)
9282 : return -1;
9283 : x11 = XEXP (x10, 0);
9284 : operands[1] = x11;
9285 : if (!nonimmediate_operand (operands[1], E_DImode)
9286 : || !
9287 : #line 21527 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9288 : (!TARGET_LZCNT && TARGET_64BIT))
9289 : return -1;
9290 : *pnum_clobbers = 1;
9291 : return 1550; /* bsr_rex64_1_zext */
9292 :
9293 : case 31L:
9294 : if (GET_CODE (x5) != CLZ)
9295 : return -1;
9296 : x10 = XEXP (x5, 0);
9297 : operands[1] = x10;
9298 : if (!nonimmediate_operand (operands[1], E_SImode)
9299 : || !
9300 : #line 21570 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9301 : (!TARGET_LZCNT && TARGET_64BIT))
9302 : return -1;
9303 : *pnum_clobbers = 1;
9304 : return 1553; /* bsr_zext_1 */
9305 :
9306 : default:
9307 : return -1;
9308 : }
9309 :
9310 : default:
9311 : return -1;
9312 : }
9313 : }
9314 :
9315 : int
9316 : recog_87 (rtx x1 ATTRIBUTE_UNUSED,
9317 : rtx_insn *insn ATTRIBUTE_UNUSED,
9318 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9319 : {
9320 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9321 : rtx x2, x3, x4, x5, x6;
9322 : int res ATTRIBUTE_UNUSED;
9323 : x2 = XEXP (x1, 0);
9324 : operands[0] = x2;
9325 : x3 = XEXP (x1, 1);
9326 : x4 = XEXP (x3, 0);
9327 : switch (GET_CODE (x4))
9328 : {
9329 : case CONST_INT:
9330 : case CONST_WIDE_INT:
9331 : case CONST_POLY_INT:
9332 : case CONST_FIXED:
9333 : case CONST_DOUBLE:
9334 : case CONST_VECTOR:
9335 : case CONST:
9336 : case REG:
9337 : case SUBREG:
9338 : case MEM:
9339 : case LABEL_REF:
9340 : case SYMBOL_REF:
9341 : case HIGH:
9342 : operands[1] = x4;
9343 : res = recog_86 (x1, insn, pnum_clobbers);
9344 : if (res >= 0)
9345 : return res;
9346 : if (pnum_clobbers == NULL
9347 : || GET_CODE (x4) != CONST_INT)
9348 : return -1;
9349 : x5 = XEXP (x3, 1);
9350 : if (GET_CODE (x5) != CLZ)
9351 : return -1;
9352 : x6 = XEXP (x5, 0);
9353 : operands[1] = x6;
9354 : switch (XWINT (x4, 0))
9355 : {
9356 : case 63L:
9357 : if (pattern883 (x3,
9358 : E_DImode) != 0
9359 : || !
9360 : #line 21511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9361 : (!TARGET_LZCNT && TARGET_64BIT))
9362 : return -1;
9363 : *pnum_clobbers = 1;
9364 : return 1549; /* bsr_rex64_1 */
9365 :
9366 : case 31L:
9367 : if (pattern883 (x3,
9368 : E_SImode) != 0
9369 : || !
9370 : #line 21555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9371 : (!TARGET_LZCNT))
9372 : return -1;
9373 : *pnum_clobbers = 1;
9374 : return 1552; /* bsr_1 */
9375 :
9376 : default:
9377 : return -1;
9378 : }
9379 :
9380 : case MINUS:
9381 : if (pnum_clobbers == NULL)
9382 : return -1;
9383 : switch (pattern292 (x3))
9384 : {
9385 : case 0:
9386 : switch (GET_MODE (operands[0]))
9387 : {
9388 : case E_SImode:
9389 : if (pattern1279 (x3,
9390 : E_SImode) != 0
9391 : || !
9392 : #line 9587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9393 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9394 : return -1;
9395 : *pnum_clobbers = 1;
9396 : return 505; /* subsi3_carry */
9397 :
9398 : case E_DImode:
9399 : if (pattern1279 (x3,
9400 : E_DImode) != 0
9401 : || !(
9402 : #line 9587 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9403 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
9404 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9405 : (TARGET_64BIT)))
9406 : return -1;
9407 : *pnum_clobbers = 1;
9408 : return 506; /* subdi3_carry */
9409 :
9410 : default:
9411 : return -1;
9412 : }
9413 :
9414 : case 1:
9415 : switch (GET_MODE (operands[0]))
9416 : {
9417 : case E_SImode:
9418 : if (pattern1219 (x3,
9419 : E_SImode) != 0
9420 : || !
9421 : #line 10655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9422 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
9423 : && ix86_pre_reload_split ()))
9424 : return -1;
9425 : *pnum_clobbers = 1;
9426 : return 600; /* *subsi3_eq */
9427 :
9428 : case E_DImode:
9429 : if (pattern1219 (x3,
9430 : E_DImode) != 0
9431 : || !(
9432 : #line 10655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9433 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
9434 : && ix86_pre_reload_split ()) &&
9435 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9436 : (TARGET_64BIT)))
9437 : return -1;
9438 : *pnum_clobbers = 1;
9439 : return 601; /* *subdi3_eq */
9440 :
9441 : default:
9442 : return -1;
9443 : }
9444 :
9445 : default:
9446 : return -1;
9447 : }
9448 :
9449 : default:
9450 : return -1;
9451 : }
9452 : }
9453 :
9454 : int
9455 : recog_88 (rtx x1 ATTRIBUTE_UNUSED,
9456 : rtx_insn *insn ATTRIBUTE_UNUSED,
9457 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9458 : {
9459 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9460 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9461 : int res ATTRIBUTE_UNUSED;
9462 : x2 = XEXP (x1, 1);
9463 : x3 = XEXP (x2, 2);
9464 : operands[3] = x3;
9465 : x4 = XEXP (x2, 0);
9466 : x5 = XEXP (x4, 1);
9467 : switch (XWINT (x5, 0))
9468 : {
9469 : case 0L:
9470 : x6 = XEXP (x2, 1);
9471 : if (GET_CODE (x6) != PLUS)
9472 : return -1;
9473 : x7 = XEXP (x6, 1);
9474 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9475 : return -1;
9476 : x8 = XEXP (x4, 0);
9477 : operands[2] = x8;
9478 : x9 = XEXP (x6, 0);
9479 : if (!rtx_equal_p (x9, operands[2]))
9480 : return -1;
9481 : switch (GET_MODE (operands[0]))
9482 : {
9483 : case E_SImode:
9484 : if (pattern1523 (x2,
9485 : E_SImode) != 0
9486 : || !
9487 : #line 8879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9488 : (TARGET_CMOVE))
9489 : return -1;
9490 : *pnum_clobbers = 1;
9491 : return 454; /* *dec_cmovsi */
9492 :
9493 : case E_DImode:
9494 : if (pattern1523 (x2,
9495 : E_DImode) != 0
9496 : || !(
9497 : #line 8879 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9498 : (TARGET_CMOVE) &&
9499 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9500 : (TARGET_64BIT)))
9501 : return -1;
9502 : *pnum_clobbers = 1;
9503 : return 455; /* *dec_cmovdi */
9504 :
9505 : default:
9506 : return -1;
9507 : }
9508 :
9509 : case -1L:
9510 : x8 = XEXP (x4, 0);
9511 : operands[4] = x8;
9512 : x6 = XEXP (x2, 1);
9513 : operands[2] = x6;
9514 : switch (GET_MODE (operands[0]))
9515 : {
9516 : case E_SImode:
9517 : switch (pattern1376 (x2,
9518 : E_SImode))
9519 : {
9520 : case 0:
9521 : if (!(
9522 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9523 : (TARGET_AVX512BW && TARGET_CMOVE
9524 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9525 : #line 1561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9526 : (TARGET_AVX512DQ)))
9527 : return -1;
9528 : *pnum_clobbers = 1;
9529 : return 2693; /* *kortest_cmpqi_movsicc */
9530 :
9531 : case 1:
9532 : if (!
9533 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9534 : (TARGET_AVX512BW && TARGET_CMOVE
9535 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9536 : return -1;
9537 : *pnum_clobbers = 1;
9538 : return 2696; /* *kortest_cmphi_movsicc */
9539 :
9540 : case 2:
9541 : if (!(
9542 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9543 : (TARGET_AVX512BW && TARGET_CMOVE
9544 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9545 : #line 1562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9546 : (TARGET_AVX512BW)))
9547 : return -1;
9548 : *pnum_clobbers = 1;
9549 : return 2699; /* *kortest_cmpsi_movsicc */
9550 :
9551 : case 3:
9552 : if (!(
9553 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9554 : (TARGET_AVX512BW && TARGET_CMOVE
9555 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9556 : #line 1562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9557 : (TARGET_AVX512BW && TARGET_64BIT)))
9558 : return -1;
9559 : *pnum_clobbers = 1;
9560 : return 2702; /* *kortest_cmpdi_movsicc */
9561 :
9562 : default:
9563 : return -1;
9564 : }
9565 :
9566 : case E_DImode:
9567 : switch (pattern1376 (x2,
9568 : E_DImode))
9569 : {
9570 : case 0:
9571 : if (!(
9572 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9573 : (TARGET_AVX512BW && TARGET_CMOVE
9574 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9575 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9576 : (TARGET_64BIT) &&
9577 : #line 1561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9578 : (TARGET_AVX512DQ)) &&
9579 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9580 : (TARGET_64BIT)) &&
9581 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9582 : (TARGET_64BIT)) &&
9583 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9584 : (TARGET_64BIT))))
9585 : return -1;
9586 : *pnum_clobbers = 1;
9587 : return 2694; /* *kortest_cmpqi_movdicc */
9588 :
9589 : case 1:
9590 : if (!(
9591 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9592 : (TARGET_AVX512BW && TARGET_CMOVE
9593 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9594 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9595 : (TARGET_64BIT)))
9596 : return -1;
9597 : *pnum_clobbers = 1;
9598 : return 2697; /* *kortest_cmphi_movdicc */
9599 :
9600 : case 2:
9601 : if (!(
9602 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9603 : (TARGET_AVX512BW && TARGET_CMOVE
9604 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9605 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9606 : (TARGET_64BIT) &&
9607 : #line 1562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9608 : (TARGET_AVX512BW)) &&
9609 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9610 : (TARGET_64BIT)) &&
9611 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9612 : (TARGET_64BIT)) &&
9613 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9614 : (TARGET_64BIT))))
9615 : return -1;
9616 : *pnum_clobbers = 1;
9617 : return 2700; /* *kortest_cmpsi_movdicc */
9618 :
9619 : case 3:
9620 : if (!(
9621 : #line 2532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9622 : (TARGET_AVX512BW && TARGET_CMOVE
9623 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9624 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9625 : (TARGET_64BIT) &&
9626 : #line 1562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9627 : (TARGET_AVX512BW && TARGET_64BIT)) &&
9628 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9629 : (TARGET_64BIT)) &&
9630 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9631 : (TARGET_64BIT)) &&
9632 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9633 : (TARGET_64BIT))))
9634 : return -1;
9635 : *pnum_clobbers = 1;
9636 : return 2703; /* *kortest_cmpdi_movdicc */
9637 :
9638 : default:
9639 : return -1;
9640 : }
9641 :
9642 : default:
9643 : return -1;
9644 : }
9645 :
9646 : default:
9647 : return -1;
9648 : }
9649 : }
9650 :
9651 : int
9652 : recog_92 (rtx x1 ATTRIBUTE_UNUSED,
9653 : rtx_insn *insn ATTRIBUTE_UNUSED,
9654 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9655 : {
9656 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9657 : rtx x2, x3, x4, x5, x6, x7;
9658 : int res ATTRIBUTE_UNUSED;
9659 : if (pnum_clobbers == NULL)
9660 : return -1;
9661 : x2 = XEXP (x1, 1);
9662 : x3 = XEXP (x2, 0);
9663 : if (GET_CODE (x3) != LSHIFTRT)
9664 : return -1;
9665 : x4 = XEXP (x3, 0);
9666 : if (GET_CODE (x4) != MULT)
9667 : return -1;
9668 : x5 = XEXP (x3, 1);
9669 : if (GET_CODE (x5) != CONST_INT)
9670 : return -1;
9671 : x6 = XEXP (x1, 0);
9672 : operands[0] = x6;
9673 : x7 = XEXP (x4, 0);
9674 : switch (GET_CODE (x7))
9675 : {
9676 : case SIGN_EXTEND:
9677 : switch (pattern769 (x2,
9678 : SIGN_EXTEND))
9679 : {
9680 : case 0:
9681 : if (!
9682 : #line 11599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9683 : (TARGET_64BIT
9684 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9685 : return -1;
9686 : *pnum_clobbers = 2;
9687 : return 661; /* *smuldi3_highpart_1 */
9688 :
9689 : case 1:
9690 : if (!
9691 : #line 11648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9692 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9693 : return -1;
9694 : *pnum_clobbers = 2;
9695 : return 665; /* *smulsi3_highpart_1 */
9696 :
9697 : default:
9698 : return -1;
9699 : }
9700 :
9701 : case ZERO_EXTEND:
9702 : switch (pattern769 (x2,
9703 : ZERO_EXTEND))
9704 : {
9705 : case 0:
9706 : if (!
9707 : #line 11599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9708 : (TARGET_64BIT
9709 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9710 : return -1;
9711 : *pnum_clobbers = 2;
9712 : return 662; /* *umuldi3_highpart_1 */
9713 :
9714 : case 1:
9715 : if (!
9716 : #line 11648 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9717 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9718 : return -1;
9719 : *pnum_clobbers = 2;
9720 : return 666; /* *umulsi3_highpart_1 */
9721 :
9722 : default:
9723 : return -1;
9724 : }
9725 :
9726 : default:
9727 : return -1;
9728 : }
9729 : }
9730 :
9731 : int
9732 : recog_94 (rtx x1 ATTRIBUTE_UNUSED,
9733 : rtx_insn *insn ATTRIBUTE_UNUSED,
9734 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9735 : {
9736 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9737 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9738 : rtx x10, x11, x12, x13;
9739 : int res ATTRIBUTE_UNUSED;
9740 : x2 = XEXP (x1, 0);
9741 : operands[0] = x2;
9742 : x3 = XEXP (x1, 1);
9743 : x4 = XEXP (x3, 0);
9744 : switch (GET_CODE (x4))
9745 : {
9746 : case REG:
9747 : case SUBREG:
9748 : case MEM:
9749 : operands[1] = x4;
9750 : res = recog_93 (x1, insn, pnum_clobbers);
9751 : if (res >= 0)
9752 : return res;
9753 : if (pnum_clobbers == NULL
9754 : || GET_CODE (x4) != SUBREG
9755 : || maybe_ne (SUBREG_BYTE (x4), 0)
9756 : || GET_MODE (x4) != E_DImode)
9757 : return -1;
9758 : x5 = XEXP (x3, 1);
9759 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
9760 : || !register_operand (operands[0], E_DImode)
9761 : || GET_MODE (x3) != E_DImode)
9762 : return -1;
9763 : x6 = XEXP (x4, 0);
9764 : if (GET_MODE (x6) != E_SImode)
9765 : return -1;
9766 : switch (GET_CODE (x6))
9767 : {
9768 : case CTZ:
9769 : x7 = XEXP (x6, 0);
9770 : operands[1] = x7;
9771 : if (!nonimmediate_operand (operands[1], E_SImode)
9772 : || !
9773 : #line 21391 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9774 : (TARGET_BMI && TARGET_64BIT))
9775 : return -1;
9776 : *pnum_clobbers = 1;
9777 : return 1542; /* *ctzsi2_zext */
9778 :
9779 : case CLZ:
9780 : x7 = XEXP (x6, 0);
9781 : operands[1] = x7;
9782 : if (!nonimmediate_operand (operands[1], E_SImode)
9783 : || !
9784 : #line 21840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9785 : (TARGET_LZCNT && TARGET_64BIT))
9786 : return -1;
9787 : *pnum_clobbers = 1;
9788 : return 1566; /* *clzsi2_lzcnt_zext */
9789 :
9790 : case POPCOUNT:
9791 : x7 = XEXP (x6, 0);
9792 : operands[1] = x7;
9793 : if (!nonimmediate_operand (operands[1], E_SImode)
9794 : || !
9795 : #line 22667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9796 : (TARGET_POPCNT && TARGET_64BIT))
9797 : return -1;
9798 : *pnum_clobbers = 1;
9799 : return 1658; /* *popcountsi2_zext */
9800 :
9801 : default:
9802 : return -1;
9803 : }
9804 :
9805 : case NOT:
9806 : if (pnum_clobbers == NULL)
9807 : return -1;
9808 : x6 = XEXP (x4, 0);
9809 : switch (GET_CODE (x6))
9810 : {
9811 : case REG:
9812 : case SUBREG:
9813 : operands[1] = x6;
9814 : x5 = XEXP (x3, 1);
9815 : operands[2] = x5;
9816 : switch (GET_MODE (operands[0]))
9817 : {
9818 : case E_DImode:
9819 : if (pattern747 (x3,
9820 : E_DImode) != 0)
9821 : return -1;
9822 : if ((
9823 : #line 13716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9824 : (TARGET_BMI) &&
9825 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9826 : (!TARGET_64BIT)))
9827 : {
9828 : *pnum_clobbers = 1;
9829 : return 837; /* *andndi3_doubleword_bmi */
9830 : }
9831 : if ((
9832 : #line 13734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9833 : (!TARGET_BMI
9834 : && ix86_pre_reload_split ()) &&
9835 : #line 1199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9836 : (!TARGET_64BIT)))
9837 : {
9838 : *pnum_clobbers = 1;
9839 : return 839; /* *andndi3_doubleword */
9840 : }
9841 : if (!(
9842 : #line 13750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9843 : (TARGET_BMI || TARGET_AVX512BW) &&
9844 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9845 : (TARGET_64BIT)))
9846 : return -1;
9847 : *pnum_clobbers = 1;
9848 : return 842; /* *andndi_1 */
9849 :
9850 : case E_SImode:
9851 : if (pattern747 (x3,
9852 : E_SImode) != 0
9853 : || !
9854 : #line 13750 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9855 : (TARGET_BMI || TARGET_AVX512BW))
9856 : return -1;
9857 : *pnum_clobbers = 1;
9858 : return 841; /* *andnsi_1 */
9859 :
9860 : default:
9861 : return -1;
9862 : }
9863 :
9864 : case LSHIFTRT:
9865 : x5 = XEXP (x3, 1);
9866 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
9867 : return -1;
9868 : x7 = XEXP (x6, 0);
9869 : operands[1] = x7;
9870 : x8 = XEXP (x6, 1);
9871 : operands[2] = x8;
9872 : if (!register_operand (operands[2], E_QImode))
9873 : return -1;
9874 : switch (GET_MODE (operands[0]))
9875 : {
9876 : case E_SImode:
9877 : if (pattern992 (x3,
9878 : E_SImode) != 0
9879 : || !
9880 : #line 19620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9881 : (TARGET_USE_BT && ix86_pre_reload_split ()))
9882 : return -1;
9883 : *pnum_clobbers = 1;
9884 : return 1462; /* *btsi_setncsi */
9885 :
9886 : case E_DImode:
9887 : if (pattern992 (x3,
9888 : E_DImode) != 0
9889 : || !(
9890 : #line 19620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9891 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
9892 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9893 : (TARGET_64BIT)))
9894 : return -1;
9895 : *pnum_clobbers = 1;
9896 : return 1463; /* *btdi_setncdi */
9897 :
9898 : default:
9899 : return -1;
9900 : }
9901 :
9902 : case ASHIFT:
9903 : x7 = XEXP (x6, 0);
9904 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9905 : return -1;
9906 : switch (pattern634 (x3))
9907 : {
9908 : case 0:
9909 : if (!
9910 : #line 22368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9911 : (TARGET_BMI2))
9912 : return -1;
9913 : *pnum_clobbers = 1;
9914 : return 1622; /* *bmi2_bzhi_si3_3 */
9915 :
9916 : case 1:
9917 : if (!(
9918 : #line 22368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9919 : (TARGET_BMI2) &&
9920 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9921 : (TARGET_64BIT)))
9922 : return -1;
9923 : *pnum_clobbers = 1;
9924 : return 1623; /* *bmi2_bzhi_di3_3 */
9925 :
9926 : default:
9927 : return -1;
9928 : }
9929 :
9930 : default:
9931 : return -1;
9932 : }
9933 :
9934 : case ROTATE:
9935 : if (pnum_clobbers == NULL)
9936 : return -1;
9937 : x6 = XEXP (x4, 0);
9938 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
9939 : return -1;
9940 : switch (pattern288 (x3))
9941 : {
9942 : case 0:
9943 : x9 = XEXP (x4, 1);
9944 : operands[2] = x9;
9945 : if (register_operand (operands[2], E_QImode))
9946 : {
9947 : switch (pattern761 (x3))
9948 : {
9949 : case 0:
9950 : if (
9951 : #line 19127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9952 : (TARGET_USE_BT))
9953 : {
9954 : *pnum_clobbers = 1;
9955 : return 1435; /* *btrsi */
9956 : }
9957 : break;
9958 :
9959 : case 1:
9960 : if ((
9961 : #line 19127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9962 : (TARGET_USE_BT) &&
9963 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9964 : (TARGET_64BIT)))
9965 : {
9966 : *pnum_clobbers = 1;
9967 : return 1436; /* *btrdi */
9968 : }
9969 : break;
9970 :
9971 : default:
9972 : break;
9973 : }
9974 : }
9975 : if (GET_CODE (x9) != SUBREG)
9976 : return -1;
9977 : switch (pattern770 (x3))
9978 : {
9979 : case 0:
9980 : if (!
9981 : #line 19147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9982 : (TARGET_USE_BT
9983 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
9984 : == GET_MODE_BITSIZE (SImode)-1
9985 : && ix86_pre_reload_split ()))
9986 : return -1;
9987 : *pnum_clobbers = 1;
9988 : return 1437; /* *btrsi_mask */
9989 :
9990 : case 1:
9991 : if (!(
9992 : #line 19147 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9993 : (TARGET_USE_BT
9994 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
9995 : == GET_MODE_BITSIZE (DImode)-1
9996 : && ix86_pre_reload_split ()) &&
9997 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9998 : (TARGET_64BIT)))
9999 : return -1;
10000 : *pnum_clobbers = 1;
10001 : return 1438; /* *btrdi_mask */
10002 :
10003 : default:
10004 : return -1;
10005 : }
10006 :
10007 : case 1:
10008 : if (!
10009 : #line 19175 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10010 : (TARGET_USE_BT
10011 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
10012 : == GET_MODE_BITSIZE (SImode)-1
10013 : && ix86_pre_reload_split ()))
10014 : return -1;
10015 : *pnum_clobbers = 1;
10016 : return 1439; /* *btrsi_mask_1 */
10017 :
10018 : case 2:
10019 : if (!(
10020 : #line 19175 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10021 : (TARGET_USE_BT
10022 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
10023 : == GET_MODE_BITSIZE (DImode)-1
10024 : && ix86_pre_reload_split ()) &&
10025 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10026 : (TARGET_64BIT)))
10027 : return -1;
10028 : *pnum_clobbers = 1;
10029 : return 1440; /* *btrdi_mask_1 */
10030 :
10031 : default:
10032 : return -1;
10033 : }
10034 :
10035 : case NEG:
10036 : if (pnum_clobbers == NULL)
10037 : return -1;
10038 : x6 = XEXP (x4, 0);
10039 : operands[1] = x6;
10040 : x5 = XEXP (x3, 1);
10041 : if (!rtx_equal_p (x5, operands[1]))
10042 : return -1;
10043 : switch (GET_MODE (operands[0]))
10044 : {
10045 : case E_SImode:
10046 : if (pattern764 (x3,
10047 : E_SImode) != 0
10048 : || !
10049 : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10050 : (TARGET_BMI))
10051 : return -1;
10052 : *pnum_clobbers = 1;
10053 : return 1596; /* *bmi_blsi_si */
10054 :
10055 : case E_DImode:
10056 : if (pattern764 (x3,
10057 : E_DImode) != 0
10058 : || !(
10059 : #line 22045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10060 : (TARGET_BMI) &&
10061 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10062 : (TARGET_64BIT)))
10063 : return -1;
10064 : *pnum_clobbers = 1;
10065 : return 1597; /* *bmi_blsi_di */
10066 :
10067 : default:
10068 : return -1;
10069 : }
10070 :
10071 : case PLUS:
10072 : if (pnum_clobbers == NULL)
10073 : return -1;
10074 : x9 = XEXP (x4, 1);
10075 : if (GET_CODE (x9) != CONST_INT)
10076 : return -1;
10077 : x6 = XEXP (x4, 0);
10078 : switch (GET_CODE (x6))
10079 : {
10080 : case REG:
10081 : case SUBREG:
10082 : case MEM:
10083 : operands[1] = x6;
10084 : switch (XWINT (x9, 0))
10085 : {
10086 : case -1L:
10087 : switch (pattern766 (x3))
10088 : {
10089 : case 0:
10090 : if (!
10091 : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10092 : (TARGET_BMI))
10093 : return -1;
10094 : *pnum_clobbers = 1;
10095 : return 1608; /* *bmi_blsr_si */
10096 :
10097 : case 1:
10098 : if (!(
10099 : #line 22190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10100 : (TARGET_BMI) &&
10101 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10102 : (TARGET_64BIT)))
10103 : return -1;
10104 : *pnum_clobbers = 1;
10105 : return 1609; /* *bmi_blsr_di */
10106 :
10107 : case 2:
10108 : if (!
10109 : #line 22561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10110 : (TARGET_TBM))
10111 : return -1;
10112 : *pnum_clobbers = 1;
10113 : return 1648; /* *tbm_tzmsk_si */
10114 :
10115 : case 3:
10116 : if (!(
10117 : #line 22561 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10118 : (TARGET_TBM) &&
10119 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10120 : (TARGET_64BIT)))
10121 : return -1;
10122 : *pnum_clobbers = 1;
10123 : return 1649; /* *tbm_tzmsk_di */
10124 :
10125 : default:
10126 : return -1;
10127 : }
10128 :
10129 : case 1L:
10130 : switch (pattern766 (x3))
10131 : {
10132 : case 0:
10133 : if (!
10134 : #line 22452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10135 : (TARGET_TBM))
10136 : return -1;
10137 : *pnum_clobbers = 1;
10138 : return 1632; /* *tbm_blcfill_si */
10139 :
10140 : case 1:
10141 : if (!(
10142 : #line 22452 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10143 : (TARGET_TBM) &&
10144 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10145 : (TARGET_64BIT)))
10146 : return -1;
10147 : *pnum_clobbers = 1;
10148 : return 1633; /* *tbm_blcfill_di */
10149 :
10150 : case 2:
10151 : if (!
10152 : #line 22480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10153 : (TARGET_TBM))
10154 : return -1;
10155 : *pnum_clobbers = 1;
10156 : return 1636; /* *tbm_blcic_si */
10157 :
10158 : case 3:
10159 : if (!(
10160 : #line 22480 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10161 : (TARGET_TBM) &&
10162 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10163 : (TARGET_64BIT)))
10164 : return -1;
10165 : *pnum_clobbers = 1;
10166 : return 1637; /* *tbm_blcic_di */
10167 :
10168 : default:
10169 : return -1;
10170 : }
10171 :
10172 : default:
10173 : return -1;
10174 : }
10175 :
10176 : case ASHIFT:
10177 : x7 = XEXP (x6, 0);
10178 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
10179 : || XWINT (x9, 0) != -1L)
10180 : return -1;
10181 : switch (pattern634 (x3))
10182 : {
10183 : case 0:
10184 : if (!
10185 : #line 22354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10186 : (TARGET_BMI2))
10187 : return -1;
10188 : *pnum_clobbers = 1;
10189 : return 1620; /* *bmi2_bzhi_si3_2 */
10190 :
10191 : case 1:
10192 : if (!(
10193 : #line 22354 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10194 : (TARGET_BMI2) &&
10195 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10196 : (TARGET_64BIT)))
10197 : return -1;
10198 : *pnum_clobbers = 1;
10199 : return 1621; /* *bmi2_bzhi_di3_2 */
10200 :
10201 : default:
10202 : return -1;
10203 : }
10204 :
10205 : default:
10206 : return -1;
10207 : }
10208 :
10209 : case ZERO_EXTEND:
10210 : if (pnum_clobbers == NULL
10211 : || GET_MODE (x4) != E_DImode)
10212 : return -1;
10213 : x6 = XEXP (x4, 0);
10214 : if (GET_CODE (x6) != PLUS
10215 : || pattern443 (x6) != 0)
10216 : return -1;
10217 : x8 = XEXP (x6, 1);
10218 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
10219 : || !register_operand (operands[0], E_DImode)
10220 : || GET_MODE (x3) != E_DImode)
10221 : return -1;
10222 : x7 = XEXP (x6, 0);
10223 : x10 = XEXP (x7, 1);
10224 : operands[2] = x10;
10225 : if (!register_operand (operands[2], E_QImode))
10226 : return -1;
10227 : x5 = XEXP (x3, 1);
10228 : operands[1] = x5;
10229 : if (!nonimmediate_operand (operands[1], E_DImode)
10230 : || !
10231 : #line 22400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10232 : (TARGET_64BIT && TARGET_BMI2))
10233 : return -1;
10234 : *pnum_clobbers = 1;
10235 : return 1625; /* *bmi2_bzhi_zero_extendsidi_5 */
10236 :
10237 : case UNSPEC:
10238 : switch (XVECLEN (x4, 0))
10239 : {
10240 : case 3:
10241 : x11 = XVECEXP (x4, 0, 2);
10242 : if (GET_CODE (x11) != CONST_INT)
10243 : return -1;
10244 : x12 = XVECEXP (x4, 0, 0);
10245 : operands[1] = x12;
10246 : x13 = XVECEXP (x4, 0, 1);
10247 : operands[2] = x13;
10248 : switch (XINT (x4, 1))
10249 : {
10250 : case 60:
10251 : operands[3] = x11;
10252 : x5 = XEXP (x3, 1);
10253 : operands[4] = x5;
10254 : switch (GET_MODE (operands[0]))
10255 : {
10256 : case E_SImode:
10257 : if (pattern1087 (x3,
10258 : E_SImode) == 0)
10259 : {
10260 : switch (GET_MODE (operands[1]))
10261 : {
10262 : case E_V32HFmode:
10263 : if (register_operand (operands[1], E_V32HFmode)
10264 : && nonimmediate_operand (operands[2], E_V32HFmode)
10265 : && const_0_to_31_operand (operands[3], E_SImode)
10266 : && (
10267 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10268 : (TARGET_AVX512F) && (
10269 : #line 4658 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10270 : (TARGET_AVX512F && 1) &&
10271 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10272 : (TARGET_AVX512FP16))))
10273 : return 3315; /* avx512bw_cmpv32hf3_mask */
10274 : break;
10275 :
10276 : case E_V32QImode:
10277 : if (register_operand (operands[1], E_V32QImode)
10278 : && nonimmediate_operand (operands[2], E_V32QImode)
10279 : && const_0_to_7_operand (operands[3], E_SImode)
10280 : && (
10281 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10282 : (TARGET_AVX512F) && (
10283 : #line 4853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10284 : (TARGET_AVX512F) &&
10285 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10286 : (TARGET_AVX512VL && TARGET_AVX512BW))))
10287 : return 3460; /* avx512vl_cmpv32qi3_mask */
10288 : break;
10289 :
10290 : case E_V32HImode:
10291 : if (register_operand (operands[1], E_V32HImode)
10292 : && nonimmediate_operand (operands[2], E_V32HImode)
10293 : && const_0_to_7_operand (operands[3], E_SImode)
10294 : && (
10295 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10296 : (TARGET_AVX512F) && (
10297 : #line 4853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10298 : (TARGET_AVX512F) &&
10299 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10300 : (TARGET_AVX512BW))))
10301 : return 3464; /* avx512bw_cmpv32hi3_mask */
10302 : break;
10303 :
10304 : case E_V32BFmode:
10305 : if (register_operand (operands[1], E_V32BFmode)
10306 : && nonimmediate_operand (operands[2], E_V32BFmode)
10307 : && const_0_to_31_operand (operands[3], E_VOIDmode)
10308 : && (
10309 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10310 : (TARGET_AVX512F) &&
10311 : #line 33435 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10312 : (TARGET_AVX10_2)))
10313 : return 10810; /* avx10_2_cmpbf16_v32bf_mask */
10314 : break;
10315 :
10316 : default:
10317 : break;
10318 : }
10319 : }
10320 : break;
10321 :
10322 : case E_DImode:
10323 : if (pattern995 (x3) == 0
10324 : && register_operand (operands[4], E_DImode)
10325 : && (
10326 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10327 : (TARGET_AVX512F) && (
10328 : #line 4853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10329 : (TARGET_AVX512F) &&
10330 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10331 : (TARGET_AVX512BW))))
10332 : return 3458; /* avx512bw_cmpv64qi3_mask */
10333 : break;
10334 :
10335 : default:
10336 : break;
10337 : }
10338 : if (XWINT (x11, 0) != 0L)
10339 : return -1;
10340 : switch (pattern993 (x3))
10341 : {
10342 : case 0:
10343 : if (!(
10344 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10345 : (TARGET_AVX512F) &&
10346 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10347 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10348 : return -1;
10349 : return 3554; /* *avx512bw_eqv64qi3_mask_1 */
10350 :
10351 : case 1:
10352 : if (!(
10353 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10354 : (TARGET_AVX512F) && (
10355 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10356 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
10357 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10358 : (TARGET_AVX512VL))))
10359 : return -1;
10360 : return 3562; /* *avx512vl_eqv32qi3_mask_1 */
10361 :
10362 : case 2:
10363 : if (!(
10364 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10365 : (TARGET_AVX512F) &&
10366 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10367 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10368 : return -1;
10369 : return 3566; /* *avx512bw_eqv32hi3_mask_1 */
10370 :
10371 : default:
10372 : return -1;
10373 : }
10374 :
10375 : case 158:
10376 : if (XWINT (x11, 0) == 0L)
10377 : {
10378 : switch (pattern993 (x3))
10379 : {
10380 : case 0:
10381 : if ((
10382 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10383 : (TARGET_AVX512F) &&
10384 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10385 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10386 : return 3556; /* *avx512bw_eqv64qi3_mask_1 */
10387 : break;
10388 :
10389 : case 1:
10390 : if ((
10391 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10392 : (TARGET_AVX512F) && (
10393 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10394 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
10395 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10396 : (TARGET_AVX512VL))))
10397 : return 3564; /* *avx512vl_eqv32qi3_mask_1 */
10398 : break;
10399 :
10400 : case 2:
10401 : if ((
10402 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10403 : (TARGET_AVX512F) &&
10404 : #line 4973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10405 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10406 : return 3568; /* *avx512bw_eqv32hi3_mask_1 */
10407 : break;
10408 :
10409 : default:
10410 : break;
10411 : }
10412 : }
10413 : operands[3] = x11;
10414 : if (!const_0_to_7_operand (operands[3], E_SImode))
10415 : return -1;
10416 : x5 = XEXP (x3, 1);
10417 : operands[4] = x5;
10418 : switch (GET_MODE (operands[0]))
10419 : {
10420 : case E_DImode:
10421 : if (pattern1104 (x3,
10422 : E_V64QImode,
10423 : E_DImode) != 0
10424 : || !register_operand (operands[4], E_DImode)
10425 : || !(
10426 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10427 : (TARGET_AVX512F) && (
10428 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10429 : (TARGET_AVX512F) &&
10430 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10431 : (TARGET_AVX512BW))))
10432 : return -1;
10433 : return 3638; /* avx512bw_ucmpv64qi3_mask */
10434 :
10435 : case E_SImode:
10436 : if (pattern1087 (x3,
10437 : E_SImode) != 0)
10438 : return -1;
10439 : switch (pattern881 ())
10440 : {
10441 : case 0:
10442 : if (!(
10443 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10444 : (TARGET_AVX512F) && (
10445 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10446 : (TARGET_AVX512F) &&
10447 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10448 : (TARGET_AVX512VL && TARGET_AVX512BW))))
10449 : return -1;
10450 : return 3640; /* avx512vl_ucmpv32qi3_mask */
10451 :
10452 : case 1:
10453 : if (!(
10454 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10455 : (TARGET_AVX512F) && (
10456 : #line 5066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10457 : (TARGET_AVX512F) &&
10458 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10459 : (TARGET_AVX512BW))))
10460 : return -1;
10461 : return 3644; /* avx512bw_ucmpv32hi3_mask */
10462 :
10463 : default:
10464 : return -1;
10465 : }
10466 :
10467 : default:
10468 : return -1;
10469 : }
10470 :
10471 : default:
10472 : return -1;
10473 : }
10474 :
10475 : case 2:
10476 : x12 = XVECEXP (x4, 0, 0);
10477 : operands[1] = x12;
10478 : x13 = XVECEXP (x4, 0, 1);
10479 : operands[2] = x13;
10480 : x5 = XEXP (x3, 1);
10481 : operands[3] = x5;
10482 : switch (XINT (x4, 1))
10483 : {
10484 : case 159:
10485 : switch (pattern885 (x3))
10486 : {
10487 : case 0:
10488 : if (!(
10489 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10490 : (TARGET_AVX512F) && (
10491 : #line 19496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10492 : (TARGET_AVX512F) &&
10493 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10494 : (TARGET_AVX512BW))))
10495 : return -1;
10496 : return 8166; /* avx512bw_testmv64qi3_mask */
10497 :
10498 : case 1:
10499 : if (!(
10500 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10501 : (TARGET_AVX512F) && (
10502 : #line 19496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10503 : (TARGET_AVX512F) &&
10504 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10505 : (TARGET_AVX512VL && TARGET_AVX512BW))))
10506 : return -1;
10507 : return 8168; /* avx512vl_testmv32qi3_mask */
10508 :
10509 : case 2:
10510 : if (!(
10511 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10512 : (TARGET_AVX512F) && (
10513 : #line 19496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10514 : (TARGET_AVX512F) &&
10515 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10516 : (TARGET_AVX512BW))))
10517 : return -1;
10518 : return 8172; /* avx512bw_testmv32hi3_mask */
10519 :
10520 : default:
10521 : return -1;
10522 : }
10523 :
10524 : case 160:
10525 : switch (pattern885 (x3))
10526 : {
10527 : case 0:
10528 : if (!(
10529 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10530 : (TARGET_AVX512F) && (
10531 : #line 19507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10532 : (TARGET_AVX512F) &&
10533 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10534 : (TARGET_AVX512BW))))
10535 : return -1;
10536 : return 8190; /* avx512bw_testnmv64qi3_mask */
10537 :
10538 : case 1:
10539 : if (!(
10540 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10541 : (TARGET_AVX512F) && (
10542 : #line 19507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10543 : (TARGET_AVX512F) &&
10544 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10545 : (TARGET_AVX512VL && TARGET_AVX512BW))))
10546 : return -1;
10547 : return 8192; /* avx512vl_testnmv32qi3_mask */
10548 :
10549 : case 2:
10550 : if (!(
10551 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10552 : (TARGET_AVX512F) && (
10553 : #line 19507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10554 : (TARGET_AVX512F) &&
10555 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10556 : (TARGET_AVX512BW))))
10557 : return -1;
10558 : return 8196; /* avx512bw_testnmv32hi3_mask */
10559 :
10560 : default:
10561 : return -1;
10562 : }
10563 :
10564 : case 194:
10565 : if (GET_MODE (x4) != E_SImode
10566 : || !register_operand (operands[0], E_SImode)
10567 : || GET_MODE (x3) != E_SImode
10568 : || !vector_operand (operands[1], E_V32HFmode)
10569 : || !const_0_to_255_operand (operands[2], E_VOIDmode)
10570 : || !register_operand (operands[3], E_SImode)
10571 : || !(
10572 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10573 : (TARGET_AVX512F) && (
10574 : #line 30812 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10575 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V32HFmode)) &&
10576 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10577 : (TARGET_AVX512FP16))))
10578 : return -1;
10579 : return 10068; /* avx512dq_fpclassv32hf_mask */
10580 :
10581 : case 215:
10582 : switch (GET_MODE (operands[0]))
10583 : {
10584 : case E_DImode:
10585 : if (pattern884 (x3,
10586 : E_DImode,
10587 : E_V64QImode) != 0
10588 : || !(
10589 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10590 : (TARGET_AVX512F) &&
10591 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10592 : (TARGET_AVX512BITALG)))
10593 : return -1;
10594 : return 10410; /* avx512vl_vpshufbitqmbv64qi_mask */
10595 :
10596 : case E_SImode:
10597 : if (pattern884 (x3,
10598 : E_SImode,
10599 : E_V32QImode) != 0
10600 : || !(
10601 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10602 : (TARGET_AVX512F) && (
10603 : #line 31906 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10604 : (TARGET_AVX512BITALG) &&
10605 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10606 : (TARGET_AVX512VL))))
10607 : return -1;
10608 : return 10414; /* avx512vl_vpshufbitqmbv32qi_mask */
10609 :
10610 : default:
10611 : return -1;
10612 : }
10613 :
10614 : case 263:
10615 : if (GET_MODE (x4) != E_SImode
10616 : || !register_operand (operands[0], E_SImode)
10617 : || GET_MODE (x3) != E_SImode
10618 : || !nonimmediate_operand (operands[1], E_V32BFmode)
10619 : || !const_0_to_255_operand (operands[2], E_VOIDmode)
10620 : || !register_operand (operands[3], E_SImode)
10621 : || !(
10622 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10623 : (TARGET_AVX512F) &&
10624 : #line 33424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10625 : (TARGET_AVX10_2)))
10626 : return -1;
10627 : return 10804; /* avx10_2_fpclassbf16_v32bf_mask */
10628 :
10629 : default:
10630 : return -1;
10631 : }
10632 :
10633 : default:
10634 : return -1;
10635 : }
10636 :
10637 : default:
10638 : return -1;
10639 : }
10640 : }
10641 :
10642 : int
10643 : recog_128 (rtx x1 ATTRIBUTE_UNUSED,
10644 : rtx_insn *insn ATTRIBUTE_UNUSED,
10645 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10646 : {
10647 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10648 : rtx x2;
10649 : int res ATTRIBUTE_UNUSED;
10650 : x2 = XEXP (x1, 1);
10651 : switch (pattern643 (x2))
10652 : {
10653 : case 0:
10654 : if (pattern646 (x2,
10655 : E_V32HImode,
10656 : E_SImode,
10657 : E_V32HFmode) != 0
10658 : || !(
10659 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10660 : (TARGET_AVX512F) &&
10661 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10662 : (TARGET_AVX512FP16)))
10663 : return -1;
10664 : return 4435; /* avx512fp16_vcvtph2uw_v32hi_mask */
10665 :
10666 : case 1:
10667 : if (pattern142 (x2,
10668 : E_V16SImode,
10669 : E_HImode) != 0)
10670 : return -1;
10671 : switch (GET_MODE (operands[1]))
10672 : {
10673 : case E_V16HFmode:
10674 : if (!vector_operand (operands[1], E_V16HFmode)
10675 : || !(
10676 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10677 : (TARGET_AVX512F) &&
10678 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10679 : (TARGET_AVX512FP16)))
10680 : return -1;
10681 : return 4443; /* avx512fp16_vcvtph2udq_v16si_mask */
10682 :
10683 : case E_V16SFmode:
10684 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
10685 : || !
10686 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10687 : (TARGET_AVX512F))
10688 : return -1;
10689 : return 4871; /* avx512f_fixuns_notruncv16sfv16si_mask */
10690 :
10691 : default:
10692 : return -1;
10693 : }
10694 :
10695 : case 2:
10696 : switch (pattern1113 (x2,
10697 : E_V8DImode))
10698 : {
10699 : case 0:
10700 : if (!(
10701 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10702 : (TARGET_AVX512F) &&
10703 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10704 : (TARGET_AVX512FP16)))
10705 : return -1;
10706 : return 4451; /* avx512fp16_vcvtph2uqq_v8di_mask */
10707 :
10708 : case 1:
10709 : if (!(
10710 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10711 : (TARGET_AVX512F) &&
10712 : #line 9108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10713 : (TARGET_AVX512DQ && 1)))
10714 : return -1;
10715 : return 4891; /* avx512dq_cvtps2uqqv8di_mask */
10716 :
10717 : case 2:
10718 : if (!(
10719 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10720 : (TARGET_AVX512F) &&
10721 : #line 10087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10722 : (TARGET_AVX512DQ && 1)))
10723 : return -1;
10724 : return 5117; /* fixuns_notruncv8dfv8di2_mask */
10725 :
10726 : default:
10727 : return -1;
10728 : }
10729 :
10730 : case 3:
10731 : if (pattern646 (x2,
10732 : E_V16HImode,
10733 : E_HImode,
10734 : E_V16HFmode) != 0
10735 : || !(
10736 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10737 : (TARGET_AVX512F) && (
10738 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10739 : (TARGET_AVX512FP16) &&
10740 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10741 : (TARGET_AVX512VL))))
10742 : return -1;
10743 : return 4459; /* avx512fp16_vcvtph2uw_v16hi_mask */
10744 :
10745 : case 4:
10746 : switch (pattern1113 (x2,
10747 : E_V8SImode))
10748 : {
10749 : case 0:
10750 : if (!(
10751 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10752 : (TARGET_AVX512F) && (
10753 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10754 : (TARGET_AVX512FP16) &&
10755 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10756 : (TARGET_AVX512VL))))
10757 : return -1;
10758 : return 4467; /* avx512fp16_vcvtph2udq_v8si_mask */
10759 :
10760 : case 1:
10761 : if (!(
10762 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10763 : (TARGET_AVX512F) && (
10764 : #line 9075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10765 : (TARGET_AVX512F) &&
10766 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10767 : (TARGET_AVX512VL))))
10768 : return -1;
10769 : return 4875; /* avx512vl_fixuns_notruncv8sfv8si_mask */
10770 :
10771 : case 2:
10772 : if (!
10773 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10774 : (TARGET_AVX512F))
10775 : return -1;
10776 : return 5037; /* fixuns_notruncv8dfv8si2_mask */
10777 :
10778 : default:
10779 : return -1;
10780 : }
10781 :
10782 : case 5:
10783 : switch (pattern1114 (x2,
10784 : E_V4DImode))
10785 : {
10786 : case 0:
10787 : if (!(
10788 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10789 : (TARGET_AVX512F) && (
10790 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10791 : (TARGET_AVX512FP16) &&
10792 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10793 : (TARGET_AVX512VL))))
10794 : return -1;
10795 : return 4475; /* avx512fp16_vcvtph2uqq_v4di_mask */
10796 :
10797 : case 1:
10798 : if (!(
10799 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10800 : (TARGET_AVX512F) && (
10801 : #line 9108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10802 : (TARGET_AVX512DQ && 1) &&
10803 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10804 : (TARGET_AVX512VL))))
10805 : return -1;
10806 : return 4894; /* avx512dq_cvtps2uqqv4di_mask */
10807 :
10808 : case 2:
10809 : if (!(
10810 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10811 : (TARGET_AVX512F) && (
10812 : #line 10087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10813 : (TARGET_AVX512DQ && 1) &&
10814 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10815 : (TARGET_AVX512VL))))
10816 : return -1;
10817 : return 5120; /* fixuns_notruncv4dfv4di2_mask */
10818 :
10819 : default:
10820 : return -1;
10821 : }
10822 :
10823 : case 6:
10824 : if (pattern646 (x2,
10825 : E_V8HImode,
10826 : E_QImode,
10827 : E_V8HFmode) != 0
10828 : || !(
10829 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10830 : (TARGET_AVX512F) && (
10831 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10832 : (TARGET_AVX512FP16) &&
10833 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10834 : (TARGET_AVX512VL))))
10835 : return -1;
10836 : return 4483; /* avx512fp16_vcvtph2uw_v8hi_mask */
10837 :
10838 : case 7:
10839 : switch (pattern1114 (x2,
10840 : E_V4SImode))
10841 : {
10842 : case 0:
10843 : if (!(
10844 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10845 : (TARGET_AVX512F) && (
10846 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10847 : (TARGET_AVX512FP16) &&
10848 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10849 : (TARGET_AVX512VL))))
10850 : return -1;
10851 : return 4491; /* avx512fp16_vcvtph2udq_v4si_mask */
10852 :
10853 : case 1:
10854 : if (!(
10855 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10856 : (TARGET_AVX512F) && (
10857 : #line 9075 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10858 : (TARGET_AVX512F) &&
10859 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10860 : (TARGET_AVX512VL))))
10861 : return -1;
10862 : return 4879; /* avx512vl_fixuns_notruncv4sfv4si_mask */
10863 :
10864 : case 2:
10865 : if (!(
10866 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10867 : (TARGET_AVX512F) && (
10868 : #line 9868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10869 : (TARGET_AVX512F) &&
10870 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10871 : (TARGET_AVX512VL))))
10872 : return -1;
10873 : return 5041; /* fixuns_notruncv4dfv4si2_mask */
10874 :
10875 : default:
10876 : return -1;
10877 : }
10878 :
10879 : case 8:
10880 : switch (pattern1115 (x2))
10881 : {
10882 : case 0:
10883 : if (!vector_operand (operands[1], E_V8HFmode)
10884 : || !(
10885 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10886 : (TARGET_AVX512F) && (
10887 : #line 8011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10888 : (TARGET_AVX512FP16) &&
10889 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10890 : (TARGET_AVX512VL))))
10891 : return -1;
10892 : return 4499; /* avx512fp16_vcvtph2uqq_v2di_mask */
10893 :
10894 : case 1:
10895 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
10896 : || !(
10897 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10898 : (TARGET_AVX512F) && (
10899 : #line 10087 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10900 : (TARGET_AVX512DQ && 1) &&
10901 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10902 : (TARGET_AVX512VL))))
10903 : return -1;
10904 : return 5122; /* fixuns_notruncv2dfv2di2_mask */
10905 :
10906 : default:
10907 : return -1;
10908 : }
10909 :
10910 : case 9:
10911 : if (!(
10912 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10913 : (TARGET_AVX512F) &&
10914 : #line 9121 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10915 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10916 : return -1;
10917 : return 4896; /* avx512dq_cvtps2uqqv2di_mask */
10918 :
10919 : default:
10920 : return -1;
10921 : }
10922 : }
10923 :
10924 : int
10925 : recog_136 (rtx x1 ATTRIBUTE_UNUSED,
10926 : rtx_insn *insn ATTRIBUTE_UNUSED,
10927 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10928 : {
10929 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10930 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10931 : int res ATTRIBUTE_UNUSED;
10932 : x2 = XEXP (x1, 1);
10933 : x3 = XEXP (x2, 0);
10934 : x4 = XVECEXP (x3, 0, 0);
10935 : operands[1] = x4;
10936 : x5 = XVECEXP (x3, 0, 1);
10937 : operands[2] = x5;
10938 : x6 = XVECEXP (x3, 0, 2);
10939 : switch (GET_CODE (x6))
10940 : {
10941 : case REG:
10942 : case SUBREG:
10943 : case MEM:
10944 : operands[3] = x6;
10945 : x7 = XEXP (x2, 1);
10946 : switch (GET_CODE (x7))
10947 : {
10948 : case CONST_INT:
10949 : case CONST_DOUBLE:
10950 : case CONST_VECTOR:
10951 : operands[4] = x7;
10952 : x8 = XEXP (x2, 2);
10953 : operands[5] = x8;
10954 : switch (GET_MODE (operands[0]))
10955 : {
10956 : case E_V32HFmode:
10957 : if (pattern1377 (x2,
10958 : E_V32HFmode,
10959 : E_SImode) != 0
10960 : || !(
10961 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10962 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
10963 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10964 : (TARGET_AVX512FP16)))
10965 : return -1;
10966 : return 4122; /* fma_fmaddsub_v32hf_maskz_1 */
10967 :
10968 : case E_V16HFmode:
10969 : if (pattern1377 (x2,
10970 : E_V16HFmode,
10971 : E_HImode) != 0
10972 : || !(
10973 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10974 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
10975 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10976 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10977 : return -1;
10978 : return 4126; /* fma_fmaddsub_v16hf_maskz_1 */
10979 :
10980 : case E_V8HFmode:
10981 : if (pattern1377 (x2,
10982 : E_V8HFmode,
10983 : E_QImode) != 0
10984 : || !(
10985 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10986 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
10987 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10988 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10989 : return -1;
10990 : return 4128; /* fma_fmaddsub_v8hf_maskz_1 */
10991 :
10992 : case E_V16SFmode:
10993 : if (pattern1377 (x2,
10994 : E_V16SFmode,
10995 : E_HImode) != 0
10996 : || !
10997 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10998 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
10999 : return -1;
11000 : return 4130; /* fma_fmaddsub_v16sf_maskz_1 */
11001 :
11002 : case E_V8SFmode:
11003 : if (pattern1377 (x2,
11004 : E_V8SFmode,
11005 : E_QImode) != 0
11006 : || !(
11007 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11008 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11009 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11010 : (TARGET_AVX512VL)))
11011 : return -1;
11012 : return 4134; /* fma_fmaddsub_v8sf_maskz_1 */
11013 :
11014 : case E_V4SFmode:
11015 : if (pattern1377 (x2,
11016 : E_V4SFmode,
11017 : E_QImode) != 0
11018 : || !(
11019 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11020 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11021 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11022 : (TARGET_AVX512VL)))
11023 : return -1;
11024 : return 4136; /* fma_fmaddsub_v4sf_maskz_1 */
11025 :
11026 : case E_V8DFmode:
11027 : if (pattern1377 (x2,
11028 : E_V8DFmode,
11029 : E_QImode) != 0
11030 : || !
11031 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11032 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11033 : return -1;
11034 : return 4138; /* fma_fmaddsub_v8df_maskz_1 */
11035 :
11036 : case E_V4DFmode:
11037 : if (pattern1377 (x2,
11038 : E_V4DFmode,
11039 : E_QImode) != 0
11040 : || !(
11041 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11042 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11043 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11044 : (TARGET_AVX512VL)))
11045 : return -1;
11046 : return 4142; /* fma_fmaddsub_v4df_maskz_1 */
11047 :
11048 : case E_V2DFmode:
11049 : if (pattern1377 (x2,
11050 : E_V2DFmode,
11051 : E_QImode) != 0
11052 : || !(
11053 : #line 6802 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11054 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11055 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11056 : (TARGET_AVX512VL)))
11057 : return -1;
11058 : return 4144; /* fma_fmaddsub_v2df_maskz_1 */
11059 :
11060 : default:
11061 : return -1;
11062 : }
11063 :
11064 : case REG:
11065 : case SUBREG:
11066 : case MEM:
11067 : x8 = XEXP (x2, 2);
11068 : operands[4] = x8;
11069 : switch (GET_MODE (operands[0]))
11070 : {
11071 : case E_V32HFmode:
11072 : if (pattern1281 (x2,
11073 : E_V32HFmode,
11074 : E_SImode) != 0)
11075 : return -1;
11076 : if (register_operand (operands[1], E_V32HFmode)
11077 : && vector_operand (operands[3], E_V32HFmode)
11078 : && rtx_equal_p (x7, operands[1])
11079 : && (
11080 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11081 : (TARGET_AVX512F) &&
11082 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11083 : (TARGET_AVX512FP16)))
11084 : return 4145; /* avx512bw_fmaddsub_v32hf_mask */
11085 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
11086 : || !nonimmediate_operand (operands[3], E_V32HFmode)
11087 : || !rtx_equal_p (x7, operands[3])
11088 : || !(
11089 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11090 : (TARGET_AVX512F) &&
11091 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11092 : (TARGET_AVX512FP16)))
11093 : return -1;
11094 : return 4163; /* avx512bw_fmaddsub_v32hf_mask3 */
11095 :
11096 : case E_V16HFmode:
11097 : if (pattern1281 (x2,
11098 : E_V16HFmode,
11099 : E_HImode) != 0)
11100 : return -1;
11101 : if (register_operand (operands[1], E_V16HFmode)
11102 : && vector_operand (operands[3], E_V16HFmode)
11103 : && rtx_equal_p (x7, operands[1])
11104 : && (
11105 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11106 : (TARGET_AVX512F) &&
11107 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11108 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11109 : return 4147; /* avx512vl_fmaddsub_v16hf_mask */
11110 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
11111 : || !nonimmediate_operand (operands[3], E_V16HFmode)
11112 : || !rtx_equal_p (x7, operands[3])
11113 : || !(
11114 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11115 : (TARGET_AVX512F) &&
11116 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11117 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11118 : return -1;
11119 : return 4165; /* avx512vl_fmaddsub_v16hf_mask3 */
11120 :
11121 : case E_V8HFmode:
11122 : if (pattern1281 (x2,
11123 : E_V8HFmode,
11124 : E_QImode) != 0)
11125 : return -1;
11126 : if (register_operand (operands[1], E_V8HFmode)
11127 : && vector_operand (operands[3], E_V8HFmode)
11128 : && rtx_equal_p (x7, operands[1])
11129 : && (
11130 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11131 : (TARGET_AVX512F) &&
11132 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11133 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11134 : return 4149; /* avx512fp16_fmaddsub_v8hf_mask */
11135 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
11136 : || !nonimmediate_operand (operands[3], E_V8HFmode)
11137 : || !rtx_equal_p (x7, operands[3])
11138 : || !(
11139 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11140 : (TARGET_AVX512F) &&
11141 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11142 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11143 : return -1;
11144 : return 4167; /* avx512fp16_fmaddsub_v8hf_mask3 */
11145 :
11146 : case E_V16SFmode:
11147 : if (pattern1281 (x2,
11148 : E_V16SFmode,
11149 : E_HImode) != 0)
11150 : return -1;
11151 : if (register_operand (operands[1], E_V16SFmode)
11152 : && vector_operand (operands[3], E_V16SFmode)
11153 : && rtx_equal_p (x7, operands[1])
11154 : &&
11155 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11156 : (TARGET_AVX512F))
11157 : return 4151; /* avx512f_fmaddsub_v16sf_mask */
11158 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
11159 : || !nonimmediate_operand (operands[3], E_V16SFmode)
11160 : || !rtx_equal_p (x7, operands[3])
11161 : || !
11162 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11163 : (TARGET_AVX512F))
11164 : return -1;
11165 : return 4169; /* avx512f_fmaddsub_v16sf_mask3 */
11166 :
11167 : case E_V8SFmode:
11168 : if (pattern1281 (x2,
11169 : E_V8SFmode,
11170 : E_QImode) != 0)
11171 : return -1;
11172 : if (register_operand (operands[1], E_V8SFmode)
11173 : && vector_operand (operands[3], E_V8SFmode)
11174 : && rtx_equal_p (x7, operands[1])
11175 : && (
11176 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11177 : (TARGET_AVX512F) &&
11178 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11179 : (TARGET_AVX512VL)))
11180 : return 4153; /* avx512vl_fmaddsub_v8sf_mask */
11181 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
11182 : || !nonimmediate_operand (operands[3], E_V8SFmode)
11183 : || !rtx_equal_p (x7, operands[3])
11184 : || !(
11185 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11186 : (TARGET_AVX512F) &&
11187 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11188 : (TARGET_AVX512VL)))
11189 : return -1;
11190 : return 4171; /* avx512vl_fmaddsub_v8sf_mask3 */
11191 :
11192 : case E_V4SFmode:
11193 : if (pattern1281 (x2,
11194 : E_V4SFmode,
11195 : E_QImode) != 0)
11196 : return -1;
11197 : if (register_operand (operands[1], E_V4SFmode)
11198 : && vector_operand (operands[3], E_V4SFmode)
11199 : && rtx_equal_p (x7, operands[1])
11200 : && (
11201 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11202 : (TARGET_AVX512F) &&
11203 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11204 : (TARGET_AVX512VL)))
11205 : return 4155; /* avx512vl_fmaddsub_v4sf_mask */
11206 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
11207 : || !nonimmediate_operand (operands[3], E_V4SFmode)
11208 : || !rtx_equal_p (x7, operands[3])
11209 : || !(
11210 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11211 : (TARGET_AVX512F) &&
11212 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11213 : (TARGET_AVX512VL)))
11214 : return -1;
11215 : return 4173; /* avx512vl_fmaddsub_v4sf_mask3 */
11216 :
11217 : case E_V8DFmode:
11218 : if (pattern1281 (x2,
11219 : E_V8DFmode,
11220 : E_QImode) != 0)
11221 : return -1;
11222 : if (register_operand (operands[1], E_V8DFmode)
11223 : && vector_operand (operands[3], E_V8DFmode)
11224 : && rtx_equal_p (x7, operands[1])
11225 : &&
11226 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11227 : (TARGET_AVX512F))
11228 : return 4157; /* avx512f_fmaddsub_v8df_mask */
11229 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
11230 : || !nonimmediate_operand (operands[3], E_V8DFmode)
11231 : || !rtx_equal_p (x7, operands[3])
11232 : || !
11233 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11234 : (TARGET_AVX512F))
11235 : return -1;
11236 : return 4175; /* avx512f_fmaddsub_v8df_mask3 */
11237 :
11238 : case E_V4DFmode:
11239 : if (pattern1281 (x2,
11240 : E_V4DFmode,
11241 : E_QImode) != 0)
11242 : return -1;
11243 : if (register_operand (operands[1], E_V4DFmode)
11244 : && vector_operand (operands[3], E_V4DFmode)
11245 : && rtx_equal_p (x7, operands[1])
11246 : && (
11247 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11248 : (TARGET_AVX512F) &&
11249 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11250 : (TARGET_AVX512VL)))
11251 : return 4159; /* avx512vl_fmaddsub_v4df_mask */
11252 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
11253 : || !nonimmediate_operand (operands[3], E_V4DFmode)
11254 : || !rtx_equal_p (x7, operands[3])
11255 : || !(
11256 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11257 : (TARGET_AVX512F) &&
11258 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11259 : (TARGET_AVX512VL)))
11260 : return -1;
11261 : return 4177; /* avx512vl_fmaddsub_v4df_mask3 */
11262 :
11263 : case E_V2DFmode:
11264 : if (pattern1281 (x2,
11265 : E_V2DFmode,
11266 : E_QImode) != 0)
11267 : return -1;
11268 : if (register_operand (operands[1], E_V2DFmode)
11269 : && vector_operand (operands[3], E_V2DFmode)
11270 : && rtx_equal_p (x7, operands[1])
11271 : && (
11272 : #line 6821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11273 : (TARGET_AVX512F) &&
11274 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11275 : (TARGET_AVX512VL)))
11276 : return 4161; /* avx512vl_fmaddsub_v2df_mask */
11277 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
11278 : || !nonimmediate_operand (operands[3], E_V2DFmode)
11279 : || !rtx_equal_p (x7, operands[3])
11280 : || !(
11281 : #line 6839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11282 : (TARGET_AVX512F) &&
11283 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11284 : (TARGET_AVX512VL)))
11285 : return -1;
11286 : return 4179; /* avx512vl_fmaddsub_v2df_mask3 */
11287 :
11288 : default:
11289 : return -1;
11290 : }
11291 :
11292 : default:
11293 : return -1;
11294 : }
11295 :
11296 : case NEG:
11297 : x9 = XEXP (x6, 0);
11298 : operands[3] = x9;
11299 : x7 = XEXP (x2, 1);
11300 : switch (GET_CODE (x7))
11301 : {
11302 : case CONST_INT:
11303 : case CONST_DOUBLE:
11304 : case CONST_VECTOR:
11305 : operands[4] = x7;
11306 : x8 = XEXP (x2, 2);
11307 : operands[5] = x8;
11308 : switch (GET_MODE (operands[0]))
11309 : {
11310 : case E_V32HFmode:
11311 : if (pattern1378 (x2,
11312 : E_V32HFmode,
11313 : E_SImode) != 0
11314 : || !(
11315 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11316 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11317 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11318 : (TARGET_AVX512FP16)))
11319 : return -1;
11320 : return 4186; /* fma_fmsubadd_v32hf_maskz_1 */
11321 :
11322 : case E_V16HFmode:
11323 : if (pattern1378 (x2,
11324 : E_V16HFmode,
11325 : E_HImode) != 0
11326 : || !(
11327 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11328 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11329 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11330 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11331 : return -1;
11332 : return 4190; /* fma_fmsubadd_v16hf_maskz_1 */
11333 :
11334 : case E_V8HFmode:
11335 : if (pattern1378 (x2,
11336 : E_V8HFmode,
11337 : E_QImode) != 0
11338 : || !(
11339 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11340 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11341 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11342 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11343 : return -1;
11344 : return 4192; /* fma_fmsubadd_v8hf_maskz_1 */
11345 :
11346 : case E_V16SFmode:
11347 : if (pattern1378 (x2,
11348 : E_V16SFmode,
11349 : E_HImode) != 0
11350 : || !
11351 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11352 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11353 : return -1;
11354 : return 4194; /* fma_fmsubadd_v16sf_maskz_1 */
11355 :
11356 : case E_V8SFmode:
11357 : if (pattern1378 (x2,
11358 : E_V8SFmode,
11359 : E_QImode) != 0
11360 : || !(
11361 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11362 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11363 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11364 : (TARGET_AVX512VL)))
11365 : return -1;
11366 : return 4198; /* fma_fmsubadd_v8sf_maskz_1 */
11367 :
11368 : case E_V4SFmode:
11369 : if (pattern1378 (x2,
11370 : E_V4SFmode,
11371 : E_QImode) != 0
11372 : || !(
11373 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11374 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11375 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11376 : (TARGET_AVX512VL)))
11377 : return -1;
11378 : return 4200; /* fma_fmsubadd_v4sf_maskz_1 */
11379 :
11380 : case E_V8DFmode:
11381 : if (pattern1378 (x2,
11382 : E_V8DFmode,
11383 : E_QImode) != 0
11384 : || !
11385 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11386 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11387 : return -1;
11388 : return 4202; /* fma_fmsubadd_v8df_maskz_1 */
11389 :
11390 : case E_V4DFmode:
11391 : if (pattern1378 (x2,
11392 : E_V4DFmode,
11393 : E_QImode) != 0
11394 : || !(
11395 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11396 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11397 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11398 : (TARGET_AVX512VL)))
11399 : return -1;
11400 : return 4206; /* fma_fmsubadd_v4df_maskz_1 */
11401 :
11402 : case E_V2DFmode:
11403 : if (pattern1378 (x2,
11404 : E_V2DFmode,
11405 : E_QImode) != 0
11406 : || !(
11407 : #line 6872 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11408 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11409 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11410 : (TARGET_AVX512VL)))
11411 : return -1;
11412 : return 4208; /* fma_fmsubadd_v2df_maskz_1 */
11413 :
11414 : default:
11415 : return -1;
11416 : }
11417 :
11418 : case REG:
11419 : case SUBREG:
11420 : case MEM:
11421 : x8 = XEXP (x2, 2);
11422 : operands[4] = x8;
11423 : switch (GET_MODE (operands[0]))
11424 : {
11425 : case E_V32HFmode:
11426 : if (pattern1282 (x2,
11427 : E_V32HFmode,
11428 : E_SImode) != 0)
11429 : return -1;
11430 : if (vector_operand (operands[3], E_V32HFmode)
11431 : && rtx_equal_p (x7, operands[1])
11432 : && (
11433 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11434 : (TARGET_AVX512F) &&
11435 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11436 : (TARGET_AVX512FP16)))
11437 : return 4209; /* avx512bw_fmsubadd_v32hf_mask */
11438 : if (!nonimmediate_operand (operands[3], E_V32HFmode)
11439 : || !rtx_equal_p (x7, operands[3])
11440 : || !(
11441 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11442 : (TARGET_AVX512F) &&
11443 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : (TARGET_AVX512FP16)))
11445 : return -1;
11446 : return 4227; /* avx512bw_fmsubadd_v32hf_mask3 */
11447 :
11448 : case E_V16HFmode:
11449 : if (pattern1282 (x2,
11450 : E_V16HFmode,
11451 : E_HImode) != 0)
11452 : return -1;
11453 : if (vector_operand (operands[3], E_V16HFmode)
11454 : && rtx_equal_p (x7, operands[1])
11455 : && (
11456 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11457 : (TARGET_AVX512F) &&
11458 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11459 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11460 : return 4211; /* avx512vl_fmsubadd_v16hf_mask */
11461 : if (!nonimmediate_operand (operands[3], E_V16HFmode)
11462 : || !rtx_equal_p (x7, operands[3])
11463 : || !(
11464 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11465 : (TARGET_AVX512F) &&
11466 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11467 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11468 : return -1;
11469 : return 4229; /* avx512vl_fmsubadd_v16hf_mask3 */
11470 :
11471 : case E_V8HFmode:
11472 : if (pattern1282 (x2,
11473 : E_V8HFmode,
11474 : E_QImode) != 0)
11475 : return -1;
11476 : if (vector_operand (operands[3], E_V8HFmode)
11477 : && rtx_equal_p (x7, operands[1])
11478 : && (
11479 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11480 : (TARGET_AVX512F) &&
11481 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11482 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11483 : return 4213; /* avx512fp16_fmsubadd_v8hf_mask */
11484 : if (!nonimmediate_operand (operands[3], E_V8HFmode)
11485 : || !rtx_equal_p (x7, operands[3])
11486 : || !(
11487 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11488 : (TARGET_AVX512F) &&
11489 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11490 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11491 : return -1;
11492 : return 4231; /* avx512fp16_fmsubadd_v8hf_mask3 */
11493 :
11494 : case E_V16SFmode:
11495 : if (pattern1282 (x2,
11496 : E_V16SFmode,
11497 : E_HImode) != 0)
11498 : return -1;
11499 : if (vector_operand (operands[3], E_V16SFmode)
11500 : && rtx_equal_p (x7, operands[1])
11501 : &&
11502 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11503 : (TARGET_AVX512F))
11504 : return 4215; /* avx512f_fmsubadd_v16sf_mask */
11505 : if (!nonimmediate_operand (operands[3], E_V16SFmode)
11506 : || !rtx_equal_p (x7, operands[3])
11507 : || !
11508 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11509 : (TARGET_AVX512F))
11510 : return -1;
11511 : return 4233; /* avx512f_fmsubadd_v16sf_mask3 */
11512 :
11513 : case E_V8SFmode:
11514 : if (pattern1282 (x2,
11515 : E_V8SFmode,
11516 : E_QImode) != 0)
11517 : return -1;
11518 : if (vector_operand (operands[3], E_V8SFmode)
11519 : && rtx_equal_p (x7, operands[1])
11520 : && (
11521 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11522 : (TARGET_AVX512F) &&
11523 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11524 : (TARGET_AVX512VL)))
11525 : return 4217; /* avx512vl_fmsubadd_v8sf_mask */
11526 : if (!nonimmediate_operand (operands[3], E_V8SFmode)
11527 : || !rtx_equal_p (x7, operands[3])
11528 : || !(
11529 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11530 : (TARGET_AVX512F) &&
11531 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11532 : (TARGET_AVX512VL)))
11533 : return -1;
11534 : return 4235; /* avx512vl_fmsubadd_v8sf_mask3 */
11535 :
11536 : case E_V4SFmode:
11537 : if (pattern1282 (x2,
11538 : E_V4SFmode,
11539 : E_QImode) != 0)
11540 : return -1;
11541 : if (vector_operand (operands[3], E_V4SFmode)
11542 : && rtx_equal_p (x7, operands[1])
11543 : && (
11544 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11545 : (TARGET_AVX512F) &&
11546 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11547 : (TARGET_AVX512VL)))
11548 : return 4219; /* avx512vl_fmsubadd_v4sf_mask */
11549 : if (!nonimmediate_operand (operands[3], E_V4SFmode)
11550 : || !rtx_equal_p (x7, operands[3])
11551 : || !(
11552 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11553 : (TARGET_AVX512F) &&
11554 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11555 : (TARGET_AVX512VL)))
11556 : return -1;
11557 : return 4237; /* avx512vl_fmsubadd_v4sf_mask3 */
11558 :
11559 : case E_V8DFmode:
11560 : if (pattern1282 (x2,
11561 : E_V8DFmode,
11562 : E_QImode) != 0)
11563 : return -1;
11564 : if (vector_operand (operands[3], E_V8DFmode)
11565 : && rtx_equal_p (x7, operands[1])
11566 : &&
11567 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11568 : (TARGET_AVX512F))
11569 : return 4221; /* avx512f_fmsubadd_v8df_mask */
11570 : if (!nonimmediate_operand (operands[3], E_V8DFmode)
11571 : || !rtx_equal_p (x7, operands[3])
11572 : || !
11573 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11574 : (TARGET_AVX512F))
11575 : return -1;
11576 : return 4239; /* avx512f_fmsubadd_v8df_mask3 */
11577 :
11578 : case E_V4DFmode:
11579 : if (pattern1282 (x2,
11580 : E_V4DFmode,
11581 : E_QImode) != 0)
11582 : return -1;
11583 : if (vector_operand (operands[3], E_V4DFmode)
11584 : && rtx_equal_p (x7, operands[1])
11585 : && (
11586 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11587 : (TARGET_AVX512F) &&
11588 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11589 : (TARGET_AVX512VL)))
11590 : return 4223; /* avx512vl_fmsubadd_v4df_mask */
11591 : if (!nonimmediate_operand (operands[3], E_V4DFmode)
11592 : || !rtx_equal_p (x7, operands[3])
11593 : || !(
11594 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11595 : (TARGET_AVX512F) &&
11596 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11597 : (TARGET_AVX512VL)))
11598 : return -1;
11599 : return 4241; /* avx512vl_fmsubadd_v4df_mask3 */
11600 :
11601 : case E_V2DFmode:
11602 : if (pattern1282 (x2,
11603 : E_V2DFmode,
11604 : E_QImode) != 0)
11605 : return -1;
11606 : if (vector_operand (operands[3], E_V2DFmode)
11607 : && rtx_equal_p (x7, operands[1])
11608 : && (
11609 : #line 6892 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11610 : (TARGET_AVX512F) &&
11611 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11612 : (TARGET_AVX512VL)))
11613 : return 4225; /* avx512vl_fmsubadd_v2df_mask */
11614 : if (!nonimmediate_operand (operands[3], E_V2DFmode)
11615 : || !rtx_equal_p (x7, operands[3])
11616 : || !(
11617 : #line 6911 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11618 : (TARGET_AVX512F) &&
11619 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11620 : (TARGET_AVX512VL)))
11621 : return -1;
11622 : return 4243; /* avx512vl_fmsubadd_v2df_mask3 */
11623 :
11624 : default:
11625 : return -1;
11626 : }
11627 :
11628 : default:
11629 : return -1;
11630 : }
11631 :
11632 : default:
11633 : return -1;
11634 : }
11635 : }
11636 :
11637 : int
11638 : recog_160 (rtx x1 ATTRIBUTE_UNUSED,
11639 : rtx_insn *insn ATTRIBUTE_UNUSED,
11640 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11641 : {
11642 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11643 : rtx x2, x3, x4;
11644 : int res ATTRIBUTE_UNUSED;
11645 : switch (GET_CODE (operands[4]))
11646 : {
11647 : case REG:
11648 : case SUBREG:
11649 : case MEM:
11650 : x2 = XEXP (x1, 1);
11651 : switch (pattern1295 (x2))
11652 : {
11653 : case 0:
11654 : if ((
11655 : #line 4380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11656 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11657 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11658 : (TARGET_AVX)))
11659 : return 3273; /* *avx_cmpv8sf3_1 */
11660 : break;
11661 :
11662 : case 1:
11663 : if (
11664 : #line 4380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11665 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
11666 : return 3274; /* *avx_cmpv4sf3_1 */
11667 : break;
11668 :
11669 : case 2:
11670 : if ((
11671 : #line 4380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11672 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11673 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11674 : (TARGET_AVX)))
11675 : return 3275; /* *avx_cmpv4df3_1 */
11676 : break;
11677 :
11678 : case 3:
11679 : if ((
11680 : #line 4380 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11681 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11682 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11683 : (TARGET_SSE2)))
11684 : return 3276; /* *avx_cmpv2df3_1 */
11685 : break;
11686 :
11687 : default:
11688 : break;
11689 : }
11690 : break;
11691 :
11692 : case CONST_INT:
11693 : case CONST_DOUBLE:
11694 : case CONST_VECTOR:
11695 : x2 = XEXP (x1, 1);
11696 : x3 = XEXP (x2, 2);
11697 : x4 = XVECEXP (x3, 0, 2);
11698 : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 1])
11699 : {
11700 : switch (GET_MODE (operands[0]))
11701 : {
11702 : case E_V32HImode:
11703 : if (pattern1479 (x2,
11704 : E_V32HImode,
11705 : E_SImode) == 0
11706 : && (
11707 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11708 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11709 : #line 756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11710 : (TARGET_AVX512BW)))
11711 : return 7682; /* *avx512_ashrv32hi3_1 */
11712 : break;
11713 :
11714 : case E_V16HImode:
11715 : if (pattern1479 (x2,
11716 : E_V16HImode,
11717 : E_HImode) == 0
11718 : && (
11719 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11720 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11721 : #line 757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11722 : (TARGET_AVX512VL && TARGET_AVX512BW)))
11723 : return 7683; /* *avx512_ashrv16hi3_1 */
11724 : break;
11725 :
11726 : case E_V8HImode:
11727 : if (pattern1479 (x2,
11728 : E_V8HImode,
11729 : E_QImode) == 0
11730 : && (
11731 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11732 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11733 : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11734 : (TARGET_AVX512VL && TARGET_AVX512BW)))
11735 : return 7684; /* *avx512_ashrv8hi3_1 */
11736 : break;
11737 :
11738 : case E_V16SImode:
11739 : if (pattern1479 (x2,
11740 : E_V16SImode,
11741 : E_HImode) == 0
11742 : &&
11743 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11744 : (TARGET_AVX512F && ix86_pre_reload_split ()))
11745 : return 7685; /* *avx512_ashrv16si3_1 */
11746 : break;
11747 :
11748 : case E_V8SImode:
11749 : if (pattern1479 (x2,
11750 : E_V8SImode,
11751 : E_QImode) == 0
11752 : && (
11753 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11754 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11755 : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11756 : (TARGET_AVX512VL)))
11757 : return 7686; /* *avx512_ashrv8si3_1 */
11758 : break;
11759 :
11760 : case E_V4SImode:
11761 : if (pattern1479 (x2,
11762 : E_V4SImode,
11763 : E_QImode) == 0
11764 : && (
11765 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11766 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11767 : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11768 : (TARGET_AVX512VL)))
11769 : return 7687; /* *avx512_ashrv4si3_1 */
11770 : break;
11771 :
11772 : case E_V8DImode:
11773 : if (pattern1479 (x2,
11774 : E_V8DImode,
11775 : E_QImode) == 0
11776 : &&
11777 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11778 : (TARGET_AVX512F && ix86_pre_reload_split ()))
11779 : return 7688; /* *avx512_ashrv8di3_1 */
11780 : break;
11781 :
11782 : case E_V4DImode:
11783 : if (pattern1479 (x2,
11784 : E_V4DImode,
11785 : E_QImode) == 0
11786 : && (
11787 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11788 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11789 : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11790 : (TARGET_AVX512VL)))
11791 : return 7689; /* *avx512_ashrv4di3_1 */
11792 : break;
11793 :
11794 : case E_V2DImode:
11795 : if (pattern1479 (x2,
11796 : E_V2DImode,
11797 : E_QImode) == 0
11798 : && (
11799 : #line 17576 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11800 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11801 : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11802 : (TARGET_AVX512VL)))
11803 : return 7690; /* *avx512_ashrv2di3_1 */
11804 : break;
11805 :
11806 : default:
11807 : break;
11808 : }
11809 : }
11810 : break;
11811 :
11812 : default:
11813 : break;
11814 : }
11815 : x2 = XEXP (x1, 1);
11816 : x3 = XEXP (x2, 2);
11817 : x4 = XVECEXP (x3, 0, 2);
11818 : operands[5] = x4;
11819 : switch (pattern1296 (x2))
11820 : {
11821 : case 0:
11822 : if (vector_all_ones_operand (operands[1], E_V16QImode)
11823 : && const0_operand (operands[2], E_V16QImode))
11824 : {
11825 : if (nonimm_or_0_operand (operands[3], E_V16QImode)
11826 : && nonimm_or_0_operand (operands[4], E_V16QImode)
11827 : &&
11828 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11829 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11830 : /* EQ is commutative. */
11831 : && ((INTVAL (operands[5]) == 0
11832 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11833 : /* NLE aka GT, 3 must be register. */
11834 : || (INTVAL (operands[5]) == 6
11835 : && !MEM_P (operands[3]))
11836 : /* LT, 4 must be register and we swap operands. */
11837 : || (INTVAL (operands[5]) == 1
11838 : && !MEM_P (operands[4])))))
11839 : return 7946; /* *avx2_pcmpv16qi3_1 */
11840 : if (nonimmediate_operand (operands[3], E_V16QImode)
11841 : && nonimmediate_operand (operands[4], E_V16QImode)
11842 : &&
11843 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11844 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11845 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11846 : return 7968; /* *avx2_pcmpv16qi3_6 */
11847 : }
11848 : if (!const0_operand (operands[1], E_V16QImode)
11849 : || !vector_all_ones_operand (operands[2], E_V16QImode)
11850 : || !nonimmediate_operand (operands[3], E_V16QImode)
11851 : || !nonimmediate_operand (operands[4], E_V16QImode)
11852 : || !
11853 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11854 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11855 : /* NE is commutative. */
11856 : && (INTVAL (operands[5]) == 4
11857 : /* LE, 3 must be register. */
11858 : || INTVAL (operands[5]) == 2
11859 : /* NLT aka GE, 4 must be register and we swap operands. */
11860 : || INTVAL (operands[5]) == 5)))
11861 : return -1;
11862 : return 7984; /* *avx2_pcmpv16qi3_7 */
11863 :
11864 : case 1:
11865 : if (vector_all_ones_operand (operands[1], E_V8HImode)
11866 : && const0_operand (operands[2], E_V8HImode))
11867 : {
11868 : if (nonimm_or_0_operand (operands[3], E_V8HImode)
11869 : && nonimm_or_0_operand (operands[4], E_V8HImode)
11870 : &&
11871 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11872 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11873 : /* EQ is commutative. */
11874 : && ((INTVAL (operands[5]) == 0
11875 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11876 : /* NLE aka GT, 3 must be register. */
11877 : || (INTVAL (operands[5]) == 6
11878 : && !MEM_P (operands[3]))
11879 : /* LT, 4 must be register and we swap operands. */
11880 : || (INTVAL (operands[5]) == 1
11881 : && !MEM_P (operands[4])))))
11882 : return 7947; /* *avx2_pcmpv8hi3_1 */
11883 : if (nonimmediate_operand (operands[3], E_V8HImode)
11884 : && nonimmediate_operand (operands[4], E_V8HImode)
11885 : &&
11886 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11887 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11888 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11889 : return 7970; /* *avx2_pcmpv8hi3_6 */
11890 : }
11891 : if (!const0_operand (operands[1], E_V8HImode)
11892 : || !vector_all_ones_operand (operands[2], E_V8HImode)
11893 : || !nonimmediate_operand (operands[3], E_V8HImode)
11894 : || !nonimmediate_operand (operands[4], E_V8HImode)
11895 : || !
11896 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11897 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11898 : /* NE is commutative. */
11899 : && (INTVAL (operands[5]) == 4
11900 : /* LE, 3 must be register. */
11901 : || INTVAL (operands[5]) == 2
11902 : /* NLT aka GE, 4 must be register and we swap operands. */
11903 : || INTVAL (operands[5]) == 5)))
11904 : return -1;
11905 : return 7985; /* *avx2_pcmpv8hi3_7 */
11906 :
11907 : case 2:
11908 : if (vector_all_ones_operand (operands[1], E_V4SImode)
11909 : && const0_operand (operands[2], E_V4SImode))
11910 : {
11911 : if (nonimm_or_0_operand (operands[3], E_V4SImode)
11912 : && nonimm_or_0_operand (operands[4], E_V4SImode)
11913 : &&
11914 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11915 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11916 : /* EQ is commutative. */
11917 : && ((INTVAL (operands[5]) == 0
11918 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11919 : /* NLE aka GT, 3 must be register. */
11920 : || (INTVAL (operands[5]) == 6
11921 : && !MEM_P (operands[3]))
11922 : /* LT, 4 must be register and we swap operands. */
11923 : || (INTVAL (operands[5]) == 1
11924 : && !MEM_P (operands[4])))))
11925 : return 7948; /* *avx2_pcmpv4si3_1 */
11926 : if (nonimmediate_operand (operands[3], E_V4SImode)
11927 : && nonimmediate_operand (operands[4], E_V4SImode)
11928 : &&
11929 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11930 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11931 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11932 : return 7972; /* *avx2_pcmpv4si3_6 */
11933 : }
11934 : if (!const0_operand (operands[1], E_V4SImode)
11935 : || !vector_all_ones_operand (operands[2], E_V4SImode)
11936 : || !nonimmediate_operand (operands[3], E_V4SImode)
11937 : || !nonimmediate_operand (operands[4], E_V4SImode)
11938 : || !
11939 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11940 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11941 : /* NE is commutative. */
11942 : && (INTVAL (operands[5]) == 4
11943 : /* LE, 3 must be register. */
11944 : || INTVAL (operands[5]) == 2
11945 : /* NLT aka GE, 4 must be register and we swap operands. */
11946 : || INTVAL (operands[5]) == 5)))
11947 : return -1;
11948 : return 7986; /* *avx2_pcmpv4si3_7 */
11949 :
11950 : case 3:
11951 : if (vector_all_ones_operand (operands[1], E_V2DImode)
11952 : && const0_operand (operands[2], E_V2DImode))
11953 : {
11954 : if (nonimm_or_0_operand (operands[3], E_V2DImode)
11955 : && nonimm_or_0_operand (operands[4], E_V2DImode)
11956 : &&
11957 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11958 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11959 : /* EQ is commutative. */
11960 : && ((INTVAL (operands[5]) == 0
11961 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11962 : /* NLE aka GT, 3 must be register. */
11963 : || (INTVAL (operands[5]) == 6
11964 : && !MEM_P (operands[3]))
11965 : /* LT, 4 must be register and we swap operands. */
11966 : || (INTVAL (operands[5]) == 1
11967 : && !MEM_P (operands[4])))))
11968 : return 7949; /* *avx2_pcmpv2di3_1 */
11969 : if (nonimmediate_operand (operands[3], E_V2DImode)
11970 : && nonimmediate_operand (operands[4], E_V2DImode)
11971 : &&
11972 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11973 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11974 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11975 : return 7974; /* *avx2_pcmpv2di3_6 */
11976 : }
11977 : if (!const0_operand (operands[1], E_V2DImode)
11978 : || !vector_all_ones_operand (operands[2], E_V2DImode)
11979 : || !nonimmediate_operand (operands[3], E_V2DImode)
11980 : || !nonimmediate_operand (operands[4], E_V2DImode)
11981 : || !
11982 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11983 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11984 : /* NE is commutative. */
11985 : && (INTVAL (operands[5]) == 4
11986 : /* LE, 3 must be register. */
11987 : || INTVAL (operands[5]) == 2
11988 : /* NLT aka GE, 4 must be register and we swap operands. */
11989 : || INTVAL (operands[5]) == 5)))
11990 : return -1;
11991 : return 7987; /* *avx2_pcmpv2di3_7 */
11992 :
11993 : case 4:
11994 : if (vector_all_ones_operand (operands[1], E_V32QImode)
11995 : && const0_operand (operands[2], E_V32QImode))
11996 : {
11997 : if (nonimm_or_0_operand (operands[3], E_V32QImode)
11998 : && nonimm_or_0_operand (operands[4], E_V32QImode)
11999 : &&
12000 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12001 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12002 : /* EQ is commutative. */
12003 : && ((INTVAL (operands[5]) == 0
12004 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12005 : /* NLE aka GT, 3 must be register. */
12006 : || (INTVAL (operands[5]) == 6
12007 : && !MEM_P (operands[3]))
12008 : /* LT, 4 must be register and we swap operands. */
12009 : || (INTVAL (operands[5]) == 1
12010 : && !MEM_P (operands[4])))))
12011 : return 7950; /* *avx2_pcmpv32qi3_1 */
12012 : if (nonimmediate_operand (operands[3], E_V32QImode)
12013 : && nonimmediate_operand (operands[4], E_V32QImode)
12014 : &&
12015 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12016 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12017 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12018 : return 7976; /* *avx2_pcmpv32qi3_6 */
12019 : }
12020 : if (!const0_operand (operands[1], E_V32QImode)
12021 : || !vector_all_ones_operand (operands[2], E_V32QImode)
12022 : || !nonimmediate_operand (operands[3], E_V32QImode)
12023 : || !nonimmediate_operand (operands[4], E_V32QImode)
12024 : || !
12025 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12026 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12027 : /* NE is commutative. */
12028 : && (INTVAL (operands[5]) == 4
12029 : /* LE, 3 must be register. */
12030 : || INTVAL (operands[5]) == 2
12031 : /* NLT aka GE, 4 must be register and we swap operands. */
12032 : || INTVAL (operands[5]) == 5)))
12033 : return -1;
12034 : return 7988; /* *avx2_pcmpv32qi3_7 */
12035 :
12036 : case 5:
12037 : if (vector_all_ones_operand (operands[1], E_V16HImode)
12038 : && const0_operand (operands[2], E_V16HImode))
12039 : {
12040 : if (nonimm_or_0_operand (operands[3], E_V16HImode)
12041 : && nonimm_or_0_operand (operands[4], E_V16HImode)
12042 : &&
12043 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12044 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12045 : /* EQ is commutative. */
12046 : && ((INTVAL (operands[5]) == 0
12047 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12048 : /* NLE aka GT, 3 must be register. */
12049 : || (INTVAL (operands[5]) == 6
12050 : && !MEM_P (operands[3]))
12051 : /* LT, 4 must be register and we swap operands. */
12052 : || (INTVAL (operands[5]) == 1
12053 : && !MEM_P (operands[4])))))
12054 : return 7951; /* *avx2_pcmpv16hi3_1 */
12055 : if (nonimmediate_operand (operands[3], E_V16HImode)
12056 : && nonimmediate_operand (operands[4], E_V16HImode)
12057 : &&
12058 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12059 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12060 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12061 : return 7978; /* *avx2_pcmpv16hi3_6 */
12062 : }
12063 : if (!const0_operand (operands[1], E_V16HImode)
12064 : || !vector_all_ones_operand (operands[2], E_V16HImode)
12065 : || !nonimmediate_operand (operands[3], E_V16HImode)
12066 : || !nonimmediate_operand (operands[4], E_V16HImode)
12067 : || !
12068 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12069 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12070 : /* NE is commutative. */
12071 : && (INTVAL (operands[5]) == 4
12072 : /* LE, 3 must be register. */
12073 : || INTVAL (operands[5]) == 2
12074 : /* NLT aka GE, 4 must be register and we swap operands. */
12075 : || INTVAL (operands[5]) == 5)))
12076 : return -1;
12077 : return 7989; /* *avx2_pcmpv16hi3_7 */
12078 :
12079 : case 6:
12080 : if (vector_all_ones_operand (operands[1], E_V8SImode)
12081 : && const0_operand (operands[2], E_V8SImode))
12082 : {
12083 : if (nonimm_or_0_operand (operands[3], E_V8SImode)
12084 : && nonimm_or_0_operand (operands[4], E_V8SImode)
12085 : &&
12086 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12087 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12088 : /* EQ is commutative. */
12089 : && ((INTVAL (operands[5]) == 0
12090 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12091 : /* NLE aka GT, 3 must be register. */
12092 : || (INTVAL (operands[5]) == 6
12093 : && !MEM_P (operands[3]))
12094 : /* LT, 4 must be register and we swap operands. */
12095 : || (INTVAL (operands[5]) == 1
12096 : && !MEM_P (operands[4])))))
12097 : return 7952; /* *avx2_pcmpv8si3_1 */
12098 : if (nonimmediate_operand (operands[3], E_V8SImode)
12099 : && nonimmediate_operand (operands[4], E_V8SImode)
12100 : &&
12101 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12102 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12103 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12104 : return 7980; /* *avx2_pcmpv8si3_6 */
12105 : }
12106 : if (!const0_operand (operands[1], E_V8SImode)
12107 : || !vector_all_ones_operand (operands[2], E_V8SImode)
12108 : || !nonimmediate_operand (operands[3], E_V8SImode)
12109 : || !nonimmediate_operand (operands[4], E_V8SImode)
12110 : || !
12111 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12112 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12113 : /* NE is commutative. */
12114 : && (INTVAL (operands[5]) == 4
12115 : /* LE, 3 must be register. */
12116 : || INTVAL (operands[5]) == 2
12117 : /* NLT aka GE, 4 must be register and we swap operands. */
12118 : || INTVAL (operands[5]) == 5)))
12119 : return -1;
12120 : return 7990; /* *avx2_pcmpv8si3_7 */
12121 :
12122 : case 7:
12123 : if (vector_all_ones_operand (operands[1], E_V4DImode)
12124 : && const0_operand (operands[2], E_V4DImode))
12125 : {
12126 : if (nonimm_or_0_operand (operands[3], E_V4DImode)
12127 : && nonimm_or_0_operand (operands[4], E_V4DImode)
12128 : &&
12129 : #line 18400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12130 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12131 : /* EQ is commutative. */
12132 : && ((INTVAL (operands[5]) == 0
12133 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12134 : /* NLE aka GT, 3 must be register. */
12135 : || (INTVAL (operands[5]) == 6
12136 : && !MEM_P (operands[3]))
12137 : /* LT, 4 must be register and we swap operands. */
12138 : || (INTVAL (operands[5]) == 1
12139 : && !MEM_P (operands[4])))))
12140 : return 7953; /* *avx2_pcmpv4di3_1 */
12141 : if (nonimmediate_operand (operands[3], E_V4DImode)
12142 : && nonimmediate_operand (operands[4], E_V4DImode)
12143 : &&
12144 : #line 18564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12145 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12146 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12147 : return 7982; /* *avx2_pcmpv4di3_6 */
12148 : }
12149 : if (!const0_operand (operands[1], E_V4DImode)
12150 : || !vector_all_ones_operand (operands[2], E_V4DImode)
12151 : || !nonimmediate_operand (operands[3], E_V4DImode)
12152 : || !nonimmediate_operand (operands[4], E_V4DImode)
12153 : || !
12154 : #line 18590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12155 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12156 : /* NE is commutative. */
12157 : && (INTVAL (operands[5]) == 4
12158 : /* LE, 3 must be register. */
12159 : || INTVAL (operands[5]) == 2
12160 : /* NLT aka GE, 4 must be register and we swap operands. */
12161 : || INTVAL (operands[5]) == 5)))
12162 : return -1;
12163 : return 7991; /* *avx2_pcmpv4di3_7 */
12164 :
12165 : default:
12166 : return -1;
12167 : }
12168 : }
12169 :
12170 : int
12171 : recog_167 (rtx x1 ATTRIBUTE_UNUSED,
12172 : rtx_insn *insn ATTRIBUTE_UNUSED,
12173 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12174 : {
12175 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12176 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12177 : rtx x10;
12178 : int res ATTRIBUTE_UNUSED;
12179 : x2 = XEXP (x1, 1);
12180 : x3 = XEXP (x2, 0);
12181 : x4 = XEXP (x3, 0);
12182 : x5 = XEXP (x4, 1);
12183 : operands[2] = x5;
12184 : x6 = XEXP (x2, 1);
12185 : operands[3] = x6;
12186 : x7 = XEXP (x2, 2);
12187 : operands[4] = x7;
12188 : if (!register_operand (operands[4], E_QImode))
12189 : return -1;
12190 : x8 = XEXP (x3, 1);
12191 : x9 = XVECEXP (x8, 0, 0);
12192 : switch (XWINT (x9, 0))
12193 : {
12194 : case 1L:
12195 : x10 = XVECEXP (x8, 0, 1);
12196 : if (XWINT (x10, 0) != 3L)
12197 : return -1;
12198 : switch (GET_MODE (operands[0]))
12199 : {
12200 : case E_V2DFmode:
12201 : if (pattern1592 (x2,
12202 : E_V2DFmode,
12203 : E_V4DFmode) != 0
12204 : || !
12205 : #line 13758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12206 : (TARGET_AVX512VL))
12207 : return -1;
12208 : return 5405; /* avx512vl_unpckhpd128_mask */
12209 :
12210 : case E_V2DImode:
12211 : if (pattern1593 (x2,
12212 : E_V2DImode,
12213 : E_V4DImode) != 0
12214 : || !(
12215 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12216 : (TARGET_AVX512F) &&
12217 : #line 14870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12218 : (TARGET_SSE2 && TARGET_AVX512VL)))
12219 : return -1;
12220 : return 7225; /* vec_interleave_highv2di_mask */
12221 :
12222 : default:
12223 : return -1;
12224 : }
12225 :
12226 : case 0L:
12227 : x10 = XVECEXP (x8, 0, 1);
12228 : if (XWINT (x10, 0) != 2L)
12229 : return -1;
12230 : switch (GET_MODE (operands[0]))
12231 : {
12232 : case E_V2DFmode:
12233 : if (pattern1592 (x2,
12234 : E_V2DFmode,
12235 : E_V4DFmode) != 0
12236 : || !
12237 : #line 13901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12238 : (TARGET_AVX512VL))
12239 : return -1;
12240 : return 5415; /* avx512vl_unpcklpd128_mask */
12241 :
12242 : case E_V2DImode:
12243 : if (pattern1593 (x2,
12244 : E_V2DImode,
12245 : E_V4DImode) != 0
12246 : || !(
12247 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12248 : (TARGET_AVX512F) &&
12249 : #line 14920 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12250 : (TARGET_SSE2 && TARGET_AVX512VL)))
12251 : return -1;
12252 : return 7231; /* vec_interleave_lowv2di_mask */
12253 :
12254 : default:
12255 : return -1;
12256 : }
12257 :
12258 : default:
12259 : return -1;
12260 : }
12261 : }
12262 :
12263 : int
12264 : recog_170 (rtx x1 ATTRIBUTE_UNUSED,
12265 : rtx_insn *insn ATTRIBUTE_UNUSED,
12266 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12267 : {
12268 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12269 : rtx x2, x3, x4, x5, x6, x7, x8;
12270 : int res ATTRIBUTE_UNUSED;
12271 : x2 = XEXP (x1, 1);
12272 : x3 = XEXP (x2, 0);
12273 : x4 = XEXP (x3, 1);
12274 : x5 = XVECEXP (x4, 0, 0);
12275 : if (GET_CODE (x5) != CONST_INT)
12276 : return -1;
12277 : operands[2] = x5;
12278 : if (const_0_to_7_operand (operands[2], E_VOIDmode))
12279 : {
12280 : x6 = XVECEXP (x4, 0, 1);
12281 : operands[3] = x6;
12282 : if (const_0_to_7_operand (operands[3], E_VOIDmode))
12283 : {
12284 : x7 = XEXP (x2, 1);
12285 : operands[4] = x7;
12286 : x8 = XEXP (x2, 2);
12287 : operands[5] = x8;
12288 : if (register_operand (operands[5], E_QImode))
12289 : {
12290 : switch (GET_MODE (operands[0]))
12291 : {
12292 : case E_V2DFmode:
12293 : if (pattern1554 (x2,
12294 : E_V2DFmode,
12295 : E_V8DFmode) == 0
12296 : &&
12297 : #line 12810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12298 : (TARGET_AVX512DQ
12299 : && INTVAL (operands[2]) % 2 == 0
12300 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12301 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[4]))))
12302 : return 5337; /* avx512dq_vextractf64x2_1_mask */
12303 : break;
12304 :
12305 : case E_V2DImode:
12306 : if (pattern1554 (x2,
12307 : E_V2DImode,
12308 : E_V8DImode) == 0
12309 : &&
12310 : #line 12810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12311 : (TARGET_AVX512DQ
12312 : && INTVAL (operands[2]) % 2 == 0
12313 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12314 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[4]))))
12315 : return 5338; /* avx512dq_vextracti64x2_1_mask */
12316 : break;
12317 :
12318 : default:
12319 : break;
12320 : }
12321 : }
12322 : }
12323 : }
12324 : x6 = XVECEXP (x4, 0, 1);
12325 : if (GET_CODE (x6) != CONST_INT)
12326 : return -1;
12327 : x7 = XEXP (x2, 1);
12328 : operands[2] = x7;
12329 : x8 = XEXP (x2, 2);
12330 : operands[3] = x8;
12331 : if (!register_operand (operands[3], E_QImode))
12332 : return -1;
12333 : switch (XWINT (x5, 0))
12334 : {
12335 : case 0L:
12336 : if (XWINT (x6, 0) != 1L)
12337 : return -1;
12338 : switch (GET_MODE (operands[0]))
12339 : {
12340 : case E_V2DImode:
12341 : if (!nonimmediate_operand (operands[0], E_V2DImode)
12342 : || pattern1555 (x2,
12343 : E_V2DImode,
12344 : E_V4DImode) != 0
12345 : || !
12346 : #line 13238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12347 : (TARGET_AVX512DQ
12348 : && TARGET_AVX512VL
12349 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12350 : return -1;
12351 : return 5361; /* vec_extract_lo_v4di_mask */
12352 :
12353 : case E_V2DFmode:
12354 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
12355 : || pattern1555 (x2,
12356 : E_V2DFmode,
12357 : E_V4DFmode) != 0
12358 : || !
12359 : #line 13238 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12360 : (TARGET_AVX512DQ
12361 : && TARGET_AVX512VL
12362 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12363 : return -1;
12364 : return 5362; /* vec_extract_lo_v4df_mask */
12365 :
12366 : default:
12367 : return -1;
12368 : }
12369 :
12370 : case 2L:
12371 : if (XWINT (x6, 0) != 3L)
12372 : return -1;
12373 : switch (GET_MODE (operands[0]))
12374 : {
12375 : case E_V2DImode:
12376 : if (!nonimmediate_operand (operands[0], E_V2DImode)
12377 : || pattern1555 (x2,
12378 : E_V2DImode,
12379 : E_V4DImode) != 0
12380 : || !
12381 : #line 13275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12382 : (TARGET_AVX512DQ
12383 : && TARGET_AVX512VL
12384 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12385 : return -1;
12386 : return 5365; /* vec_extract_hi_v4di_mask */
12387 :
12388 : case E_V2DFmode:
12389 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
12390 : || pattern1555 (x2,
12391 : E_V2DFmode,
12392 : E_V4DFmode) != 0
12393 : || !
12394 : #line 13275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12395 : (TARGET_AVX512DQ
12396 : && TARGET_AVX512VL
12397 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12398 : return -1;
12399 : return 5366; /* vec_extract_hi_v4df_mask */
12400 :
12401 : default:
12402 : return -1;
12403 : }
12404 :
12405 : default:
12406 : return -1;
12407 : }
12408 : }
12409 :
12410 : int
12411 : recog_175 (rtx x1 ATTRIBUTE_UNUSED,
12412 : rtx_insn *insn ATTRIBUTE_UNUSED,
12413 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12414 : {
12415 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12416 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12417 : rtx x10;
12418 : int res ATTRIBUTE_UNUSED;
12419 : x2 = XEXP (x1, 1);
12420 : x3 = XEXP (x2, 0);
12421 : x4 = XEXP (x3, 1);
12422 : x5 = XVECEXP (x4, 0, 4);
12423 : if (GET_CODE (x5) != CONST_INT)
12424 : return -1;
12425 : operands[6] = x5;
12426 : res = recog_174 (x1, insn, pnum_clobbers);
12427 : if (res >= 0)
12428 : return res;
12429 : if (XWINT (x5, 0) != 4L)
12430 : return -1;
12431 : x6 = XVECEXP (x4, 0, 5);
12432 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
12433 : return -1;
12434 : x7 = XVECEXP (x4, 0, 6);
12435 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
12436 : return -1;
12437 : x8 = XVECEXP (x4, 0, 7);
12438 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
12439 : || pattern1307 (x2,
12440 : E_V8HImode) != 0
12441 : || pattern1024 (x4) != 0)
12442 : return -1;
12443 : x9 = XEXP (x2, 1);
12444 : operands[6] = x9;
12445 : if (!nonimm_or_0_operand (operands[6], E_V8HImode))
12446 : return -1;
12447 : x10 = XEXP (x2, 2);
12448 : operands[7] = x10;
12449 : if (!register_operand (operands[7], E_QImode)
12450 : || !(
12451 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12452 : (TARGET_AVX512F) &&
12453 : #line 21305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12454 : (TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
12455 : return -1;
12456 : return 8504; /* sse2_pshuflw_1_mask */
12457 : }
12458 :
12459 : int
12460 : recog_178 (rtx x1 ATTRIBUTE_UNUSED,
12461 : rtx_insn *insn ATTRIBUTE_UNUSED,
12462 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12463 : {
12464 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12465 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12466 : rtx x10, x11, x12, x13, x14;
12467 : int res ATTRIBUTE_UNUSED;
12468 : x2 = XEXP (x1, 1);
12469 : x3 = XEXP (x2, 0);
12470 : x4 = XEXP (x3, 1);
12471 : x5 = XVECEXP (x4, 0, 4);
12472 : if (GET_CODE (x5) != CONST_INT)
12473 : return -1;
12474 : operands[6] = x5;
12475 : res = recog_177 (x1, insn, pnum_clobbers);
12476 : if (res >= 0)
12477 : return res;
12478 : if (XWINT (x5, 0) != 4L)
12479 : return -1;
12480 : x6 = XVECEXP (x4, 0, 5);
12481 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
12482 : return -1;
12483 : x7 = XVECEXP (x4, 0, 6);
12484 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
12485 : return -1;
12486 : x8 = XVECEXP (x4, 0, 7);
12487 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
12488 : || pattern1480 (x4) != 0
12489 : || pattern764 (x2,
12490 : E_V16HImode) != 0
12491 : || pattern1024 (x4) != 0)
12492 : return -1;
12493 : x9 = XVECEXP (x4, 0, 8);
12494 : operands[6] = x9;
12495 : if (!const_8_to_11_operand (operands[6], E_VOIDmode))
12496 : return -1;
12497 : x10 = XVECEXP (x4, 0, 9);
12498 : operands[7] = x10;
12499 : if (!const_8_to_11_operand (operands[7], E_VOIDmode))
12500 : return -1;
12501 : x11 = XVECEXP (x4, 0, 10);
12502 : operands[8] = x11;
12503 : if (!const_8_to_11_operand (operands[8], E_VOIDmode))
12504 : return -1;
12505 : x12 = XVECEXP (x4, 0, 11);
12506 : operands[9] = x12;
12507 : if (!const_8_to_11_operand (operands[9], E_VOIDmode))
12508 : return -1;
12509 : x13 = XEXP (x2, 1);
12510 : operands[10] = x13;
12511 : if (!nonimm_or_0_operand (operands[10], E_V16HImode))
12512 : return -1;
12513 : x14 = XEXP (x2, 2);
12514 : operands[11] = x14;
12515 : if (!register_operand (operands[11], E_HImode)
12516 : || !(
12517 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12518 : (TARGET_AVX512F) &&
12519 : #line 21239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12520 : (TARGET_AVX2
12521 : && TARGET_AVX512BW && TARGET_AVX512VL
12522 : && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
12523 : && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
12524 : && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
12525 : && INTVAL (operands[5]) + 8 == INTVAL (operands[9]))))
12526 : return -1;
12527 : return 8502; /* avx2_pshuflw_1_mask */
12528 : }
12529 :
12530 : int
12531 : recog_185 (rtx x1 ATTRIBUTE_UNUSED,
12532 : rtx_insn *insn ATTRIBUTE_UNUSED,
12533 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12534 : {
12535 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12536 : rtx x2, x3, x4, x5, x6;
12537 : int res ATTRIBUTE_UNUSED;
12538 : x2 = XEXP (x1, 1);
12539 : x3 = XEXP (x2, 0);
12540 : x4 = XEXP (x3, 1);
12541 : operands[2] = x4;
12542 : x5 = XEXP (x3, 0);
12543 : switch (GET_CODE (x5))
12544 : {
12545 : case REG:
12546 : case SUBREG:
12547 : case MEM:
12548 : case VEC_DUPLICATE:
12549 : operands[1] = x5;
12550 : switch (pattern652 (x2))
12551 : {
12552 : case 0:
12553 : if (pattern1384 (x2,
12554 : E_V32HFmode,
12555 : E_SImode) != 0
12556 : || !(
12557 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12558 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
12559 : #line 6310 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12560 : (TARGET_AVX512FP16)))
12561 : return -1;
12562 : return 3864; /* fma_fmadd_v32hf_maskz_1 */
12563 :
12564 : case 1:
12565 : if (pattern1384 (x2,
12566 : E_V16HFmode,
12567 : E_HImode) != 0
12568 : || !(
12569 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12570 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12571 : #line 6311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12572 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12573 : return -1;
12574 : return 3868; /* fma_fmadd_v16hf_maskz_1 */
12575 :
12576 : case 2:
12577 : if (pattern1384 (x2,
12578 : E_V8HFmode,
12579 : E_QImode) != 0
12580 : || !(
12581 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12582 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12583 : #line 6312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12585 : return -1;
12586 : return 3870; /* fma_fmadd_v8hf_maskz_1 */
12587 :
12588 : case 3:
12589 : if (pattern1384 (x2,
12590 : E_V16SFmode,
12591 : E_HImode) != 0
12592 : || !
12593 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12594 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
12595 : return -1;
12596 : return 3874; /* fma_fmadd_v16sf_maskz_1 */
12597 :
12598 : case 4:
12599 : if (pattern1384 (x2,
12600 : E_V8SFmode,
12601 : E_QImode) != 0
12602 : || !(
12603 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12604 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12605 : #line 6314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12606 : (TARGET_AVX512VL)))
12607 : return -1;
12608 : return 3878; /* fma_fmadd_v8sf_maskz_1 */
12609 :
12610 : case 5:
12611 : if (pattern1384 (x2,
12612 : E_V4SFmode,
12613 : E_QImode) != 0
12614 : || !(
12615 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12616 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12617 : #line 6314 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12618 : (TARGET_AVX512VL)))
12619 : return -1;
12620 : return 3880; /* fma_fmadd_v4sf_maskz_1 */
12621 :
12622 : case 6:
12623 : if (pattern1384 (x2,
12624 : E_V8DFmode,
12625 : E_QImode) != 0
12626 : || !
12627 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12628 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
12629 : return -1;
12630 : return 3883; /* fma_fmadd_v8df_maskz_1 */
12631 :
12632 : case 7:
12633 : if (pattern1384 (x2,
12634 : E_V4DFmode,
12635 : E_QImode) != 0
12636 : || !(
12637 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12638 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12639 : #line 6315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12640 : (TARGET_AVX512VL)))
12641 : return -1;
12642 : return 3887; /* fma_fmadd_v4df_maskz_1 */
12643 :
12644 : case 8:
12645 : if (pattern1384 (x2,
12646 : E_V2DFmode,
12647 : E_QImode) != 0
12648 : || !(
12649 : #line 6323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12650 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12651 : #line 6315 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12652 : (TARGET_AVX512VL)))
12653 : return -1;
12654 : return 3889; /* fma_fmadd_v2df_maskz_1 */
12655 :
12656 : case 9:
12657 : if (pattern1386 (x2,
12658 : E_SImode,
12659 : E_V32BFmode) != 0
12660 : || !
12661 : #line 33124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12662 : (TARGET_AVX10_2))
12663 : return -1;
12664 : return 10714; /* avx10_2_fmaddbf16_v32bf_maskz_1 */
12665 :
12666 : case 10:
12667 : if (pattern1386 (x2,
12668 : E_HImode,
12669 : E_V16BFmode) != 0
12670 : || !
12671 : #line 33124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12672 : (TARGET_AVX10_2))
12673 : return -1;
12674 : return 10716; /* avx10_2_fmaddbf16_v16bf_maskz_1 */
12675 :
12676 : case 11:
12677 : if (pattern1386 (x2,
12678 : E_QImode,
12679 : E_V8BFmode) != 0
12680 : || !
12681 : #line 33124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12682 : (TARGET_AVX10_2))
12683 : return -1;
12684 : return 10718; /* avx10_2_fmaddbf16_v8bf_maskz_1 */
12685 :
12686 : case 12:
12687 : if (pattern1387 (x2,
12688 : E_V4SFmode) != 0
12689 : || !
12690 : #line 7336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12691 : (TARGET_FMA4))
12692 : return -1;
12693 : return 4341; /* *fma4i_vmfmadd_v4sf */
12694 :
12695 : case 13:
12696 : if (pattern1387 (x2,
12697 : E_V2DFmode) != 0
12698 : || !(
12699 : #line 7336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12700 : (TARGET_FMA4) &&
12701 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12702 : (TARGET_SSE2)))
12703 : return -1;
12704 : return 4342; /* *fma4i_vmfmadd_v2df */
12705 :
12706 : case 14:
12707 : if (pattern1297 (x2,
12708 : E_V32HFmode,
12709 : E_SImode) != 0)
12710 : return -1;
12711 : if (nonimmediate_operand (operands[1], E_V32HFmode)
12712 : && vector_operand (operands[3], E_V32HFmode))
12713 : {
12714 : x6 = XEXP (x2, 1);
12715 : if (rtx_equal_p (x6, operands[1])
12716 : && (
12717 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12718 : (TARGET_AVX512F && 1) &&
12719 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12720 : (TARGET_AVX512FP16)))
12721 : return 3890; /* avx512bw_fmadd_v32hf_mask */
12722 : }
12723 : if (!vector_operand (operands[1], E_V32HFmode)
12724 : || !nonimmediate_operand (operands[3], E_V32HFmode))
12725 : return -1;
12726 : x6 = XEXP (x2, 1);
12727 : if (!rtx_equal_p (x6, operands[3])
12728 : || !(
12729 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12730 : (TARGET_AVX512F) &&
12731 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12732 : (TARGET_AVX512FP16)))
12733 : return -1;
12734 : return 3902; /* avx512bw_fmadd_v32hf_mask3 */
12735 :
12736 : case 15:
12737 : if (pattern1297 (x2,
12738 : E_V16HFmode,
12739 : E_HImode) != 0)
12740 : return -1;
12741 : if (nonimmediate_operand (operands[1], E_V16HFmode)
12742 : && vector_operand (operands[3], E_V16HFmode))
12743 : {
12744 : x6 = XEXP (x2, 1);
12745 : if (rtx_equal_p (x6, operands[1])
12746 : && (
12747 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12748 : (TARGET_AVX512F && 1) &&
12749 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12750 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12751 : return 3892; /* avx512vl_fmadd_v16hf_mask */
12752 : }
12753 : if (!vector_operand (operands[1], E_V16HFmode)
12754 : || !nonimmediate_operand (operands[3], E_V16HFmode))
12755 : return -1;
12756 : x6 = XEXP (x2, 1);
12757 : if (!rtx_equal_p (x6, operands[3])
12758 : || !(
12759 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12760 : (TARGET_AVX512F) &&
12761 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12762 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12763 : return -1;
12764 : return 3904; /* avx512vl_fmadd_v16hf_mask3 */
12765 :
12766 : case 16:
12767 : if (pattern1297 (x2,
12768 : E_V8HFmode,
12769 : E_QImode) != 0)
12770 : return -1;
12771 : if (nonimmediate_operand (operands[1], E_V8HFmode)
12772 : && vector_operand (operands[3], E_V8HFmode))
12773 : {
12774 : x6 = XEXP (x2, 1);
12775 : if (rtx_equal_p (x6, operands[1])
12776 : && (
12777 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12778 : (TARGET_AVX512F && 1) &&
12779 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12780 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12781 : return 3893; /* avx512fp16_fmadd_v8hf_mask */
12782 : }
12783 : if (!vector_operand (operands[1], E_V8HFmode)
12784 : || !nonimmediate_operand (operands[3], E_V8HFmode))
12785 : return -1;
12786 : x6 = XEXP (x2, 1);
12787 : if (!rtx_equal_p (x6, operands[3])
12788 : || !(
12789 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12790 : (TARGET_AVX512F) &&
12791 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12792 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12793 : return -1;
12794 : return 3906; /* avx512fp16_fmadd_v8hf_mask3 */
12795 :
12796 : case 17:
12797 : if (pattern1297 (x2,
12798 : E_V16SFmode,
12799 : E_HImode) != 0)
12800 : return -1;
12801 : if (nonimmediate_operand (operands[1], E_V16SFmode)
12802 : && vector_operand (operands[3], E_V16SFmode))
12803 : {
12804 : x6 = XEXP (x2, 1);
12805 : if (rtx_equal_p (x6, operands[1])
12806 : &&
12807 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12808 : (TARGET_AVX512F && 1))
12809 : return 3894; /* avx512f_fmadd_v16sf_mask */
12810 : }
12811 : if (!vector_operand (operands[1], E_V16SFmode)
12812 : || !nonimmediate_operand (operands[3], E_V16SFmode))
12813 : return -1;
12814 : x6 = XEXP (x2, 1);
12815 : if (!rtx_equal_p (x6, operands[3])
12816 : || !
12817 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12818 : (TARGET_AVX512F))
12819 : return -1;
12820 : return 3908; /* avx512f_fmadd_v16sf_mask3 */
12821 :
12822 : case 18:
12823 : if (pattern1297 (x2,
12824 : E_V8SFmode,
12825 : E_QImode) != 0)
12826 : return -1;
12827 : if (nonimmediate_operand (operands[1], E_V8SFmode)
12828 : && vector_operand (operands[3], E_V8SFmode))
12829 : {
12830 : x6 = XEXP (x2, 1);
12831 : if (rtx_equal_p (x6, operands[1])
12832 : && (
12833 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12834 : (TARGET_AVX512F && 1) &&
12835 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12836 : (TARGET_AVX512VL)))
12837 : return 3896; /* avx512vl_fmadd_v8sf_mask */
12838 : }
12839 : if (!vector_operand (operands[1], E_V8SFmode)
12840 : || !nonimmediate_operand (operands[3], E_V8SFmode))
12841 : return -1;
12842 : x6 = XEXP (x2, 1);
12843 : if (!rtx_equal_p (x6, operands[3])
12844 : || !(
12845 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12846 : (TARGET_AVX512F) &&
12847 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12848 : (TARGET_AVX512VL)))
12849 : return -1;
12850 : return 3910; /* avx512vl_fmadd_v8sf_mask3 */
12851 :
12852 : case 19:
12853 : if (pattern1297 (x2,
12854 : E_V4SFmode,
12855 : E_QImode) != 0)
12856 : return -1;
12857 : if (nonimmediate_operand (operands[1], E_V4SFmode)
12858 : && vector_operand (operands[3], E_V4SFmode))
12859 : {
12860 : x6 = XEXP (x2, 1);
12861 : if (rtx_equal_p (x6, operands[1])
12862 : && (
12863 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12864 : (TARGET_AVX512F && 1) &&
12865 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12866 : (TARGET_AVX512VL)))
12867 : return 3897; /* avx512vl_fmadd_v4sf_mask */
12868 : }
12869 : if (!vector_operand (operands[1], E_V4SFmode)
12870 : || !nonimmediate_operand (operands[3], E_V4SFmode))
12871 : return -1;
12872 : x6 = XEXP (x2, 1);
12873 : if (!rtx_equal_p (x6, operands[3])
12874 : || !(
12875 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12876 : (TARGET_AVX512F) &&
12877 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12878 : (TARGET_AVX512VL)))
12879 : return -1;
12880 : return 3912; /* avx512vl_fmadd_v4sf_mask3 */
12881 :
12882 : case 20:
12883 : if (pattern1297 (x2,
12884 : E_V8DFmode,
12885 : E_QImode) != 0)
12886 : return -1;
12887 : if (nonimmediate_operand (operands[1], E_V8DFmode)
12888 : && vector_operand (operands[3], E_V8DFmode))
12889 : {
12890 : x6 = XEXP (x2, 1);
12891 : if (rtx_equal_p (x6, operands[1])
12892 : &&
12893 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12894 : (TARGET_AVX512F && 1))
12895 : return 3898; /* avx512f_fmadd_v8df_mask */
12896 : }
12897 : if (!vector_operand (operands[1], E_V8DFmode)
12898 : || !nonimmediate_operand (operands[3], E_V8DFmode))
12899 : return -1;
12900 : x6 = XEXP (x2, 1);
12901 : if (!rtx_equal_p (x6, operands[3])
12902 : || !
12903 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12904 : (TARGET_AVX512F))
12905 : return -1;
12906 : return 3914; /* avx512f_fmadd_v8df_mask3 */
12907 :
12908 : case 21:
12909 : if (pattern1297 (x2,
12910 : E_V4DFmode,
12911 : E_QImode) != 0)
12912 : return -1;
12913 : if (nonimmediate_operand (operands[1], E_V4DFmode)
12914 : && vector_operand (operands[3], E_V4DFmode))
12915 : {
12916 : x6 = XEXP (x2, 1);
12917 : if (rtx_equal_p (x6, operands[1])
12918 : && (
12919 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12920 : (TARGET_AVX512F && 1) &&
12921 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12922 : (TARGET_AVX512VL)))
12923 : return 3900; /* avx512vl_fmadd_v4df_mask */
12924 : }
12925 : if (!vector_operand (operands[1], E_V4DFmode)
12926 : || !nonimmediate_operand (operands[3], E_V4DFmode))
12927 : return -1;
12928 : x6 = XEXP (x2, 1);
12929 : if (!rtx_equal_p (x6, operands[3])
12930 : || !(
12931 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12932 : (TARGET_AVX512F) &&
12933 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12934 : (TARGET_AVX512VL)))
12935 : return -1;
12936 : return 3916; /* avx512vl_fmadd_v4df_mask3 */
12937 :
12938 : case 22:
12939 : if (pattern1297 (x2,
12940 : E_V2DFmode,
12941 : E_QImode) != 0)
12942 : return -1;
12943 : if (nonimmediate_operand (operands[1], E_V2DFmode)
12944 : && vector_operand (operands[3], E_V2DFmode))
12945 : {
12946 : x6 = XEXP (x2, 1);
12947 : if (rtx_equal_p (x6, operands[1])
12948 : && (
12949 : #line 6364 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12950 : (TARGET_AVX512F && 1) &&
12951 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12952 : (TARGET_AVX512VL)))
12953 : return 3901; /* avx512vl_fmadd_v2df_mask */
12954 : }
12955 : if (!vector_operand (operands[1], E_V2DFmode)
12956 : || !nonimmediate_operand (operands[3], E_V2DFmode))
12957 : return -1;
12958 : x6 = XEXP (x2, 1);
12959 : if (!rtx_equal_p (x6, operands[3])
12960 : || !(
12961 : #line 6381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12962 : (TARGET_AVX512F) &&
12963 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12964 : (TARGET_AVX512VL)))
12965 : return -1;
12966 : return 3918; /* avx512vl_fmadd_v2df_mask3 */
12967 :
12968 : case 23:
12969 : if (pattern1298 (x2,
12970 : E_SImode,
12971 : E_V32BFmode) != 0)
12972 : return -1;
12973 : x6 = XEXP (x2, 1);
12974 : if (rtx_equal_p (x6, operands[1])
12975 : &&
12976 : #line 33142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12977 : (TARGET_AVX10_2))
12978 : return 10719; /* avx10_2_fmaddbf16_v32bf_mask */
12979 : if (!rtx_equal_p (x6, operands[3])
12980 : || !
12981 : #line 33159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12982 : (TARGET_AVX10_2))
12983 : return -1;
12984 : return 10722; /* avx10_2_fmaddbf16_v32bf_mask3 */
12985 :
12986 : case 24:
12987 : if (pattern1298 (x2,
12988 : E_HImode,
12989 : E_V16BFmode) != 0)
12990 : return -1;
12991 : x6 = XEXP (x2, 1);
12992 : if (rtx_equal_p (x6, operands[1])
12993 : &&
12994 : #line 33142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12995 : (TARGET_AVX10_2))
12996 : return 10720; /* avx10_2_fmaddbf16_v16bf_mask */
12997 : if (!rtx_equal_p (x6, operands[3])
12998 : || !
12999 : #line 33159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13000 : (TARGET_AVX10_2))
13001 : return -1;
13002 : return 10723; /* avx10_2_fmaddbf16_v16bf_mask3 */
13003 :
13004 : case 25:
13005 : if (pattern1298 (x2,
13006 : E_QImode,
13007 : E_V8BFmode) != 0)
13008 : return -1;
13009 : x6 = XEXP (x2, 1);
13010 : if (rtx_equal_p (x6, operands[1])
13011 : &&
13012 : #line 33142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13013 : (TARGET_AVX10_2))
13014 : return 10721; /* avx10_2_fmaddbf16_v8bf_mask */
13015 : if (!rtx_equal_p (x6, operands[3])
13016 : || !
13017 : #line 33159 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13018 : (TARGET_AVX10_2))
13019 : return -1;
13020 : return 10724; /* avx10_2_fmaddbf16_v8bf_mask3 */
13021 :
13022 : case 26:
13023 : if (pattern1388 (x2,
13024 : E_V8HFmode) != 0
13025 : || !(
13026 : #line 6977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13027 : (TARGET_FMA || TARGET_AVX512F) &&
13028 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13029 : (TARGET_AVX512FP16)))
13030 : return -1;
13031 : return 4245; /* *fmai_fmadd_v8hf */
13032 :
13033 : case 27:
13034 : if (pattern1388 (x2,
13035 : E_V4SFmode) != 0
13036 : || !
13037 : #line 6977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13038 : (TARGET_FMA || TARGET_AVX512F))
13039 : return -1;
13040 : return 4247; /* *fmai_fmadd_v4sf */
13041 :
13042 : case 28:
13043 : if (pattern1388 (x2,
13044 : E_V2DFmode) != 0
13045 : || !(
13046 : #line 6977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13047 : (TARGET_FMA || TARGET_AVX512F) &&
13048 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13049 : (TARGET_SSE2)))
13050 : return -1;
13051 : return 4249; /* *fmai_fmadd_v2df */
13052 :
13053 : case 29:
13054 : return recog_161 (x1, insn, pnum_clobbers);
13055 :
13056 : default:
13057 : return -1;
13058 : }
13059 :
13060 : case NEG:
13061 : return recog_163 (x1, insn, pnum_clobbers);
13062 :
13063 : default:
13064 : return -1;
13065 : }
13066 : }
13067 :
13068 : int
13069 : recog_193 (rtx x1 ATTRIBUTE_UNUSED,
13070 : rtx_insn *insn ATTRIBUTE_UNUSED,
13071 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13072 : {
13073 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13074 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13075 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
13076 : int res ATTRIBUTE_UNUSED;
13077 : x2 = XEXP (x1, 1);
13078 : x3 = XEXP (x2, 0);
13079 : x4 = XEXP (x3, 0);
13080 : switch (GET_CODE (x4))
13081 : {
13082 : case REG:
13083 : case SUBREG:
13084 : switch (pattern146 (x2))
13085 : {
13086 : case 0:
13087 : if (!
13088 : #line 15510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13089 : (TARGET_AVX512F))
13090 : return -1;
13091 : return 7265; /* avx512f_truncatev16siv16qi2_mask */
13092 :
13093 : case 1:
13094 : if (!(
13095 : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13096 : (TARGET_AVX512VL) &&
13097 : #line 15599 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13098 : (TARGET_AVX512BW)))
13099 : return -1;
13100 : return 7301; /* avx512vl_truncatev16hiv16qi2_mask */
13101 :
13102 : case 2:
13103 : if (!
13104 : #line 15510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13105 : (TARGET_AVX512F))
13106 : return -1;
13107 : return 7268; /* avx512f_truncatev16siv16hi2_mask */
13108 :
13109 : case 3:
13110 : if (!
13111 : #line 15510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13112 : (TARGET_AVX512F))
13113 : return -1;
13114 : return 7271; /* avx512f_truncatev8div8si2_mask */
13115 :
13116 : case 4:
13117 : if (!
13118 : #line 15510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13119 : (TARGET_AVX512F))
13120 : return -1;
13121 : return 7274; /* avx512f_truncatev8div8hi2_mask */
13122 :
13123 : case 5:
13124 : if (!
13125 : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13126 : (TARGET_AVX512VL))
13127 : return -1;
13128 : return 7298; /* avx512vl_truncatev8siv8hi2_mask */
13129 :
13130 : case 6:
13131 : if (!
13132 : #line 15582 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13133 : (TARGET_AVX512BW))
13134 : return -1;
13135 : return 7281; /* avx512bw_truncatev32hiv32qi2_mask */
13136 :
13137 : case 7:
13138 : if (!
13139 : #line 15682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13140 : (TARGET_AVX512VL))
13141 : return -1;
13142 : return 7295; /* avx512vl_truncatev4div4si2_mask */
13143 :
13144 : default:
13145 : return -1;
13146 : }
13147 :
13148 : case LSHIFTRT:
13149 : x5 = XEXP (x4, 1);
13150 : if (GET_CODE (x5) != CONST_INT)
13151 : return -1;
13152 : x6 = XEXP (x4, 0);
13153 : switch (GET_CODE (x6))
13154 : {
13155 : case MULT:
13156 : if (XWINT (x5, 0) != 16L)
13157 : return -1;
13158 : x7 = XEXP (x2, 1);
13159 : operands[3] = x7;
13160 : x8 = XEXP (x2, 2);
13161 : operands[4] = x8;
13162 : x9 = XEXP (x6, 0);
13163 : switch (GET_CODE (x9))
13164 : {
13165 : case SIGN_EXTEND:
13166 : switch (pattern1135 (x2,
13167 : SIGN_EXTEND))
13168 : {
13169 : case 0:
13170 : if (!(
13171 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13172 : (TARGET_AVX512F) && (
13173 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13174 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13175 : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13176 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13177 : (TARGET_AVX512BW))))
13178 : return -1;
13179 : return 7613; /* *smulv32hi3_highpart_mask */
13180 :
13181 : case 1:
13182 : if (!(
13183 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13184 : (TARGET_AVX512F) && (
13185 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13186 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13187 : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13188 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13189 : (TARGET_AVX2))))
13190 : return -1;
13191 : return 7617; /* *smulv16hi3_highpart_mask */
13192 :
13193 : case 2:
13194 : if (!(
13195 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13196 : (TARGET_AVX512F) &&
13197 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13198 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13199 : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
13200 : return -1;
13201 : return 7621; /* *smulv8hi3_highpart_mask */
13202 :
13203 : default:
13204 : return -1;
13205 : }
13206 :
13207 : case ZERO_EXTEND:
13208 : switch (pattern1135 (x2,
13209 : ZERO_EXTEND))
13210 : {
13211 : case 0:
13212 : if (!(
13213 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13214 : (TARGET_AVX512F) && (
13215 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13216 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13217 : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13218 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13219 : (TARGET_AVX512BW))))
13220 : return -1;
13221 : return 7615; /* *umulv32hi3_highpart_mask */
13222 :
13223 : case 1:
13224 : if (!(
13225 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13226 : (TARGET_AVX512F) && (
13227 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13228 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13229 : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13230 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13231 : (TARGET_AVX2))))
13232 : return -1;
13233 : return 7619; /* *umulv16hi3_highpart_mask */
13234 :
13235 : case 2:
13236 : if (!(
13237 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13238 : (TARGET_AVX512F) &&
13239 : #line 16836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13240 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13241 : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
13242 : return -1;
13243 : return 7623; /* *umulv8hi3_highpart_mask */
13244 :
13245 : default:
13246 : return -1;
13247 : }
13248 :
13249 : default:
13250 : return -1;
13251 : }
13252 :
13253 : case PLUS:
13254 : if (XWINT (x5, 0) != 1L)
13255 : return -1;
13256 : x9 = XEXP (x6, 0);
13257 : switch (GET_CODE (x9))
13258 : {
13259 : case PLUS:
13260 : x10 = XEXP (x9, 0);
13261 : if (GET_CODE (x10) != ZERO_EXTEND)
13262 : return -1;
13263 : x11 = XEXP (x9, 1);
13264 : if (GET_CODE (x11) != ZERO_EXTEND)
13265 : return -1;
13266 : x12 = XEXP (x10, 0);
13267 : operands[1] = x12;
13268 : x13 = XEXP (x11, 0);
13269 : operands[2] = x13;
13270 : x14 = XEXP (x6, 1);
13271 : operands[5] = x14;
13272 : x7 = XEXP (x2, 1);
13273 : operands[3] = x7;
13274 : x8 = XEXP (x2, 2);
13275 : operands[4] = x8;
13276 : switch (GET_MODE (operands[0]))
13277 : {
13278 : case E_V64QImode:
13279 : if (pattern1557 (x2,
13280 : E_DImode,
13281 : E_V64QImode,
13282 : E_V64HImode) != 0
13283 : || !(
13284 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13285 : (TARGET_AVX512F) && (
13286 : #line 22377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13287 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13288 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13289 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13290 : (TARGET_AVX512BW))))
13291 : return -1;
13292 : return 8550; /* *avx512bw_uavgv64qi3_mask */
13293 :
13294 : case E_V32QImode:
13295 : if (pattern1557 (x2,
13296 : E_SImode,
13297 : E_V32QImode,
13298 : E_V32HImode) != 0
13299 : || !(
13300 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13301 : (TARGET_AVX512F) && (
13302 : #line 22377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13303 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13304 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13305 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13306 : (TARGET_AVX2))))
13307 : return -1;
13308 : return 8552; /* *avx2_uavgv32qi3_mask */
13309 :
13310 : case E_V16QImode:
13311 : if (pattern1557 (x2,
13312 : E_HImode,
13313 : E_V16QImode,
13314 : E_V16HImode) != 0
13315 : || !(
13316 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13317 : (TARGET_AVX512F) &&
13318 : #line 22377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13319 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13320 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13321 : return -1;
13322 : return 8554; /* *sse2_uavgv16qi3_mask */
13323 :
13324 : case E_V32HImode:
13325 : if (pattern1557 (x2,
13326 : E_SImode,
13327 : E_V32HImode,
13328 : E_V32SImode) != 0
13329 : || !(
13330 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13331 : (TARGET_AVX512F) && (
13332 : #line 22377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13333 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13334 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13335 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13336 : (TARGET_AVX512BW))))
13337 : return -1;
13338 : return 8556; /* *avx512bw_uavgv32hi3_mask */
13339 :
13340 : case E_V16HImode:
13341 : if (pattern1557 (x2,
13342 : E_HImode,
13343 : E_V16HImode,
13344 : E_V16SImode) != 0
13345 : || !(
13346 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13347 : (TARGET_AVX512F) && (
13348 : #line 22377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13349 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13350 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13351 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13352 : (TARGET_AVX2))))
13353 : return -1;
13354 : return 8558; /* *avx2_uavgv16hi3_mask */
13355 :
13356 : case E_V8HImode:
13357 : if (pattern1557 (x2,
13358 : E_QImode,
13359 : E_V8HImode,
13360 : E_V8SImode) != 0
13361 : || !(
13362 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13363 : (TARGET_AVX512F) &&
13364 : #line 22377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13365 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13366 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13367 : return -1;
13368 : return 8560; /* *sse2_uavgv8hi3_mask */
13369 :
13370 : default:
13371 : return -1;
13372 : }
13373 :
13374 : case LSHIFTRT:
13375 : x10 = XEXP (x9, 0);
13376 : if (GET_CODE (x10) != MULT)
13377 : return -1;
13378 : x12 = XEXP (x10, 0);
13379 : if (GET_CODE (x12) != SIGN_EXTEND)
13380 : return -1;
13381 : x15 = XEXP (x10, 1);
13382 : if (GET_CODE (x15) != SIGN_EXTEND)
13383 : return -1;
13384 : x11 = XEXP (x9, 1);
13385 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
13386 : return -1;
13387 : x16 = XEXP (x12, 0);
13388 : operands[1] = x16;
13389 : if (nonimmediate_operand (operands[1], E_V32HImode))
13390 : {
13391 : res = recog_180 (x1, insn, pnum_clobbers);
13392 : if (res >= 0)
13393 : return res;
13394 : }
13395 : x17 = XEXP (x15, 0);
13396 : operands[2] = x17;
13397 : x14 = XEXP (x6, 1);
13398 : operands[3] = x14;
13399 : x7 = XEXP (x2, 1);
13400 : operands[4] = x7;
13401 : x8 = XEXP (x2, 2);
13402 : operands[5] = x8;
13403 : switch (GET_MODE (operands[0]))
13404 : {
13405 : case E_V32HImode:
13406 : if (pattern1659 (x2,
13407 : E_SImode,
13408 : E_V32HImode,
13409 : E_V32SImode) != 0
13410 : || !(
13411 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13412 : (TARGET_AVX512F) && (
13413 : #line 23502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13414 : (TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13415 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13416 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13417 : (TARGET_AVX512BW))))
13418 : return -1;
13419 : return 8673; /* *avx512bw_pmulhrswv32hi3_mask */
13420 :
13421 : case E_V16HImode:
13422 : if (pattern1659 (x2,
13423 : E_HImode,
13424 : E_V16HImode,
13425 : E_V16SImode) != 0
13426 : || !(
13427 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13428 : (TARGET_AVX512F) && (
13429 : #line 23502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13430 : (TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13431 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13432 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13433 : (TARGET_AVX2))))
13434 : return -1;
13435 : return 8675; /* *avx2_pmulhrswv16hi3_mask */
13436 :
13437 : case E_V8HImode:
13438 : if (pattern1659 (x2,
13439 : E_QImode,
13440 : E_V8HImode,
13441 : E_V8SImode) != 0
13442 : || !(
13443 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13444 : (TARGET_AVX512F) &&
13445 : #line 23502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13446 : (TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13447 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13448 : return -1;
13449 : return 8677; /* *ssse3_pmulhrswv8hi3_mask */
13450 :
13451 : default:
13452 : return -1;
13453 : }
13454 :
13455 : default:
13456 : return -1;
13457 : }
13458 :
13459 : default:
13460 : return -1;
13461 : }
13462 :
13463 : default:
13464 : return -1;
13465 : }
13466 : }
13467 :
13468 : int
13469 : recog_206 (rtx x1 ATTRIBUTE_UNUSED,
13470 : rtx_insn *insn ATTRIBUTE_UNUSED,
13471 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13472 : {
13473 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13474 : rtx x2, x3, x4, x5, x6, x7;
13475 : int res ATTRIBUTE_UNUSED;
13476 : x2 = XEXP (x1, 1);
13477 : x3 = XEXP (x2, 0);
13478 : x4 = XEXP (x3, 0);
13479 : operands[1] = x4;
13480 : x5 = XEXP (x3, 1);
13481 : operands[2] = x5;
13482 : x6 = XEXP (x2, 2);
13483 : switch (GET_CODE (x6))
13484 : {
13485 : case CONST_INT:
13486 : switch (pattern138 (x2))
13487 : {
13488 : case 0:
13489 : if (!(
13490 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13491 : (TARGET_SSE) &&
13492 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13493 : (TARGET_AVX512FP16)))
13494 : return -1;
13495 : return 2885; /* avx512fp16_vmdivv8hf3 */
13496 :
13497 : case 1:
13498 : if (!
13499 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13500 : (TARGET_SSE))
13501 : return -1;
13502 : return 2893; /* sse_vmdivv4sf3 */
13503 :
13504 : case 2:
13505 : if (!(
13506 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13507 : (TARGET_SSE) &&
13508 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13509 : (TARGET_SSE2)))
13510 : return -1;
13511 : return 2901; /* sse2_vmdivv2df3 */
13512 :
13513 : default:
13514 : return -1;
13515 : }
13516 :
13517 : case REG:
13518 : case SUBREG:
13519 : operands[4] = x6;
13520 : x7 = XEXP (x2, 1);
13521 : operands[3] = x7;
13522 : switch (GET_MODE (operands[0]))
13523 : {
13524 : case E_V32HFmode:
13525 : if (pattern1017 (x2,
13526 : E_V32HFmode,
13527 : E_SImode) != 0
13528 : || !(
13529 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13530 : (TARGET_AVX512F) && (
13531 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13532 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13533 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13534 : (TARGET_AVX512FP16))))
13535 : return -1;
13536 : return 2907; /* avx512fp16_divv32hf3_mask */
13537 :
13538 : case E_V16HFmode:
13539 : if (pattern1017 (x2,
13540 : E_V16HFmode,
13541 : E_HImode) != 0
13542 : || !(
13543 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13544 : (TARGET_AVX512F) && (
13545 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13546 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13547 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13548 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13549 : return -1;
13550 : return 2910; /* avx512fp16_divv16hf3_mask */
13551 :
13552 : case E_V8HFmode:
13553 : if (pattern1017 (x2,
13554 : E_V8HFmode,
13555 : E_QImode) != 0
13556 : || !(
13557 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13558 : (TARGET_AVX512F) && (
13559 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13560 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13561 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13562 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13563 : return -1;
13564 : return 2912; /* avx512fp16_divv8hf3_mask */
13565 :
13566 : case E_V16SFmode:
13567 : if (pattern1017 (x2,
13568 : E_V16SFmode,
13569 : E_HImode) != 0
13570 : || !(
13571 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13572 : (TARGET_AVX512F) && (
13573 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13574 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13575 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13576 : (TARGET_AVX512F))))
13577 : return -1;
13578 : return 2915; /* avx512f_divv16sf3_mask */
13579 :
13580 : case E_V8SFmode:
13581 : if (pattern1017 (x2,
13582 : E_V8SFmode,
13583 : E_QImode) != 0
13584 : || !(
13585 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13586 : (TARGET_AVX512F) && (
13587 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13588 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13589 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13590 : (TARGET_AVX))))
13591 : return -1;
13592 : return 2918; /* avx_divv8sf3_mask */
13593 :
13594 : case E_V4SFmode:
13595 : if (pattern1017 (x2,
13596 : E_V4SFmode,
13597 : E_QImode) != 0
13598 : || !(
13599 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13600 : (TARGET_AVX512F) &&
13601 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13602 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
13603 : return -1;
13604 : return 2920; /* sse_divv4sf3_mask */
13605 :
13606 : case E_V8DFmode:
13607 : if (pattern1017 (x2,
13608 : E_V8DFmode,
13609 : E_QImode) != 0
13610 : || !(
13611 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13612 : (TARGET_AVX512F) && (
13613 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13614 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13615 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13616 : (TARGET_AVX512F))))
13617 : return -1;
13618 : return 2923; /* avx512f_divv8df3_mask */
13619 :
13620 : case E_V4DFmode:
13621 : if (pattern1017 (x2,
13622 : E_V4DFmode,
13623 : E_QImode) != 0
13624 : || !(
13625 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13626 : (TARGET_AVX512F) && (
13627 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13628 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13629 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13630 : (TARGET_AVX))))
13631 : return -1;
13632 : return 2926; /* avx_divv4df3_mask */
13633 :
13634 : case E_V2DFmode:
13635 : if (pattern1017 (x2,
13636 : E_V2DFmode,
13637 : E_QImode) != 0
13638 : || !(
13639 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13640 : (TARGET_AVX512F) && (
13641 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13642 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13643 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13644 : (TARGET_SSE2))))
13645 : return -1;
13646 : return 2928; /* sse2_divv2df3_mask */
13647 :
13648 : case E_V32BFmode:
13649 : if (pattern136 (x2,
13650 : E_V32BFmode,
13651 : E_SImode) != 0
13652 : || !(
13653 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13654 : (TARGET_AVX512F) &&
13655 : #line 33099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13656 : (TARGET_AVX10_2)))
13657 : return -1;
13658 : return 10696; /* avx10_2_divbf16_v32bf_mask */
13659 :
13660 : case E_V16BFmode:
13661 : if (pattern136 (x2,
13662 : E_V16BFmode,
13663 : E_HImode) != 0
13664 : || !(
13665 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13666 : (TARGET_AVX512F) &&
13667 : #line 33099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13668 : (TARGET_AVX10_2)))
13669 : return -1;
13670 : return 10704; /* avx10_2_divbf16_v16bf_mask */
13671 :
13672 : case E_V8BFmode:
13673 : if (pattern136 (x2,
13674 : E_V8BFmode,
13675 : E_QImode) != 0
13676 : || !(
13677 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13678 : (TARGET_AVX512F) &&
13679 : #line 33099 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13680 : (TARGET_AVX10_2)))
13681 : return -1;
13682 : return 10712; /* avx10_2_divbf16_v8bf_mask */
13683 :
13684 : default:
13685 : return -1;
13686 : }
13687 :
13688 : default:
13689 : return -1;
13690 : }
13691 : }
13692 :
13693 : int
13694 : recog_214 (rtx x1 ATTRIBUTE_UNUSED,
13695 : rtx_insn *insn ATTRIBUTE_UNUSED,
13696 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13697 : {
13698 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13699 : rtx x2, x3;
13700 : int res ATTRIBUTE_UNUSED;
13701 : x2 = XEXP (x1, 1);
13702 : x3 = XVECEXP (x2, 0, 0);
13703 : operands[1] = x3;
13704 : switch (GET_MODE (operands[0]))
13705 : {
13706 : case E_V8HImode:
13707 : if (!register_operand (operands[0], E_V8HImode)
13708 : || GET_MODE (x2) != E_V8HImode
13709 : || !vector_operand (operands[1], E_V8HFmode)
13710 : || !(
13711 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13712 : (TARGET_AVX512FP16) &&
13713 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13714 : (TARGET_AVX512VL)))
13715 : return -1;
13716 : return 4591; /* unspec_avx512fp16_fix_truncv8hi2 */
13717 :
13718 : case E_V16HImode:
13719 : if (!register_operand (operands[0], E_V16HImode)
13720 : || GET_MODE (x2) != E_V16HImode
13721 : || !vector_operand (operands[1], E_V16HFmode)
13722 : || !(
13723 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13724 : (TARGET_AVX512FP16) &&
13725 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13726 : (TARGET_AVX512VL)))
13727 : return -1;
13728 : return 4599; /* unspec_avx512fp16_fix_truncv16hi2 */
13729 :
13730 : case E_V32HImode:
13731 : if (!register_operand (operands[0], E_V32HImode)
13732 : || GET_MODE (x2) != E_V32HImode
13733 : || !vector_operand (operands[1], E_V32HFmode)
13734 : || !
13735 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13736 : (TARGET_AVX512FP16))
13737 : return -1;
13738 : return 4607; /* unspec_avx512fp16_fix_truncv32hi2 */
13739 :
13740 : case E_V8SImode:
13741 : switch (pattern654 (x2,
13742 : E_V8SImode))
13743 : {
13744 : case 0:
13745 : if (!(
13746 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13747 : (TARGET_AVX512FP16) &&
13748 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13749 : (TARGET_AVX512VL)))
13750 : return -1;
13751 : return 4615; /* unspec_avx512fp16_fix_truncv8si2 */
13752 :
13753 : case 1:
13754 : if (!
13755 : #line 9152 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13756 : (TARGET_AVX && 1))
13757 : return -1;
13758 : return 4913; /* unspec_fix_truncv8sfv8si2 */
13759 :
13760 : case 2:
13761 : if (!
13762 : #line 9926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13763 : (TARGET_AVX512F))
13764 : return -1;
13765 : return 5046; /* unspec_fix_truncv8dfv8si2 */
13766 :
13767 : default:
13768 : return -1;
13769 : }
13770 :
13771 : case E_V16SImode:
13772 : switch (pattern655 (x2,
13773 : E_V16SImode))
13774 : {
13775 : case 0:
13776 : if (!
13777 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13778 : (TARGET_AVX512FP16))
13779 : return -1;
13780 : return 4623; /* unspec_avx512fp16_fix_truncv16si2 */
13781 :
13782 : case 1:
13783 : if (!
13784 : #line 9132 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13785 : (TARGET_AVX512F))
13786 : return -1;
13787 : return 4897; /* unspec_fix_truncv16sfv16si2 */
13788 :
13789 : default:
13790 : return -1;
13791 : }
13792 :
13793 : case E_V8DImode:
13794 : switch (pattern656 (x2))
13795 : {
13796 : case 0:
13797 : if (!
13798 : #line 8236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13799 : (TARGET_AVX512FP16))
13800 : return -1;
13801 : return 4631; /* unspec_avx512fp16_fix_truncv8di2 */
13802 :
13803 : case 1:
13804 : if (!
13805 : #line 10055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13806 : (TARGET_AVX512DQ && 1))
13807 : return -1;
13808 : return 5075; /* unspec_fix_truncv8dfv8di2 */
13809 :
13810 : case 2:
13811 : if (!
13812 : #line 10098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13813 : (TARGET_AVX512DQ && 1))
13814 : return -1;
13815 : return 5123; /* unspec_fix_truncv8sfv8di2 */
13816 :
13817 : default:
13818 : return -1;
13819 : }
13820 :
13821 : case E_V4SImode:
13822 : if (!register_operand (operands[0], E_V4SImode)
13823 : || GET_MODE (x2) != E_V4SImode)
13824 : return -1;
13825 : switch (GET_MODE (operands[1]))
13826 : {
13827 : case E_V8HFmode:
13828 : if (!register_operand (operands[1], E_V8HFmode)
13829 : || !
13830 : #line 8274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13831 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13832 : return -1;
13833 : return 4687; /* unspec_avx512fp16_fix_truncv4si2 */
13834 :
13835 : case E_V4SFmode:
13836 : if (!vector_operand (operands[1], E_V4SFmode)
13837 : || !
13838 : #line 9171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13839 : (TARGET_SSE2 && 1))
13840 : return -1;
13841 : return 4917; /* unspec_fix_truncv4sfv4si2 */
13842 :
13843 : case E_V4DFmode:
13844 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13845 : || !
13846 : #line 10016 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13847 : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F)))
13848 : return -1;
13849 : return 5067; /* unspec_fix_truncv4dfv4si2 */
13850 :
13851 : case E_V2DFmode:
13852 : if (!vector_operand (operands[1], E_V2DFmode)
13853 : || !
13854 : #line 10298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13855 : (TARGET_SSE2 && 1))
13856 : return -1;
13857 : return 5163; /* unspec_sse2_cvttpd2dq */
13858 :
13859 : default:
13860 : return -1;
13861 : }
13862 :
13863 : case E_V4DImode:
13864 : switch (pattern657 (x2))
13865 : {
13866 : case 0:
13867 : if (!
13868 : #line 8274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13869 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13870 : return -1;
13871 : return 4691; /* unspec_avx512fp16_fix_truncv4di2 */
13872 :
13873 : case 1:
13874 : if (!(
13875 : #line 10055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13876 : (TARGET_AVX512DQ && 1) &&
13877 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13878 : (TARGET_AVX512VL)))
13879 : return -1;
13880 : return 5083; /* unspec_fix_truncv4dfv4di2 */
13881 :
13882 : case 2:
13883 : if (!(
13884 : #line 10098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13885 : (TARGET_AVX512DQ && 1) &&
13886 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13887 : (TARGET_AVX512VL)))
13888 : return -1;
13889 : return 5131; /* unspec_fix_truncv4sfv4di2 */
13890 :
13891 : default:
13892 : return -1;
13893 : }
13894 :
13895 : case E_V2DImode:
13896 : switch (pattern658 (x2))
13897 : {
13898 : case 0:
13899 : if (!
13900 : #line 8324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13901 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13902 : return -1;
13903 : return 4711; /* unspec_avx512fp16_fix_truncv2di2 */
13904 :
13905 : case 1:
13906 : if (!(
13907 : #line 10055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13908 : (TARGET_AVX512DQ && 1) &&
13909 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13910 : (TARGET_AVX512VL)))
13911 : return -1;
13912 : return 5087; /* unspec_fix_truncv2dfv2di2 */
13913 :
13914 : case 2:
13915 : if (!
13916 : #line 10119 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13917 : (TARGET_AVX512DQ && TARGET_AVX512VL))
13918 : return -1;
13919 : return 5147; /* unspec_avx512dq_fix_truncv2sfv2di2 */
13920 :
13921 : default:
13922 : return -1;
13923 : }
13924 :
13925 : default:
13926 : return -1;
13927 : }
13928 : }
13929 :
13930 : int
13931 : recog_229 (rtx x1 ATTRIBUTE_UNUSED,
13932 : rtx_insn *insn ATTRIBUTE_UNUSED,
13933 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13934 : {
13935 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13936 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13937 : rtx x10, x11, x12, x13, x14;
13938 : int res ATTRIBUTE_UNUSED;
13939 : x2 = XEXP (x1, 1);
13940 : x3 = XVECEXP (x2, 0, 0);
13941 : x4 = XEXP (x3, 2);
13942 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13943 : return -1;
13944 : x5 = XEXP (x3, 0);
13945 : x6 = XEXP (x5, 0);
13946 : switch (GET_CODE (x6))
13947 : {
13948 : case SQRT:
13949 : x7 = XEXP (x6, 0);
13950 : operands[1] = x7;
13951 : x8 = XEXP (x3, 1);
13952 : operands[2] = x8;
13953 : x9 = XVECEXP (x2, 0, 1);
13954 : operands[3] = x9;
13955 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
13956 : return -1;
13957 : switch (GET_MODE (operands[0]))
13958 : {
13959 : case E_V8HFmode:
13960 : if (pattern1414 (x2,
13961 : E_V8HFmode,
13962 : E_HFmode) != 0
13963 : || !(
13964 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13965 : (TARGET_AVX512F) && (
13966 : #line 3144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13967 : (TARGET_SSE) &&
13968 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13969 : (TARGET_AVX512FP16))))
13970 : return -1;
13971 : return 2995; /* *avx512fp16_vmsqrtv8hf2_round */
13972 :
13973 : case E_V4SFmode:
13974 : if (pattern1414 (x2,
13975 : E_V4SFmode,
13976 : E_SFmode) != 0
13977 : || !(
13978 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13979 : (TARGET_AVX512F) &&
13980 : #line 3144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13981 : (TARGET_SSE)))
13982 : return -1;
13983 : return 2999; /* *sse_vmsqrtv4sf2_round */
13984 :
13985 : case E_V2DFmode:
13986 : if (pattern1414 (x2,
13987 : E_V2DFmode,
13988 : E_DFmode) != 0
13989 : || !(
13990 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13991 : (TARGET_AVX512F) && (
13992 : #line 3144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13993 : (TARGET_SSE) &&
13994 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13995 : (TARGET_SSE2))))
13996 : return -1;
13997 : return 3003; /* *sse2_vmsqrtv2df2_round */
13998 :
13999 : default:
14000 : return -1;
14001 : }
14002 :
14003 : case FLOAT:
14004 : switch (pattern912 (x2))
14005 : {
14006 : case 0:
14007 : if (!(
14008 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14009 : (TARGET_AVX512F) &&
14010 : #line 8219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14011 : (TARGET_AVX512FP16)))
14012 : return -1;
14013 : return 4584; /* avx512fp16_vcvtsi2sh_round */
14014 :
14015 : case 1:
14016 : if (!(
14017 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14018 : (TARGET_AVX512F) && (
14019 : #line 8219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14020 : (TARGET_AVX512FP16) &&
14021 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14022 : (TARGET_64BIT))))
14023 : return -1;
14024 : return 4588; /* avx512fp16_vcvtsi2shq_round */
14025 :
14026 : case 2:
14027 : if (!(
14028 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14029 : (TARGET_AVX512F) &&
14030 : #line 8885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14031 : (TARGET_SSE)))
14032 : return -1;
14033 : return 4817; /* sse_cvtsi2ss_round */
14034 :
14035 : case 3:
14036 : if (!(
14037 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14038 : (TARGET_AVX512F) && (
14039 : #line 8885 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14040 : (TARGET_SSE) &&
14041 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14042 : (TARGET_64BIT))))
14043 : return -1;
14044 : return 4819; /* sse_cvtsi2ssq_round */
14045 :
14046 : case 4:
14047 : if (!(
14048 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14049 : (TARGET_AVX512F) &&
14050 : #line 9370 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14051 : (TARGET_SSE2 && TARGET_64BIT)))
14052 : return -1;
14053 : return 4930; /* sse2_cvtsi2sdq_round */
14054 :
14055 : default:
14056 : return -1;
14057 : }
14058 :
14059 : case UNSIGNED_FLOAT:
14060 : switch (pattern912 (x2))
14061 : {
14062 : case 0:
14063 : if (!(
14064 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14065 : (TARGET_AVX512F) &&
14066 : #line 8219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14067 : (TARGET_AVX512FP16)))
14068 : return -1;
14069 : return 4586; /* avx512fp16_vcvtusi2sh_round */
14070 :
14071 : case 1:
14072 : if (!(
14073 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14074 : (TARGET_AVX512F) && (
14075 : #line 8219 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14076 : (TARGET_AVX512FP16) &&
14077 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14078 : (TARGET_64BIT))))
14079 : return -1;
14080 : return 4590; /* avx512fp16_vcvtusi2shq_round */
14081 :
14082 : case 2:
14083 : if (!(
14084 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14085 : (TARGET_AVX512F) &&
14086 : #line 8982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14087 : (TARGET_AVX512F && (V4SFmode == V4SFmode))))
14088 : return -1;
14089 : return 4835; /* cvtusi2ss32_round */
14090 :
14091 : case 3:
14092 : if (!(
14093 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14094 : (TARGET_AVX512F) &&
14095 : #line 8996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14096 : (TARGET_AVX512F && TARGET_64BIT)))
14097 : return -1;
14098 : return 4838; /* cvtusi2ss64_round */
14099 :
14100 : case 4:
14101 : if (!(
14102 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14103 : (TARGET_AVX512F) && (
14104 : #line 8996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14105 : (TARGET_AVX512F && TARGET_64BIT) &&
14106 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14107 : (TARGET_SSE2))))
14108 : return -1;
14109 : return 4840; /* cvtusi2sd64_round */
14110 :
14111 : default:
14112 : return -1;
14113 : }
14114 :
14115 : case FLOAT_EXTEND:
14116 : x7 = XEXP (x6, 0);
14117 : if (pattern910 (x7,
14118 : 1,
14119 : E_HFmode) != 0)
14120 : return -1;
14121 : x10 = XEXP (x7, 0);
14122 : operands[1] = x10;
14123 : if (!register_operand (operands[1], E_V8HFmode))
14124 : return -1;
14125 : x8 = XEXP (x3, 1);
14126 : operands[2] = x8;
14127 : x9 = XVECEXP (x2, 0, 1);
14128 : operands[3] = x9;
14129 : if (!const48_operand (operands[3], E_SImode))
14130 : return -1;
14131 : switch (GET_MODE (operands[0]))
14132 : {
14133 : case E_V2DFmode:
14134 : if (pattern1692 (x2,
14135 : E_V2DFmode,
14136 : E_DFmode) != 0
14137 : || !(
14138 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14139 : (TARGET_AVX512F) &&
14140 : #line 8666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14141 : (TARGET_AVX512FP16)))
14142 : return -1;
14143 : return 4790; /* avx512fp16_vcvtsh2sd_round */
14144 :
14145 : case E_V4SFmode:
14146 : if (pattern1692 (x2,
14147 : E_V4SFmode,
14148 : E_SFmode) != 0
14149 : || !(
14150 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14151 : (TARGET_AVX512F) &&
14152 : #line 8666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14153 : (TARGET_AVX512FP16)))
14154 : return -1;
14155 : return 4794; /* avx512fp16_vcvtsh2ss_round */
14156 :
14157 : default:
14158 : return -1;
14159 : }
14160 :
14161 : case FLOAT_TRUNCATE:
14162 : x9 = XVECEXP (x2, 0, 1);
14163 : operands[3] = x9;
14164 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
14165 : return -1;
14166 : x7 = XEXP (x6, 0);
14167 : switch (GET_CODE (x7))
14168 : {
14169 : case VEC_SELECT:
14170 : x11 = XEXP (x7, 1);
14171 : if (GET_CODE (x11) != PARALLEL
14172 : || XVECLEN (x11, 0) != 1)
14173 : return -1;
14174 : x12 = XVECEXP (x11, 0, 0);
14175 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
14176 : || pattern1415 (x2,
14177 : E_HFmode,
14178 : E_V8HFmode) != 0)
14179 : return -1;
14180 : x10 = XEXP (x7, 0);
14181 : operands[1] = x10;
14182 : x8 = XEXP (x3, 1);
14183 : operands[2] = x8;
14184 : if (!register_operand (operands[2], E_V8HFmode))
14185 : return -1;
14186 : switch (GET_MODE (x7))
14187 : {
14188 : case E_DFmode:
14189 : if (!register_operand (operands[1], E_V2DFmode)
14190 : || !(
14191 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14192 : (TARGET_AVX512F) &&
14193 : #line 8696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14194 : (TARGET_AVX512FP16)))
14195 : return -1;
14196 : return 4801; /* avx512fp16_vcvtsd2sh_round */
14197 :
14198 : case E_SFmode:
14199 : if (!register_operand (operands[1], E_V4SFmode)
14200 : || !(
14201 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14202 : (TARGET_AVX512F) &&
14203 : #line 8696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14204 : (TARGET_AVX512FP16)))
14205 : return -1;
14206 : return 4805; /* avx512fp16_vcvtss2sh_round */
14207 :
14208 : default:
14209 : return -1;
14210 : }
14211 :
14212 : case REG:
14213 : case SUBREG:
14214 : case MEM:
14215 : operands[2] = x7;
14216 : if (!nonimmediate_operand (operands[2], E_V2DFmode)
14217 : || pattern1415 (x2,
14218 : E_V2SFmode,
14219 : E_V4SFmode) != 0)
14220 : return -1;
14221 : x8 = XEXP (x3, 1);
14222 : operands[1] = x8;
14223 : if (!register_operand (operands[1], E_V4SFmode)
14224 : || !(
14225 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14226 : (TARGET_AVX512F) &&
14227 : #line 10369 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14228 : (TARGET_SSE2)))
14229 : return -1;
14230 : return 5169; /* sse2_cvtsd2ss_round */
14231 :
14232 : default:
14233 : return -1;
14234 : }
14235 :
14236 : case UNSPEC:
14237 : if (XVECLEN (x6, 0) != 2
14238 : || XINT (x6, 1) != 95)
14239 : return -1;
14240 : x13 = XVECEXP (x6, 0, 0);
14241 : operands[2] = x13;
14242 : x14 = XVECEXP (x6, 0, 1);
14243 : operands[3] = x14;
14244 : if (!const_0_to_255_operand (operands[3], E_SImode))
14245 : return -1;
14246 : x8 = XEXP (x3, 1);
14247 : operands[1] = x8;
14248 : x9 = XVECEXP (x2, 0, 1);
14249 : operands[4] = x9;
14250 : if (!const48_operand (operands[4], E_SImode))
14251 : return -1;
14252 : switch (GET_MODE (operands[0]))
14253 : {
14254 : case E_V8HFmode:
14255 : if (pattern1595 (x2,
14256 : E_V8HFmode,
14257 : E_HFmode) != 0
14258 : || !(
14259 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14260 : (TARGET_AVX512F) && (
14261 : #line 14630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14262 : (TARGET_AVX512F) &&
14263 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14264 : (TARGET_AVX512FP16))))
14265 : return -1;
14266 : return 7208; /* *avx512f_rndscalev8hf_round */
14267 :
14268 : case E_V4SFmode:
14269 : if (pattern1595 (x2,
14270 : E_V4SFmode,
14271 : E_SFmode) != 0
14272 : || !
14273 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14274 : (TARGET_AVX512F))
14275 : return -1;
14276 : return 7210; /* *avx512f_rndscalev4sf_round */
14277 :
14278 : case E_V2DFmode:
14279 : if (pattern1595 (x2,
14280 : E_V2DFmode,
14281 : E_DFmode) != 0
14282 : || !(
14283 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14284 : (TARGET_AVX512F) && (
14285 : #line 14630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14286 : (TARGET_AVX512F) &&
14287 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14288 : (TARGET_SSE2))))
14289 : return -1;
14290 : return 7212; /* *avx512f_rndscalev2df_round */
14291 :
14292 : default:
14293 : return -1;
14294 : }
14295 :
14296 : default:
14297 : return -1;
14298 : }
14299 : }
14300 :
14301 : int
14302 : recog_231 (rtx x1 ATTRIBUTE_UNUSED,
14303 : rtx_insn *insn ATTRIBUTE_UNUSED,
14304 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14305 : {
14306 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14307 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14308 : rtx x10, x11, x12, x13, x14;
14309 : int res ATTRIBUTE_UNUSED;
14310 : x2 = XEXP (x1, 1);
14311 : x3 = XVECEXP (x2, 0, 0);
14312 : x4 = XEXP (x3, 0);
14313 : switch (GET_CODE (x4))
14314 : {
14315 : case PLUS:
14316 : switch (pattern662 (x2))
14317 : {
14318 : case 0:
14319 : if (!(
14320 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14321 : (TARGET_AVX512F) && (
14322 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14323 : (TARGET_AVX512F) && (
14324 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14325 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
14326 : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14327 : || V32HFmode == V8DFmode
14328 : || V32HFmode == V8DImode
14329 : || V32HFmode == V16SImode
14330 : || V32HFmode == V32HFmode)) &&
14331 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14332 : (TARGET_AVX512FP16)))))
14333 : return -1;
14334 : return 2740; /* *addv32hf3_mask_round */
14335 :
14336 : case 1:
14337 : if (!(
14338 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14339 : (TARGET_AVX512F) && (
14340 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14341 : (TARGET_AVX512F) && (
14342 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14343 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
14344 : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
14345 : || V16HFmode == V8DFmode
14346 : || V16HFmode == V8DImode
14347 : || V16HFmode == V16SImode
14348 : || V16HFmode == V32HFmode)) &&
14349 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14350 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14351 : return -1;
14352 : return 2748; /* *addv16hf3_mask_round */
14353 :
14354 : case 2:
14355 : if (!(
14356 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14357 : (TARGET_AVX512F) && (
14358 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14359 : (TARGET_AVX512F) && (
14360 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14361 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
14362 : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
14363 : || V8HFmode == V8DFmode
14364 : || V8HFmode == V8DImode
14365 : || V8HFmode == V16SImode
14366 : || V8HFmode == V32HFmode)) &&
14367 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14368 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14369 : return -1;
14370 : return 2756; /* *addv8hf3_mask_round */
14371 :
14372 : case 3:
14373 : if (!(
14374 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14375 : (TARGET_AVX512F) && (
14376 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14377 : (TARGET_AVX512F) && (
14378 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14379 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
14380 : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14381 : || V16SFmode == V8DFmode
14382 : || V16SFmode == V8DImode
14383 : || V16SFmode == V16SImode
14384 : || V16SFmode == V32HFmode)) &&
14385 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14386 : (TARGET_AVX512F)))))
14387 : return -1;
14388 : return 2764; /* *addv16sf3_mask_round */
14389 :
14390 : case 4:
14391 : if (!(
14392 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14393 : (TARGET_AVX512F) && (
14394 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14395 : (TARGET_AVX512F) && (
14396 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14397 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
14398 : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
14399 : || V8SFmode == V8DFmode
14400 : || V8SFmode == V8DImode
14401 : || V8SFmode == V16SImode
14402 : || V8SFmode == V32HFmode)) &&
14403 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14404 : (TARGET_AVX)))))
14405 : return -1;
14406 : return 2772; /* *addv8sf3_mask_round */
14407 :
14408 : case 5:
14409 : if (!(
14410 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14411 : (TARGET_AVX512F) && (
14412 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14413 : (TARGET_AVX512F) &&
14414 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14415 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
14416 : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
14417 : || V4SFmode == V8DFmode
14418 : || V4SFmode == V8DImode
14419 : || V4SFmode == V16SImode
14420 : || V4SFmode == V32HFmode)))))
14421 : return -1;
14422 : return 2780; /* *addv4sf3_mask_round */
14423 :
14424 : case 6:
14425 : if (!(
14426 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14427 : (TARGET_AVX512F) && (
14428 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14429 : (TARGET_AVX512F) && (
14430 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14431 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
14432 : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14433 : || V8DFmode == V8DFmode
14434 : || V8DFmode == V8DImode
14435 : || V8DFmode == V16SImode
14436 : || V8DFmode == V32HFmode)) &&
14437 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14438 : (TARGET_AVX512F)))))
14439 : return -1;
14440 : return 2788; /* *addv8df3_mask_round */
14441 :
14442 : case 7:
14443 : if (!(
14444 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14445 : (TARGET_AVX512F) && (
14446 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14447 : (TARGET_AVX512F) && (
14448 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14449 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
14450 : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
14451 : || V4DFmode == V8DFmode
14452 : || V4DFmode == V8DImode
14453 : || V4DFmode == V16SImode
14454 : || V4DFmode == V32HFmode)) &&
14455 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14456 : (TARGET_AVX)))))
14457 : return -1;
14458 : return 2796; /* *addv4df3_mask_round */
14459 :
14460 : case 8:
14461 : if (!(
14462 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14463 : (TARGET_AVX512F) && (
14464 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14465 : (TARGET_AVX512F) && (
14466 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14467 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
14468 : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
14469 : || V2DFmode == V8DFmode
14470 : || V2DFmode == V8DImode
14471 : || V2DFmode == V16SImode
14472 : || V2DFmode == V32HFmode)) &&
14473 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14474 : (TARGET_SSE2)))))
14475 : return -1;
14476 : return 2804; /* *addv2df3_mask_round */
14477 :
14478 : case 9:
14479 : if (!(
14480 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14481 : (TARGET_AVX512F) && (
14482 : #line 2744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14483 : (TARGET_SSE) &&
14484 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14485 : (TARGET_AVX512FP16))))
14486 : return -1;
14487 : return 2816; /* avx512fp16_vmaddv8hf3_round */
14488 :
14489 : case 10:
14490 : if (!(
14491 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14492 : (TARGET_AVX512F) &&
14493 : #line 2744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14494 : (TARGET_SSE)))
14495 : return -1;
14496 : return 2824; /* sse_vmaddv4sf3_round */
14497 :
14498 : case 11:
14499 : if (!(
14500 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14501 : (TARGET_AVX512F) && (
14502 : #line 2744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14503 : (TARGET_SSE) &&
14504 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14505 : (TARGET_SSE2))))
14506 : return -1;
14507 : return 2832; /* sse2_vmaddv2df3_round */
14508 :
14509 : default:
14510 : return -1;
14511 : }
14512 :
14513 : case MINUS:
14514 : switch (pattern662 (x2))
14515 : {
14516 : case 0:
14517 : if (!(
14518 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14519 : (TARGET_AVX512F) && (
14520 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14521 : (TARGET_AVX512F) && (
14522 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14523 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
14524 : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14525 : || V32HFmode == V8DFmode
14526 : || V32HFmode == V8DImode
14527 : || V32HFmode == V16SImode
14528 : || V32HFmode == V32HFmode)) &&
14529 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14530 : (TARGET_AVX512FP16)))))
14531 : return -1;
14532 : return 2744; /* *subv32hf3_mask_round */
14533 :
14534 : case 1:
14535 : if (!(
14536 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14537 : (TARGET_AVX512F) && (
14538 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14539 : (TARGET_AVX512F) && (
14540 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14541 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
14542 : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
14543 : || V16HFmode == V8DFmode
14544 : || V16HFmode == V8DImode
14545 : || V16HFmode == V16SImode
14546 : || V16HFmode == V32HFmode)) &&
14547 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14548 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14549 : return -1;
14550 : return 2752; /* *subv16hf3_mask_round */
14551 :
14552 : case 2:
14553 : if (!(
14554 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14555 : (TARGET_AVX512F) && (
14556 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14557 : (TARGET_AVX512F) && (
14558 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14559 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
14560 : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
14561 : || V8HFmode == V8DFmode
14562 : || V8HFmode == V8DImode
14563 : || V8HFmode == V16SImode
14564 : || V8HFmode == V32HFmode)) &&
14565 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14566 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14567 : return -1;
14568 : return 2760; /* *subv8hf3_mask_round */
14569 :
14570 : case 3:
14571 : if (!(
14572 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14573 : (TARGET_AVX512F) && (
14574 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14575 : (TARGET_AVX512F) && (
14576 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14577 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
14578 : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14579 : || V16SFmode == V8DFmode
14580 : || V16SFmode == V8DImode
14581 : || V16SFmode == V16SImode
14582 : || V16SFmode == V32HFmode)) &&
14583 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14584 : (TARGET_AVX512F)))))
14585 : return -1;
14586 : return 2768; /* *subv16sf3_mask_round */
14587 :
14588 : case 4:
14589 : if (!(
14590 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14591 : (TARGET_AVX512F) && (
14592 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14593 : (TARGET_AVX512F) && (
14594 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14595 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
14596 : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
14597 : || V8SFmode == V8DFmode
14598 : || V8SFmode == V8DImode
14599 : || V8SFmode == V16SImode
14600 : || V8SFmode == V32HFmode)) &&
14601 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14602 : (TARGET_AVX)))))
14603 : return -1;
14604 : return 2776; /* *subv8sf3_mask_round */
14605 :
14606 : case 5:
14607 : if (!(
14608 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14609 : (TARGET_AVX512F) && (
14610 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14611 : (TARGET_AVX512F) &&
14612 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14613 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
14614 : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
14615 : || V4SFmode == V8DFmode
14616 : || V4SFmode == V8DImode
14617 : || V4SFmode == V16SImode
14618 : || V4SFmode == V32HFmode)))))
14619 : return -1;
14620 : return 2784; /* *subv4sf3_mask_round */
14621 :
14622 : case 6:
14623 : if (!(
14624 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14625 : (TARGET_AVX512F) && (
14626 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14627 : (TARGET_AVX512F) && (
14628 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14629 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
14630 : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14631 : || V8DFmode == V8DFmode
14632 : || V8DFmode == V8DImode
14633 : || V8DFmode == V16SImode
14634 : || V8DFmode == V32HFmode)) &&
14635 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14636 : (TARGET_AVX512F)))))
14637 : return -1;
14638 : return 2792; /* *subv8df3_mask_round */
14639 :
14640 : case 7:
14641 : if (!(
14642 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14643 : (TARGET_AVX512F) && (
14644 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14645 : (TARGET_AVX512F) && (
14646 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14647 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
14648 : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
14649 : || V4DFmode == V8DFmode
14650 : || V4DFmode == V8DImode
14651 : || V4DFmode == V16SImode
14652 : || V4DFmode == V32HFmode)) &&
14653 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14654 : (TARGET_AVX)))))
14655 : return -1;
14656 : return 2800; /* *subv4df3_mask_round */
14657 :
14658 : case 8:
14659 : if (!(
14660 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14661 : (TARGET_AVX512F) && (
14662 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14663 : (TARGET_AVX512F) && (
14664 : #line 2695 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14665 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
14666 : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
14667 : || V2DFmode == V8DFmode
14668 : || V2DFmode == V8DImode
14669 : || V2DFmode == V16SImode
14670 : || V2DFmode == V32HFmode)) &&
14671 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14672 : (TARGET_SSE2)))))
14673 : return -1;
14674 : return 2808; /* *subv2df3_mask_round */
14675 :
14676 : case 9:
14677 : if (!(
14678 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14679 : (TARGET_AVX512F) && (
14680 : #line 2744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14681 : (TARGET_SSE) &&
14682 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14683 : (TARGET_AVX512FP16))))
14684 : return -1;
14685 : return 2820; /* avx512fp16_vmsubv8hf3_round */
14686 :
14687 : case 10:
14688 : if (!(
14689 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14690 : (TARGET_AVX512F) &&
14691 : #line 2744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14692 : (TARGET_SSE)))
14693 : return -1;
14694 : return 2828; /* sse_vmsubv4sf3_round */
14695 :
14696 : case 11:
14697 : if (!(
14698 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14699 : (TARGET_AVX512F) && (
14700 : #line 2744 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14701 : (TARGET_SSE) &&
14702 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14703 : (TARGET_SSE2))))
14704 : return -1;
14705 : return 2836; /* sse2_vmsubv2df3_round */
14706 :
14707 : default:
14708 : return -1;
14709 : }
14710 :
14711 : case VEC_MERGE:
14712 : return recog_226 (x1, insn, pnum_clobbers);
14713 :
14714 : case MULT:
14715 : switch (pattern662 (x2))
14716 : {
14717 : case 0:
14718 : if (!(
14719 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14720 : (TARGET_AVX512F) && (
14721 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14722 : (TARGET_AVX512F) && (
14723 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14724 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
14725 : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14726 : || V32HFmode == V8DFmode
14727 : || V32HFmode == V8DImode
14728 : || V32HFmode == V16SImode
14729 : || V32HFmode == V32HFmode)) &&
14730 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14731 : (TARGET_AVX512FP16)))))
14732 : return -1;
14733 : return 2842; /* *mulv32hf3_mask_round */
14734 :
14735 : case 1:
14736 : if (!(
14737 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14738 : (TARGET_AVX512F) && (
14739 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14740 : (TARGET_AVX512F) && (
14741 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14742 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
14743 : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
14744 : || V16HFmode == V8DFmode
14745 : || V16HFmode == V8DImode
14746 : || V16HFmode == V16SImode
14747 : || V16HFmode == V32HFmode)) &&
14748 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14749 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14750 : return -1;
14751 : return 2846; /* *mulv16hf3_mask_round */
14752 :
14753 : case 2:
14754 : if (!(
14755 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14756 : (TARGET_AVX512F) && (
14757 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14758 : (TARGET_AVX512F) && (
14759 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14760 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
14761 : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
14762 : || V8HFmode == V8DFmode
14763 : || V8HFmode == V8DImode
14764 : || V8HFmode == V16SImode
14765 : || V8HFmode == V32HFmode)) &&
14766 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14767 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14768 : return -1;
14769 : return 2850; /* *mulv8hf3_mask_round */
14770 :
14771 : case 3:
14772 : if (!(
14773 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14774 : (TARGET_AVX512F) && (
14775 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14776 : (TARGET_AVX512F) && (
14777 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14778 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
14779 : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14780 : || V16SFmode == V8DFmode
14781 : || V16SFmode == V8DImode
14782 : || V16SFmode == V16SImode
14783 : || V16SFmode == V32HFmode)) &&
14784 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14785 : (TARGET_AVX512F)))))
14786 : return -1;
14787 : return 2854; /* *mulv16sf3_mask_round */
14788 :
14789 : case 4:
14790 : if (!(
14791 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14792 : (TARGET_AVX512F) && (
14793 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14794 : (TARGET_AVX512F) && (
14795 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14796 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
14797 : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
14798 : || V8SFmode == V8DFmode
14799 : || V8SFmode == V8DImode
14800 : || V8SFmode == V16SImode
14801 : || V8SFmode == V32HFmode)) &&
14802 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14803 : (TARGET_AVX)))))
14804 : return -1;
14805 : return 2858; /* *mulv8sf3_mask_round */
14806 :
14807 : case 5:
14808 : if (!(
14809 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14810 : (TARGET_AVX512F) && (
14811 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14812 : (TARGET_AVX512F) &&
14813 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14814 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
14815 : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
14816 : || V4SFmode == V8DFmode
14817 : || V4SFmode == V8DImode
14818 : || V4SFmode == V16SImode
14819 : || V4SFmode == V32HFmode)))))
14820 : return -1;
14821 : return 2862; /* *mulv4sf3_mask_round */
14822 :
14823 : case 6:
14824 : if (!(
14825 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14826 : (TARGET_AVX512F) && (
14827 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14828 : (TARGET_AVX512F) && (
14829 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14830 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
14831 : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14832 : || V8DFmode == V8DFmode
14833 : || V8DFmode == V8DImode
14834 : || V8DFmode == V16SImode
14835 : || V8DFmode == V32HFmode)) &&
14836 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14837 : (TARGET_AVX512F)))))
14838 : return -1;
14839 : return 2866; /* *mulv8df3_mask_round */
14840 :
14841 : case 7:
14842 : if (!(
14843 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14844 : (TARGET_AVX512F) && (
14845 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14846 : (TARGET_AVX512F) && (
14847 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14848 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
14849 : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
14850 : || V4DFmode == V8DFmode
14851 : || V4DFmode == V8DImode
14852 : || V4DFmode == V16SImode
14853 : || V4DFmode == V32HFmode)) &&
14854 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14855 : (TARGET_AVX)))))
14856 : return -1;
14857 : return 2870; /* *mulv4df3_mask_round */
14858 :
14859 : case 8:
14860 : if (!(
14861 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14862 : (TARGET_AVX512F) && (
14863 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14864 : (TARGET_AVX512F) && (
14865 : #line 2784 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14866 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
14867 : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
14868 : || V2DFmode == V8DFmode
14869 : || V2DFmode == V8DImode
14870 : || V2DFmode == V16SImode
14871 : || V2DFmode == V32HFmode)) &&
14872 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14873 : (TARGET_SSE2)))))
14874 : return -1;
14875 : return 2874; /* *mulv2df3_mask_round */
14876 :
14877 : case 9:
14878 : if (!(
14879 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14880 : (TARGET_AVX512F) && (
14881 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14882 : (TARGET_SSE) &&
14883 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14884 : (TARGET_AVX512FP16))))
14885 : return -1;
14886 : return 2882; /* avx512fp16_vmmulv8hf3_round */
14887 :
14888 : case 10:
14889 : if (!(
14890 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14891 : (TARGET_AVX512F) &&
14892 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14893 : (TARGET_SSE)))
14894 : return -1;
14895 : return 2890; /* sse_vmmulv4sf3_round */
14896 :
14897 : case 11:
14898 : if (!(
14899 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14900 : (TARGET_AVX512F) && (
14901 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14902 : (TARGET_SSE) &&
14903 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14904 : (TARGET_SSE2))))
14905 : return -1;
14906 : return 2898; /* sse2_vmmulv2df3_round */
14907 :
14908 : default:
14909 : return -1;
14910 : }
14911 :
14912 : case DIV:
14913 : x5 = XEXP (x4, 0);
14914 : operands[1] = x5;
14915 : x6 = XEXP (x4, 1);
14916 : operands[2] = x6;
14917 : x7 = XVECEXP (x2, 0, 1);
14918 : if (!const_4_or_8_to_11_operand (x7, E_SImode))
14919 : return -1;
14920 : x8 = XEXP (x3, 2);
14921 : switch (GET_CODE (x8))
14922 : {
14923 : case CONST_INT:
14924 : switch (pattern661 (x2))
14925 : {
14926 : case 0:
14927 : if (!(
14928 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14929 : (TARGET_AVX512F) && (
14930 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14931 : (TARGET_SSE) &&
14932 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14933 : (TARGET_AVX512FP16))))
14934 : return -1;
14935 : return 2886; /* avx512fp16_vmdivv8hf3_round */
14936 :
14937 : case 1:
14938 : if (!(
14939 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14940 : (TARGET_AVX512F) &&
14941 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14942 : (TARGET_SSE)))
14943 : return -1;
14944 : return 2894; /* sse_vmdivv4sf3_round */
14945 :
14946 : case 2:
14947 : if (!(
14948 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14949 : (TARGET_AVX512F) && (
14950 : #line 2835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14951 : (TARGET_SSE) &&
14952 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14953 : (TARGET_SSE2))))
14954 : return -1;
14955 : return 2902; /* sse2_vmdivv2df3_round */
14956 :
14957 : default:
14958 : return -1;
14959 : }
14960 :
14961 : case REG:
14962 : case SUBREG:
14963 : switch (pattern663 (x2))
14964 : {
14965 : case 0:
14966 : if (!(
14967 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14968 : (TARGET_AVX512F) && (
14969 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14970 : (TARGET_AVX512F) && (
14971 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14972 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14973 : || V32HFmode == V8DFmode
14974 : || V32HFmode == V8DImode
14975 : || V32HFmode == V16SImode
14976 : || V32HFmode == V32HFmode)) &&
14977 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14978 : (TARGET_AVX512FP16)))))
14979 : return -1;
14980 : return 2908; /* avx512fp16_divv32hf3_mask_round */
14981 :
14982 : case 1:
14983 : if (!(
14984 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14985 : (TARGET_AVX512F) && (
14986 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14987 : (TARGET_AVX512F) && (
14988 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14989 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14990 : || V16SFmode == V8DFmode
14991 : || V16SFmode == V8DImode
14992 : || V16SFmode == V16SImode
14993 : || V16SFmode == V32HFmode)) &&
14994 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14995 : (TARGET_AVX512F)))))
14996 : return -1;
14997 : return 2916; /* avx512f_divv16sf3_mask_round */
14998 :
14999 : case 2:
15000 : if (!(
15001 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15002 : (TARGET_AVX512F) && (
15003 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15004 : (TARGET_AVX512F) && (
15005 : #line 2933 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15006 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
15007 : || V8DFmode == V8DFmode
15008 : || V8DFmode == V8DImode
15009 : || V8DFmode == V16SImode
15010 : || V8DFmode == V32HFmode)) &&
15011 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15012 : (TARGET_AVX512F)))))
15013 : return -1;
15014 : return 2924; /* avx512f_divv8df3_mask_round */
15015 :
15016 : default:
15017 : return -1;
15018 : }
15019 :
15020 : default:
15021 : return -1;
15022 : }
15023 :
15024 : case SQRT:
15025 : x5 = XEXP (x4, 0);
15026 : operands[1] = x5;
15027 : x9 = XEXP (x3, 1);
15028 : operands[2] = x9;
15029 : x7 = XVECEXP (x2, 0, 1);
15030 : if (!const_4_or_8_to_11_operand (x7, E_SImode))
15031 : return -1;
15032 : x8 = XEXP (x3, 2);
15033 : switch (GET_CODE (x8))
15034 : {
15035 : case REG:
15036 : case SUBREG:
15037 : operands[3] = x8;
15038 : operands[4] = x7;
15039 : switch (GET_MODE (operands[0]))
15040 : {
15041 : case E_V32HFmode:
15042 : if (pattern1412 (x2,
15043 : E_SImode,
15044 : E_V32HFmode) != 0
15045 : || !(
15046 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15047 : (TARGET_AVX512F) && (
15048 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15049 : (TARGET_AVX512F) && (
15050 : #line 3105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15051 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
15052 : || V32HFmode == V8DFmode
15053 : || V32HFmode == V8DImode
15054 : || V32HFmode == V16SImode
15055 : || V32HFmode == V32HFmode)) &&
15056 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15057 : (TARGET_AVX512FP16)))))
15058 : return -1;
15059 : return 2961; /* avx512fp16_sqrtv32hf2_mask_round */
15060 :
15061 : case E_V16SFmode:
15062 : if (pattern1412 (x2,
15063 : E_HImode,
15064 : E_V16SFmode) != 0
15065 : || !(
15066 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15067 : (TARGET_AVX512F) && (
15068 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15069 : (TARGET_AVX512F) && (
15070 : #line 3105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15071 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
15072 : || V16SFmode == V8DFmode
15073 : || V16SFmode == V8DImode
15074 : || V16SFmode == V16SImode
15075 : || V16SFmode == V32HFmode)) &&
15076 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15077 : (TARGET_AVX512F)))))
15078 : return -1;
15079 : return 2969; /* avx512f_sqrtv16sf2_mask_round */
15080 :
15081 : case E_V8DFmode:
15082 : if (pattern1412 (x2,
15083 : E_QImode,
15084 : E_V8DFmode) != 0
15085 : || !(
15086 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15087 : (TARGET_AVX512F) && (
15088 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15089 : (TARGET_AVX512F) && (
15090 : #line 3105 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15091 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
15092 : || V8DFmode == V8DFmode
15093 : || V8DFmode == V8DImode
15094 : || V8DFmode == V16SImode
15095 : || V8DFmode == V32HFmode)) &&
15096 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15097 : (TARGET_AVX512F)))))
15098 : return -1;
15099 : return 2977; /* avx512f_sqrtv8df2_mask_round */
15100 :
15101 : default:
15102 : return -1;
15103 : }
15104 :
15105 : case CONST_INT:
15106 : if (XWINT (x8, 0) != 1L)
15107 : return -1;
15108 : operands[3] = x7;
15109 : switch (GET_MODE (operands[0]))
15110 : {
15111 : case E_V8HFmode:
15112 : if (pattern1413 (x2,
15113 : E_V8HFmode) != 0
15114 : || !(
15115 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15116 : (TARGET_AVX512F) && (
15117 : #line 3124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15118 : (TARGET_SSE) &&
15119 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15120 : (TARGET_AVX512FP16))))
15121 : return -1;
15122 : return 2983; /* avx512fp16_vmsqrtv8hf2_round */
15123 :
15124 : case E_V4SFmode:
15125 : if (pattern1413 (x2,
15126 : E_V4SFmode) != 0
15127 : || !(
15128 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15129 : (TARGET_AVX512F) &&
15130 : #line 3124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15131 : (TARGET_SSE)))
15132 : return -1;
15133 : return 2987; /* sse_vmsqrtv4sf2_round */
15134 :
15135 : case E_V2DFmode:
15136 : if (pattern1413 (x2,
15137 : E_V2DFmode) != 0
15138 : || !(
15139 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15140 : (TARGET_AVX512F) && (
15141 : #line 3124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15142 : (TARGET_SSE) &&
15143 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15144 : (TARGET_SSE2))))
15145 : return -1;
15146 : return 2991; /* sse2_vmsqrtv2df2_round */
15147 :
15148 : default:
15149 : return -1;
15150 : }
15151 :
15152 : default:
15153 : return -1;
15154 : }
15155 :
15156 : case VEC_DUPLICATE:
15157 : return recog_229 (x1, insn, pnum_clobbers);
15158 :
15159 : case SMAX:
15160 : switch (pattern664 (x2))
15161 : {
15162 : case 0:
15163 : if (!(
15164 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15165 : (TARGET_AVX512F) && (
15166 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15167 : (TARGET_AVX512F) && (
15168 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15169 : (TARGET_SSE
15170 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15171 : && (64 == 64 || TARGET_AVX512VL)
15172 : && (V32HFmode == V16SFmode
15173 : || V32HFmode == V8DFmode
15174 : || V32HFmode == V8DImode
15175 : || V32HFmode == V16SImode
15176 : || V32HFmode == V32HFmode)) &&
15177 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15178 : (TARGET_AVX512FP16)))))
15179 : return -1;
15180 : return 3039; /* *smaxv32hf3_mask_round */
15181 :
15182 : case 1:
15183 : if (!(
15184 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15185 : (TARGET_AVX512F) && (
15186 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15187 : (TARGET_AVX512F) && (
15188 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15189 : (TARGET_SSE
15190 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15191 : && (64 == 64 || TARGET_AVX512VL)
15192 : && (V16SFmode == V16SFmode
15193 : || V16SFmode == V8DFmode
15194 : || V16SFmode == V8DImode
15195 : || V16SFmode == V16SImode
15196 : || V16SFmode == V32HFmode)) &&
15197 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15198 : (TARGET_AVX512F)))))
15199 : return -1;
15200 : return 3055; /* *smaxv16sf3_mask_round */
15201 :
15202 : case 2:
15203 : if (!(
15204 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15205 : (TARGET_AVX512F) && (
15206 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15207 : (TARGET_AVX512F) && (
15208 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15209 : (TARGET_SSE
15210 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15211 : && (64 == 64 || TARGET_AVX512VL)
15212 : && (V8DFmode == V16SFmode
15213 : || V8DFmode == V8DFmode
15214 : || V8DFmode == V8DImode
15215 : || V8DFmode == V16SImode
15216 : || V8DFmode == V32HFmode)) &&
15217 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15218 : (TARGET_AVX512F)))))
15219 : return -1;
15220 : return 3071; /* *smaxv8df3_mask_round */
15221 :
15222 : case 3:
15223 : if (!(
15224 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15225 : (TARGET_AVX512F) && (
15226 : #line 3562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15227 : (TARGET_SSE) &&
15228 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15229 : (TARGET_AVX512FP16))))
15230 : return -1;
15231 : return 3161; /* *avx512fp16_vmsmaxv8hf3_round */
15232 :
15233 : case 4:
15234 : if (!(
15235 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15236 : (TARGET_AVX512F) &&
15237 : #line 3562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15238 : (TARGET_SSE)))
15239 : return -1;
15240 : return 3169; /* *sse_vmsmaxv4sf3_round */
15241 :
15242 : case 5:
15243 : if (!(
15244 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15245 : (TARGET_AVX512F) && (
15246 : #line 3562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15247 : (TARGET_SSE) &&
15248 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15249 : (TARGET_SSE2))))
15250 : return -1;
15251 : return 3177; /* *sse2_vmsmaxv2df3_round */
15252 :
15253 : default:
15254 : return -1;
15255 : }
15256 :
15257 : case SMIN:
15258 : switch (pattern664 (x2))
15259 : {
15260 : case 0:
15261 : if (!(
15262 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15263 : (TARGET_AVX512F) && (
15264 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15265 : (TARGET_AVX512F) && (
15266 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15267 : (TARGET_SSE
15268 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15269 : && (64 == 64 || TARGET_AVX512VL)
15270 : && (V32HFmode == V16SFmode
15271 : || V32HFmode == V8DFmode
15272 : || V32HFmode == V8DImode
15273 : || V32HFmode == V16SImode
15274 : || V32HFmode == V32HFmode)) &&
15275 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15276 : (TARGET_AVX512FP16)))))
15277 : return -1;
15278 : return 3043; /* *sminv32hf3_mask_round */
15279 :
15280 : case 1:
15281 : if (!(
15282 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15283 : (TARGET_AVX512F) && (
15284 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15285 : (TARGET_AVX512F) && (
15286 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15287 : (TARGET_SSE
15288 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15289 : && (64 == 64 || TARGET_AVX512VL)
15290 : && (V16SFmode == V16SFmode
15291 : || V16SFmode == V8DFmode
15292 : || V16SFmode == V8DImode
15293 : || V16SFmode == V16SImode
15294 : || V16SFmode == V32HFmode)) &&
15295 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15296 : (TARGET_AVX512F)))))
15297 : return -1;
15298 : return 3059; /* *sminv16sf3_mask_round */
15299 :
15300 : case 2:
15301 : if (!(
15302 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15303 : (TARGET_AVX512F) && (
15304 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15305 : (TARGET_AVX512F) && (
15306 : #line 3352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15307 : (TARGET_SSE
15308 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15309 : && (64 == 64 || TARGET_AVX512VL)
15310 : && (V8DFmode == V16SFmode
15311 : || V8DFmode == V8DFmode
15312 : || V8DFmode == V8DImode
15313 : || V8DFmode == V16SImode
15314 : || V8DFmode == V32HFmode)) &&
15315 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15316 : (TARGET_AVX512F)))))
15317 : return -1;
15318 : return 3075; /* *sminv8df3_mask_round */
15319 :
15320 : case 3:
15321 : if (!(
15322 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15323 : (TARGET_AVX512F) && (
15324 : #line 3562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15325 : (TARGET_SSE) &&
15326 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15327 : (TARGET_AVX512FP16))))
15328 : return -1;
15329 : return 3165; /* *avx512fp16_vmsminv8hf3_round */
15330 :
15331 : case 4:
15332 : if (!(
15333 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15334 : (TARGET_AVX512F) &&
15335 : #line 3562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15336 : (TARGET_SSE)))
15337 : return -1;
15338 : return 3173; /* *sse_vmsminv4sf3_round */
15339 :
15340 : case 5:
15341 : if (!(
15342 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15343 : (TARGET_AVX512F) && (
15344 : #line 3562 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15345 : (TARGET_SSE) &&
15346 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15347 : (TARGET_SSE2))))
15348 : return -1;
15349 : return 3181; /* *sse2_vmsminv2df3_round */
15350 :
15351 : default:
15352 : return -1;
15353 : }
15354 :
15355 : case UNSPEC:
15356 : return recog_228 (x1, insn, pnum_clobbers);
15357 :
15358 : case FMA:
15359 : return recog_227 (x1, insn, pnum_clobbers);
15360 :
15361 : case FLOAT:
15362 : x5 = XEXP (x4, 0);
15363 : operands[1] = x5;
15364 : x9 = XEXP (x3, 1);
15365 : operands[2] = x9;
15366 : x8 = XEXP (x3, 2);
15367 : operands[3] = x8;
15368 : x7 = XVECEXP (x2, 0, 1);
15369 : operands[4] = x7;
15370 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
15371 : return -1;
15372 : switch (GET_MODE (operands[0]))
15373 : {
15374 : case E_V8HFmode:
15375 : switch (pattern1316 (x2))
15376 : {
15377 : case 0:
15378 : if (!(
15379 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15380 : (TARGET_AVX512F) && (
15381 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15382 : (TARGET_AVX512F) && (
15383 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15384 : (TARGET_AVX512FP16) &&
15385 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15386 : (TARGET_AVX512VL)))))
15387 : return -1;
15388 : return 4508; /* avx512fp16_vcvtw2ph_v8hi_mask_round */
15389 :
15390 : case 1:
15391 : if (!(
15392 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15393 : (TARGET_AVX512F) && (
15394 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15395 : (TARGET_AVX512F) && (
15396 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15397 : (TARGET_AVX512FP16) &&
15398 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15399 : (TARGET_AVX512VL)))))
15400 : return -1;
15401 : return 4532; /* avx512fp16_vcvtdq2ph_v8si_mask_round */
15402 :
15403 : case 2:
15404 : if (!(
15405 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15406 : (TARGET_AVX512F) && (
15407 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15408 : (TARGET_AVX512F) &&
15409 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15410 : (TARGET_AVX512FP16))))
15411 : return -1;
15412 : return 4548; /* avx512fp16_vcvtqq2ph_v8di_mask_round */
15413 :
15414 : default:
15415 : return -1;
15416 : }
15417 :
15418 : case E_V16HFmode:
15419 : switch (pattern1317 (x2))
15420 : {
15421 : case 0:
15422 : if (!(
15423 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15424 : (TARGET_AVX512F) && (
15425 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15426 : (TARGET_AVX512F) && (
15427 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15428 : (TARGET_AVX512FP16) &&
15429 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15430 : (TARGET_AVX512VL)))))
15431 : return -1;
15432 : return 4516; /* avx512fp16_vcvtw2ph_v16hi_mask_round */
15433 :
15434 : case 1:
15435 : if (!(
15436 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15437 : (TARGET_AVX512F) && (
15438 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15439 : (TARGET_AVX512F) &&
15440 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15441 : (TARGET_AVX512FP16))))
15442 : return -1;
15443 : return 4540; /* avx512fp16_vcvtdq2ph_v16si_mask_round */
15444 :
15445 : default:
15446 : return -1;
15447 : }
15448 :
15449 : case E_V32HFmode:
15450 : if (pattern665 (x2,
15451 : E_SImode,
15452 : E_V32HFmode,
15453 : E_V32HImode) != 0
15454 : || !(
15455 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15456 : (TARGET_AVX512F) && (
15457 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15458 : (TARGET_AVX512F) &&
15459 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15460 : (TARGET_AVX512FP16))))
15461 : return -1;
15462 : return 4524; /* avx512fp16_vcvtw2ph_v32hi_mask_round */
15463 :
15464 : case E_V16SFmode:
15465 : if (pattern665 (x2,
15466 : E_HImode,
15467 : E_V16SFmode,
15468 : E_V16SImode) != 0
15469 : || !(
15470 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15471 : (TARGET_AVX512F) && (
15472 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15473 : (TARGET_AVX512F) && (
15474 : #line 9006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
15476 : || V16SFmode == V8DFmode
15477 : || V16SFmode == V8DImode
15478 : || V16SFmode == V16SImode
15479 : || V16SFmode == V32HFmode)) &&
15480 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15481 : (TARGET_AVX512F)))))
15482 : return -1;
15483 : return 4844; /* floatv16siv16sf2_mask_round */
15484 :
15485 : case E_V8DFmode:
15486 : if (pattern1318 (x2,
15487 : E_V8DFmode,
15488 : E_V8DImode,
15489 : E_QImode) != 0
15490 : || !(
15491 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15492 : (TARGET_AVX512F) && (
15493 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15494 : (TARGET_AVX512F) &&
15495 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15496 : (TARGET_AVX512DQ))))
15497 : return -1;
15498 : return 4976; /* floatv8div8df2_mask_round */
15499 :
15500 : case E_V4DFmode:
15501 : if (pattern1318 (x2,
15502 : E_V4DFmode,
15503 : E_V4DImode,
15504 : E_QImode) != 0
15505 : || !(
15506 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15507 : (TARGET_AVX512F) && (
15508 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15509 : (TARGET_AVX512F) && (
15510 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15511 : (TARGET_AVX512DQ) &&
15512 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15513 : (TARGET_AVX512VL)))))
15514 : return -1;
15515 : return 4984; /* floatv4div4df2_mask_round */
15516 :
15517 : case E_V2DFmode:
15518 : if (pattern1318 (x2,
15519 : E_V2DFmode,
15520 : E_V2DImode,
15521 : E_QImode) != 0
15522 : || !(
15523 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15524 : (TARGET_AVX512F) && (
15525 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15526 : (TARGET_AVX512F) && (
15527 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15528 : (TARGET_AVX512DQ) &&
15529 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15530 : (TARGET_AVX512VL)))))
15531 : return -1;
15532 : return 4992; /* floatv2div2df2_mask_round */
15533 :
15534 : case E_V8SFmode:
15535 : if (pattern1318 (x2,
15536 : E_V8SFmode,
15537 : E_V8DImode,
15538 : E_QImode) != 0
15539 : || !(
15540 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15541 : (TARGET_AVX512F) && (
15542 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15543 : (TARGET_AVX512F) &&
15544 : #line 9554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15545 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15546 : || V8DImode == V8DFmode
15547 : || V8DImode == V8DImode
15548 : || V8DImode == V16SImode
15549 : || V8DImode == V32HFmode)))))
15550 : return -1;
15551 : return 5000; /* floatv8div8sf2_mask_round */
15552 :
15553 : default:
15554 : return -1;
15555 : }
15556 :
15557 : case UNSIGNED_FLOAT:
15558 : x5 = XEXP (x4, 0);
15559 : operands[1] = x5;
15560 : x9 = XEXP (x3, 1);
15561 : operands[2] = x9;
15562 : x8 = XEXP (x3, 2);
15563 : operands[3] = x8;
15564 : x7 = XVECEXP (x2, 0, 1);
15565 : operands[4] = x7;
15566 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
15567 : return -1;
15568 : switch (GET_MODE (operands[0]))
15569 : {
15570 : case E_V8HFmode:
15571 : switch (pattern1316 (x2))
15572 : {
15573 : case 0:
15574 : if (!(
15575 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15576 : (TARGET_AVX512F) && (
15577 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15578 : (TARGET_AVX512F) && (
15579 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15580 : (TARGET_AVX512FP16) &&
15581 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15582 : (TARGET_AVX512VL)))))
15583 : return -1;
15584 : return 4512; /* avx512fp16_vcvtuw2ph_v8hi_mask_round */
15585 :
15586 : case 1:
15587 : if (!(
15588 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15589 : (TARGET_AVX512F) && (
15590 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15591 : (TARGET_AVX512F) && (
15592 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15593 : (TARGET_AVX512FP16) &&
15594 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15595 : (TARGET_AVX512VL)))))
15596 : return -1;
15597 : return 4536; /* avx512fp16_vcvtudq2ph_v8si_mask_round */
15598 :
15599 : case 2:
15600 : if (!(
15601 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15602 : (TARGET_AVX512F) && (
15603 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15604 : (TARGET_AVX512F) &&
15605 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15606 : (TARGET_AVX512FP16))))
15607 : return -1;
15608 : return 4552; /* avx512fp16_vcvtuqq2ph_v8di_mask_round */
15609 :
15610 : default:
15611 : return -1;
15612 : }
15613 :
15614 : case E_V16HFmode:
15615 : switch (pattern1317 (x2))
15616 : {
15617 : case 0:
15618 : if (!(
15619 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15620 : (TARGET_AVX512F) && (
15621 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15622 : (TARGET_AVX512F) && (
15623 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15624 : (TARGET_AVX512FP16) &&
15625 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15626 : (TARGET_AVX512VL)))))
15627 : return -1;
15628 : return 4520; /* avx512fp16_vcvtuw2ph_v16hi_mask_round */
15629 :
15630 : case 1:
15631 : if (!(
15632 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15633 : (TARGET_AVX512F) && (
15634 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15635 : (TARGET_AVX512F) &&
15636 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15637 : (TARGET_AVX512FP16))))
15638 : return -1;
15639 : return 4544; /* avx512fp16_vcvtudq2ph_v16si_mask_round */
15640 :
15641 : default:
15642 : return -1;
15643 : }
15644 :
15645 : case E_V32HFmode:
15646 : if (pattern665 (x2,
15647 : E_SImode,
15648 : E_V32HFmode,
15649 : E_V32HImode) != 0
15650 : || !(
15651 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15652 : (TARGET_AVX512F) && (
15653 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15654 : (TARGET_AVX512F) &&
15655 : #line 8027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15656 : (TARGET_AVX512FP16))))
15657 : return -1;
15658 : return 4528; /* avx512fp16_vcvtuw2ph_v32hi_mask_round */
15659 :
15660 : case E_V16SFmode:
15661 : if (pattern1318 (x2,
15662 : E_V16SFmode,
15663 : E_V16SImode,
15664 : E_HImode) != 0
15665 : || !
15666 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15667 : (TARGET_AVX512F))
15668 : return -1;
15669 : return 4852; /* floatunsv16siv16sf2_mask_round */
15670 :
15671 : case E_V8SFmode:
15672 : if (pattern1319 (x2,
15673 : E_V8SFmode,
15674 : E_QImode) != 0)
15675 : return -1;
15676 : switch (GET_MODE (operands[1]))
15677 : {
15678 : case E_V8SImode:
15679 : if (!nonimmediate_operand (operands[1], E_V8SImode)
15680 : || !(
15681 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15682 : (TARGET_AVX512F) && (
15683 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15684 : (TARGET_AVX512F) && (
15685 : #line 9019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15686 : (TARGET_AVX512F) &&
15687 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15688 : (TARGET_AVX512VL)))))
15689 : return -1;
15690 : return 4856; /* floatunsv8siv8sf2_mask_round */
15691 :
15692 : case E_V8DImode:
15693 : if (!nonimmediate_operand (operands[1], E_V8DImode)
15694 : || !(
15695 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15696 : (TARGET_AVX512F) && (
15697 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15698 : (TARGET_AVX512F) &&
15699 : #line 9554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15700 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15701 : || V8DImode == V8DFmode
15702 : || V8DImode == V8DImode
15703 : || V8DImode == V16SImode
15704 : || V8DImode == V32HFmode)))))
15705 : return -1;
15706 : return 5004; /* floatunsv8div8sf2_mask_round */
15707 :
15708 : default:
15709 : return -1;
15710 : }
15711 :
15712 : case E_V4SFmode:
15713 : if (pattern1318 (x2,
15714 : E_V4SFmode,
15715 : E_V4SImode,
15716 : E_QImode) != 0
15717 : || !(
15718 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15719 : (TARGET_AVX512F) && (
15720 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15721 : (TARGET_AVX512F) && (
15722 : #line 9019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15723 : (TARGET_AVX512F) &&
15724 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15725 : (TARGET_AVX512VL)))))
15726 : return -1;
15727 : return 4860; /* floatunsv4siv4sf2_mask_round */
15728 :
15729 : case E_V8DFmode:
15730 : if (pattern1318 (x2,
15731 : E_V8DFmode,
15732 : E_V8DImode,
15733 : E_QImode) != 0
15734 : || !(
15735 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15736 : (TARGET_AVX512F) && (
15737 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15738 : (TARGET_AVX512F) &&
15739 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15740 : (TARGET_AVX512DQ))))
15741 : return -1;
15742 : return 4980; /* floatunsv8div8df2_mask_round */
15743 :
15744 : case E_V4DFmode:
15745 : if (pattern1318 (x2,
15746 : E_V4DFmode,
15747 : E_V4DImode,
15748 : E_QImode) != 0
15749 : || !(
15750 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15751 : (TARGET_AVX512F) && (
15752 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15753 : (TARGET_AVX512F) && (
15754 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15755 : (TARGET_AVX512DQ) &&
15756 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15757 : (TARGET_AVX512VL)))))
15758 : return -1;
15759 : return 4988; /* floatunsv4div4df2_mask_round */
15760 :
15761 : case E_V2DFmode:
15762 : if (pattern1318 (x2,
15763 : E_V2DFmode,
15764 : E_V2DImode,
15765 : E_QImode) != 0
15766 : || !(
15767 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15768 : (TARGET_AVX512F) && (
15769 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15770 : (TARGET_AVX512F) && (
15771 : #line 9540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15772 : (TARGET_AVX512DQ) &&
15773 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15774 : (TARGET_AVX512VL)))))
15775 : return -1;
15776 : return 4996; /* floatunsv2div2df2_mask_round */
15777 :
15778 : default:
15779 : return -1;
15780 : }
15781 :
15782 : case FIX:
15783 : switch (pattern666 (x2))
15784 : {
15785 : case 0:
15786 : if (!(
15787 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15788 : (TARGET_AVX512F) && (
15789 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15790 : (TARGET_AVX512F) && (
15791 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15792 : (TARGET_AVX512FP16) &&
15793 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15794 : (TARGET_AVX512VL)))))
15795 : return -1;
15796 : return 4642; /* avx512fp16_fix_truncv8hi2_mask_round */
15797 :
15798 : case 1:
15799 : if (!(
15800 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15801 : (TARGET_AVX512F) && (
15802 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15803 : (TARGET_AVX512F) && (
15804 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15805 : (TARGET_AVX512FP16) &&
15806 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15807 : (TARGET_AVX512VL)))))
15808 : return -1;
15809 : return 4650; /* avx512fp16_fix_truncv16hi2_mask_round */
15810 :
15811 : case 2:
15812 : if (!(
15813 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15814 : (TARGET_AVX512F) && (
15815 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15816 : (TARGET_AVX512F) &&
15817 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15818 : (TARGET_AVX512FP16))))
15819 : return -1;
15820 : return 4658; /* avx512fp16_fix_truncv32hi2_mask_round */
15821 :
15822 : case 3:
15823 : if (!(
15824 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15825 : (TARGET_AVX512F) && (
15826 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15827 : (TARGET_AVX512F) && (
15828 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15829 : (TARGET_AVX512FP16) &&
15830 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15831 : (TARGET_AVX512VL)))))
15832 : return -1;
15833 : return 4666; /* avx512fp16_fix_truncv8si2_mask_round */
15834 :
15835 : case 4:
15836 : if (!
15837 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15838 : (TARGET_AVX512F))
15839 : return -1;
15840 : return 5057; /* fix_truncv8dfv8si2_mask_round */
15841 :
15842 : case 5:
15843 : if (!(
15844 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15845 : (TARGET_AVX512F) && (
15846 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15847 : (TARGET_AVX512F) &&
15848 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15849 : (TARGET_AVX512FP16))))
15850 : return -1;
15851 : return 4674; /* avx512fp16_fix_truncv16si2_mask_round */
15852 :
15853 : case 6:
15854 : if (!
15855 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15856 : (TARGET_AVX512F))
15857 : return -1;
15858 : return 4908; /* fix_truncv16sfv16si2_mask_round */
15859 :
15860 : case 7:
15861 : if (!(
15862 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15863 : (TARGET_AVX512F) && (
15864 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15865 : (TARGET_AVX512F) &&
15866 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15867 : (TARGET_AVX512FP16))))
15868 : return -1;
15869 : return 4682; /* avx512fp16_fix_truncv8di2_mask_round */
15870 :
15871 : case 8:
15872 : if (!(
15873 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15874 : (TARGET_AVX512F) && (
15875 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15876 : (TARGET_AVX512F) &&
15877 : #line 10065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15878 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
15879 : || V8DFmode == V8DFmode
15880 : || V8DFmode == V8DImode
15881 : || V8DFmode == V16SImode
15882 : || V8DFmode == V32HFmode)))))
15883 : return -1;
15884 : return 5094; /* fix_truncv8dfv8di2_mask_round */
15885 :
15886 : case 9:
15887 : if (!(
15888 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15889 : (TARGET_AVX512F) && (
15890 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15891 : (TARGET_AVX512F) &&
15892 : #line 10108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15893 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15894 : || V8DImode == V8DFmode
15895 : || V8DImode == V8DImode
15896 : || V8DImode == V16SImode
15897 : || V8DImode == V32HFmode)))))
15898 : return -1;
15899 : return 5138; /* fix_truncv8sfv8di2_mask_round */
15900 :
15901 : default:
15902 : return -1;
15903 : }
15904 :
15905 : case UNSIGNED_FIX:
15906 : switch (pattern666 (x2))
15907 : {
15908 : case 0:
15909 : if (!(
15910 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15911 : (TARGET_AVX512F) && (
15912 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15913 : (TARGET_AVX512F) && (
15914 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15915 : (TARGET_AVX512FP16) &&
15916 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15917 : (TARGET_AVX512VL)))))
15918 : return -1;
15919 : return 4646; /* avx512fp16_fixuns_truncv8hi2_mask_round */
15920 :
15921 : case 1:
15922 : if (!(
15923 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15924 : (TARGET_AVX512F) && (
15925 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15926 : (TARGET_AVX512F) && (
15927 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15928 : (TARGET_AVX512FP16) &&
15929 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15930 : (TARGET_AVX512VL)))))
15931 : return -1;
15932 : return 4654; /* avx512fp16_fixuns_truncv16hi2_mask_round */
15933 :
15934 : case 2:
15935 : if (!(
15936 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15937 : (TARGET_AVX512F) && (
15938 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15939 : (TARGET_AVX512F) &&
15940 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15941 : (TARGET_AVX512FP16))))
15942 : return -1;
15943 : return 4662; /* avx512fp16_fixuns_truncv32hi2_mask_round */
15944 :
15945 : case 3:
15946 : if (!(
15947 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15948 : (TARGET_AVX512F) && (
15949 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15950 : (TARGET_AVX512F) && (
15951 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15952 : (TARGET_AVX512FP16) &&
15953 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15954 : (TARGET_AVX512VL)))))
15955 : return -1;
15956 : return 4670; /* avx512fp16_fixuns_truncv8si2_mask_round */
15957 :
15958 : case 4:
15959 : if (!
15960 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15961 : (TARGET_AVX512F))
15962 : return -1;
15963 : return 5061; /* fixuns_truncv8dfv8si2_mask_round */
15964 :
15965 : case 5:
15966 : if (!(
15967 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15968 : (TARGET_AVX512F) && (
15969 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15970 : (TARGET_AVX512F) &&
15971 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15972 : (TARGET_AVX512FP16))))
15973 : return -1;
15974 : return 4678; /* avx512fp16_fixuns_truncv16si2_mask_round */
15975 :
15976 : case 6:
15977 : if (!
15978 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15979 : (TARGET_AVX512F))
15980 : return -1;
15981 : return 4912; /* fixuns_truncv16sfv16si2_mask_round */
15982 :
15983 : case 7:
15984 : if (!(
15985 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15986 : (TARGET_AVX512F) && (
15987 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15988 : (TARGET_AVX512F) &&
15989 : #line 8246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15990 : (TARGET_AVX512FP16))))
15991 : return -1;
15992 : return 4686; /* avx512fp16_fixuns_truncv8di2_mask_round */
15993 :
15994 : case 8:
15995 : if (!(
15996 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15997 : (TARGET_AVX512F) && (
15998 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15999 : (TARGET_AVX512F) &&
16000 : #line 10065 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16001 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
16002 : || V8DFmode == V8DFmode
16003 : || V8DFmode == V8DImode
16004 : || V8DFmode == V16SImode
16005 : || V8DFmode == V32HFmode)))))
16006 : return -1;
16007 : return 5098; /* fixuns_truncv8dfv8di2_mask_round */
16008 :
16009 : case 9:
16010 : if (!(
16011 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16012 : (TARGET_AVX512F) && (
16013 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16014 : (TARGET_AVX512F) &&
16015 : #line 10108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16016 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
16017 : || V8DImode == V8DFmode
16018 : || V8DImode == V8DImode
16019 : || V8DImode == V16SImode
16020 : || V8DImode == V32HFmode)))))
16021 : return -1;
16022 : return 5142; /* fixuns_truncv8sfv8di2_mask_round */
16023 :
16024 : default:
16025 : return -1;
16026 : }
16027 :
16028 : case FLOAT_EXTEND:
16029 : x7 = XVECEXP (x2, 0, 1);
16030 : if (!const48_operand (x7, E_SImode))
16031 : return -1;
16032 : x5 = XEXP (x4, 0);
16033 : switch (GET_CODE (x5))
16034 : {
16035 : case REG:
16036 : case SUBREG:
16037 : operands[1] = x5;
16038 : x9 = XEXP (x3, 1);
16039 : operands[2] = x9;
16040 : x8 = XEXP (x3, 2);
16041 : operands[3] = x8;
16042 : operands[4] = x7;
16043 : switch (GET_MODE (operands[0]))
16044 : {
16045 : case E_V8DFmode:
16046 : if (pattern1319 (x2,
16047 : E_V8DFmode,
16048 : E_QImode) != 0)
16049 : return -1;
16050 : switch (GET_MODE (operands[1]))
16051 : {
16052 : case E_V8HFmode:
16053 : if (!register_operand (operands[1], E_V8HFmode)
16054 : || !(
16055 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16056 : (TARGET_AVX512F) && (
16057 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16058 : (TARGET_AVX512F) &&
16059 : #line 8399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16060 : (TARGET_AVX512FP16))))
16061 : return -1;
16062 : return 4746; /* avx512fp16_float_extend_phv8df2_mask_round */
16063 :
16064 : case E_V8SFmode:
16065 : if (!register_operand (operands[1], E_V8SFmode)
16066 : || !(
16067 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16068 : (TARGET_AVX512F) && (
16069 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16070 : (TARGET_AVX512F) && (
16071 : #line 10586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16072 : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
16073 : || V8DFmode == V8DFmode
16074 : || V8DFmode == V8DImode
16075 : || V8DFmode == V16SImode
16076 : || V8DFmode == V32HFmode)) &&
16077 : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16078 : (TARGET_AVX512F)))))
16079 : return -1;
16080 : return 5191; /* avx512f_cvtps2pd512_mask_round */
16081 :
16082 : default:
16083 : return -1;
16084 : }
16085 :
16086 : case E_V16SFmode:
16087 : if (pattern665 (x2,
16088 : E_HImode,
16089 : E_V16SFmode,
16090 : E_V16HFmode) != 0
16091 : || !(
16092 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16093 : (TARGET_AVX512F) && (
16094 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16095 : (TARGET_AVX512F) &&
16096 : #line 8399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16097 : (TARGET_AVX512FP16))))
16098 : return -1;
16099 : return 4750; /* avx512fp16_float_extend_phv16sf2_mask_round */
16100 :
16101 : case E_V8SFmode:
16102 : if (pattern665 (x2,
16103 : E_QImode,
16104 : E_V8SFmode,
16105 : E_V8HFmode) != 0
16106 : || !(
16107 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16108 : (TARGET_AVX512F) && (
16109 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16110 : (TARGET_AVX512F) && (
16111 : #line 8399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16112 : (TARGET_AVX512FP16) &&
16113 : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16114 : (TARGET_AVX512VL)))))
16115 : return -1;
16116 : return 4754; /* avx512fp16_float_extend_phv8sf2_mask_round */
16117 :
16118 : default:
16119 : return -1;
16120 : }
16121 :
16122 : case VEC_SELECT:
16123 : if (GET_MODE (x5) != E_V2SFmode)
16124 : return -1;
16125 : x10 = XEXP (x5, 1);
16126 : if (GET_CODE (x10) != PARALLEL
16127 : || XVECLEN (x10, 0) != 2)
16128 : return -1;
16129 : x11 = XVECEXP (x10, 0, 0);
16130 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16131 : return -1;
16132 : x12 = XVECEXP (x10, 0, 1);
16133 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16134 : return -1;
16135 : x8 = XEXP (x3, 2);
16136 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
16137 : || pattern1485 (x2,
16138 : E_V2DFmode) != 0)
16139 : return -1;
16140 : x13 = XEXP (x5, 0);
16141 : operands[2] = x13;
16142 : if (!register_operand (operands[2], E_V4SFmode))
16143 : return -1;
16144 : x9 = XEXP (x3, 1);
16145 : operands[1] = x9;
16146 : if (!register_operand (operands[1], E_V2DFmode))
16147 : return -1;
16148 : operands[3] = x7;
16149 : if (!(
16150 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16151 : (TARGET_AVX512F) &&
16152 : #line 10413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16153 : (TARGET_SSE2)))
16154 : return -1;
16155 : return 5174; /* sse2_cvtss2sd_round */
16156 :
16157 : default:
16158 : return -1;
16159 : }
16160 :
16161 : case FLOAT_TRUNCATE:
16162 : x5 = XEXP (x4, 0);
16163 : operands[1] = x5;
16164 : x9 = XEXP (x3, 1);
16165 : operands[2] = x9;
16166 : x8 = XEXP (x3, 2);
16167 : operands[3] = x8;
16168 : x7 = XVECEXP (x2, 0, 1);
16169 : operands[4] = x7;
16170 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
16171 : return -1;
16172 : switch (GET_MODE (operands[0]))
16173 : {
16174 : case E_V8HFmode:
16175 : if (pattern1319 (x2,
16176 : E_V8HFmode,
16177 : E_QImode) != 0)
16178 : return -1;
16179 : switch (GET_MODE (operands[1]))
16180 : {
16181 : case E_V8DFmode:
16182 : if (!register_operand (operands[1], E_V8DFmode)
16183 : || !(
16184 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16185 : (TARGET_AVX512F) && (
16186 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16187 : (TARGET_AVX512F) &&
16188 : #line 8493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16189 : (TARGET_AVX512FP16))))
16190 : return -1;
16191 : return 4770; /* avx512fp16_vcvtpd2ph_v8df_mask_round */
16192 :
16193 : case E_V8SFmode:
16194 : if (!register_operand (operands[1], E_V8SFmode)
16195 : || !(
16196 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16197 : (TARGET_AVX512F) && (
16198 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16199 : (TARGET_AVX512F) && (
16200 : #line 8493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16201 : (TARGET_AVX512FP16) &&
16202 : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16203 : (TARGET_AVX512VL)))))
16204 : return -1;
16205 : return 4778; /* avx512fp16_vcvtps2ph_v8sf_mask_round */
16206 :
16207 : default:
16208 : return -1;
16209 : }
16210 :
16211 : case E_V16HFmode:
16212 : if (pattern665 (x2,
16213 : E_HImode,
16214 : E_V16HFmode,
16215 : E_V16SFmode) != 0
16216 : || !(
16217 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16218 : (TARGET_AVX512F) && (
16219 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16220 : (TARGET_AVX512F) &&
16221 : #line 8493 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16222 : (TARGET_AVX512FP16))))
16223 : return -1;
16224 : return 4774; /* avx512fp16_vcvtps2ph_v16sf_mask_round */
16225 :
16226 : case E_V8SFmode:
16227 : if (pattern665 (x2,
16228 : E_QImode,
16229 : E_V8SFmode,
16230 : E_V8DFmode) != 0
16231 : || !
16232 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16233 : (TARGET_AVX512F))
16234 : return -1;
16235 : return 5181; /* avx512f_cvtpd2ps512_mask_round */
16236 :
16237 : default:
16238 : return -1;
16239 : }
16240 :
16241 : case VEC_CONCAT:
16242 : if (GET_MODE (x4) != E_V32HFmode)
16243 : return -1;
16244 : x5 = XEXP (x4, 0);
16245 : if (GET_CODE (x5) != FLOAT_TRUNCATE
16246 : || GET_MODE (x5) != E_V16HFmode)
16247 : return -1;
16248 : x6 = XEXP (x4, 1);
16249 : if (GET_CODE (x6) != FLOAT_TRUNCATE
16250 : || GET_MODE (x6) != E_V16HFmode
16251 : || !register_operand (operands[0], E_V32HFmode)
16252 : || GET_MODE (x2) != E_V32HFmode
16253 : || GET_MODE (x3) != E_V32HFmode)
16254 : return -1;
16255 : x13 = XEXP (x5, 0);
16256 : operands[2] = x13;
16257 : if (!register_operand (operands[2], E_V16SFmode))
16258 : return -1;
16259 : x14 = XEXP (x6, 0);
16260 : operands[1] = x14;
16261 : if (!register_operand (operands[1], E_V16SFmode))
16262 : return -1;
16263 : x9 = XEXP (x3, 1);
16264 : operands[3] = x9;
16265 : if (!nonimm_or_0_operand (operands[3], E_V32HFmode))
16266 : return -1;
16267 : x8 = XEXP (x3, 2);
16268 : operands[4] = x8;
16269 : if (!register_operand (operands[4], E_SImode))
16270 : return -1;
16271 : x7 = XVECEXP (x2, 0, 1);
16272 : operands[5] = x7;
16273 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode)
16274 : || !(
16275 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16276 : (TARGET_AVX512F) && (
16277 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16278 : (TARGET_AVX512F) &&
16279 : #line 32692 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16280 : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
16281 : || V32HFmode == V8DFmode
16282 : || V32HFmode == V8DImode
16283 : || V32HFmode == V16SImode
16284 : || V32HFmode == V32HFmode)))))
16285 : return -1;
16286 : return 10525; /* avx10_2_cvt2ps2phx_v32hf_mask_round */
16287 :
16288 : default:
16289 : return -1;
16290 : }
16291 : }
16292 :
16293 : int
16294 : recog_284 (rtx x1 ATTRIBUTE_UNUSED,
16295 : rtx_insn *insn ATTRIBUTE_UNUSED,
16296 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16297 : {
16298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16299 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16300 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16301 : rtx x18, x19, x20, x21;
16302 : int res ATTRIBUTE_UNUSED;
16303 : x2 = XEXP (x1, 1);
16304 : x3 = XEXP (x2, 1);
16305 : x4 = XVECEXP (x3, 0, 0);
16306 : if (GET_CODE (x4) != CONST_INT)
16307 : return -1;
16308 : x5 = XVECEXP (x3, 0, 1);
16309 : if (GET_CODE (x5) == CONST_INT)
16310 : {
16311 : res = recog_283 (x1, insn, pnum_clobbers);
16312 : if (res >= 0)
16313 : return res;
16314 : }
16315 : operands[3] = x4;
16316 : x6 = XEXP (x2, 0);
16317 : x7 = XEXP (x6, 1);
16318 : operands[2] = x7;
16319 : operands[4] = x5;
16320 : x8 = XVECEXP (x3, 0, 2);
16321 : operands[5] = x8;
16322 : x9 = XVECEXP (x3, 0, 3);
16323 : operands[6] = x9;
16324 : x10 = XVECEXP (x3, 0, 4);
16325 : operands[7] = x10;
16326 : x11 = XVECEXP (x3, 0, 5);
16327 : operands[8] = x11;
16328 : x12 = XVECEXP (x3, 0, 6);
16329 : operands[9] = x12;
16330 : x13 = XVECEXP (x3, 0, 7);
16331 : operands[10] = x13;
16332 : x14 = XVECEXP (x3, 0, 8);
16333 : operands[11] = x14;
16334 : x15 = XVECEXP (x3, 0, 9);
16335 : operands[12] = x15;
16336 : x16 = XVECEXP (x3, 0, 10);
16337 : operands[13] = x16;
16338 : x17 = XVECEXP (x3, 0, 11);
16339 : operands[14] = x17;
16340 : x18 = XVECEXP (x3, 0, 12);
16341 : operands[15] = x18;
16342 : x19 = XVECEXP (x3, 0, 13);
16343 : operands[16] = x19;
16344 : x20 = XVECEXP (x3, 0, 14);
16345 : operands[17] = x20;
16346 : x21 = XVECEXP (x3, 0, 15);
16347 : operands[18] = x21;
16348 : switch (GET_MODE (operands[0]))
16349 : {
16350 : case E_V16SFmode:
16351 : if (pattern1425 (x2,
16352 : E_V16SFmode,
16353 : E_V32SFmode) != 0)
16354 : return -1;
16355 : if (const_0_to_3_operand (operands[3], E_VOIDmode)
16356 : && const_0_to_3_operand (operands[4], E_VOIDmode)
16357 : && const_16_to_19_operand (operands[5], E_VOIDmode)
16358 : && const_16_to_19_operand (operands[6], E_VOIDmode)
16359 : && const_4_to_7_operand (operands[7], E_VOIDmode)
16360 : && const_4_to_7_operand (operands[8], E_VOIDmode)
16361 : && const_20_to_23_operand (operands[9], E_VOIDmode)
16362 : && const_20_to_23_operand (operands[10], E_VOIDmode)
16363 : && const_8_to_11_operand (operands[11], E_VOIDmode)
16364 : && const_8_to_11_operand (operands[12], E_VOIDmode)
16365 : && const_24_to_27_operand (operands[13], E_VOIDmode)
16366 : && const_24_to_27_operand (operands[14], E_VOIDmode)
16367 : && const_12_to_15_operand (operands[15], E_VOIDmode)
16368 : && const_12_to_15_operand (operands[16], E_VOIDmode)
16369 : && const_28_to_31_operand (operands[17], E_VOIDmode)
16370 : && const_28_to_31_operand (operands[18], E_VOIDmode)
16371 : &&
16372 : #line 14659 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16373 : (TARGET_AVX512F
16374 : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
16375 : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
16376 : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
16377 : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)
16378 : && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
16379 : && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
16380 : && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
16381 : && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
16382 : && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
16383 : && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
16384 : && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
16385 : && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12))))
16386 : return 7213; /* avx512f_shufps512_1 */
16387 : if (!const_0_to_15_operand (operands[3], E_VOIDmode)
16388 : || pattern1881 () != 0
16389 : || !
16390 : #line 20870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16391 : (TARGET_AVX512F
16392 : && (INTVAL (operands[3]) & 3) == 0
16393 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16394 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16395 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16396 : && (INTVAL (operands[7]) & 3) == 0
16397 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16398 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16399 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
16400 : && (INTVAL (operands[11]) & 3) == 0
16401 : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
16402 : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
16403 : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
16404 : && (INTVAL (operands[15]) & 3) == 0
16405 : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
16406 : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
16407 : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3))
16408 : return -1;
16409 : return 8485; /* avx512f_shuf_f32x4_1 */
16410 :
16411 : case E_V16SImode:
16412 : if (pattern1425 (x2,
16413 : E_V16SImode,
16414 : E_V32SImode) != 0
16415 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
16416 : || pattern1881 () != 0
16417 : || !
16418 : #line 20870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16419 : (TARGET_AVX512F
16420 : && (INTVAL (operands[3]) & 3) == 0
16421 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16422 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16423 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16424 : && (INTVAL (operands[7]) & 3) == 0
16425 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16426 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16427 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
16428 : && (INTVAL (operands[11]) & 3) == 0
16429 : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
16430 : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
16431 : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
16432 : && (INTVAL (operands[15]) & 3) == 0
16433 : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
16434 : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
16435 : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3))
16436 : return -1;
16437 : return 8487; /* avx512f_shuf_i32x4_1 */
16438 :
16439 : default:
16440 : return -1;
16441 : }
16442 : }
16443 :
16444 : int
16445 : recog_288 (rtx x1 ATTRIBUTE_UNUSED,
16446 : rtx_insn *insn ATTRIBUTE_UNUSED,
16447 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16448 : {
16449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16450 : rtx x2, x3, x4, x5, x6;
16451 : int res ATTRIBUTE_UNUSED;
16452 : x2 = XEXP (x1, 1);
16453 : x3 = XEXP (x2, 0);
16454 : x4 = XEXP (x3, 1);
16455 : switch (GET_CODE (x4))
16456 : {
16457 : case REG:
16458 : case SUBREG:
16459 : case MEM:
16460 : x5 = XEXP (x2, 1);
16461 : switch (XVECLEN (x5, 0))
16462 : {
16463 : case 4:
16464 : res = recog_280 (x1, insn, pnum_clobbers);
16465 : if (res >= 0)
16466 : return res;
16467 : break;
16468 :
16469 : case 8:
16470 : res = recog_282 (x1, insn, pnum_clobbers);
16471 : if (res >= 0)
16472 : return res;
16473 : break;
16474 :
16475 : case 16:
16476 : res = recog_284 (x1, insn, pnum_clobbers);
16477 : if (res >= 0)
16478 : return res;
16479 : break;
16480 :
16481 : case 2:
16482 : res = recog_285 (x1, insn, pnum_clobbers);
16483 : if (res >= 0)
16484 : return res;
16485 : break;
16486 :
16487 : case 64:
16488 : res = recog_286 (x1, insn, pnum_clobbers);
16489 : if (res >= 0)
16490 : return res;
16491 : break;
16492 :
16493 : case 32:
16494 : res = recog_287 (x1, insn, pnum_clobbers);
16495 : if (res >= 0)
16496 : return res;
16497 : break;
16498 :
16499 : default:
16500 : break;
16501 : }
16502 : operands[2] = x4;
16503 : if (XVECLEN (x5, 0) >= 1)
16504 : {
16505 : operands[3] = x5;
16506 : x6 = XVECEXP (x5, 0, 0);
16507 : operands[4] = x6;
16508 : if (const_int_operand (operands[4], E_VOIDmode))
16509 : {
16510 : switch (GET_MODE (operands[0]))
16511 : {
16512 : case E_V8SImode:
16513 : if (pattern1425 (x2,
16514 : E_V8SImode,
16515 : E_V16SImode) == 0
16516 : &&
16517 : #line 29265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16518 : (TARGET_AVX
16519 : && avx_vperm2f128_parallel (operands[3], V8SImode)))
16520 : return 9536; /* *avx_vperm2f128v8si_nozero */
16521 : break;
16522 :
16523 : case E_V8SFmode:
16524 : if (pattern1425 (x2,
16525 : E_V8SFmode,
16526 : E_V16SFmode) == 0
16527 : &&
16528 : #line 29265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16529 : (TARGET_AVX
16530 : && avx_vperm2f128_parallel (operands[3], V8SFmode)))
16531 : return 9537; /* *avx_vperm2f128v8sf_nozero */
16532 : break;
16533 :
16534 : case E_V4DFmode:
16535 : if (pattern1425 (x2,
16536 : E_V4DFmode,
16537 : E_V8DFmode) == 0
16538 : &&
16539 : #line 29265 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16540 : (TARGET_AVX
16541 : && avx_vperm2f128_parallel (operands[3], V4DFmode)))
16542 : return 9538; /* *avx_vperm2f128v4df_nozero */
16543 : break;
16544 :
16545 : default:
16546 : break;
16547 : }
16548 : }
16549 : }
16550 : break;
16551 :
16552 : case CONST_INT:
16553 : case CONST_DOUBLE:
16554 : case CONST_VECTOR:
16555 : switch (pattern812 (x2))
16556 : {
16557 : case 0:
16558 : if (
16559 : #line 24654 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16560 : (TARGET_AVX2))
16561 : return 8813; /* *avx2_zero_extendv16qiv16hi2_1 */
16562 : break;
16563 :
16564 : case 1:
16565 : if (
16566 : #line 24708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16567 : (TARGET_AVX512BW))
16568 : return 8821; /* *avx512bw_zero_extendv32qiv32hi2_1 */
16569 : break;
16570 :
16571 : case 2:
16572 : if (
16573 : #line 24832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16574 : (TARGET_SSE4_1))
16575 : return 8837; /* *sse4_1_zero_extendv8qiv8hi2_3 */
16576 : break;
16577 :
16578 : case 3:
16579 : if (
16580 : #line 25142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16581 : (TARGET_AVX512F))
16582 : return 8875; /* avx512f_zero_extendv16hiv16si2_1 */
16583 : break;
16584 :
16585 : case 4:
16586 : if (
16587 : #line 25197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16588 : (TARGET_AVX2))
16589 : return 8883; /* avx2_zero_extendv8hiv8si2_1 */
16590 : break;
16591 :
16592 : case 5:
16593 : if (
16594 : #line 25329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16595 : (TARGET_SSE4_1))
16596 : return 8899; /* *sse4_1_zero_extendv4hiv4si2_3 */
16597 : break;
16598 :
16599 : case 6:
16600 : if (pmovzx_parallel (operands[3], E_VOIDmode)
16601 : &&
16602 : #line 25846 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16603 : (TARGET_AVX512F))
16604 : return 8970; /* *avx512f_zero_extendv8siv8di2_1 */
16605 : if (movq_parallel (operands[3], E_VOIDmode)
16606 : && (
16607 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16608 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16609 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16610 : (TARGET_AVX512F)))
16611 : return 9714; /* *vec_concatv16si_0_1 */
16612 : break;
16613 :
16614 : case 7:
16615 : if (pmovzx_parallel (operands[3], E_VOIDmode)
16616 : &&
16617 : #line 25899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16618 : (TARGET_AVX2))
16619 : return 8976; /* *avx2_zero_extendv4siv4di2_1 */
16620 : if (movq_parallel (operands[3], E_VOIDmode)
16621 : && (
16622 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16623 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16624 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16625 : (TARGET_AVX)))
16626 : return 9715; /* *vec_concatv8si_0_1 */
16627 : break;
16628 :
16629 : case 8:
16630 : if (vector_operand (operands[1], E_V4SImode)
16631 : && pmovzx_parallel (operands[3], E_VOIDmode)
16632 : &&
16633 : #line 26009 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16634 : (TARGET_SSE4_1))
16635 : return 8990; /* *sse4_1_zero_extendv2siv2di2_3 */
16636 : if (nonimmediate_operand (operands[1], E_V4SImode)
16637 : && movq_parallel (operands[3], E_VOIDmode)
16638 : &&
16639 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16640 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16641 : return 9716; /* *vec_concatv4si_0_1 */
16642 : break;
16643 :
16644 : case 9:
16645 : if ((
16646 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16647 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16648 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16649 : (TARGET_AVX512F)))
16650 : return 9717; /* *vec_concatv8di_0_1 */
16651 : break;
16652 :
16653 : case 10:
16654 : if ((
16655 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16656 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16657 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16658 : (TARGET_AVX)))
16659 : return 9718; /* *vec_concatv4di_0_1 */
16660 : break;
16661 :
16662 : case 11:
16663 : if (
16664 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16665 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16666 : return 9719; /* *vec_concatv2di_0_1 */
16667 : break;
16668 :
16669 : case 12:
16670 : if ((
16671 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16672 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16673 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16674 : (TARGET_AVX512F)))
16675 : return 9720; /* *vec_concatv32hf_0_1 */
16676 : break;
16677 :
16678 : case 13:
16679 : if ((
16680 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16681 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16682 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16683 : (TARGET_AVX)))
16684 : return 9721; /* *vec_concatv16hf_0_1 */
16685 : break;
16686 :
16687 : case 14:
16688 : if (
16689 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16690 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16691 : return 9722; /* *vec_concatv8hf_0_1 */
16692 : break;
16693 :
16694 : case 15:
16695 : if ((
16696 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16697 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16698 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16699 : (TARGET_AVX512F)))
16700 : return 9723; /* *vec_concatv32bf_0_1 */
16701 : break;
16702 :
16703 : case 16:
16704 : if ((
16705 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16706 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16707 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16708 : (TARGET_AVX)))
16709 : return 9724; /* *vec_concatv16bf_0_1 */
16710 : break;
16711 :
16712 : case 17:
16713 : if (
16714 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16715 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16716 : return 9725; /* *vec_concatv8bf_0_1 */
16717 : break;
16718 :
16719 : case 18:
16720 : if ((
16721 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16722 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16723 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16724 : (TARGET_AVX512F)))
16725 : return 9726; /* *vec_concatv16sf_0_1 */
16726 : break;
16727 :
16728 : case 19:
16729 : if ((
16730 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16731 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16732 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16733 : (TARGET_AVX)))
16734 : return 9727; /* *vec_concatv8sf_0_1 */
16735 : break;
16736 :
16737 : case 20:
16738 : if (
16739 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16740 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16741 : return 9728; /* *vec_concatv4sf_0_1 */
16742 : break;
16743 :
16744 : case 21:
16745 : if ((
16746 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16747 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16748 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16749 : (TARGET_AVX512F)))
16750 : return 9729; /* *vec_concatv8df_0_1 */
16751 : break;
16752 :
16753 : case 22:
16754 : if ((
16755 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16756 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16757 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16758 : (TARGET_AVX)))
16759 : return 9730; /* *vec_concatv4df_0_1 */
16760 : break;
16761 :
16762 : case 23:
16763 : if ((
16764 : #line 30012 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16765 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16766 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16767 : (TARGET_SSE2)))
16768 : return 9731; /* *vec_concatv2df_0_1 */
16769 : break;
16770 :
16771 : default:
16772 : break;
16773 : }
16774 : break;
16775 :
16776 : default:
16777 : break;
16778 : }
16779 : x5 = XEXP (x2, 1);
16780 : if (XVECLEN (x5, 0) < 1)
16781 : return -1;
16782 : switch (pattern814 (x2))
16783 : {
16784 : case 0:
16785 : if (!
16786 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16787 : (TARGET_AVX && ix86_pre_reload_split ()))
16788 : return -1;
16789 : return 9397; /* *avx_vbroadcastf128_v32qi_perm */
16790 :
16791 : case 1:
16792 : if (!
16793 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16794 : (TARGET_AVX && ix86_pre_reload_split ()))
16795 : return -1;
16796 : return 9398; /* *avx_vbroadcastf128_v16hi_perm */
16797 :
16798 : case 2:
16799 : if (!
16800 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16801 : (TARGET_AVX && ix86_pre_reload_split ()))
16802 : return -1;
16803 : return 9399; /* *avx_vbroadcastf128_v8si_perm */
16804 :
16805 : case 3:
16806 : if (!
16807 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16808 : (TARGET_AVX && ix86_pre_reload_split ()))
16809 : return -1;
16810 : return 9400; /* *avx_vbroadcastf128_v4di_perm */
16811 :
16812 : case 4:
16813 : if (!
16814 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16815 : (TARGET_AVX && ix86_pre_reload_split ()))
16816 : return -1;
16817 : return 9401; /* *avx_vbroadcastf128_v8sf_perm */
16818 :
16819 : case 5:
16820 : if (!
16821 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16822 : (TARGET_AVX && ix86_pre_reload_split ()))
16823 : return -1;
16824 : return 9402; /* *avx_vbroadcastf128_v4df_perm */
16825 :
16826 : case 6:
16827 : if (!
16828 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16829 : (TARGET_AVX && ix86_pre_reload_split ()))
16830 : return -1;
16831 : return 9403; /* *avx_vbroadcastf128_v16hf_perm */
16832 :
16833 : case 7:
16834 : if (!
16835 : #line 28951 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16836 : (TARGET_AVX && ix86_pre_reload_split ()))
16837 : return -1;
16838 : return 9404; /* *avx_vbroadcastf128_v16bf_perm */
16839 :
16840 : default:
16841 : return -1;
16842 : }
16843 : }
16844 :
16845 : int
16846 : recog_306 (rtx x1 ATTRIBUTE_UNUSED,
16847 : rtx_insn *insn ATTRIBUTE_UNUSED,
16848 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16849 : {
16850 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16851 : rtx x2, x3, x4;
16852 : int res ATTRIBUTE_UNUSED;
16853 : x2 = XEXP (x1, 1);
16854 : x3 = XEXP (x2, 0);
16855 : x4 = XEXP (x3, 0);
16856 : switch (GET_CODE (x4))
16857 : {
16858 : case REG:
16859 : case SUBREG:
16860 : case MEM:
16861 : case NOT:
16862 : switch (pattern537 (x2))
16863 : {
16864 : case 0:
16865 : if (!(
16866 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16867 : ((64 == 64 || TARGET_AVX512VL
16868 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16869 : && ix86_pre_reload_split ()
16870 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16871 : STRIP_UNARY (operands[4]))
16872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16873 : STRIP_UNARY (operands[4]))
16874 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16875 : STRIP_UNARY (operands[3]))
16876 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16877 : STRIP_UNARY (operands[3])))) &&
16878 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16879 : (TARGET_AVX512F)))
16880 : return -1;
16881 : return 5534; /* *avx512bw_vpternlogv64qi_1 */
16882 :
16883 : case 1:
16884 : if (!(
16885 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16886 : ((32 == 64 || TARGET_AVX512VL
16887 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16888 : && ix86_pre_reload_split ()
16889 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16890 : STRIP_UNARY (operands[4]))
16891 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16892 : STRIP_UNARY (operands[4]))
16893 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16894 : STRIP_UNARY (operands[3]))
16895 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16896 : STRIP_UNARY (operands[3])))) &&
16897 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16898 : (TARGET_AVX)))
16899 : return -1;
16900 : return 5561; /* *avx512vl_vpternlogv32qi_1 */
16901 :
16902 : case 2:
16903 : if (!
16904 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16905 : ((16 == 64 || TARGET_AVX512VL
16906 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16907 : && ix86_pre_reload_split ()
16908 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16909 : STRIP_UNARY (operands[4]))
16910 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16911 : STRIP_UNARY (operands[4]))
16912 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16913 : STRIP_UNARY (operands[3]))
16914 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16915 : STRIP_UNARY (operands[3])))))
16916 : return -1;
16917 : return 5588; /* *avx512vl_vpternlogv16qi_1 */
16918 :
16919 : case 3:
16920 : if (!(
16921 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16922 : ((64 == 64 || TARGET_AVX512VL
16923 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16924 : && ix86_pre_reload_split ()
16925 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16926 : STRIP_UNARY (operands[4]))
16927 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16928 : STRIP_UNARY (operands[4]))
16929 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16930 : STRIP_UNARY (operands[3]))
16931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16932 : STRIP_UNARY (operands[3])))) &&
16933 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16934 : (TARGET_AVX512F)))
16935 : return -1;
16936 : return 5615; /* *avx512bw_vpternlogv32hi_1 */
16937 :
16938 : case 4:
16939 : if (!(
16940 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16941 : ((32 == 64 || TARGET_AVX512VL
16942 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16943 : && ix86_pre_reload_split ()
16944 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16945 : STRIP_UNARY (operands[4]))
16946 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16947 : STRIP_UNARY (operands[4]))
16948 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16949 : STRIP_UNARY (operands[3]))
16950 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16951 : STRIP_UNARY (operands[3])))) &&
16952 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16953 : (TARGET_AVX)))
16954 : return -1;
16955 : return 5642; /* *avx512vl_vpternlogv16hi_1 */
16956 :
16957 : case 5:
16958 : if (!
16959 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16960 : ((16 == 64 || TARGET_AVX512VL
16961 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16962 : && ix86_pre_reload_split ()
16963 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16964 : STRIP_UNARY (operands[4]))
16965 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16966 : STRIP_UNARY (operands[4]))
16967 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16968 : STRIP_UNARY (operands[3]))
16969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16970 : STRIP_UNARY (operands[3])))))
16971 : return -1;
16972 : return 5669; /* *avx512vl_vpternlogv8hi_1 */
16973 :
16974 : case 6:
16975 : if (!(
16976 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16977 : ((64 == 64 || TARGET_AVX512VL
16978 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16979 : && ix86_pre_reload_split ()
16980 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16981 : STRIP_UNARY (operands[4]))
16982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16983 : STRIP_UNARY (operands[4]))
16984 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16985 : STRIP_UNARY (operands[3]))
16986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16987 : STRIP_UNARY (operands[3])))) &&
16988 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16989 : (TARGET_AVX512F)))
16990 : return -1;
16991 : return 5696; /* *avx512f_vpternlogv16si_1 */
16992 :
16993 : case 7:
16994 : if (!(
16995 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16996 : ((32 == 64 || TARGET_AVX512VL
16997 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16998 : && ix86_pre_reload_split ()
16999 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17000 : STRIP_UNARY (operands[4]))
17001 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17002 : STRIP_UNARY (operands[4]))
17003 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17004 : STRIP_UNARY (operands[3]))
17005 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17006 : STRIP_UNARY (operands[3])))) &&
17007 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17008 : (TARGET_AVX)))
17009 : return -1;
17010 : return 5723; /* *avx512vl_vpternlogv8si_1 */
17011 :
17012 : case 8:
17013 : if (!
17014 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17015 : ((16 == 64 || TARGET_AVX512VL
17016 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17017 : && ix86_pre_reload_split ()
17018 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17019 : STRIP_UNARY (operands[4]))
17020 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17021 : STRIP_UNARY (operands[4]))
17022 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17023 : STRIP_UNARY (operands[3]))
17024 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17025 : STRIP_UNARY (operands[3])))))
17026 : return -1;
17027 : return 5750; /* *avx512vl_vpternlogv4si_1 */
17028 :
17029 : case 9:
17030 : if (!(
17031 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17032 : ((64 == 64 || TARGET_AVX512VL
17033 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17034 : && ix86_pre_reload_split ()
17035 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17036 : STRIP_UNARY (operands[4]))
17037 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17038 : STRIP_UNARY (operands[4]))
17039 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17040 : STRIP_UNARY (operands[3]))
17041 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17042 : STRIP_UNARY (operands[3])))) &&
17043 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17044 : (TARGET_AVX512F)))
17045 : return -1;
17046 : return 5777; /* *avx512f_vpternlogv8di_1 */
17047 :
17048 : case 10:
17049 : if (!(
17050 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17051 : ((32 == 64 || TARGET_AVX512VL
17052 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17053 : && ix86_pre_reload_split ()
17054 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17055 : STRIP_UNARY (operands[4]))
17056 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17057 : STRIP_UNARY (operands[4]))
17058 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17059 : STRIP_UNARY (operands[3]))
17060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17061 : STRIP_UNARY (operands[3])))) &&
17062 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17063 : (TARGET_AVX)))
17064 : return -1;
17065 : return 5804; /* *avx512vl_vpternlogv4di_1 */
17066 :
17067 : case 11:
17068 : if (!
17069 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17070 : ((16 == 64 || TARGET_AVX512VL
17071 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17072 : && ix86_pre_reload_split ()
17073 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17074 : STRIP_UNARY (operands[4]))
17075 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17076 : STRIP_UNARY (operands[4]))
17077 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17078 : STRIP_UNARY (operands[3]))
17079 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17080 : STRIP_UNARY (operands[3])))))
17081 : return -1;
17082 : return 5831; /* *avx512vl_vpternlogv2di_1 */
17083 :
17084 : case 12:
17085 : if (!(
17086 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17087 : ((64 == 64 || TARGET_AVX512VL
17088 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17089 : && ix86_pre_reload_split ()
17090 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17091 : STRIP_UNARY (operands[4]))
17092 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17093 : STRIP_UNARY (operands[4]))
17094 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17095 : STRIP_UNARY (operands[3]))
17096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17097 : STRIP_UNARY (operands[3])))) &&
17098 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17099 : (TARGET_AVX512F)))
17100 : return -1;
17101 : return 5537; /* *avx512bw_vpternlogv64qi_1 */
17102 :
17103 : case 13:
17104 : if (!(
17105 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17106 : ((32 == 64 || TARGET_AVX512VL
17107 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17108 : && ix86_pre_reload_split ()
17109 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17110 : STRIP_UNARY (operands[4]))
17111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17112 : STRIP_UNARY (operands[4]))
17113 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17114 : STRIP_UNARY (operands[3]))
17115 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17116 : STRIP_UNARY (operands[3])))) &&
17117 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17118 : (TARGET_AVX)))
17119 : return -1;
17120 : return 5564; /* *avx512vl_vpternlogv32qi_1 */
17121 :
17122 : case 14:
17123 : if (!
17124 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17125 : ((16 == 64 || TARGET_AVX512VL
17126 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17127 : && ix86_pre_reload_split ()
17128 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17129 : STRIP_UNARY (operands[4]))
17130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17131 : STRIP_UNARY (operands[4]))
17132 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17133 : STRIP_UNARY (operands[3]))
17134 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17135 : STRIP_UNARY (operands[3])))))
17136 : return -1;
17137 : return 5591; /* *avx512vl_vpternlogv16qi_1 */
17138 :
17139 : case 15:
17140 : if (!(
17141 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17142 : ((64 == 64 || TARGET_AVX512VL
17143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17144 : && ix86_pre_reload_split ()
17145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17146 : STRIP_UNARY (operands[4]))
17147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17148 : STRIP_UNARY (operands[4]))
17149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17150 : STRIP_UNARY (operands[3]))
17151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17152 : STRIP_UNARY (operands[3])))) &&
17153 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17154 : (TARGET_AVX512F)))
17155 : return -1;
17156 : return 5618; /* *avx512bw_vpternlogv32hi_1 */
17157 :
17158 : case 16:
17159 : if (!(
17160 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17161 : ((32 == 64 || TARGET_AVX512VL
17162 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17163 : && ix86_pre_reload_split ()
17164 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17165 : STRIP_UNARY (operands[4]))
17166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17167 : STRIP_UNARY (operands[4]))
17168 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17169 : STRIP_UNARY (operands[3]))
17170 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17171 : STRIP_UNARY (operands[3])))) &&
17172 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17173 : (TARGET_AVX)))
17174 : return -1;
17175 : return 5645; /* *avx512vl_vpternlogv16hi_1 */
17176 :
17177 : case 17:
17178 : if (!
17179 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17180 : ((16 == 64 || TARGET_AVX512VL
17181 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17182 : && ix86_pre_reload_split ()
17183 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17184 : STRIP_UNARY (operands[4]))
17185 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17186 : STRIP_UNARY (operands[4]))
17187 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17188 : STRIP_UNARY (operands[3]))
17189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17190 : STRIP_UNARY (operands[3])))))
17191 : return -1;
17192 : return 5672; /* *avx512vl_vpternlogv8hi_1 */
17193 :
17194 : case 18:
17195 : if (!(
17196 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17197 : ((64 == 64 || TARGET_AVX512VL
17198 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17199 : && ix86_pre_reload_split ()
17200 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17201 : STRIP_UNARY (operands[4]))
17202 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17203 : STRIP_UNARY (operands[4]))
17204 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17205 : STRIP_UNARY (operands[3]))
17206 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17207 : STRIP_UNARY (operands[3])))) &&
17208 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17209 : (TARGET_AVX512F)))
17210 : return -1;
17211 : return 5699; /* *avx512f_vpternlogv16si_1 */
17212 :
17213 : case 19:
17214 : if (!(
17215 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17216 : ((32 == 64 || TARGET_AVX512VL
17217 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17218 : && ix86_pre_reload_split ()
17219 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17220 : STRIP_UNARY (operands[4]))
17221 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17222 : STRIP_UNARY (operands[4]))
17223 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17224 : STRIP_UNARY (operands[3]))
17225 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17226 : STRIP_UNARY (operands[3])))) &&
17227 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17228 : (TARGET_AVX)))
17229 : return -1;
17230 : return 5726; /* *avx512vl_vpternlogv8si_1 */
17231 :
17232 : case 20:
17233 : if (!
17234 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17235 : ((16 == 64 || TARGET_AVX512VL
17236 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17237 : && ix86_pre_reload_split ()
17238 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17239 : STRIP_UNARY (operands[4]))
17240 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17241 : STRIP_UNARY (operands[4]))
17242 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17243 : STRIP_UNARY (operands[3]))
17244 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17245 : STRIP_UNARY (operands[3])))))
17246 : return -1;
17247 : return 5753; /* *avx512vl_vpternlogv4si_1 */
17248 :
17249 : case 21:
17250 : if (!(
17251 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17252 : ((64 == 64 || TARGET_AVX512VL
17253 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17254 : && ix86_pre_reload_split ()
17255 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17256 : STRIP_UNARY (operands[4]))
17257 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17258 : STRIP_UNARY (operands[4]))
17259 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17260 : STRIP_UNARY (operands[3]))
17261 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17262 : STRIP_UNARY (operands[3])))) &&
17263 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17264 : (TARGET_AVX512F)))
17265 : return -1;
17266 : return 5780; /* *avx512f_vpternlogv8di_1 */
17267 :
17268 : case 22:
17269 : if (!(
17270 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17271 : ((32 == 64 || TARGET_AVX512VL
17272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17273 : && ix86_pre_reload_split ()
17274 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17275 : STRIP_UNARY (operands[4]))
17276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17277 : STRIP_UNARY (operands[4]))
17278 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17279 : STRIP_UNARY (operands[3]))
17280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17281 : STRIP_UNARY (operands[3])))) &&
17282 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17283 : (TARGET_AVX)))
17284 : return -1;
17285 : return 5807; /* *avx512vl_vpternlogv4di_1 */
17286 :
17287 : case 23:
17288 : if (!
17289 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17290 : ((16 == 64 || TARGET_AVX512VL
17291 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17292 : && ix86_pre_reload_split ()
17293 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17294 : STRIP_UNARY (operands[4]))
17295 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17296 : STRIP_UNARY (operands[4]))
17297 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17298 : STRIP_UNARY (operands[3]))
17299 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17300 : STRIP_UNARY (operands[3])))))
17301 : return -1;
17302 : return 5834; /* *avx512vl_vpternlogv2di_1 */
17303 :
17304 : case 24:
17305 : if (!(
17306 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17307 : ((64 == 64 || TARGET_AVX512VL
17308 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17309 : && ix86_pre_reload_split ()
17310 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17311 : STRIP_UNARY (operands[4]))
17312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17313 : STRIP_UNARY (operands[4]))
17314 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17315 : STRIP_UNARY (operands[3]))
17316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17317 : STRIP_UNARY (operands[3])))) &&
17318 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17319 : (TARGET_AVX512F)))
17320 : return -1;
17321 : return 5540; /* *avx512bw_vpternlogv64qi_1 */
17322 :
17323 : case 25:
17324 : if (!(
17325 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17326 : ((32 == 64 || TARGET_AVX512VL
17327 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17328 : && ix86_pre_reload_split ()
17329 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17330 : STRIP_UNARY (operands[4]))
17331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17332 : STRIP_UNARY (operands[4]))
17333 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17334 : STRIP_UNARY (operands[3]))
17335 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17336 : STRIP_UNARY (operands[3])))) &&
17337 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17338 : (TARGET_AVX)))
17339 : return -1;
17340 : return 5567; /* *avx512vl_vpternlogv32qi_1 */
17341 :
17342 : case 26:
17343 : if (!
17344 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17345 : ((16 == 64 || TARGET_AVX512VL
17346 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17347 : && ix86_pre_reload_split ()
17348 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17349 : STRIP_UNARY (operands[4]))
17350 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17351 : STRIP_UNARY (operands[4]))
17352 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17353 : STRIP_UNARY (operands[3]))
17354 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17355 : STRIP_UNARY (operands[3])))))
17356 : return -1;
17357 : return 5594; /* *avx512vl_vpternlogv16qi_1 */
17358 :
17359 : case 27:
17360 : if (!(
17361 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17362 : ((64 == 64 || TARGET_AVX512VL
17363 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17364 : && ix86_pre_reload_split ()
17365 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17366 : STRIP_UNARY (operands[4]))
17367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17368 : STRIP_UNARY (operands[4]))
17369 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17370 : STRIP_UNARY (operands[3]))
17371 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17372 : STRIP_UNARY (operands[3])))) &&
17373 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17374 : (TARGET_AVX512F)))
17375 : return -1;
17376 : return 5621; /* *avx512bw_vpternlogv32hi_1 */
17377 :
17378 : case 28:
17379 : if (!(
17380 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17381 : ((32 == 64 || TARGET_AVX512VL
17382 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17383 : && ix86_pre_reload_split ()
17384 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17385 : STRIP_UNARY (operands[4]))
17386 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17387 : STRIP_UNARY (operands[4]))
17388 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17389 : STRIP_UNARY (operands[3]))
17390 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17391 : STRIP_UNARY (operands[3])))) &&
17392 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17393 : (TARGET_AVX)))
17394 : return -1;
17395 : return 5648; /* *avx512vl_vpternlogv16hi_1 */
17396 :
17397 : case 29:
17398 : if (!
17399 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17400 : ((16 == 64 || TARGET_AVX512VL
17401 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17402 : && ix86_pre_reload_split ()
17403 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17404 : STRIP_UNARY (operands[4]))
17405 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17406 : STRIP_UNARY (operands[4]))
17407 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17408 : STRIP_UNARY (operands[3]))
17409 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17410 : STRIP_UNARY (operands[3])))))
17411 : return -1;
17412 : return 5675; /* *avx512vl_vpternlogv8hi_1 */
17413 :
17414 : case 30:
17415 : if (!(
17416 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17417 : ((64 == 64 || TARGET_AVX512VL
17418 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17419 : && ix86_pre_reload_split ()
17420 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17421 : STRIP_UNARY (operands[4]))
17422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17423 : STRIP_UNARY (operands[4]))
17424 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17425 : STRIP_UNARY (operands[3]))
17426 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17427 : STRIP_UNARY (operands[3])))) &&
17428 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17429 : (TARGET_AVX512F)))
17430 : return -1;
17431 : return 5702; /* *avx512f_vpternlogv16si_1 */
17432 :
17433 : case 31:
17434 : if (!(
17435 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17436 : ((32 == 64 || TARGET_AVX512VL
17437 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17438 : && ix86_pre_reload_split ()
17439 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17440 : STRIP_UNARY (operands[4]))
17441 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17442 : STRIP_UNARY (operands[4]))
17443 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17444 : STRIP_UNARY (operands[3]))
17445 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17446 : STRIP_UNARY (operands[3])))) &&
17447 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17448 : (TARGET_AVX)))
17449 : return -1;
17450 : return 5729; /* *avx512vl_vpternlogv8si_1 */
17451 :
17452 : case 32:
17453 : if (!
17454 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17455 : ((16 == 64 || TARGET_AVX512VL
17456 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17457 : && ix86_pre_reload_split ()
17458 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17459 : STRIP_UNARY (operands[4]))
17460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17461 : STRIP_UNARY (operands[4]))
17462 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17463 : STRIP_UNARY (operands[3]))
17464 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17465 : STRIP_UNARY (operands[3])))))
17466 : return -1;
17467 : return 5756; /* *avx512vl_vpternlogv4si_1 */
17468 :
17469 : case 33:
17470 : if (!(
17471 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17472 : ((64 == 64 || TARGET_AVX512VL
17473 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17474 : && ix86_pre_reload_split ()
17475 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17476 : STRIP_UNARY (operands[4]))
17477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17478 : STRIP_UNARY (operands[4]))
17479 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17480 : STRIP_UNARY (operands[3]))
17481 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17482 : STRIP_UNARY (operands[3])))) &&
17483 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17484 : (TARGET_AVX512F)))
17485 : return -1;
17486 : return 5783; /* *avx512f_vpternlogv8di_1 */
17487 :
17488 : case 34:
17489 : if (!(
17490 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17491 : ((32 == 64 || TARGET_AVX512VL
17492 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17493 : && ix86_pre_reload_split ()
17494 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17495 : STRIP_UNARY (operands[4]))
17496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17497 : STRIP_UNARY (operands[4]))
17498 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17499 : STRIP_UNARY (operands[3]))
17500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17501 : STRIP_UNARY (operands[3])))) &&
17502 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17503 : (TARGET_AVX)))
17504 : return -1;
17505 : return 5810; /* *avx512vl_vpternlogv4di_1 */
17506 :
17507 : case 35:
17508 : if (!
17509 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17510 : ((16 == 64 || TARGET_AVX512VL
17511 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17512 : && ix86_pre_reload_split ()
17513 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17514 : STRIP_UNARY (operands[4]))
17515 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17516 : STRIP_UNARY (operands[4]))
17517 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17518 : STRIP_UNARY (operands[3]))
17519 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17520 : STRIP_UNARY (operands[3])))))
17521 : return -1;
17522 : return 5837; /* *avx512vl_vpternlogv2di_1 */
17523 :
17524 : case 36:
17525 : if (!(
17526 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17527 : ((64 == 64 || TARGET_AVX512VL
17528 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17529 : && ix86_pre_reload_split ()) &&
17530 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17531 : (TARGET_AVX512F)))
17532 : return -1;
17533 : return 6824; /* *avx512bw_vpternlogv64qi_3 */
17534 :
17535 : case 37:
17536 : if (!(
17537 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17538 : ((32 == 64 || TARGET_AVX512VL
17539 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17540 : && ix86_pre_reload_split ()) &&
17541 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17542 : (TARGET_AVX)))
17543 : return -1;
17544 : return 6833; /* *avx512vl_vpternlogv32qi_3 */
17545 :
17546 : case 38:
17547 : if (!
17548 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17549 : ((16 == 64 || TARGET_AVX512VL
17550 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17551 : && ix86_pre_reload_split ()))
17552 : return -1;
17553 : return 6842; /* *avx512vl_vpternlogv16qi_3 */
17554 :
17555 : case 39:
17556 : if (!(
17557 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17558 : ((64 == 64 || TARGET_AVX512VL
17559 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17560 : && ix86_pre_reload_split ()) &&
17561 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17562 : (TARGET_AVX512F)))
17563 : return -1;
17564 : return 6851; /* *avx512bw_vpternlogv32hi_3 */
17565 :
17566 : case 40:
17567 : if (!(
17568 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17569 : ((32 == 64 || TARGET_AVX512VL
17570 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17571 : && ix86_pre_reload_split ()) &&
17572 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17573 : (TARGET_AVX)))
17574 : return -1;
17575 : return 6860; /* *avx512vl_vpternlogv16hi_3 */
17576 :
17577 : case 41:
17578 : if (!
17579 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17580 : ((16 == 64 || TARGET_AVX512VL
17581 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17582 : && ix86_pre_reload_split ()))
17583 : return -1;
17584 : return 6869; /* *avx512vl_vpternlogv8hi_3 */
17585 :
17586 : case 42:
17587 : if (!(
17588 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17589 : ((64 == 64 || TARGET_AVX512VL
17590 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17591 : && ix86_pre_reload_split ()) &&
17592 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17593 : (TARGET_AVX512F)))
17594 : return -1;
17595 : return 6878; /* *avx512f_vpternlogv16si_3 */
17596 :
17597 : case 43:
17598 : if (!(
17599 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17600 : ((32 == 64 || TARGET_AVX512VL
17601 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17602 : && ix86_pre_reload_split ()) &&
17603 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17604 : (TARGET_AVX)))
17605 : return -1;
17606 : return 6887; /* *avx512vl_vpternlogv8si_3 */
17607 :
17608 : case 44:
17609 : if (!
17610 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17611 : ((16 == 64 || TARGET_AVX512VL
17612 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17613 : && ix86_pre_reload_split ()))
17614 : return -1;
17615 : return 6896; /* *avx512vl_vpternlogv4si_3 */
17616 :
17617 : case 45:
17618 : if (!(
17619 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17620 : ((64 == 64 || TARGET_AVX512VL
17621 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17622 : && ix86_pre_reload_split ()) &&
17623 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17624 : (TARGET_AVX512F)))
17625 : return -1;
17626 : return 6905; /* *avx512f_vpternlogv8di_3 */
17627 :
17628 : case 46:
17629 : if (!(
17630 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17631 : ((32 == 64 || TARGET_AVX512VL
17632 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17633 : && ix86_pre_reload_split ()) &&
17634 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17635 : (TARGET_AVX)))
17636 : return -1;
17637 : return 6914; /* *avx512vl_vpternlogv4di_3 */
17638 :
17639 : case 47:
17640 : if (!
17641 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17642 : ((16 == 64 || TARGET_AVX512VL
17643 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17644 : && ix86_pre_reload_split ()))
17645 : return -1;
17646 : return 6923; /* *avx512vl_vpternlogv2di_3 */
17647 :
17648 : default:
17649 : return -1;
17650 : }
17651 :
17652 : case AND:
17653 : switch (pattern539 (x2))
17654 : {
17655 : case 0:
17656 : if (!(
17657 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17658 : ((64 == 64 || TARGET_AVX512VL
17659 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17660 : && ix86_pre_reload_split ()
17661 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17662 : STRIP_UNARY (operands[4]))
17663 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17664 : STRIP_UNARY (operands[4]))
17665 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17666 : STRIP_UNARY (operands[3]))
17667 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17668 : STRIP_UNARY (operands[3])))) &&
17669 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17670 : (TARGET_AVX512F)))
17671 : return -1;
17672 : return 6182; /* *avx512bw_vpternlogv64qi_2 */
17673 :
17674 : case 1:
17675 : if (!(
17676 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17677 : ((32 == 64 || TARGET_AVX512VL
17678 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17679 : && ix86_pre_reload_split ()
17680 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17681 : STRIP_UNARY (operands[4]))
17682 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17683 : STRIP_UNARY (operands[4]))
17684 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17685 : STRIP_UNARY (operands[3]))
17686 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17687 : STRIP_UNARY (operands[3])))) &&
17688 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17689 : (TARGET_AVX)))
17690 : return -1;
17691 : return 6209; /* *avx512vl_vpternlogv32qi_2 */
17692 :
17693 : case 2:
17694 : if (!
17695 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17696 : ((16 == 64 || TARGET_AVX512VL
17697 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17698 : && ix86_pre_reload_split ()
17699 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17700 : STRIP_UNARY (operands[4]))
17701 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17702 : STRIP_UNARY (operands[4]))
17703 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17704 : STRIP_UNARY (operands[3]))
17705 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17706 : STRIP_UNARY (operands[3])))))
17707 : return -1;
17708 : return 6236; /* *avx512vl_vpternlogv16qi_2 */
17709 :
17710 : case 3:
17711 : if (!(
17712 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17713 : ((64 == 64 || TARGET_AVX512VL
17714 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17715 : && ix86_pre_reload_split ()
17716 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17717 : STRIP_UNARY (operands[4]))
17718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17719 : STRIP_UNARY (operands[4]))
17720 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17721 : STRIP_UNARY (operands[3]))
17722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17723 : STRIP_UNARY (operands[3])))) &&
17724 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17725 : (TARGET_AVX512F)))
17726 : return -1;
17727 : return 6263; /* *avx512bw_vpternlogv32hi_2 */
17728 :
17729 : case 4:
17730 : if (!(
17731 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17732 : ((32 == 64 || TARGET_AVX512VL
17733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17734 : && ix86_pre_reload_split ()
17735 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17736 : STRIP_UNARY (operands[4]))
17737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17738 : STRIP_UNARY (operands[4]))
17739 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17740 : STRIP_UNARY (operands[3]))
17741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17742 : STRIP_UNARY (operands[3])))) &&
17743 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17744 : (TARGET_AVX)))
17745 : return -1;
17746 : return 6290; /* *avx512vl_vpternlogv16hi_2 */
17747 :
17748 : case 5:
17749 : if (!
17750 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17751 : ((16 == 64 || TARGET_AVX512VL
17752 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17753 : && ix86_pre_reload_split ()
17754 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17755 : STRIP_UNARY (operands[4]))
17756 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17757 : STRIP_UNARY (operands[4]))
17758 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17759 : STRIP_UNARY (operands[3]))
17760 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17761 : STRIP_UNARY (operands[3])))))
17762 : return -1;
17763 : return 6317; /* *avx512vl_vpternlogv8hi_2 */
17764 :
17765 : case 6:
17766 : if (!(
17767 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17768 : ((64 == 64 || TARGET_AVX512VL
17769 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17770 : && ix86_pre_reload_split ()
17771 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17772 : STRIP_UNARY (operands[4]))
17773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17774 : STRIP_UNARY (operands[4]))
17775 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17776 : STRIP_UNARY (operands[3]))
17777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17778 : STRIP_UNARY (operands[3])))) &&
17779 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17780 : (TARGET_AVX512F)))
17781 : return -1;
17782 : return 6344; /* *avx512f_vpternlogv16si_2 */
17783 :
17784 : case 7:
17785 : if (!(
17786 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17787 : ((32 == 64 || TARGET_AVX512VL
17788 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17789 : && ix86_pre_reload_split ()
17790 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17791 : STRIP_UNARY (operands[4]))
17792 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17793 : STRIP_UNARY (operands[4]))
17794 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17795 : STRIP_UNARY (operands[3]))
17796 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17797 : STRIP_UNARY (operands[3])))) &&
17798 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17799 : (TARGET_AVX)))
17800 : return -1;
17801 : return 6371; /* *avx512vl_vpternlogv8si_2 */
17802 :
17803 : case 8:
17804 : if (!
17805 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17806 : ((16 == 64 || TARGET_AVX512VL
17807 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17808 : && ix86_pre_reload_split ()
17809 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17810 : STRIP_UNARY (operands[4]))
17811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17812 : STRIP_UNARY (operands[4]))
17813 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17814 : STRIP_UNARY (operands[3]))
17815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17816 : STRIP_UNARY (operands[3])))))
17817 : return -1;
17818 : return 6398; /* *avx512vl_vpternlogv4si_2 */
17819 :
17820 : case 9:
17821 : if (!(
17822 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17823 : ((64 == 64 || TARGET_AVX512VL
17824 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17825 : && ix86_pre_reload_split ()
17826 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17827 : STRIP_UNARY (operands[4]))
17828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17829 : STRIP_UNARY (operands[4]))
17830 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17831 : STRIP_UNARY (operands[3]))
17832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17833 : STRIP_UNARY (operands[3])))) &&
17834 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17835 : (TARGET_AVX512F)))
17836 : return -1;
17837 : return 6425; /* *avx512f_vpternlogv8di_2 */
17838 :
17839 : case 10:
17840 : if (!(
17841 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17842 : ((32 == 64 || TARGET_AVX512VL
17843 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17844 : && ix86_pre_reload_split ()
17845 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17846 : STRIP_UNARY (operands[4]))
17847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17848 : STRIP_UNARY (operands[4]))
17849 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17850 : STRIP_UNARY (operands[3]))
17851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17852 : STRIP_UNARY (operands[3])))) &&
17853 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17854 : (TARGET_AVX)))
17855 : return -1;
17856 : return 6452; /* *avx512vl_vpternlogv4di_2 */
17857 :
17858 : case 11:
17859 : if (!
17860 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17861 : ((16 == 64 || TARGET_AVX512VL
17862 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17863 : && ix86_pre_reload_split ()
17864 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17865 : STRIP_UNARY (operands[4]))
17866 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17867 : STRIP_UNARY (operands[4]))
17868 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17869 : STRIP_UNARY (operands[3]))
17870 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17871 : STRIP_UNARY (operands[3])))))
17872 : return -1;
17873 : return 6479; /* *avx512vl_vpternlogv2di_2 */
17874 :
17875 : default:
17876 : return -1;
17877 : }
17878 :
17879 : case IOR:
17880 : switch (pattern539 (x2))
17881 : {
17882 : case 0:
17883 : if (!(
17884 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17885 : ((64 == 64 || TARGET_AVX512VL
17886 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17887 : && ix86_pre_reload_split ()
17888 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17889 : STRIP_UNARY (operands[4]))
17890 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17891 : STRIP_UNARY (operands[4]))
17892 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17893 : STRIP_UNARY (operands[3]))
17894 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17895 : STRIP_UNARY (operands[3])))) &&
17896 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17897 : (TARGET_AVX512F)))
17898 : return -1;
17899 : return 6185; /* *avx512bw_vpternlogv64qi_2 */
17900 :
17901 : case 1:
17902 : if (!(
17903 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17904 : ((32 == 64 || TARGET_AVX512VL
17905 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17906 : && ix86_pre_reload_split ()
17907 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17908 : STRIP_UNARY (operands[4]))
17909 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17910 : STRIP_UNARY (operands[4]))
17911 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17912 : STRIP_UNARY (operands[3]))
17913 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17914 : STRIP_UNARY (operands[3])))) &&
17915 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17916 : (TARGET_AVX)))
17917 : return -1;
17918 : return 6212; /* *avx512vl_vpternlogv32qi_2 */
17919 :
17920 : case 2:
17921 : if (!
17922 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17923 : ((16 == 64 || TARGET_AVX512VL
17924 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17925 : && ix86_pre_reload_split ()
17926 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17927 : STRIP_UNARY (operands[4]))
17928 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17929 : STRIP_UNARY (operands[4]))
17930 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17931 : STRIP_UNARY (operands[3]))
17932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17933 : STRIP_UNARY (operands[3])))))
17934 : return -1;
17935 : return 6239; /* *avx512vl_vpternlogv16qi_2 */
17936 :
17937 : case 3:
17938 : if (!(
17939 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17940 : ((64 == 64 || TARGET_AVX512VL
17941 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17942 : && ix86_pre_reload_split ()
17943 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17944 : STRIP_UNARY (operands[4]))
17945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17946 : STRIP_UNARY (operands[4]))
17947 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17948 : STRIP_UNARY (operands[3]))
17949 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17950 : STRIP_UNARY (operands[3])))) &&
17951 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17952 : (TARGET_AVX512F)))
17953 : return -1;
17954 : return 6266; /* *avx512bw_vpternlogv32hi_2 */
17955 :
17956 : case 4:
17957 : if (!(
17958 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17959 : ((32 == 64 || TARGET_AVX512VL
17960 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17961 : && ix86_pre_reload_split ()
17962 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17963 : STRIP_UNARY (operands[4]))
17964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17965 : STRIP_UNARY (operands[4]))
17966 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17967 : STRIP_UNARY (operands[3]))
17968 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17969 : STRIP_UNARY (operands[3])))) &&
17970 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17971 : (TARGET_AVX)))
17972 : return -1;
17973 : return 6293; /* *avx512vl_vpternlogv16hi_2 */
17974 :
17975 : case 5:
17976 : if (!
17977 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17978 : ((16 == 64 || TARGET_AVX512VL
17979 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17980 : && ix86_pre_reload_split ()
17981 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17982 : STRIP_UNARY (operands[4]))
17983 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17984 : STRIP_UNARY (operands[4]))
17985 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17986 : STRIP_UNARY (operands[3]))
17987 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17988 : STRIP_UNARY (operands[3])))))
17989 : return -1;
17990 : return 6320; /* *avx512vl_vpternlogv8hi_2 */
17991 :
17992 : case 6:
17993 : if (!(
17994 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17995 : ((64 == 64 || TARGET_AVX512VL
17996 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17997 : && ix86_pre_reload_split ()
17998 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17999 : STRIP_UNARY (operands[4]))
18000 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18001 : STRIP_UNARY (operands[4]))
18002 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18003 : STRIP_UNARY (operands[3]))
18004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18005 : STRIP_UNARY (operands[3])))) &&
18006 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18007 : (TARGET_AVX512F)))
18008 : return -1;
18009 : return 6347; /* *avx512f_vpternlogv16si_2 */
18010 :
18011 : case 7:
18012 : if (!(
18013 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18014 : ((32 == 64 || TARGET_AVX512VL
18015 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18016 : && ix86_pre_reload_split ()
18017 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18018 : STRIP_UNARY (operands[4]))
18019 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18020 : STRIP_UNARY (operands[4]))
18021 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18022 : STRIP_UNARY (operands[3]))
18023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18024 : STRIP_UNARY (operands[3])))) &&
18025 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18026 : (TARGET_AVX)))
18027 : return -1;
18028 : return 6374; /* *avx512vl_vpternlogv8si_2 */
18029 :
18030 : case 8:
18031 : if (!
18032 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18033 : ((16 == 64 || TARGET_AVX512VL
18034 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18035 : && ix86_pre_reload_split ()
18036 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18037 : STRIP_UNARY (operands[4]))
18038 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18039 : STRIP_UNARY (operands[4]))
18040 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18041 : STRIP_UNARY (operands[3]))
18042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18043 : STRIP_UNARY (operands[3])))))
18044 : return -1;
18045 : return 6401; /* *avx512vl_vpternlogv4si_2 */
18046 :
18047 : case 9:
18048 : if (!(
18049 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18050 : ((64 == 64 || TARGET_AVX512VL
18051 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18052 : && ix86_pre_reload_split ()
18053 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18054 : STRIP_UNARY (operands[4]))
18055 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18056 : STRIP_UNARY (operands[4]))
18057 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18058 : STRIP_UNARY (operands[3]))
18059 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18060 : STRIP_UNARY (operands[3])))) &&
18061 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18062 : (TARGET_AVX512F)))
18063 : return -1;
18064 : return 6428; /* *avx512f_vpternlogv8di_2 */
18065 :
18066 : case 10:
18067 : if (!(
18068 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18069 : ((32 == 64 || TARGET_AVX512VL
18070 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18071 : && ix86_pre_reload_split ()
18072 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18073 : STRIP_UNARY (operands[4]))
18074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18075 : STRIP_UNARY (operands[4]))
18076 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18077 : STRIP_UNARY (operands[3]))
18078 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18079 : STRIP_UNARY (operands[3])))) &&
18080 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18081 : (TARGET_AVX)))
18082 : return -1;
18083 : return 6455; /* *avx512vl_vpternlogv4di_2 */
18084 :
18085 : case 11:
18086 : if (!
18087 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18088 : ((16 == 64 || TARGET_AVX512VL
18089 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18090 : && ix86_pre_reload_split ()
18091 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18092 : STRIP_UNARY (operands[4]))
18093 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18094 : STRIP_UNARY (operands[4]))
18095 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18096 : STRIP_UNARY (operands[3]))
18097 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18098 : STRIP_UNARY (operands[3])))))
18099 : return -1;
18100 : return 6482; /* *avx512vl_vpternlogv2di_2 */
18101 :
18102 : default:
18103 : return -1;
18104 : }
18105 :
18106 : case XOR:
18107 : switch (pattern539 (x2))
18108 : {
18109 : case 0:
18110 : if (!(
18111 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18112 : ((64 == 64 || TARGET_AVX512VL
18113 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18114 : && ix86_pre_reload_split ()
18115 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18116 : STRIP_UNARY (operands[4]))
18117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18118 : STRIP_UNARY (operands[4]))
18119 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18120 : STRIP_UNARY (operands[3]))
18121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18122 : STRIP_UNARY (operands[3])))) &&
18123 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18124 : (TARGET_AVX512F)))
18125 : return -1;
18126 : return 6188; /* *avx512bw_vpternlogv64qi_2 */
18127 :
18128 : case 1:
18129 : if (!(
18130 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18131 : ((32 == 64 || TARGET_AVX512VL
18132 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18133 : && ix86_pre_reload_split ()
18134 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18135 : STRIP_UNARY (operands[4]))
18136 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18137 : STRIP_UNARY (operands[4]))
18138 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18139 : STRIP_UNARY (operands[3]))
18140 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18141 : STRIP_UNARY (operands[3])))) &&
18142 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18143 : (TARGET_AVX)))
18144 : return -1;
18145 : return 6215; /* *avx512vl_vpternlogv32qi_2 */
18146 :
18147 : case 2:
18148 : if (!
18149 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18150 : ((16 == 64 || TARGET_AVX512VL
18151 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18152 : && ix86_pre_reload_split ()
18153 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18154 : STRIP_UNARY (operands[4]))
18155 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18156 : STRIP_UNARY (operands[4]))
18157 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18158 : STRIP_UNARY (operands[3]))
18159 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18160 : STRIP_UNARY (operands[3])))))
18161 : return -1;
18162 : return 6242; /* *avx512vl_vpternlogv16qi_2 */
18163 :
18164 : case 3:
18165 : if (!(
18166 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18167 : ((64 == 64 || TARGET_AVX512VL
18168 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18169 : && ix86_pre_reload_split ()
18170 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18171 : STRIP_UNARY (operands[4]))
18172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18173 : STRIP_UNARY (operands[4]))
18174 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18175 : STRIP_UNARY (operands[3]))
18176 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18177 : STRIP_UNARY (operands[3])))) &&
18178 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18179 : (TARGET_AVX512F)))
18180 : return -1;
18181 : return 6269; /* *avx512bw_vpternlogv32hi_2 */
18182 :
18183 : case 4:
18184 : if (!(
18185 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18186 : ((32 == 64 || TARGET_AVX512VL
18187 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18188 : && ix86_pre_reload_split ()
18189 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18190 : STRIP_UNARY (operands[4]))
18191 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18192 : STRIP_UNARY (operands[4]))
18193 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18194 : STRIP_UNARY (operands[3]))
18195 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18196 : STRIP_UNARY (operands[3])))) &&
18197 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18198 : (TARGET_AVX)))
18199 : return -1;
18200 : return 6296; /* *avx512vl_vpternlogv16hi_2 */
18201 :
18202 : case 5:
18203 : if (!
18204 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18205 : ((16 == 64 || TARGET_AVX512VL
18206 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18207 : && ix86_pre_reload_split ()
18208 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18209 : STRIP_UNARY (operands[4]))
18210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18211 : STRIP_UNARY (operands[4]))
18212 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18213 : STRIP_UNARY (operands[3]))
18214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18215 : STRIP_UNARY (operands[3])))))
18216 : return -1;
18217 : return 6323; /* *avx512vl_vpternlogv8hi_2 */
18218 :
18219 : case 6:
18220 : if (!(
18221 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18222 : ((64 == 64 || TARGET_AVX512VL
18223 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18224 : && ix86_pre_reload_split ()
18225 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18226 : STRIP_UNARY (operands[4]))
18227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18228 : STRIP_UNARY (operands[4]))
18229 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18230 : STRIP_UNARY (operands[3]))
18231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18232 : STRIP_UNARY (operands[3])))) &&
18233 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18234 : (TARGET_AVX512F)))
18235 : return -1;
18236 : return 6350; /* *avx512f_vpternlogv16si_2 */
18237 :
18238 : case 7:
18239 : if (!(
18240 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18241 : ((32 == 64 || TARGET_AVX512VL
18242 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18243 : && ix86_pre_reload_split ()
18244 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18245 : STRIP_UNARY (operands[4]))
18246 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18247 : STRIP_UNARY (operands[4]))
18248 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18249 : STRIP_UNARY (operands[3]))
18250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18251 : STRIP_UNARY (operands[3])))) &&
18252 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18253 : (TARGET_AVX)))
18254 : return -1;
18255 : return 6377; /* *avx512vl_vpternlogv8si_2 */
18256 :
18257 : case 8:
18258 : if (!
18259 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18260 : ((16 == 64 || TARGET_AVX512VL
18261 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18262 : && ix86_pre_reload_split ()
18263 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18264 : STRIP_UNARY (operands[4]))
18265 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18266 : STRIP_UNARY (operands[4]))
18267 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18268 : STRIP_UNARY (operands[3]))
18269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18270 : STRIP_UNARY (operands[3])))))
18271 : return -1;
18272 : return 6404; /* *avx512vl_vpternlogv4si_2 */
18273 :
18274 : case 9:
18275 : if (!(
18276 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18277 : ((64 == 64 || TARGET_AVX512VL
18278 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18279 : && ix86_pre_reload_split ()
18280 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18281 : STRIP_UNARY (operands[4]))
18282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18283 : STRIP_UNARY (operands[4]))
18284 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18285 : STRIP_UNARY (operands[3]))
18286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18287 : STRIP_UNARY (operands[3])))) &&
18288 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18289 : (TARGET_AVX512F)))
18290 : return -1;
18291 : return 6431; /* *avx512f_vpternlogv8di_2 */
18292 :
18293 : case 10:
18294 : if (!(
18295 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18296 : ((32 == 64 || TARGET_AVX512VL
18297 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18298 : && ix86_pre_reload_split ()
18299 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18300 : STRIP_UNARY (operands[4]))
18301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18302 : STRIP_UNARY (operands[4]))
18303 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18304 : STRIP_UNARY (operands[3]))
18305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18306 : STRIP_UNARY (operands[3])))) &&
18307 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18308 : (TARGET_AVX)))
18309 : return -1;
18310 : return 6458; /* *avx512vl_vpternlogv4di_2 */
18311 :
18312 : case 11:
18313 : if (!
18314 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18315 : ((16 == 64 || TARGET_AVX512VL
18316 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18317 : && ix86_pre_reload_split ()
18318 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18319 : STRIP_UNARY (operands[4]))
18320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18321 : STRIP_UNARY (operands[4]))
18322 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18323 : STRIP_UNARY (operands[3]))
18324 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18325 : STRIP_UNARY (operands[3])))))
18326 : return -1;
18327 : return 6485; /* *avx512vl_vpternlogv2di_2 */
18328 :
18329 : default:
18330 : return -1;
18331 : }
18332 :
18333 : default:
18334 : return -1;
18335 : }
18336 : }
18337 :
18338 : int
18339 : recog_316 (rtx x1 ATTRIBUTE_UNUSED,
18340 : rtx_insn *insn ATTRIBUTE_UNUSED,
18341 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18342 : {
18343 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18344 : rtx x2, x3, x4;
18345 : int res ATTRIBUTE_UNUSED;
18346 : x2 = XEXP (x1, 1);
18347 : x3 = XEXP (x2, 0);
18348 : switch (GET_CODE (x3))
18349 : {
18350 : case AND:
18351 : x4 = XEXP (x3, 0);
18352 : switch (GET_CODE (x4))
18353 : {
18354 : case REG:
18355 : case SUBREG:
18356 : case MEM:
18357 : case NOT:
18358 : switch (pattern543 (x2))
18359 : {
18360 : case 0:
18361 : if (!(
18362 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18363 : ((64 == 64 || TARGET_AVX512VL
18364 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18365 : && ix86_pre_reload_split ()
18366 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18367 : STRIP_UNARY (operands[4]))
18368 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18369 : STRIP_UNARY (operands[4]))
18370 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18371 : STRIP_UNARY (operands[3]))
18372 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18373 : STRIP_UNARY (operands[3])))) &&
18374 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18375 : (TARGET_AVX512F)))
18376 : return -1;
18377 : return 5851; /* *avx512bw_vpternlogv32hf_1 */
18378 :
18379 : case 1:
18380 : if (!(
18381 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18382 : ((32 == 64 || TARGET_AVX512VL
18383 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18384 : && ix86_pre_reload_split ()
18385 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18386 : STRIP_UNARY (operands[4]))
18387 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18388 : STRIP_UNARY (operands[4]))
18389 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18390 : STRIP_UNARY (operands[3]))
18391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18392 : STRIP_UNARY (operands[3])))) &&
18393 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18394 : (TARGET_AVX)))
18395 : return -1;
18396 : return 5878; /* *avx512vl_vpternlogv16hf_1 */
18397 :
18398 : case 2:
18399 : if (!
18400 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18401 : ((16 == 64 || TARGET_AVX512VL
18402 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18403 : && ix86_pre_reload_split ()
18404 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18405 : STRIP_UNARY (operands[4]))
18406 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18407 : STRIP_UNARY (operands[4]))
18408 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18409 : STRIP_UNARY (operands[3]))
18410 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18411 : STRIP_UNARY (operands[3])))))
18412 : return -1;
18413 : return 5905; /* *avx512fp16_vpternlogv8hf_1 */
18414 :
18415 : case 3:
18416 : if (!(
18417 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18418 : ((64 == 64 || TARGET_AVX512VL
18419 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18420 : && ix86_pre_reload_split ()
18421 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18422 : STRIP_UNARY (operands[4]))
18423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18424 : STRIP_UNARY (operands[4]))
18425 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18426 : STRIP_UNARY (operands[3]))
18427 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18428 : STRIP_UNARY (operands[3])))) &&
18429 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18430 : (TARGET_AVX512F)))
18431 : return -1;
18432 : return 5932; /* *avx512bw_vpternlogv32bf_1 */
18433 :
18434 : case 4:
18435 : if (!(
18436 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18437 : ((32 == 64 || TARGET_AVX512VL
18438 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18439 : && ix86_pre_reload_split ()
18440 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18441 : STRIP_UNARY (operands[4]))
18442 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18443 : STRIP_UNARY (operands[4]))
18444 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18445 : STRIP_UNARY (operands[3]))
18446 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18447 : STRIP_UNARY (operands[3])))) &&
18448 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18449 : (TARGET_AVX)))
18450 : return -1;
18451 : return 5959; /* *avx512vl_vpternlogv16bf_1 */
18452 :
18453 : case 5:
18454 : if (!
18455 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18456 : ((16 == 64 || TARGET_AVX512VL
18457 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18458 : && ix86_pre_reload_split ()
18459 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18460 : STRIP_UNARY (operands[4]))
18461 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18462 : STRIP_UNARY (operands[4]))
18463 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18464 : STRIP_UNARY (operands[3]))
18465 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18466 : STRIP_UNARY (operands[3])))))
18467 : return -1;
18468 : return 5986; /* *avx512vl_vpternlogv8bf_1 */
18469 :
18470 : case 6:
18471 : if (!(
18472 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18473 : ((64 == 64 || TARGET_AVX512VL
18474 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18475 : && ix86_pre_reload_split ()
18476 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18477 : STRIP_UNARY (operands[4]))
18478 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18479 : STRIP_UNARY (operands[4]))
18480 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18481 : STRIP_UNARY (operands[3]))
18482 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18483 : STRIP_UNARY (operands[3])))) &&
18484 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18485 : (TARGET_AVX512F)))
18486 : return -1;
18487 : return 6013; /* *avx512f_vpternlogv16sf_1 */
18488 :
18489 : case 7:
18490 : if (!(
18491 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18492 : ((32 == 64 || TARGET_AVX512VL
18493 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18494 : && ix86_pre_reload_split ()
18495 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18496 : STRIP_UNARY (operands[4]))
18497 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18498 : STRIP_UNARY (operands[4]))
18499 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18500 : STRIP_UNARY (operands[3]))
18501 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18502 : STRIP_UNARY (operands[3])))) &&
18503 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18504 : (TARGET_AVX)))
18505 : return -1;
18506 : return 6040; /* *avx512vl_vpternlogv8sf_1 */
18507 :
18508 : case 8:
18509 : if (!
18510 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18511 : ((16 == 64 || TARGET_AVX512VL
18512 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18513 : && ix86_pre_reload_split ()
18514 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18515 : STRIP_UNARY (operands[4]))
18516 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18517 : STRIP_UNARY (operands[4]))
18518 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18519 : STRIP_UNARY (operands[3]))
18520 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18521 : STRIP_UNARY (operands[3])))))
18522 : return -1;
18523 : return 6067; /* *avx512vl_vpternlogv4sf_1 */
18524 :
18525 : case 9:
18526 : if (!(
18527 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18528 : ((64 == 64 || TARGET_AVX512VL
18529 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18530 : && ix86_pre_reload_split ()
18531 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18532 : STRIP_UNARY (operands[4]))
18533 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18534 : STRIP_UNARY (operands[4]))
18535 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18536 : STRIP_UNARY (operands[3]))
18537 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18538 : STRIP_UNARY (operands[3])))) &&
18539 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18540 : (TARGET_AVX512F)))
18541 : return -1;
18542 : return 6094; /* *avx512f_vpternlogv8df_1 */
18543 :
18544 : case 10:
18545 : if (!(
18546 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18547 : ((32 == 64 || TARGET_AVX512VL
18548 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18549 : && ix86_pre_reload_split ()
18550 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18551 : STRIP_UNARY (operands[4]))
18552 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18553 : STRIP_UNARY (operands[4]))
18554 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18555 : STRIP_UNARY (operands[3]))
18556 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18557 : STRIP_UNARY (operands[3])))) &&
18558 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18559 : (TARGET_AVX)))
18560 : return -1;
18561 : return 6121; /* *avx512vl_vpternlogv4df_1 */
18562 :
18563 : case 11:
18564 : if (!(
18565 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18566 : ((16 == 64 || TARGET_AVX512VL
18567 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18568 : && ix86_pre_reload_split ()
18569 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18570 : STRIP_UNARY (operands[4]))
18571 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18572 : STRIP_UNARY (operands[4]))
18573 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18574 : STRIP_UNARY (operands[3]))
18575 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18576 : STRIP_UNARY (operands[3])))) &&
18577 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18578 : (TARGET_SSE2)))
18579 : return -1;
18580 : return 6148; /* *avx512vl_vpternlogv2df_1 */
18581 :
18582 : case 12:
18583 : if (!(
18584 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18585 : ((64 == 64 || TARGET_AVX512VL
18586 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18587 : && ix86_pre_reload_split ()
18588 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18589 : STRIP_UNARY (operands[4]))
18590 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18591 : STRIP_UNARY (operands[4]))
18592 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18593 : STRIP_UNARY (operands[3]))
18594 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18595 : STRIP_UNARY (operands[3])))) &&
18596 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18597 : (TARGET_AVX512F)))
18598 : return -1;
18599 : return 5854; /* *avx512bw_vpternlogv32hf_1 */
18600 :
18601 : case 13:
18602 : if (!(
18603 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18604 : ((32 == 64 || TARGET_AVX512VL
18605 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18606 : && ix86_pre_reload_split ()
18607 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18608 : STRIP_UNARY (operands[4]))
18609 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18610 : STRIP_UNARY (operands[4]))
18611 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18612 : STRIP_UNARY (operands[3]))
18613 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18614 : STRIP_UNARY (operands[3])))) &&
18615 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18616 : (TARGET_AVX)))
18617 : return -1;
18618 : return 5881; /* *avx512vl_vpternlogv16hf_1 */
18619 :
18620 : case 14:
18621 : if (!
18622 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18623 : ((16 == 64 || TARGET_AVX512VL
18624 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18625 : && ix86_pre_reload_split ()
18626 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18627 : STRIP_UNARY (operands[4]))
18628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18629 : STRIP_UNARY (operands[4]))
18630 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18631 : STRIP_UNARY (operands[3]))
18632 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18633 : STRIP_UNARY (operands[3])))))
18634 : return -1;
18635 : return 5908; /* *avx512fp16_vpternlogv8hf_1 */
18636 :
18637 : case 15:
18638 : if (!(
18639 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18640 : ((64 == 64 || TARGET_AVX512VL
18641 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18642 : && ix86_pre_reload_split ()
18643 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18644 : STRIP_UNARY (operands[4]))
18645 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18646 : STRIP_UNARY (operands[4]))
18647 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18648 : STRIP_UNARY (operands[3]))
18649 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18650 : STRIP_UNARY (operands[3])))) &&
18651 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18652 : (TARGET_AVX512F)))
18653 : return -1;
18654 : return 5935; /* *avx512bw_vpternlogv32bf_1 */
18655 :
18656 : case 16:
18657 : if (!(
18658 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18659 : ((32 == 64 || TARGET_AVX512VL
18660 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18661 : && ix86_pre_reload_split ()
18662 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18663 : STRIP_UNARY (operands[4]))
18664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18665 : STRIP_UNARY (operands[4]))
18666 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18667 : STRIP_UNARY (operands[3]))
18668 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18669 : STRIP_UNARY (operands[3])))) &&
18670 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18671 : (TARGET_AVX)))
18672 : return -1;
18673 : return 5962; /* *avx512vl_vpternlogv16bf_1 */
18674 :
18675 : case 17:
18676 : if (!
18677 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18678 : ((16 == 64 || TARGET_AVX512VL
18679 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18680 : && ix86_pre_reload_split ()
18681 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18682 : STRIP_UNARY (operands[4]))
18683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18684 : STRIP_UNARY (operands[4]))
18685 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18686 : STRIP_UNARY (operands[3]))
18687 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18688 : STRIP_UNARY (operands[3])))))
18689 : return -1;
18690 : return 5989; /* *avx512vl_vpternlogv8bf_1 */
18691 :
18692 : case 18:
18693 : if (!(
18694 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18695 : ((64 == 64 || TARGET_AVX512VL
18696 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18697 : && ix86_pre_reload_split ()
18698 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18699 : STRIP_UNARY (operands[4]))
18700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18701 : STRIP_UNARY (operands[4]))
18702 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18703 : STRIP_UNARY (operands[3]))
18704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18705 : STRIP_UNARY (operands[3])))) &&
18706 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18707 : (TARGET_AVX512F)))
18708 : return -1;
18709 : return 6016; /* *avx512f_vpternlogv16sf_1 */
18710 :
18711 : case 19:
18712 : if (!(
18713 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18714 : ((32 == 64 || TARGET_AVX512VL
18715 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18716 : && ix86_pre_reload_split ()
18717 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18718 : STRIP_UNARY (operands[4]))
18719 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18720 : STRIP_UNARY (operands[4]))
18721 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18722 : STRIP_UNARY (operands[3]))
18723 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18724 : STRIP_UNARY (operands[3])))) &&
18725 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18726 : (TARGET_AVX)))
18727 : return -1;
18728 : return 6043; /* *avx512vl_vpternlogv8sf_1 */
18729 :
18730 : case 20:
18731 : if (!
18732 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18733 : ((16 == 64 || TARGET_AVX512VL
18734 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18735 : && ix86_pre_reload_split ()
18736 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18737 : STRIP_UNARY (operands[4]))
18738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18739 : STRIP_UNARY (operands[4]))
18740 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18741 : STRIP_UNARY (operands[3]))
18742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18743 : STRIP_UNARY (operands[3])))))
18744 : return -1;
18745 : return 6070; /* *avx512vl_vpternlogv4sf_1 */
18746 :
18747 : case 21:
18748 : if (!(
18749 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18750 : ((64 == 64 || TARGET_AVX512VL
18751 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18752 : && ix86_pre_reload_split ()
18753 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18754 : STRIP_UNARY (operands[4]))
18755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18756 : STRIP_UNARY (operands[4]))
18757 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18758 : STRIP_UNARY (operands[3]))
18759 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18760 : STRIP_UNARY (operands[3])))) &&
18761 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18762 : (TARGET_AVX512F)))
18763 : return -1;
18764 : return 6097; /* *avx512f_vpternlogv8df_1 */
18765 :
18766 : case 22:
18767 : if (!(
18768 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18769 : ((32 == 64 || TARGET_AVX512VL
18770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18771 : && ix86_pre_reload_split ()
18772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18773 : STRIP_UNARY (operands[4]))
18774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18775 : STRIP_UNARY (operands[4]))
18776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18777 : STRIP_UNARY (operands[3]))
18778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18779 : STRIP_UNARY (operands[3])))) &&
18780 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18781 : (TARGET_AVX)))
18782 : return -1;
18783 : return 6124; /* *avx512vl_vpternlogv4df_1 */
18784 :
18785 : case 23:
18786 : if (!(
18787 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18788 : ((16 == 64 || TARGET_AVX512VL
18789 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18790 : && ix86_pre_reload_split ()
18791 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18792 : STRIP_UNARY (operands[4]))
18793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18794 : STRIP_UNARY (operands[4]))
18795 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18796 : STRIP_UNARY (operands[3]))
18797 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18798 : STRIP_UNARY (operands[3])))) &&
18799 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18800 : (TARGET_SSE2)))
18801 : return -1;
18802 : return 6151; /* *avx512vl_vpternlogv2df_1 */
18803 :
18804 : case 24:
18805 : if (!(
18806 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18807 : ((64 == 64 || TARGET_AVX512VL
18808 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18809 : && ix86_pre_reload_split ()
18810 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18811 : STRIP_UNARY (operands[4]))
18812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18813 : STRIP_UNARY (operands[4]))
18814 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18815 : STRIP_UNARY (operands[3]))
18816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18817 : STRIP_UNARY (operands[3])))) &&
18818 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18819 : (TARGET_AVX512F)))
18820 : return -1;
18821 : return 5857; /* *avx512bw_vpternlogv32hf_1 */
18822 :
18823 : case 25:
18824 : if (!(
18825 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18826 : ((32 == 64 || TARGET_AVX512VL
18827 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18828 : && ix86_pre_reload_split ()
18829 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18830 : STRIP_UNARY (operands[4]))
18831 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18832 : STRIP_UNARY (operands[4]))
18833 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18834 : STRIP_UNARY (operands[3]))
18835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18836 : STRIP_UNARY (operands[3])))) &&
18837 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18838 : (TARGET_AVX)))
18839 : return -1;
18840 : return 5884; /* *avx512vl_vpternlogv16hf_1 */
18841 :
18842 : case 26:
18843 : if (!
18844 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18845 : ((16 == 64 || TARGET_AVX512VL
18846 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18847 : && ix86_pre_reload_split ()
18848 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18849 : STRIP_UNARY (operands[4]))
18850 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18851 : STRIP_UNARY (operands[4]))
18852 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18853 : STRIP_UNARY (operands[3]))
18854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18855 : STRIP_UNARY (operands[3])))))
18856 : return -1;
18857 : return 5911; /* *avx512fp16_vpternlogv8hf_1 */
18858 :
18859 : case 27:
18860 : if (!(
18861 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18862 : ((64 == 64 || TARGET_AVX512VL
18863 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18864 : && ix86_pre_reload_split ()
18865 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18866 : STRIP_UNARY (operands[4]))
18867 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18868 : STRIP_UNARY (operands[4]))
18869 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18870 : STRIP_UNARY (operands[3]))
18871 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18872 : STRIP_UNARY (operands[3])))) &&
18873 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18874 : (TARGET_AVX512F)))
18875 : return -1;
18876 : return 5938; /* *avx512bw_vpternlogv32bf_1 */
18877 :
18878 : case 28:
18879 : if (!(
18880 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18881 : ((32 == 64 || TARGET_AVX512VL
18882 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18883 : && ix86_pre_reload_split ()
18884 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18885 : STRIP_UNARY (operands[4]))
18886 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18887 : STRIP_UNARY (operands[4]))
18888 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18889 : STRIP_UNARY (operands[3]))
18890 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18891 : STRIP_UNARY (operands[3])))) &&
18892 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18893 : (TARGET_AVX)))
18894 : return -1;
18895 : return 5965; /* *avx512vl_vpternlogv16bf_1 */
18896 :
18897 : case 29:
18898 : if (!
18899 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18900 : ((16 == 64 || TARGET_AVX512VL
18901 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18902 : && ix86_pre_reload_split ()
18903 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18904 : STRIP_UNARY (operands[4]))
18905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18906 : STRIP_UNARY (operands[4]))
18907 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18908 : STRIP_UNARY (operands[3]))
18909 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18910 : STRIP_UNARY (operands[3])))))
18911 : return -1;
18912 : return 5992; /* *avx512vl_vpternlogv8bf_1 */
18913 :
18914 : case 30:
18915 : if (!(
18916 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18917 : ((64 == 64 || TARGET_AVX512VL
18918 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18919 : && ix86_pre_reload_split ()
18920 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18921 : STRIP_UNARY (operands[4]))
18922 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18923 : STRIP_UNARY (operands[4]))
18924 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18925 : STRIP_UNARY (operands[3]))
18926 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18927 : STRIP_UNARY (operands[3])))) &&
18928 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18929 : (TARGET_AVX512F)))
18930 : return -1;
18931 : return 6019; /* *avx512f_vpternlogv16sf_1 */
18932 :
18933 : case 31:
18934 : if (!(
18935 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18936 : ((32 == 64 || TARGET_AVX512VL
18937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18938 : && ix86_pre_reload_split ()
18939 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18940 : STRIP_UNARY (operands[4]))
18941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18942 : STRIP_UNARY (operands[4]))
18943 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18944 : STRIP_UNARY (operands[3]))
18945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18946 : STRIP_UNARY (operands[3])))) &&
18947 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18948 : (TARGET_AVX)))
18949 : return -1;
18950 : return 6046; /* *avx512vl_vpternlogv8sf_1 */
18951 :
18952 : case 32:
18953 : if (!
18954 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18955 : ((16 == 64 || TARGET_AVX512VL
18956 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18957 : && ix86_pre_reload_split ()
18958 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18959 : STRIP_UNARY (operands[4]))
18960 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18961 : STRIP_UNARY (operands[4]))
18962 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18963 : STRIP_UNARY (operands[3]))
18964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18965 : STRIP_UNARY (operands[3])))))
18966 : return -1;
18967 : return 6073; /* *avx512vl_vpternlogv4sf_1 */
18968 :
18969 : case 33:
18970 : if (!(
18971 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18972 : ((64 == 64 || TARGET_AVX512VL
18973 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18974 : && ix86_pre_reload_split ()
18975 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18976 : STRIP_UNARY (operands[4]))
18977 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18978 : STRIP_UNARY (operands[4]))
18979 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18980 : STRIP_UNARY (operands[3]))
18981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18982 : STRIP_UNARY (operands[3])))) &&
18983 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18984 : (TARGET_AVX512F)))
18985 : return -1;
18986 : return 6100; /* *avx512f_vpternlogv8df_1 */
18987 :
18988 : case 34:
18989 : if (!(
18990 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18991 : ((32 == 64 || TARGET_AVX512VL
18992 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18993 : && ix86_pre_reload_split ()
18994 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18995 : STRIP_UNARY (operands[4]))
18996 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18997 : STRIP_UNARY (operands[4]))
18998 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18999 : STRIP_UNARY (operands[3]))
19000 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19001 : STRIP_UNARY (operands[3])))) &&
19002 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19003 : (TARGET_AVX)))
19004 : return -1;
19005 : return 6127; /* *avx512vl_vpternlogv4df_1 */
19006 :
19007 : case 35:
19008 : if (!(
19009 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19010 : ((16 == 64 || TARGET_AVX512VL
19011 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19012 : && ix86_pre_reload_split ()
19013 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19014 : STRIP_UNARY (operands[4]))
19015 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19016 : STRIP_UNARY (operands[4]))
19017 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19018 : STRIP_UNARY (operands[3]))
19019 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19020 : STRIP_UNARY (operands[3])))) &&
19021 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19022 : (TARGET_SSE2)))
19023 : return -1;
19024 : return 6154; /* *avx512vl_vpternlogv2df_1 */
19025 :
19026 : case 36:
19027 : if (!(
19028 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19029 : ((64 == 64 || TARGET_AVX512VL
19030 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19031 : && ix86_pre_reload_split ()) &&
19032 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19033 : (TARGET_AVX512F)))
19034 : return -1;
19035 : return 6931; /* *avx512bw_vpternlogv32hf_3 */
19036 :
19037 : case 37:
19038 : if (!(
19039 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19040 : ((32 == 64 || TARGET_AVX512VL
19041 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19042 : && ix86_pre_reload_split ()) &&
19043 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19044 : (TARGET_AVX)))
19045 : return -1;
19046 : return 6940; /* *avx512vl_vpternlogv16hf_3 */
19047 :
19048 : case 38:
19049 : if (!
19050 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19051 : ((16 == 64 || TARGET_AVX512VL
19052 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19053 : && ix86_pre_reload_split ()))
19054 : return -1;
19055 : return 6949; /* *avx512fp16_vpternlogv8hf_3 */
19056 :
19057 : case 39:
19058 : if (!(
19059 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19060 : ((64 == 64 || TARGET_AVX512VL
19061 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19062 : && ix86_pre_reload_split ()) &&
19063 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19064 : (TARGET_AVX512F)))
19065 : return -1;
19066 : return 6958; /* *avx512bw_vpternlogv32bf_3 */
19067 :
19068 : case 40:
19069 : if (!(
19070 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19071 : ((32 == 64 || TARGET_AVX512VL
19072 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19073 : && ix86_pre_reload_split ()) &&
19074 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19075 : (TARGET_AVX)))
19076 : return -1;
19077 : return 6967; /* *avx512vl_vpternlogv16bf_3 */
19078 :
19079 : case 41:
19080 : if (!
19081 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19082 : ((16 == 64 || TARGET_AVX512VL
19083 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19084 : && ix86_pre_reload_split ()))
19085 : return -1;
19086 : return 6976; /* *avx512vl_vpternlogv8bf_3 */
19087 :
19088 : case 42:
19089 : if (!(
19090 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19091 : ((64 == 64 || TARGET_AVX512VL
19092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19093 : && ix86_pre_reload_split ()) &&
19094 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19095 : (TARGET_AVX512F)))
19096 : return -1;
19097 : return 6985; /* *avx512f_vpternlogv16sf_3 */
19098 :
19099 : case 43:
19100 : if (!(
19101 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19102 : ((32 == 64 || TARGET_AVX512VL
19103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19104 : && ix86_pre_reload_split ()) &&
19105 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19106 : (TARGET_AVX)))
19107 : return -1;
19108 : return 6994; /* *avx512vl_vpternlogv8sf_3 */
19109 :
19110 : case 44:
19111 : if (!
19112 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19113 : ((16 == 64 || TARGET_AVX512VL
19114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19115 : && ix86_pre_reload_split ()))
19116 : return -1;
19117 : return 7003; /* *avx512vl_vpternlogv4sf_3 */
19118 :
19119 : case 45:
19120 : if (!(
19121 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19122 : ((64 == 64 || TARGET_AVX512VL
19123 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19124 : && ix86_pre_reload_split ()) &&
19125 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19126 : (TARGET_AVX512F)))
19127 : return -1;
19128 : return 7012; /* *avx512f_vpternlogv8df_3 */
19129 :
19130 : case 46:
19131 : if (!(
19132 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19133 : ((32 == 64 || TARGET_AVX512VL
19134 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19135 : && ix86_pre_reload_split ()) &&
19136 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19137 : (TARGET_AVX)))
19138 : return -1;
19139 : return 7021; /* *avx512vl_vpternlogv4df_3 */
19140 :
19141 : case 47:
19142 : if (!(
19143 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19144 : ((16 == 64 || TARGET_AVX512VL
19145 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19146 : && ix86_pre_reload_split ()) &&
19147 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19148 : (TARGET_SSE2)))
19149 : return -1;
19150 : return 7030; /* *avx512vl_vpternlogv2df_3 */
19151 :
19152 : default:
19153 : return -1;
19154 : }
19155 :
19156 : case AND:
19157 : switch (pattern544 (x2))
19158 : {
19159 : case 0:
19160 : if (!(
19161 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19162 : ((64 == 64 || TARGET_AVX512VL
19163 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19164 : && ix86_pre_reload_split ()
19165 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19166 : STRIP_UNARY (operands[4]))
19167 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19168 : STRIP_UNARY (operands[4]))
19169 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19170 : STRIP_UNARY (operands[3]))
19171 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19172 : STRIP_UNARY (operands[3])))) &&
19173 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19174 : (TARGET_AVX512F)))
19175 : return -1;
19176 : return 6499; /* *avx512bw_vpternlogv32hf_2 */
19177 :
19178 : case 1:
19179 : if (!(
19180 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19181 : ((32 == 64 || TARGET_AVX512VL
19182 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19183 : && ix86_pre_reload_split ()
19184 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19185 : STRIP_UNARY (operands[4]))
19186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19187 : STRIP_UNARY (operands[4]))
19188 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19189 : STRIP_UNARY (operands[3]))
19190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19191 : STRIP_UNARY (operands[3])))) &&
19192 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19193 : (TARGET_AVX)))
19194 : return -1;
19195 : return 6526; /* *avx512vl_vpternlogv16hf_2 */
19196 :
19197 : case 2:
19198 : if (!
19199 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19200 : ((16 == 64 || TARGET_AVX512VL
19201 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19202 : && ix86_pre_reload_split ()
19203 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19204 : STRIP_UNARY (operands[4]))
19205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19206 : STRIP_UNARY (operands[4]))
19207 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19208 : STRIP_UNARY (operands[3]))
19209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19210 : STRIP_UNARY (operands[3])))))
19211 : return -1;
19212 : return 6553; /* *avx512fp16_vpternlogv8hf_2 */
19213 :
19214 : case 3:
19215 : if (!(
19216 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19217 : ((64 == 64 || TARGET_AVX512VL
19218 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19219 : && ix86_pre_reload_split ()
19220 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19221 : STRIP_UNARY (operands[4]))
19222 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19223 : STRIP_UNARY (operands[4]))
19224 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19225 : STRIP_UNARY (operands[3]))
19226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19227 : STRIP_UNARY (operands[3])))) &&
19228 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19229 : (TARGET_AVX512F)))
19230 : return -1;
19231 : return 6580; /* *avx512bw_vpternlogv32bf_2 */
19232 :
19233 : case 4:
19234 : if (!(
19235 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19236 : ((32 == 64 || TARGET_AVX512VL
19237 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19238 : && ix86_pre_reload_split ()
19239 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19240 : STRIP_UNARY (operands[4]))
19241 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19242 : STRIP_UNARY (operands[4]))
19243 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19244 : STRIP_UNARY (operands[3]))
19245 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19246 : STRIP_UNARY (operands[3])))) &&
19247 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19248 : (TARGET_AVX)))
19249 : return -1;
19250 : return 6607; /* *avx512vl_vpternlogv16bf_2 */
19251 :
19252 : case 5:
19253 : if (!
19254 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19255 : ((16 == 64 || TARGET_AVX512VL
19256 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19257 : && ix86_pre_reload_split ()
19258 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19259 : STRIP_UNARY (operands[4]))
19260 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19261 : STRIP_UNARY (operands[4]))
19262 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19263 : STRIP_UNARY (operands[3]))
19264 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19265 : STRIP_UNARY (operands[3])))))
19266 : return -1;
19267 : return 6634; /* *avx512vl_vpternlogv8bf_2 */
19268 :
19269 : case 6:
19270 : if (!(
19271 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19272 : ((64 == 64 || TARGET_AVX512VL
19273 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19274 : && ix86_pre_reload_split ()
19275 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19276 : STRIP_UNARY (operands[4]))
19277 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19278 : STRIP_UNARY (operands[4]))
19279 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19280 : STRIP_UNARY (operands[3]))
19281 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19282 : STRIP_UNARY (operands[3])))) &&
19283 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19284 : (TARGET_AVX512F)))
19285 : return -1;
19286 : return 6661; /* *avx512f_vpternlogv16sf_2 */
19287 :
19288 : case 7:
19289 : if (!(
19290 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19291 : ((32 == 64 || TARGET_AVX512VL
19292 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19293 : && ix86_pre_reload_split ()
19294 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19295 : STRIP_UNARY (operands[4]))
19296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19297 : STRIP_UNARY (operands[4]))
19298 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19299 : STRIP_UNARY (operands[3]))
19300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19301 : STRIP_UNARY (operands[3])))) &&
19302 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19303 : (TARGET_AVX)))
19304 : return -1;
19305 : return 6688; /* *avx512vl_vpternlogv8sf_2 */
19306 :
19307 : case 8:
19308 : if (!
19309 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19310 : ((16 == 64 || TARGET_AVX512VL
19311 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19312 : && ix86_pre_reload_split ()
19313 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19314 : STRIP_UNARY (operands[4]))
19315 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19316 : STRIP_UNARY (operands[4]))
19317 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19318 : STRIP_UNARY (operands[3]))
19319 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19320 : STRIP_UNARY (operands[3])))))
19321 : return -1;
19322 : return 6715; /* *avx512vl_vpternlogv4sf_2 */
19323 :
19324 : case 9:
19325 : if (!(
19326 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19327 : ((64 == 64 || TARGET_AVX512VL
19328 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19329 : && ix86_pre_reload_split ()
19330 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19331 : STRIP_UNARY (operands[4]))
19332 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19333 : STRIP_UNARY (operands[4]))
19334 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19335 : STRIP_UNARY (operands[3]))
19336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19337 : STRIP_UNARY (operands[3])))) &&
19338 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19339 : (TARGET_AVX512F)))
19340 : return -1;
19341 : return 6742; /* *avx512f_vpternlogv8df_2 */
19342 :
19343 : case 10:
19344 : if (!(
19345 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19346 : ((32 == 64 || TARGET_AVX512VL
19347 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19348 : && ix86_pre_reload_split ()
19349 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19350 : STRIP_UNARY (operands[4]))
19351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19352 : STRIP_UNARY (operands[4]))
19353 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19354 : STRIP_UNARY (operands[3]))
19355 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19356 : STRIP_UNARY (operands[3])))) &&
19357 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19358 : (TARGET_AVX)))
19359 : return -1;
19360 : return 6769; /* *avx512vl_vpternlogv4df_2 */
19361 :
19362 : case 11:
19363 : if (!(
19364 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19365 : ((16 == 64 || TARGET_AVX512VL
19366 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19367 : && ix86_pre_reload_split ()
19368 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19369 : STRIP_UNARY (operands[4]))
19370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19371 : STRIP_UNARY (operands[4]))
19372 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19373 : STRIP_UNARY (operands[3]))
19374 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19375 : STRIP_UNARY (operands[3])))) &&
19376 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19377 : (TARGET_SSE2)))
19378 : return -1;
19379 : return 6796; /* *avx512vl_vpternlogv2df_2 */
19380 :
19381 : default:
19382 : return -1;
19383 : }
19384 :
19385 : case IOR:
19386 : switch (pattern544 (x2))
19387 : {
19388 : case 0:
19389 : if (!(
19390 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19391 : ((64 == 64 || TARGET_AVX512VL
19392 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19393 : && ix86_pre_reload_split ()
19394 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19395 : STRIP_UNARY (operands[4]))
19396 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19397 : STRIP_UNARY (operands[4]))
19398 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19399 : STRIP_UNARY (operands[3]))
19400 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19401 : STRIP_UNARY (operands[3])))) &&
19402 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19403 : (TARGET_AVX512F)))
19404 : return -1;
19405 : return 6502; /* *avx512bw_vpternlogv32hf_2 */
19406 :
19407 : case 1:
19408 : if (!(
19409 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19410 : ((32 == 64 || TARGET_AVX512VL
19411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19412 : && ix86_pre_reload_split ()
19413 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19414 : STRIP_UNARY (operands[4]))
19415 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19416 : STRIP_UNARY (operands[4]))
19417 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19418 : STRIP_UNARY (operands[3]))
19419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19420 : STRIP_UNARY (operands[3])))) &&
19421 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19422 : (TARGET_AVX)))
19423 : return -1;
19424 : return 6529; /* *avx512vl_vpternlogv16hf_2 */
19425 :
19426 : case 2:
19427 : if (!
19428 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19429 : ((16 == 64 || TARGET_AVX512VL
19430 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19431 : && ix86_pre_reload_split ()
19432 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19433 : STRIP_UNARY (operands[4]))
19434 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19435 : STRIP_UNARY (operands[4]))
19436 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19437 : STRIP_UNARY (operands[3]))
19438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19439 : STRIP_UNARY (operands[3])))))
19440 : return -1;
19441 : return 6556; /* *avx512fp16_vpternlogv8hf_2 */
19442 :
19443 : case 3:
19444 : if (!(
19445 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19446 : ((64 == 64 || TARGET_AVX512VL
19447 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19448 : && ix86_pre_reload_split ()
19449 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19450 : STRIP_UNARY (operands[4]))
19451 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19452 : STRIP_UNARY (operands[4]))
19453 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19454 : STRIP_UNARY (operands[3]))
19455 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19456 : STRIP_UNARY (operands[3])))) &&
19457 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19458 : (TARGET_AVX512F)))
19459 : return -1;
19460 : return 6583; /* *avx512bw_vpternlogv32bf_2 */
19461 :
19462 : case 4:
19463 : if (!(
19464 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19465 : ((32 == 64 || TARGET_AVX512VL
19466 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19467 : && ix86_pre_reload_split ()
19468 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19469 : STRIP_UNARY (operands[4]))
19470 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19471 : STRIP_UNARY (operands[4]))
19472 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19473 : STRIP_UNARY (operands[3]))
19474 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19475 : STRIP_UNARY (operands[3])))) &&
19476 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19477 : (TARGET_AVX)))
19478 : return -1;
19479 : return 6610; /* *avx512vl_vpternlogv16bf_2 */
19480 :
19481 : case 5:
19482 : if (!
19483 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19484 : ((16 == 64 || TARGET_AVX512VL
19485 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19486 : && ix86_pre_reload_split ()
19487 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19488 : STRIP_UNARY (operands[4]))
19489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19490 : STRIP_UNARY (operands[4]))
19491 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19492 : STRIP_UNARY (operands[3]))
19493 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19494 : STRIP_UNARY (operands[3])))))
19495 : return -1;
19496 : return 6637; /* *avx512vl_vpternlogv8bf_2 */
19497 :
19498 : case 6:
19499 : if (!(
19500 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19501 : ((64 == 64 || TARGET_AVX512VL
19502 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19503 : && ix86_pre_reload_split ()
19504 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19505 : STRIP_UNARY (operands[4]))
19506 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19507 : STRIP_UNARY (operands[4]))
19508 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19509 : STRIP_UNARY (operands[3]))
19510 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19511 : STRIP_UNARY (operands[3])))) &&
19512 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19513 : (TARGET_AVX512F)))
19514 : return -1;
19515 : return 6664; /* *avx512f_vpternlogv16sf_2 */
19516 :
19517 : case 7:
19518 : if (!(
19519 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19520 : ((32 == 64 || TARGET_AVX512VL
19521 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19522 : && ix86_pre_reload_split ()
19523 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19524 : STRIP_UNARY (operands[4]))
19525 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19526 : STRIP_UNARY (operands[4]))
19527 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19528 : STRIP_UNARY (operands[3]))
19529 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19530 : STRIP_UNARY (operands[3])))) &&
19531 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19532 : (TARGET_AVX)))
19533 : return -1;
19534 : return 6691; /* *avx512vl_vpternlogv8sf_2 */
19535 :
19536 : case 8:
19537 : if (!
19538 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19539 : ((16 == 64 || TARGET_AVX512VL
19540 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19541 : && ix86_pre_reload_split ()
19542 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19543 : STRIP_UNARY (operands[4]))
19544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19545 : STRIP_UNARY (operands[4]))
19546 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19547 : STRIP_UNARY (operands[3]))
19548 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19549 : STRIP_UNARY (operands[3])))))
19550 : return -1;
19551 : return 6718; /* *avx512vl_vpternlogv4sf_2 */
19552 :
19553 : case 9:
19554 : if (!(
19555 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19556 : ((64 == 64 || TARGET_AVX512VL
19557 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19558 : && ix86_pre_reload_split ()
19559 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19560 : STRIP_UNARY (operands[4]))
19561 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19562 : STRIP_UNARY (operands[4]))
19563 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19564 : STRIP_UNARY (operands[3]))
19565 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19566 : STRIP_UNARY (operands[3])))) &&
19567 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19568 : (TARGET_AVX512F)))
19569 : return -1;
19570 : return 6745; /* *avx512f_vpternlogv8df_2 */
19571 :
19572 : case 10:
19573 : if (!(
19574 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19575 : ((32 == 64 || TARGET_AVX512VL
19576 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19577 : && ix86_pre_reload_split ()
19578 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19579 : STRIP_UNARY (operands[4]))
19580 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19581 : STRIP_UNARY (operands[4]))
19582 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19583 : STRIP_UNARY (operands[3]))
19584 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19585 : STRIP_UNARY (operands[3])))) &&
19586 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19587 : (TARGET_AVX)))
19588 : return -1;
19589 : return 6772; /* *avx512vl_vpternlogv4df_2 */
19590 :
19591 : case 11:
19592 : if (!(
19593 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19594 : ((16 == 64 || TARGET_AVX512VL
19595 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19596 : && ix86_pre_reload_split ()
19597 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19598 : STRIP_UNARY (operands[4]))
19599 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19600 : STRIP_UNARY (operands[4]))
19601 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19602 : STRIP_UNARY (operands[3]))
19603 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19604 : STRIP_UNARY (operands[3])))) &&
19605 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19606 : (TARGET_SSE2)))
19607 : return -1;
19608 : return 6799; /* *avx512vl_vpternlogv2df_2 */
19609 :
19610 : default:
19611 : return -1;
19612 : }
19613 :
19614 : case XOR:
19615 : switch (pattern544 (x2))
19616 : {
19617 : case 0:
19618 : if (!(
19619 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19620 : ((64 == 64 || TARGET_AVX512VL
19621 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19622 : && ix86_pre_reload_split ()
19623 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19624 : STRIP_UNARY (operands[4]))
19625 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19626 : STRIP_UNARY (operands[4]))
19627 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19628 : STRIP_UNARY (operands[3]))
19629 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19630 : STRIP_UNARY (operands[3])))) &&
19631 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19632 : (TARGET_AVX512F)))
19633 : return -1;
19634 : return 6505; /* *avx512bw_vpternlogv32hf_2 */
19635 :
19636 : case 1:
19637 : if (!(
19638 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19639 : ((32 == 64 || TARGET_AVX512VL
19640 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19641 : && ix86_pre_reload_split ()
19642 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19643 : STRIP_UNARY (operands[4]))
19644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19645 : STRIP_UNARY (operands[4]))
19646 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19647 : STRIP_UNARY (operands[3]))
19648 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19649 : STRIP_UNARY (operands[3])))) &&
19650 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19651 : (TARGET_AVX)))
19652 : return -1;
19653 : return 6532; /* *avx512vl_vpternlogv16hf_2 */
19654 :
19655 : case 2:
19656 : if (!
19657 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19658 : ((16 == 64 || TARGET_AVX512VL
19659 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19660 : && ix86_pre_reload_split ()
19661 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19662 : STRIP_UNARY (operands[4]))
19663 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19664 : STRIP_UNARY (operands[4]))
19665 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19666 : STRIP_UNARY (operands[3]))
19667 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19668 : STRIP_UNARY (operands[3])))))
19669 : return -1;
19670 : return 6559; /* *avx512fp16_vpternlogv8hf_2 */
19671 :
19672 : case 3:
19673 : if (!(
19674 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19675 : ((64 == 64 || TARGET_AVX512VL
19676 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19677 : && ix86_pre_reload_split ()
19678 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19679 : STRIP_UNARY (operands[4]))
19680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19681 : STRIP_UNARY (operands[4]))
19682 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19683 : STRIP_UNARY (operands[3]))
19684 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19685 : STRIP_UNARY (operands[3])))) &&
19686 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19687 : (TARGET_AVX512F)))
19688 : return -1;
19689 : return 6586; /* *avx512bw_vpternlogv32bf_2 */
19690 :
19691 : case 4:
19692 : if (!(
19693 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19694 : ((32 == 64 || TARGET_AVX512VL
19695 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19696 : && ix86_pre_reload_split ()
19697 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19698 : STRIP_UNARY (operands[4]))
19699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19700 : STRIP_UNARY (operands[4]))
19701 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19702 : STRIP_UNARY (operands[3]))
19703 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19704 : STRIP_UNARY (operands[3])))) &&
19705 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19706 : (TARGET_AVX)))
19707 : return -1;
19708 : return 6613; /* *avx512vl_vpternlogv16bf_2 */
19709 :
19710 : case 5:
19711 : if (!
19712 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19713 : ((16 == 64 || TARGET_AVX512VL
19714 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19715 : && ix86_pre_reload_split ()
19716 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19717 : STRIP_UNARY (operands[4]))
19718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19719 : STRIP_UNARY (operands[4]))
19720 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19721 : STRIP_UNARY (operands[3]))
19722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19723 : STRIP_UNARY (operands[3])))))
19724 : return -1;
19725 : return 6640; /* *avx512vl_vpternlogv8bf_2 */
19726 :
19727 : case 6:
19728 : if (!(
19729 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19730 : ((64 == 64 || TARGET_AVX512VL
19731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19732 : && ix86_pre_reload_split ()
19733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19734 : STRIP_UNARY (operands[4]))
19735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19736 : STRIP_UNARY (operands[4]))
19737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19738 : STRIP_UNARY (operands[3]))
19739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19740 : STRIP_UNARY (operands[3])))) &&
19741 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19742 : (TARGET_AVX512F)))
19743 : return -1;
19744 : return 6667; /* *avx512f_vpternlogv16sf_2 */
19745 :
19746 : case 7:
19747 : if (!(
19748 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19749 : ((32 == 64 || TARGET_AVX512VL
19750 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19751 : && ix86_pre_reload_split ()
19752 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19753 : STRIP_UNARY (operands[4]))
19754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19755 : STRIP_UNARY (operands[4]))
19756 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19757 : STRIP_UNARY (operands[3]))
19758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19759 : STRIP_UNARY (operands[3])))) &&
19760 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19761 : (TARGET_AVX)))
19762 : return -1;
19763 : return 6694; /* *avx512vl_vpternlogv8sf_2 */
19764 :
19765 : case 8:
19766 : if (!
19767 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19768 : ((16 == 64 || TARGET_AVX512VL
19769 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19770 : && ix86_pre_reload_split ()
19771 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19772 : STRIP_UNARY (operands[4]))
19773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19774 : STRIP_UNARY (operands[4]))
19775 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19776 : STRIP_UNARY (operands[3]))
19777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19778 : STRIP_UNARY (operands[3])))))
19779 : return -1;
19780 : return 6721; /* *avx512vl_vpternlogv4sf_2 */
19781 :
19782 : case 9:
19783 : if (!(
19784 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19785 : ((64 == 64 || TARGET_AVX512VL
19786 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19787 : && ix86_pre_reload_split ()
19788 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19789 : STRIP_UNARY (operands[4]))
19790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19791 : STRIP_UNARY (operands[4]))
19792 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19793 : STRIP_UNARY (operands[3]))
19794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19795 : STRIP_UNARY (operands[3])))) &&
19796 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19797 : (TARGET_AVX512F)))
19798 : return -1;
19799 : return 6748; /* *avx512f_vpternlogv8df_2 */
19800 :
19801 : case 10:
19802 : if (!(
19803 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19804 : ((32 == 64 || TARGET_AVX512VL
19805 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19806 : && ix86_pre_reload_split ()
19807 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19808 : STRIP_UNARY (operands[4]))
19809 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19810 : STRIP_UNARY (operands[4]))
19811 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19812 : STRIP_UNARY (operands[3]))
19813 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19814 : STRIP_UNARY (operands[3])))) &&
19815 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19816 : (TARGET_AVX)))
19817 : return -1;
19818 : return 6775; /* *avx512vl_vpternlogv4df_2 */
19819 :
19820 : case 11:
19821 : if (!(
19822 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19823 : ((16 == 64 || TARGET_AVX512VL
19824 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19825 : && ix86_pre_reload_split ()
19826 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19827 : STRIP_UNARY (operands[4]))
19828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19829 : STRIP_UNARY (operands[4]))
19830 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19831 : STRIP_UNARY (operands[3]))
19832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19833 : STRIP_UNARY (operands[3])))) &&
19834 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19835 : (TARGET_SSE2)))
19836 : return -1;
19837 : return 6802; /* *avx512vl_vpternlogv2df_2 */
19838 :
19839 : default:
19840 : return -1;
19841 : }
19842 :
19843 : default:
19844 : return -1;
19845 : }
19846 :
19847 : case IOR:
19848 : x4 = XEXP (x3, 0);
19849 : switch (GET_CODE (x4))
19850 : {
19851 : case REG:
19852 : case SUBREG:
19853 : case MEM:
19854 : case NOT:
19855 : switch (pattern543 (x2))
19856 : {
19857 : case 0:
19858 : if (!(
19859 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19860 : ((64 == 64 || TARGET_AVX512VL
19861 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19862 : && ix86_pre_reload_split ()
19863 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19864 : STRIP_UNARY (operands[4]))
19865 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19866 : STRIP_UNARY (operands[4]))
19867 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19868 : STRIP_UNARY (operands[3]))
19869 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19870 : STRIP_UNARY (operands[3])))) &&
19871 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19872 : (TARGET_AVX512F)))
19873 : return -1;
19874 : return 5860; /* *avx512bw_vpternlogv32hf_1 */
19875 :
19876 : case 1:
19877 : if (!(
19878 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19879 : ((32 == 64 || TARGET_AVX512VL
19880 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19881 : && ix86_pre_reload_split ()
19882 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19883 : STRIP_UNARY (operands[4]))
19884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19885 : STRIP_UNARY (operands[4]))
19886 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19887 : STRIP_UNARY (operands[3]))
19888 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19889 : STRIP_UNARY (operands[3])))) &&
19890 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19891 : (TARGET_AVX)))
19892 : return -1;
19893 : return 5887; /* *avx512vl_vpternlogv16hf_1 */
19894 :
19895 : case 2:
19896 : if (!
19897 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19898 : ((16 == 64 || TARGET_AVX512VL
19899 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19900 : && ix86_pre_reload_split ()
19901 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19902 : STRIP_UNARY (operands[4]))
19903 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19904 : STRIP_UNARY (operands[4]))
19905 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19906 : STRIP_UNARY (operands[3]))
19907 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19908 : STRIP_UNARY (operands[3])))))
19909 : return -1;
19910 : return 5914; /* *avx512fp16_vpternlogv8hf_1 */
19911 :
19912 : case 3:
19913 : if (!(
19914 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19915 : ((64 == 64 || TARGET_AVX512VL
19916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19917 : && ix86_pre_reload_split ()
19918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19919 : STRIP_UNARY (operands[4]))
19920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19921 : STRIP_UNARY (operands[4]))
19922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19923 : STRIP_UNARY (operands[3]))
19924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19925 : STRIP_UNARY (operands[3])))) &&
19926 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19927 : (TARGET_AVX512F)))
19928 : return -1;
19929 : return 5941; /* *avx512bw_vpternlogv32bf_1 */
19930 :
19931 : case 4:
19932 : if (!(
19933 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19934 : ((32 == 64 || TARGET_AVX512VL
19935 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19936 : && ix86_pre_reload_split ()
19937 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19938 : STRIP_UNARY (operands[4]))
19939 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19940 : STRIP_UNARY (operands[4]))
19941 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19942 : STRIP_UNARY (operands[3]))
19943 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19944 : STRIP_UNARY (operands[3])))) &&
19945 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19946 : (TARGET_AVX)))
19947 : return -1;
19948 : return 5968; /* *avx512vl_vpternlogv16bf_1 */
19949 :
19950 : case 5:
19951 : if (!
19952 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19953 : ((16 == 64 || TARGET_AVX512VL
19954 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19955 : && ix86_pre_reload_split ()
19956 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19957 : STRIP_UNARY (operands[4]))
19958 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19959 : STRIP_UNARY (operands[4]))
19960 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19961 : STRIP_UNARY (operands[3]))
19962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19963 : STRIP_UNARY (operands[3])))))
19964 : return -1;
19965 : return 5995; /* *avx512vl_vpternlogv8bf_1 */
19966 :
19967 : case 6:
19968 : if (!(
19969 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19970 : ((64 == 64 || TARGET_AVX512VL
19971 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19972 : && ix86_pre_reload_split ()
19973 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19974 : STRIP_UNARY (operands[4]))
19975 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19976 : STRIP_UNARY (operands[4]))
19977 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19978 : STRIP_UNARY (operands[3]))
19979 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19980 : STRIP_UNARY (operands[3])))) &&
19981 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19982 : (TARGET_AVX512F)))
19983 : return -1;
19984 : return 6022; /* *avx512f_vpternlogv16sf_1 */
19985 :
19986 : case 7:
19987 : if (!(
19988 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19989 : ((32 == 64 || TARGET_AVX512VL
19990 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19991 : && ix86_pre_reload_split ()
19992 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19993 : STRIP_UNARY (operands[4]))
19994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19995 : STRIP_UNARY (operands[4]))
19996 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19997 : STRIP_UNARY (operands[3]))
19998 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19999 : STRIP_UNARY (operands[3])))) &&
20000 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20001 : (TARGET_AVX)))
20002 : return -1;
20003 : return 6049; /* *avx512vl_vpternlogv8sf_1 */
20004 :
20005 : case 8:
20006 : if (!
20007 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20008 : ((16 == 64 || TARGET_AVX512VL
20009 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20010 : && ix86_pre_reload_split ()
20011 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20012 : STRIP_UNARY (operands[4]))
20013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20014 : STRIP_UNARY (operands[4]))
20015 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20016 : STRIP_UNARY (operands[3]))
20017 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20018 : STRIP_UNARY (operands[3])))))
20019 : return -1;
20020 : return 6076; /* *avx512vl_vpternlogv4sf_1 */
20021 :
20022 : case 9:
20023 : if (!(
20024 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20025 : ((64 == 64 || TARGET_AVX512VL
20026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20027 : && ix86_pre_reload_split ()
20028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20029 : STRIP_UNARY (operands[4]))
20030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20031 : STRIP_UNARY (operands[4]))
20032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20033 : STRIP_UNARY (operands[3]))
20034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20035 : STRIP_UNARY (operands[3])))) &&
20036 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20037 : (TARGET_AVX512F)))
20038 : return -1;
20039 : return 6103; /* *avx512f_vpternlogv8df_1 */
20040 :
20041 : case 10:
20042 : if (!(
20043 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20044 : ((32 == 64 || TARGET_AVX512VL
20045 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20046 : && ix86_pre_reload_split ()
20047 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20048 : STRIP_UNARY (operands[4]))
20049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20050 : STRIP_UNARY (operands[4]))
20051 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20052 : STRIP_UNARY (operands[3]))
20053 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20054 : STRIP_UNARY (operands[3])))) &&
20055 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20056 : (TARGET_AVX)))
20057 : return -1;
20058 : return 6130; /* *avx512vl_vpternlogv4df_1 */
20059 :
20060 : case 11:
20061 : if (!(
20062 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20063 : ((16 == 64 || TARGET_AVX512VL
20064 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20065 : && ix86_pre_reload_split ()
20066 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20067 : STRIP_UNARY (operands[4]))
20068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20069 : STRIP_UNARY (operands[4]))
20070 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20071 : STRIP_UNARY (operands[3]))
20072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20073 : STRIP_UNARY (operands[3])))) &&
20074 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20075 : (TARGET_SSE2)))
20076 : return -1;
20077 : return 6157; /* *avx512vl_vpternlogv2df_1 */
20078 :
20079 : case 12:
20080 : if (!(
20081 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20082 : ((64 == 64 || TARGET_AVX512VL
20083 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20084 : && ix86_pre_reload_split ()
20085 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20086 : STRIP_UNARY (operands[4]))
20087 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20088 : STRIP_UNARY (operands[4]))
20089 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20090 : STRIP_UNARY (operands[3]))
20091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20092 : STRIP_UNARY (operands[3])))) &&
20093 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20094 : (TARGET_AVX512F)))
20095 : return -1;
20096 : return 5863; /* *avx512bw_vpternlogv32hf_1 */
20097 :
20098 : case 13:
20099 : if (!(
20100 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20101 : ((32 == 64 || TARGET_AVX512VL
20102 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20103 : && ix86_pre_reload_split ()
20104 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20105 : STRIP_UNARY (operands[4]))
20106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20107 : STRIP_UNARY (operands[4]))
20108 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20109 : STRIP_UNARY (operands[3]))
20110 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20111 : STRIP_UNARY (operands[3])))) &&
20112 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20113 : (TARGET_AVX)))
20114 : return -1;
20115 : return 5890; /* *avx512vl_vpternlogv16hf_1 */
20116 :
20117 : case 14:
20118 : if (!
20119 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20120 : ((16 == 64 || TARGET_AVX512VL
20121 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20122 : && ix86_pre_reload_split ()
20123 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20124 : STRIP_UNARY (operands[4]))
20125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20126 : STRIP_UNARY (operands[4]))
20127 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20128 : STRIP_UNARY (operands[3]))
20129 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20130 : STRIP_UNARY (operands[3])))))
20131 : return -1;
20132 : return 5917; /* *avx512fp16_vpternlogv8hf_1 */
20133 :
20134 : case 15:
20135 : if (!(
20136 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20137 : ((64 == 64 || TARGET_AVX512VL
20138 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20139 : && ix86_pre_reload_split ()
20140 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20141 : STRIP_UNARY (operands[4]))
20142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20143 : STRIP_UNARY (operands[4]))
20144 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20145 : STRIP_UNARY (operands[3]))
20146 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20147 : STRIP_UNARY (operands[3])))) &&
20148 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20149 : (TARGET_AVX512F)))
20150 : return -1;
20151 : return 5944; /* *avx512bw_vpternlogv32bf_1 */
20152 :
20153 : case 16:
20154 : if (!(
20155 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20156 : ((32 == 64 || TARGET_AVX512VL
20157 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20158 : && ix86_pre_reload_split ()
20159 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20160 : STRIP_UNARY (operands[4]))
20161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20162 : STRIP_UNARY (operands[4]))
20163 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20164 : STRIP_UNARY (operands[3]))
20165 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20166 : STRIP_UNARY (operands[3])))) &&
20167 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20168 : (TARGET_AVX)))
20169 : return -1;
20170 : return 5971; /* *avx512vl_vpternlogv16bf_1 */
20171 :
20172 : case 17:
20173 : if (!
20174 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20175 : ((16 == 64 || TARGET_AVX512VL
20176 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20177 : && ix86_pre_reload_split ()
20178 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20179 : STRIP_UNARY (operands[4]))
20180 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20181 : STRIP_UNARY (operands[4]))
20182 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20183 : STRIP_UNARY (operands[3]))
20184 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20185 : STRIP_UNARY (operands[3])))))
20186 : return -1;
20187 : return 5998; /* *avx512vl_vpternlogv8bf_1 */
20188 :
20189 : case 18:
20190 : if (!(
20191 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20192 : ((64 == 64 || TARGET_AVX512VL
20193 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20194 : && ix86_pre_reload_split ()
20195 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20196 : STRIP_UNARY (operands[4]))
20197 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20198 : STRIP_UNARY (operands[4]))
20199 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20200 : STRIP_UNARY (operands[3]))
20201 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20202 : STRIP_UNARY (operands[3])))) &&
20203 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20204 : (TARGET_AVX512F)))
20205 : return -1;
20206 : return 6025; /* *avx512f_vpternlogv16sf_1 */
20207 :
20208 : case 19:
20209 : if (!(
20210 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20211 : ((32 == 64 || TARGET_AVX512VL
20212 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20213 : && ix86_pre_reload_split ()
20214 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20215 : STRIP_UNARY (operands[4]))
20216 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20217 : STRIP_UNARY (operands[4]))
20218 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20219 : STRIP_UNARY (operands[3]))
20220 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20221 : STRIP_UNARY (operands[3])))) &&
20222 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20223 : (TARGET_AVX)))
20224 : return -1;
20225 : return 6052; /* *avx512vl_vpternlogv8sf_1 */
20226 :
20227 : case 20:
20228 : if (!
20229 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20230 : ((16 == 64 || TARGET_AVX512VL
20231 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20232 : && ix86_pre_reload_split ()
20233 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20234 : STRIP_UNARY (operands[4]))
20235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20236 : STRIP_UNARY (operands[4]))
20237 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20238 : STRIP_UNARY (operands[3]))
20239 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20240 : STRIP_UNARY (operands[3])))))
20241 : return -1;
20242 : return 6079; /* *avx512vl_vpternlogv4sf_1 */
20243 :
20244 : case 21:
20245 : if (!(
20246 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20247 : ((64 == 64 || TARGET_AVX512VL
20248 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20249 : && ix86_pre_reload_split ()
20250 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20251 : STRIP_UNARY (operands[4]))
20252 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20253 : STRIP_UNARY (operands[4]))
20254 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20255 : STRIP_UNARY (operands[3]))
20256 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20257 : STRIP_UNARY (operands[3])))) &&
20258 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20259 : (TARGET_AVX512F)))
20260 : return -1;
20261 : return 6106; /* *avx512f_vpternlogv8df_1 */
20262 :
20263 : case 22:
20264 : if (!(
20265 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20266 : ((32 == 64 || TARGET_AVX512VL
20267 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20268 : && ix86_pre_reload_split ()
20269 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20270 : STRIP_UNARY (operands[4]))
20271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20272 : STRIP_UNARY (operands[4]))
20273 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20274 : STRIP_UNARY (operands[3]))
20275 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20276 : STRIP_UNARY (operands[3])))) &&
20277 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20278 : (TARGET_AVX)))
20279 : return -1;
20280 : return 6133; /* *avx512vl_vpternlogv4df_1 */
20281 :
20282 : case 23:
20283 : if (!(
20284 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20285 : ((16 == 64 || TARGET_AVX512VL
20286 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20287 : && ix86_pre_reload_split ()
20288 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20289 : STRIP_UNARY (operands[4]))
20290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20291 : STRIP_UNARY (operands[4]))
20292 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20293 : STRIP_UNARY (operands[3]))
20294 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20295 : STRIP_UNARY (operands[3])))) &&
20296 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20297 : (TARGET_SSE2)))
20298 : return -1;
20299 : return 6160; /* *avx512vl_vpternlogv2df_1 */
20300 :
20301 : case 24:
20302 : if (!(
20303 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20304 : ((64 == 64 || TARGET_AVX512VL
20305 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20306 : && ix86_pre_reload_split ()
20307 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20308 : STRIP_UNARY (operands[4]))
20309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20310 : STRIP_UNARY (operands[4]))
20311 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20312 : STRIP_UNARY (operands[3]))
20313 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20314 : STRIP_UNARY (operands[3])))) &&
20315 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20316 : (TARGET_AVX512F)))
20317 : return -1;
20318 : return 5866; /* *avx512bw_vpternlogv32hf_1 */
20319 :
20320 : case 25:
20321 : if (!(
20322 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20323 : ((32 == 64 || TARGET_AVX512VL
20324 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20325 : && ix86_pre_reload_split ()
20326 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20327 : STRIP_UNARY (operands[4]))
20328 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20329 : STRIP_UNARY (operands[4]))
20330 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20331 : STRIP_UNARY (operands[3]))
20332 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20333 : STRIP_UNARY (operands[3])))) &&
20334 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20335 : (TARGET_AVX)))
20336 : return -1;
20337 : return 5893; /* *avx512vl_vpternlogv16hf_1 */
20338 :
20339 : case 26:
20340 : if (!
20341 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20342 : ((16 == 64 || TARGET_AVX512VL
20343 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20344 : && ix86_pre_reload_split ()
20345 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20346 : STRIP_UNARY (operands[4]))
20347 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20348 : STRIP_UNARY (operands[4]))
20349 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20350 : STRIP_UNARY (operands[3]))
20351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20352 : STRIP_UNARY (operands[3])))))
20353 : return -1;
20354 : return 5920; /* *avx512fp16_vpternlogv8hf_1 */
20355 :
20356 : case 27:
20357 : if (!(
20358 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20359 : ((64 == 64 || TARGET_AVX512VL
20360 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20361 : && ix86_pre_reload_split ()
20362 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20363 : STRIP_UNARY (operands[4]))
20364 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20365 : STRIP_UNARY (operands[4]))
20366 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20367 : STRIP_UNARY (operands[3]))
20368 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20369 : STRIP_UNARY (operands[3])))) &&
20370 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20371 : (TARGET_AVX512F)))
20372 : return -1;
20373 : return 5947; /* *avx512bw_vpternlogv32bf_1 */
20374 :
20375 : case 28:
20376 : if (!(
20377 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20378 : ((32 == 64 || TARGET_AVX512VL
20379 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20380 : && ix86_pre_reload_split ()
20381 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20382 : STRIP_UNARY (operands[4]))
20383 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20384 : STRIP_UNARY (operands[4]))
20385 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20386 : STRIP_UNARY (operands[3]))
20387 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20388 : STRIP_UNARY (operands[3])))) &&
20389 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20390 : (TARGET_AVX)))
20391 : return -1;
20392 : return 5974; /* *avx512vl_vpternlogv16bf_1 */
20393 :
20394 : case 29:
20395 : if (!
20396 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20397 : ((16 == 64 || TARGET_AVX512VL
20398 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20399 : && ix86_pre_reload_split ()
20400 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20401 : STRIP_UNARY (operands[4]))
20402 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20403 : STRIP_UNARY (operands[4]))
20404 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20405 : STRIP_UNARY (operands[3]))
20406 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20407 : STRIP_UNARY (operands[3])))))
20408 : return -1;
20409 : return 6001; /* *avx512vl_vpternlogv8bf_1 */
20410 :
20411 : case 30:
20412 : if (!(
20413 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20414 : ((64 == 64 || TARGET_AVX512VL
20415 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20416 : && ix86_pre_reload_split ()
20417 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20418 : STRIP_UNARY (operands[4]))
20419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20420 : STRIP_UNARY (operands[4]))
20421 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20422 : STRIP_UNARY (operands[3]))
20423 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20424 : STRIP_UNARY (operands[3])))) &&
20425 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20426 : (TARGET_AVX512F)))
20427 : return -1;
20428 : return 6028; /* *avx512f_vpternlogv16sf_1 */
20429 :
20430 : case 31:
20431 : if (!(
20432 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20433 : ((32 == 64 || TARGET_AVX512VL
20434 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20435 : && ix86_pre_reload_split ()
20436 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20437 : STRIP_UNARY (operands[4]))
20438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20439 : STRIP_UNARY (operands[4]))
20440 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20441 : STRIP_UNARY (operands[3]))
20442 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20443 : STRIP_UNARY (operands[3])))) &&
20444 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20445 : (TARGET_AVX)))
20446 : return -1;
20447 : return 6055; /* *avx512vl_vpternlogv8sf_1 */
20448 :
20449 : case 32:
20450 : if (!
20451 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20452 : ((16 == 64 || TARGET_AVX512VL
20453 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20454 : && ix86_pre_reload_split ()
20455 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20456 : STRIP_UNARY (operands[4]))
20457 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20458 : STRIP_UNARY (operands[4]))
20459 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20460 : STRIP_UNARY (operands[3]))
20461 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20462 : STRIP_UNARY (operands[3])))))
20463 : return -1;
20464 : return 6082; /* *avx512vl_vpternlogv4sf_1 */
20465 :
20466 : case 33:
20467 : if (!(
20468 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20469 : ((64 == 64 || TARGET_AVX512VL
20470 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20471 : && ix86_pre_reload_split ()
20472 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20473 : STRIP_UNARY (operands[4]))
20474 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20475 : STRIP_UNARY (operands[4]))
20476 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20477 : STRIP_UNARY (operands[3]))
20478 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20479 : STRIP_UNARY (operands[3])))) &&
20480 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20481 : (TARGET_AVX512F)))
20482 : return -1;
20483 : return 6109; /* *avx512f_vpternlogv8df_1 */
20484 :
20485 : case 34:
20486 : if (!(
20487 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20488 : ((32 == 64 || TARGET_AVX512VL
20489 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20490 : && ix86_pre_reload_split ()
20491 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20492 : STRIP_UNARY (operands[4]))
20493 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20494 : STRIP_UNARY (operands[4]))
20495 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20496 : STRIP_UNARY (operands[3]))
20497 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20498 : STRIP_UNARY (operands[3])))) &&
20499 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20500 : (TARGET_AVX)))
20501 : return -1;
20502 : return 6136; /* *avx512vl_vpternlogv4df_1 */
20503 :
20504 : case 35:
20505 : if (!(
20506 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20507 : ((16 == 64 || TARGET_AVX512VL
20508 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20509 : && ix86_pre_reload_split ()
20510 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20511 : STRIP_UNARY (operands[4]))
20512 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20513 : STRIP_UNARY (operands[4]))
20514 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20515 : STRIP_UNARY (operands[3]))
20516 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20517 : STRIP_UNARY (operands[3])))) &&
20518 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20519 : (TARGET_SSE2)))
20520 : return -1;
20521 : return 6163; /* *avx512vl_vpternlogv2df_1 */
20522 :
20523 : case 36:
20524 : if (!(
20525 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20526 : ((64 == 64 || TARGET_AVX512VL
20527 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20528 : && ix86_pre_reload_split ()) &&
20529 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20530 : (TARGET_AVX512F)))
20531 : return -1;
20532 : return 6934; /* *avx512bw_vpternlogv32hf_3 */
20533 :
20534 : case 37:
20535 : if (!(
20536 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20537 : ((32 == 64 || TARGET_AVX512VL
20538 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20539 : && ix86_pre_reload_split ()) &&
20540 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20541 : (TARGET_AVX)))
20542 : return -1;
20543 : return 6943; /* *avx512vl_vpternlogv16hf_3 */
20544 :
20545 : case 38:
20546 : if (!
20547 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20548 : ((16 == 64 || TARGET_AVX512VL
20549 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20550 : && ix86_pre_reload_split ()))
20551 : return -1;
20552 : return 6952; /* *avx512fp16_vpternlogv8hf_3 */
20553 :
20554 : case 39:
20555 : if (!(
20556 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20557 : ((64 == 64 || TARGET_AVX512VL
20558 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20559 : && ix86_pre_reload_split ()) &&
20560 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20561 : (TARGET_AVX512F)))
20562 : return -1;
20563 : return 6961; /* *avx512bw_vpternlogv32bf_3 */
20564 :
20565 : case 40:
20566 : if (!(
20567 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20568 : ((32 == 64 || TARGET_AVX512VL
20569 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20570 : && ix86_pre_reload_split ()) &&
20571 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20572 : (TARGET_AVX)))
20573 : return -1;
20574 : return 6970; /* *avx512vl_vpternlogv16bf_3 */
20575 :
20576 : case 41:
20577 : if (!
20578 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20579 : ((16 == 64 || TARGET_AVX512VL
20580 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20581 : && ix86_pre_reload_split ()))
20582 : return -1;
20583 : return 6979; /* *avx512vl_vpternlogv8bf_3 */
20584 :
20585 : case 42:
20586 : if (!(
20587 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20588 : ((64 == 64 || TARGET_AVX512VL
20589 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20590 : && ix86_pre_reload_split ()) &&
20591 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20592 : (TARGET_AVX512F)))
20593 : return -1;
20594 : return 6988; /* *avx512f_vpternlogv16sf_3 */
20595 :
20596 : case 43:
20597 : if (!(
20598 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20599 : ((32 == 64 || TARGET_AVX512VL
20600 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20601 : && ix86_pre_reload_split ()) &&
20602 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20603 : (TARGET_AVX)))
20604 : return -1;
20605 : return 6997; /* *avx512vl_vpternlogv8sf_3 */
20606 :
20607 : case 44:
20608 : if (!
20609 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20610 : ((16 == 64 || TARGET_AVX512VL
20611 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20612 : && ix86_pre_reload_split ()))
20613 : return -1;
20614 : return 7006; /* *avx512vl_vpternlogv4sf_3 */
20615 :
20616 : case 45:
20617 : if (!(
20618 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20619 : ((64 == 64 || TARGET_AVX512VL
20620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20621 : && ix86_pre_reload_split ()) &&
20622 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20623 : (TARGET_AVX512F)))
20624 : return -1;
20625 : return 7015; /* *avx512f_vpternlogv8df_3 */
20626 :
20627 : case 46:
20628 : if (!(
20629 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20630 : ((32 == 64 || TARGET_AVX512VL
20631 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20632 : && ix86_pre_reload_split ()) &&
20633 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20634 : (TARGET_AVX)))
20635 : return -1;
20636 : return 7024; /* *avx512vl_vpternlogv4df_3 */
20637 :
20638 : case 47:
20639 : if (!(
20640 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20641 : ((16 == 64 || TARGET_AVX512VL
20642 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20643 : && ix86_pre_reload_split ()) &&
20644 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20645 : (TARGET_SSE2)))
20646 : return -1;
20647 : return 7033; /* *avx512vl_vpternlogv2df_3 */
20648 :
20649 : default:
20650 : return -1;
20651 : }
20652 :
20653 : case AND:
20654 : switch (pattern544 (x2))
20655 : {
20656 : case 0:
20657 : if (!(
20658 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20659 : ((64 == 64 || TARGET_AVX512VL
20660 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20661 : && ix86_pre_reload_split ()
20662 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20663 : STRIP_UNARY (operands[4]))
20664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20665 : STRIP_UNARY (operands[4]))
20666 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20667 : STRIP_UNARY (operands[3]))
20668 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20669 : STRIP_UNARY (operands[3])))) &&
20670 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20671 : (TARGET_AVX512F)))
20672 : return -1;
20673 : return 6508; /* *avx512bw_vpternlogv32hf_2 */
20674 :
20675 : case 1:
20676 : if (!(
20677 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20678 : ((32 == 64 || TARGET_AVX512VL
20679 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20680 : && ix86_pre_reload_split ()
20681 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20682 : STRIP_UNARY (operands[4]))
20683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20684 : STRIP_UNARY (operands[4]))
20685 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20686 : STRIP_UNARY (operands[3]))
20687 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20688 : STRIP_UNARY (operands[3])))) &&
20689 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20690 : (TARGET_AVX)))
20691 : return -1;
20692 : return 6535; /* *avx512vl_vpternlogv16hf_2 */
20693 :
20694 : case 2:
20695 : if (!
20696 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20697 : ((16 == 64 || TARGET_AVX512VL
20698 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20699 : && ix86_pre_reload_split ()
20700 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20701 : STRIP_UNARY (operands[4]))
20702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20703 : STRIP_UNARY (operands[4]))
20704 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20705 : STRIP_UNARY (operands[3]))
20706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20707 : STRIP_UNARY (operands[3])))))
20708 : return -1;
20709 : return 6562; /* *avx512fp16_vpternlogv8hf_2 */
20710 :
20711 : case 3:
20712 : if (!(
20713 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20714 : ((64 == 64 || TARGET_AVX512VL
20715 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20716 : && ix86_pre_reload_split ()
20717 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20718 : STRIP_UNARY (operands[4]))
20719 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20720 : STRIP_UNARY (operands[4]))
20721 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20722 : STRIP_UNARY (operands[3]))
20723 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20724 : STRIP_UNARY (operands[3])))) &&
20725 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20726 : (TARGET_AVX512F)))
20727 : return -1;
20728 : return 6589; /* *avx512bw_vpternlogv32bf_2 */
20729 :
20730 : case 4:
20731 : if (!(
20732 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20733 : ((32 == 64 || TARGET_AVX512VL
20734 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20735 : && ix86_pre_reload_split ()
20736 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20737 : STRIP_UNARY (operands[4]))
20738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20739 : STRIP_UNARY (operands[4]))
20740 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20741 : STRIP_UNARY (operands[3]))
20742 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20743 : STRIP_UNARY (operands[3])))) &&
20744 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20745 : (TARGET_AVX)))
20746 : return -1;
20747 : return 6616; /* *avx512vl_vpternlogv16bf_2 */
20748 :
20749 : case 5:
20750 : if (!
20751 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20752 : ((16 == 64 || TARGET_AVX512VL
20753 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20754 : && ix86_pre_reload_split ()
20755 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20756 : STRIP_UNARY (operands[4]))
20757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20758 : STRIP_UNARY (operands[4]))
20759 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20760 : STRIP_UNARY (operands[3]))
20761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20762 : STRIP_UNARY (operands[3])))))
20763 : return -1;
20764 : return 6643; /* *avx512vl_vpternlogv8bf_2 */
20765 :
20766 : case 6:
20767 : if (!(
20768 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20769 : ((64 == 64 || TARGET_AVX512VL
20770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20771 : && ix86_pre_reload_split ()
20772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20773 : STRIP_UNARY (operands[4]))
20774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20775 : STRIP_UNARY (operands[4]))
20776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20777 : STRIP_UNARY (operands[3]))
20778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20779 : STRIP_UNARY (operands[3])))) &&
20780 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20781 : (TARGET_AVX512F)))
20782 : return -1;
20783 : return 6670; /* *avx512f_vpternlogv16sf_2 */
20784 :
20785 : case 7:
20786 : if (!(
20787 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20788 : ((32 == 64 || TARGET_AVX512VL
20789 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20790 : && ix86_pre_reload_split ()
20791 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20792 : STRIP_UNARY (operands[4]))
20793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20794 : STRIP_UNARY (operands[4]))
20795 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20796 : STRIP_UNARY (operands[3]))
20797 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20798 : STRIP_UNARY (operands[3])))) &&
20799 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20800 : (TARGET_AVX)))
20801 : return -1;
20802 : return 6697; /* *avx512vl_vpternlogv8sf_2 */
20803 :
20804 : case 8:
20805 : if (!
20806 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20807 : ((16 == 64 || TARGET_AVX512VL
20808 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20809 : && ix86_pre_reload_split ()
20810 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20811 : STRIP_UNARY (operands[4]))
20812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20813 : STRIP_UNARY (operands[4]))
20814 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20815 : STRIP_UNARY (operands[3]))
20816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20817 : STRIP_UNARY (operands[3])))))
20818 : return -1;
20819 : return 6724; /* *avx512vl_vpternlogv4sf_2 */
20820 :
20821 : case 9:
20822 : if (!(
20823 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20824 : ((64 == 64 || TARGET_AVX512VL
20825 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20826 : && ix86_pre_reload_split ()
20827 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20828 : STRIP_UNARY (operands[4]))
20829 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20830 : STRIP_UNARY (operands[4]))
20831 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20832 : STRIP_UNARY (operands[3]))
20833 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20834 : STRIP_UNARY (operands[3])))) &&
20835 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20836 : (TARGET_AVX512F)))
20837 : return -1;
20838 : return 6751; /* *avx512f_vpternlogv8df_2 */
20839 :
20840 : case 10:
20841 : if (!(
20842 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20843 : ((32 == 64 || TARGET_AVX512VL
20844 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20845 : && ix86_pre_reload_split ()
20846 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20847 : STRIP_UNARY (operands[4]))
20848 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20849 : STRIP_UNARY (operands[4]))
20850 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20851 : STRIP_UNARY (operands[3]))
20852 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20853 : STRIP_UNARY (operands[3])))) &&
20854 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20855 : (TARGET_AVX)))
20856 : return -1;
20857 : return 6778; /* *avx512vl_vpternlogv4df_2 */
20858 :
20859 : case 11:
20860 : if (!(
20861 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20862 : ((16 == 64 || TARGET_AVX512VL
20863 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20864 : && ix86_pre_reload_split ()
20865 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20866 : STRIP_UNARY (operands[4]))
20867 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20868 : STRIP_UNARY (operands[4]))
20869 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20870 : STRIP_UNARY (operands[3]))
20871 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20872 : STRIP_UNARY (operands[3])))) &&
20873 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20874 : (TARGET_SSE2)))
20875 : return -1;
20876 : return 6805; /* *avx512vl_vpternlogv2df_2 */
20877 :
20878 : default:
20879 : return -1;
20880 : }
20881 :
20882 : case IOR:
20883 : switch (pattern544 (x2))
20884 : {
20885 : case 0:
20886 : if (!(
20887 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20888 : ((64 == 64 || TARGET_AVX512VL
20889 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20890 : && ix86_pre_reload_split ()
20891 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20892 : STRIP_UNARY (operands[4]))
20893 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20894 : STRIP_UNARY (operands[4]))
20895 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20896 : STRIP_UNARY (operands[3]))
20897 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20898 : STRIP_UNARY (operands[3])))) &&
20899 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20900 : (TARGET_AVX512F)))
20901 : return -1;
20902 : return 6511; /* *avx512bw_vpternlogv32hf_2 */
20903 :
20904 : case 1:
20905 : if (!(
20906 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20907 : ((32 == 64 || TARGET_AVX512VL
20908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20909 : && ix86_pre_reload_split ()
20910 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20911 : STRIP_UNARY (operands[4]))
20912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20913 : STRIP_UNARY (operands[4]))
20914 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20915 : STRIP_UNARY (operands[3]))
20916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20917 : STRIP_UNARY (operands[3])))) &&
20918 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20919 : (TARGET_AVX)))
20920 : return -1;
20921 : return 6538; /* *avx512vl_vpternlogv16hf_2 */
20922 :
20923 : case 2:
20924 : if (!
20925 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20926 : ((16 == 64 || TARGET_AVX512VL
20927 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20928 : && ix86_pre_reload_split ()
20929 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20930 : STRIP_UNARY (operands[4]))
20931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20932 : STRIP_UNARY (operands[4]))
20933 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20934 : STRIP_UNARY (operands[3]))
20935 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20936 : STRIP_UNARY (operands[3])))))
20937 : return -1;
20938 : return 6565; /* *avx512fp16_vpternlogv8hf_2 */
20939 :
20940 : case 3:
20941 : if (!(
20942 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20943 : ((64 == 64 || TARGET_AVX512VL
20944 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20945 : && ix86_pre_reload_split ()
20946 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20947 : STRIP_UNARY (operands[4]))
20948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20949 : STRIP_UNARY (operands[4]))
20950 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20951 : STRIP_UNARY (operands[3]))
20952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20953 : STRIP_UNARY (operands[3])))) &&
20954 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20955 : (TARGET_AVX512F)))
20956 : return -1;
20957 : return 6592; /* *avx512bw_vpternlogv32bf_2 */
20958 :
20959 : case 4:
20960 : if (!(
20961 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20962 : ((32 == 64 || TARGET_AVX512VL
20963 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20964 : && ix86_pre_reload_split ()
20965 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20966 : STRIP_UNARY (operands[4]))
20967 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20968 : STRIP_UNARY (operands[4]))
20969 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20970 : STRIP_UNARY (operands[3]))
20971 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20972 : STRIP_UNARY (operands[3])))) &&
20973 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20974 : (TARGET_AVX)))
20975 : return -1;
20976 : return 6619; /* *avx512vl_vpternlogv16bf_2 */
20977 :
20978 : case 5:
20979 : if (!
20980 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20981 : ((16 == 64 || TARGET_AVX512VL
20982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20983 : && ix86_pre_reload_split ()
20984 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20985 : STRIP_UNARY (operands[4]))
20986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20987 : STRIP_UNARY (operands[4]))
20988 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20989 : STRIP_UNARY (operands[3]))
20990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20991 : STRIP_UNARY (operands[3])))))
20992 : return -1;
20993 : return 6646; /* *avx512vl_vpternlogv8bf_2 */
20994 :
20995 : case 6:
20996 : if (!(
20997 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20998 : ((64 == 64 || TARGET_AVX512VL
20999 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21000 : && ix86_pre_reload_split ()
21001 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21002 : STRIP_UNARY (operands[4]))
21003 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21004 : STRIP_UNARY (operands[4]))
21005 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21006 : STRIP_UNARY (operands[3]))
21007 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21008 : STRIP_UNARY (operands[3])))) &&
21009 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21010 : (TARGET_AVX512F)))
21011 : return -1;
21012 : return 6673; /* *avx512f_vpternlogv16sf_2 */
21013 :
21014 : case 7:
21015 : if (!(
21016 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21017 : ((32 == 64 || TARGET_AVX512VL
21018 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21019 : && ix86_pre_reload_split ()
21020 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21021 : STRIP_UNARY (operands[4]))
21022 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21023 : STRIP_UNARY (operands[4]))
21024 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21025 : STRIP_UNARY (operands[3]))
21026 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21027 : STRIP_UNARY (operands[3])))) &&
21028 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21029 : (TARGET_AVX)))
21030 : return -1;
21031 : return 6700; /* *avx512vl_vpternlogv8sf_2 */
21032 :
21033 : case 8:
21034 : if (!
21035 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21036 : ((16 == 64 || TARGET_AVX512VL
21037 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21038 : && ix86_pre_reload_split ()
21039 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21040 : STRIP_UNARY (operands[4]))
21041 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21042 : STRIP_UNARY (operands[4]))
21043 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21044 : STRIP_UNARY (operands[3]))
21045 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21046 : STRIP_UNARY (operands[3])))))
21047 : return -1;
21048 : return 6727; /* *avx512vl_vpternlogv4sf_2 */
21049 :
21050 : case 9:
21051 : if (!(
21052 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21053 : ((64 == 64 || TARGET_AVX512VL
21054 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21055 : && ix86_pre_reload_split ()
21056 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21057 : STRIP_UNARY (operands[4]))
21058 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21059 : STRIP_UNARY (operands[4]))
21060 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21061 : STRIP_UNARY (operands[3]))
21062 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21063 : STRIP_UNARY (operands[3])))) &&
21064 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21065 : (TARGET_AVX512F)))
21066 : return -1;
21067 : return 6754; /* *avx512f_vpternlogv8df_2 */
21068 :
21069 : case 10:
21070 : if (!(
21071 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21072 : ((32 == 64 || TARGET_AVX512VL
21073 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21074 : && ix86_pre_reload_split ()
21075 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21076 : STRIP_UNARY (operands[4]))
21077 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21078 : STRIP_UNARY (operands[4]))
21079 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21080 : STRIP_UNARY (operands[3]))
21081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21082 : STRIP_UNARY (operands[3])))) &&
21083 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21084 : (TARGET_AVX)))
21085 : return -1;
21086 : return 6781; /* *avx512vl_vpternlogv4df_2 */
21087 :
21088 : case 11:
21089 : if (!(
21090 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21091 : ((16 == 64 || TARGET_AVX512VL
21092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21093 : && ix86_pre_reload_split ()
21094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21095 : STRIP_UNARY (operands[4]))
21096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21097 : STRIP_UNARY (operands[4]))
21098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21099 : STRIP_UNARY (operands[3]))
21100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21101 : STRIP_UNARY (operands[3])))) &&
21102 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21103 : (TARGET_SSE2)))
21104 : return -1;
21105 : return 6808; /* *avx512vl_vpternlogv2df_2 */
21106 :
21107 : default:
21108 : return -1;
21109 : }
21110 :
21111 : case XOR:
21112 : switch (pattern544 (x2))
21113 : {
21114 : case 0:
21115 : if (!(
21116 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21117 : ((64 == 64 || TARGET_AVX512VL
21118 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21119 : && ix86_pre_reload_split ()
21120 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21121 : STRIP_UNARY (operands[4]))
21122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21123 : STRIP_UNARY (operands[4]))
21124 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21125 : STRIP_UNARY (operands[3]))
21126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21127 : STRIP_UNARY (operands[3])))) &&
21128 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21129 : (TARGET_AVX512F)))
21130 : return -1;
21131 : return 6514; /* *avx512bw_vpternlogv32hf_2 */
21132 :
21133 : case 1:
21134 : if (!(
21135 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21136 : ((32 == 64 || TARGET_AVX512VL
21137 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21138 : && ix86_pre_reload_split ()
21139 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21140 : STRIP_UNARY (operands[4]))
21141 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21142 : STRIP_UNARY (operands[4]))
21143 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21144 : STRIP_UNARY (operands[3]))
21145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21146 : STRIP_UNARY (operands[3])))) &&
21147 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21148 : (TARGET_AVX)))
21149 : return -1;
21150 : return 6541; /* *avx512vl_vpternlogv16hf_2 */
21151 :
21152 : case 2:
21153 : if (!
21154 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21155 : ((16 == 64 || TARGET_AVX512VL
21156 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21157 : && ix86_pre_reload_split ()
21158 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21159 : STRIP_UNARY (operands[4]))
21160 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21161 : STRIP_UNARY (operands[4]))
21162 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21163 : STRIP_UNARY (operands[3]))
21164 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21165 : STRIP_UNARY (operands[3])))))
21166 : return -1;
21167 : return 6568; /* *avx512fp16_vpternlogv8hf_2 */
21168 :
21169 : case 3:
21170 : if (!(
21171 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21172 : ((64 == 64 || TARGET_AVX512VL
21173 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21174 : && ix86_pre_reload_split ()
21175 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21176 : STRIP_UNARY (operands[4]))
21177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21178 : STRIP_UNARY (operands[4]))
21179 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21180 : STRIP_UNARY (operands[3]))
21181 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21182 : STRIP_UNARY (operands[3])))) &&
21183 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21184 : (TARGET_AVX512F)))
21185 : return -1;
21186 : return 6595; /* *avx512bw_vpternlogv32bf_2 */
21187 :
21188 : case 4:
21189 : if (!(
21190 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21191 : ((32 == 64 || TARGET_AVX512VL
21192 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21193 : && ix86_pre_reload_split ()
21194 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21195 : STRIP_UNARY (operands[4]))
21196 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21197 : STRIP_UNARY (operands[4]))
21198 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21199 : STRIP_UNARY (operands[3]))
21200 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21201 : STRIP_UNARY (operands[3])))) &&
21202 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21203 : (TARGET_AVX)))
21204 : return -1;
21205 : return 6622; /* *avx512vl_vpternlogv16bf_2 */
21206 :
21207 : case 5:
21208 : if (!
21209 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21210 : ((16 == 64 || TARGET_AVX512VL
21211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21212 : && ix86_pre_reload_split ()
21213 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21214 : STRIP_UNARY (operands[4]))
21215 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21216 : STRIP_UNARY (operands[4]))
21217 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21218 : STRIP_UNARY (operands[3]))
21219 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21220 : STRIP_UNARY (operands[3])))))
21221 : return -1;
21222 : return 6649; /* *avx512vl_vpternlogv8bf_2 */
21223 :
21224 : case 6:
21225 : if (!(
21226 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21227 : ((64 == 64 || TARGET_AVX512VL
21228 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21229 : && ix86_pre_reload_split ()
21230 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21231 : STRIP_UNARY (operands[4]))
21232 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21233 : STRIP_UNARY (operands[4]))
21234 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21235 : STRIP_UNARY (operands[3]))
21236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21237 : STRIP_UNARY (operands[3])))) &&
21238 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21239 : (TARGET_AVX512F)))
21240 : return -1;
21241 : return 6676; /* *avx512f_vpternlogv16sf_2 */
21242 :
21243 : case 7:
21244 : if (!(
21245 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21246 : ((32 == 64 || TARGET_AVX512VL
21247 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21248 : && ix86_pre_reload_split ()
21249 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21250 : STRIP_UNARY (operands[4]))
21251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21252 : STRIP_UNARY (operands[4]))
21253 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21254 : STRIP_UNARY (operands[3]))
21255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21256 : STRIP_UNARY (operands[3])))) &&
21257 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21258 : (TARGET_AVX)))
21259 : return -1;
21260 : return 6703; /* *avx512vl_vpternlogv8sf_2 */
21261 :
21262 : case 8:
21263 : if (!
21264 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21265 : ((16 == 64 || TARGET_AVX512VL
21266 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21267 : && ix86_pre_reload_split ()
21268 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21269 : STRIP_UNARY (operands[4]))
21270 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21271 : STRIP_UNARY (operands[4]))
21272 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21273 : STRIP_UNARY (operands[3]))
21274 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21275 : STRIP_UNARY (operands[3])))))
21276 : return -1;
21277 : return 6730; /* *avx512vl_vpternlogv4sf_2 */
21278 :
21279 : case 9:
21280 : if (!(
21281 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21282 : ((64 == 64 || TARGET_AVX512VL
21283 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21284 : && ix86_pre_reload_split ()
21285 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21286 : STRIP_UNARY (operands[4]))
21287 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21288 : STRIP_UNARY (operands[4]))
21289 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21290 : STRIP_UNARY (operands[3]))
21291 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21292 : STRIP_UNARY (operands[3])))) &&
21293 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21294 : (TARGET_AVX512F)))
21295 : return -1;
21296 : return 6757; /* *avx512f_vpternlogv8df_2 */
21297 :
21298 : case 10:
21299 : if (!(
21300 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21301 : ((32 == 64 || TARGET_AVX512VL
21302 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21303 : && ix86_pre_reload_split ()
21304 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21305 : STRIP_UNARY (operands[4]))
21306 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21307 : STRIP_UNARY (operands[4]))
21308 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21309 : STRIP_UNARY (operands[3]))
21310 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21311 : STRIP_UNARY (operands[3])))) &&
21312 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21313 : (TARGET_AVX)))
21314 : return -1;
21315 : return 6784; /* *avx512vl_vpternlogv4df_2 */
21316 :
21317 : case 11:
21318 : if (!(
21319 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21320 : ((16 == 64 || TARGET_AVX512VL
21321 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21322 : && ix86_pre_reload_split ()
21323 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21324 : STRIP_UNARY (operands[4]))
21325 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21326 : STRIP_UNARY (operands[4]))
21327 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21328 : STRIP_UNARY (operands[3]))
21329 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21330 : STRIP_UNARY (operands[3])))) &&
21331 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21332 : (TARGET_SSE2)))
21333 : return -1;
21334 : return 6811; /* *avx512vl_vpternlogv2df_2 */
21335 :
21336 : default:
21337 : return -1;
21338 : }
21339 :
21340 : default:
21341 : return -1;
21342 : }
21343 :
21344 : case XOR:
21345 : return recog_315 (x1, insn, pnum_clobbers);
21346 :
21347 : default:
21348 : return -1;
21349 : }
21350 : }
21351 :
21352 : int
21353 : recog_378 (rtx x1 ATTRIBUTE_UNUSED,
21354 : rtx_insn *insn ATTRIBUTE_UNUSED,
21355 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21356 : {
21357 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21358 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21359 : rtx x10;
21360 : int res ATTRIBUTE_UNUSED;
21361 : if (pattern346 (x1) != 0)
21362 : return -1;
21363 : x2 = XVECEXP (x1, 0, 0);
21364 : x3 = XEXP (x2, 1);
21365 : x4 = XEXP (x3, 0);
21366 : x5 = XEXP (x4, 0);
21367 : switch (GET_CODE (x5))
21368 : {
21369 : case REG:
21370 : case SUBREG:
21371 : case MEM:
21372 : operands[1] = x5;
21373 : x6 = XEXP (x4, 1);
21374 : operands[2] = x6;
21375 : switch (GET_MODE (operands[0]))
21376 : {
21377 : case E_HImode:
21378 : if (!register_operand (operands[0], E_HImode)
21379 : || GET_MODE (x3) != E_HImode
21380 : || GET_MODE (x4) != E_QImode
21381 : || !nonimmediate_operand (operands[1], E_QImode)
21382 : || !general_operand (operands[2], E_QImode)
21383 : || !
21384 : #line 6810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21385 : (TARGET_APX_NDD && true
21386 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21387 : return -1;
21388 : return 291; /* *addqi_1_zexthi */
21389 :
21390 : case E_SImode:
21391 : if (!register_operand (operands[0], E_SImode)
21392 : || GET_MODE (x3) != E_SImode)
21393 : return -1;
21394 : switch (GET_MODE (x4))
21395 : {
21396 : case E_QImode:
21397 : if (!nonimmediate_operand (operands[1], E_QImode)
21398 : || !general_operand (operands[2], E_QImode)
21399 : || !
21400 : #line 6810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21401 : (TARGET_APX_NDD && true
21402 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21403 : return -1;
21404 : return 293; /* *addqi_1_zextsi */
21405 :
21406 : case E_HImode:
21407 : if (!nonimmediate_operand (operands[1], E_HImode)
21408 : || !general_operand (operands[2], E_HImode)
21409 : || !
21410 : #line 6848 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21411 : (TARGET_APX_NDD && true
21412 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21413 : return -1;
21414 : return 297; /* *addhi_1_zextsi */
21415 :
21416 : default:
21417 : return -1;
21418 : }
21419 :
21420 : case E_DImode:
21421 : if (!register_operand (operands[0], E_DImode)
21422 : || GET_MODE (x3) != E_DImode)
21423 : return -1;
21424 : switch (GET_MODE (x4))
21425 : {
21426 : case E_QImode:
21427 : if (!nonimmediate_operand (operands[1], E_QImode)
21428 : || !general_operand (operands[2], E_QImode)
21429 : || !
21430 : #line 6810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21431 : (TARGET_APX_NDD && true
21432 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21433 : return -1;
21434 : return 295; /* *addqi_1_zextdi */
21435 :
21436 : case E_HImode:
21437 : if (!nonimmediate_operand (operands[1], E_HImode)
21438 : || !general_operand (operands[2], E_HImode)
21439 : || !
21440 : #line 6848 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21441 : (TARGET_APX_NDD && true
21442 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21443 : return -1;
21444 : return 299; /* *addhi_1_zextdi */
21445 :
21446 : case E_SImode:
21447 : if (!nonimmediate_operand (operands[1], E_SImode)
21448 : || !x86_64_general_operand (operands[2], E_SImode)
21449 : || !
21450 : #line 6893 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21451 : (TARGET_64BIT
21452 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21453 : return -1;
21454 : return 300; /* addsi_1_zext */
21455 :
21456 : default:
21457 : return -1;
21458 : }
21459 :
21460 : default:
21461 : return -1;
21462 : }
21463 :
21464 : case PLUS:
21465 : x7 = XEXP (x5, 0);
21466 : switch (GET_CODE (x7))
21467 : {
21468 : case LTU:
21469 : case UNLT:
21470 : operands[3] = x7;
21471 : x8 = XEXP (x7, 0);
21472 : if (GET_CODE (x8) != REG
21473 : || REGNO (x8) != 17)
21474 : return -1;
21475 : x9 = XEXP (x7, 1);
21476 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21477 : return -1;
21478 : x10 = XEXP (x5, 1);
21479 : operands[1] = x10;
21480 : x6 = XEXP (x4, 1);
21481 : operands[2] = x6;
21482 : switch (pattern1164 (x3))
21483 : {
21484 : case 0:
21485 : if (pattern1770 (x5,
21486 : E_QImode) != 0
21487 : || !
21488 : #line 9093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21489 : (TARGET_APX_NDD
21490 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21491 : return -1;
21492 : return 481; /* *addqi3_carry_zexthi */
21493 :
21494 : case 1:
21495 : if (pattern1770 (x5,
21496 : E_QImode) != 0
21497 : || !
21498 : #line 9093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21499 : (TARGET_APX_NDD
21500 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21501 : return -1;
21502 : return 482; /* *addqi3_carry_zextsi */
21503 :
21504 : case 2:
21505 : if (pattern1770 (x5,
21506 : E_HImode) != 0
21507 : || !
21508 : #line 9112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21509 : (TARGET_APX_NDD
21510 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21511 : return -1;
21512 : return 484; /* *addhi3_carry_zextsi */
21513 :
21514 : case 3:
21515 : if (pattern1770 (x5,
21516 : E_QImode) != 0
21517 : || !
21518 : #line 9093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21519 : (TARGET_APX_NDD
21520 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21521 : return -1;
21522 : return 483; /* *addqi3_carry_zextdi */
21523 :
21524 : case 4:
21525 : if (pattern1770 (x5,
21526 : E_HImode) != 0
21527 : || !
21528 : #line 9112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21529 : (TARGET_APX_NDD
21530 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21531 : return -1;
21532 : return 485; /* *addhi3_carry_zextdi */
21533 :
21534 : case 5:
21535 : if (pattern1770 (x5,
21536 : E_SImode) != 0
21537 : || !
21538 : #line 9131 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21539 : (TARGET_64BIT
21540 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21541 : return -1;
21542 : return 486; /* *addsi3_carry_zext */
21543 :
21544 : default:
21545 : return -1;
21546 : }
21547 :
21548 : default:
21549 : return -1;
21550 : }
21551 :
21552 : case LTU:
21553 : case UNLT:
21554 : switch (pattern1165 (x3))
21555 : {
21556 : case 0:
21557 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
21558 : || !nonimmediate_operand (operands[1], E_QImode)
21559 : || !
21560 : #line 9150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21561 : (TARGET_APX_NDD))
21562 : return -1;
21563 : return 487; /* *addqi3_carry_zexthi_0 */
21564 :
21565 : case 1:
21566 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
21567 : || !nonimmediate_operand (operands[1], E_QImode)
21568 : || !
21569 : #line 9150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21570 : (TARGET_APX_NDD))
21571 : return -1;
21572 : return 488; /* *addqi3_carry_zextsi_0 */
21573 :
21574 : case 2:
21575 : if (!ix86_carry_flag_operator (operands[2], E_HImode)
21576 : || !nonimmediate_operand (operands[1], E_HImode)
21577 : || !
21578 : #line 9164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21579 : (TARGET_APX_NDD))
21580 : return -1;
21581 : return 490; /* *addhi3_carry_zextsi_0 */
21582 :
21583 : case 3:
21584 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
21585 : || !nonimmediate_operand (operands[1], E_QImode)
21586 : || !
21587 : #line 9150 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21588 : (TARGET_APX_NDD))
21589 : return -1;
21590 : return 489; /* *addqi3_carry_zextdi_0 */
21591 :
21592 : case 4:
21593 : if (!ix86_carry_flag_operator (operands[2], E_HImode)
21594 : || !nonimmediate_operand (operands[1], E_HImode)
21595 : || !
21596 : #line 9164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21597 : (TARGET_APX_NDD))
21598 : return -1;
21599 : return 491; /* *addhi3_carry_zextdi_0 */
21600 :
21601 : case 5:
21602 : if (!ix86_carry_flag_operator (operands[2], E_SImode)
21603 : || !nonimmediate_operand (operands[1], E_SImode)
21604 : || !
21605 : #line 9178 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21606 : (TARGET_64BIT))
21607 : return -1;
21608 : return 492; /* *addsi3_carry_zext_0 */
21609 :
21610 : default:
21611 : return -1;
21612 : }
21613 :
21614 : case GE:
21615 : case GEU:
21616 : switch (pattern1165 (x3))
21617 : {
21618 : case 0:
21619 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
21620 : || !nonimmediate_operand (operands[1], E_QImode)
21621 : || !
21622 : #line 9195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21623 : (TARGET_APX_NDD))
21624 : return -1;
21625 : return 493; /* *addqi3_carry_zexthi_0r */
21626 :
21627 : case 1:
21628 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
21629 : || !nonimmediate_operand (operands[1], E_QImode)
21630 : || !
21631 : #line 9195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21632 : (TARGET_APX_NDD))
21633 : return -1;
21634 : return 494; /* *addqi3_carry_zextsi_0r */
21635 :
21636 : case 2:
21637 : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
21638 : || !nonimmediate_operand (operands[1], E_HImode)
21639 : || !
21640 : #line 9209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21641 : (TARGET_APX_NDD))
21642 : return -1;
21643 : return 496; /* *addhi3_carry_zextsi_0r */
21644 :
21645 : case 3:
21646 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
21647 : || !nonimmediate_operand (operands[1], E_QImode)
21648 : || !
21649 : #line 9195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21650 : (TARGET_APX_NDD))
21651 : return -1;
21652 : return 495; /* *addqi3_carry_zextdi_0r */
21653 :
21654 : case 4:
21655 : if (!ix86_carry_flag_unset_operator (operands[2], E_HImode)
21656 : || !nonimmediate_operand (operands[1], E_HImode)
21657 : || !
21658 : #line 9209 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21659 : (TARGET_APX_NDD))
21660 : return -1;
21661 : return 497; /* *addhi3_carry_zextdi_0r */
21662 :
21663 : case 5:
21664 : if (!ix86_carry_flag_unset_operator (operands[2], E_SImode)
21665 : || !nonimmediate_operand (operands[1], E_SImode)
21666 : || !
21667 : #line 9223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21668 : (TARGET_64BIT))
21669 : return -1;
21670 : return 498; /* *addsi3_carry_zext_0r */
21671 :
21672 : default:
21673 : return -1;
21674 : }
21675 :
21676 : case UNSPEC:
21677 : if (pattern1166 (x5) != 0
21678 : || !register_operand (operands[0], E_DImode)
21679 : || GET_MODE (x3) != E_DImode
21680 : || GET_MODE (x4) != E_SImode)
21681 : return -1;
21682 : x6 = XEXP (x4, 1);
21683 : operands[1] = x6;
21684 : if (!register_operand (operands[1], E_SImode)
21685 : || !
21686 : #line 23538 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21687 : (TARGET_X32))
21688 : return -1;
21689 : return 1689; /* *add_tp_x32_zext */
21690 :
21691 : default:
21692 : return -1;
21693 : }
21694 : }
21695 :
21696 : int
21697 : recog_387 (rtx x1 ATTRIBUTE_UNUSED,
21698 : rtx_insn *insn ATTRIBUTE_UNUSED,
21699 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21700 : {
21701 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21702 : rtx x2, x3, x4, x5, x6, x7, x8;
21703 : int res ATTRIBUTE_UNUSED;
21704 : x2 = XVECEXP (x1, 0, 0);
21705 : x3 = XEXP (x2, 1);
21706 : x4 = XEXP (x3, 1);
21707 : if (XWINT (x4, 0) != 0L)
21708 : return -1;
21709 : x5 = XVECEXP (x1, 0, 1);
21710 : switch (GET_CODE (x5))
21711 : {
21712 : case SET:
21713 : x6 = XEXP (x5, 0);
21714 : operands[0] = x6;
21715 : x7 = XEXP (x5, 1);
21716 : switch (GET_CODE (x7))
21717 : {
21718 : case PLUS:
21719 : switch (pattern1496 (x1))
21720 : {
21721 : case 0:
21722 : if (!
21723 : #line 7255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21724 : (ix86_match_ccmode (insn, CCGOCmode)
21725 : && ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
21726 : return -1;
21727 : return 313; /* *addqi_2 */
21728 :
21729 : case 1:
21730 : if (!
21731 : #line 7255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21732 : (ix86_match_ccmode (insn, CCGOCmode)
21733 : && ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
21734 : return -1;
21735 : return 314; /* *addhi_2 */
21736 :
21737 : case 2:
21738 : if (!
21739 : #line 7255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21740 : (ix86_match_ccmode (insn, CCGOCmode)
21741 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21742 : return -1;
21743 : return 315; /* *addsi_2 */
21744 :
21745 : case 3:
21746 : if (!(
21747 : #line 7255 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21748 : (ix86_match_ccmode (insn, CCGOCmode)
21749 : && ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
21750 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21751 : (TARGET_64BIT)))
21752 : return -1;
21753 : return 316; /* *adddi_2 */
21754 :
21755 : default:
21756 : return -1;
21757 : }
21758 :
21759 : case ZERO_EXTEND:
21760 : if (pattern1436 (x1,
21761 : PLUS) != 0
21762 : || !
21763 : #line 7305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21764 : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
21765 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21766 : return -1;
21767 : return 317; /* *addsi_2_zext */
21768 :
21769 : default:
21770 : return -1;
21771 : }
21772 :
21773 : case CLOBBER:
21774 : x6 = XEXP (x5, 0);
21775 : operands[0] = x6;
21776 : x8 = XEXP (x3, 0);
21777 : switch (pattern1329 (x8))
21778 : {
21779 : case 0:
21780 : if (!
21781 : #line 7537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21782 : (ix86_match_ccmode (insn, CCGOCmode)
21783 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21784 : return -1;
21785 : return 327; /* *addqi_5 */
21786 :
21787 : case 1:
21788 : if (!
21789 : #line 7537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21790 : (ix86_match_ccmode (insn, CCGOCmode)
21791 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21792 : return -1;
21793 : return 328; /* *addhi_5 */
21794 :
21795 : case 2:
21796 : if (!
21797 : #line 7537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21798 : (ix86_match_ccmode (insn, CCGOCmode)
21799 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21800 : return -1;
21801 : return 329; /* *addsi_5 */
21802 :
21803 : case 3:
21804 : if (!(
21805 : #line 7537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21806 : (ix86_match_ccmode (insn, CCGOCmode)
21807 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21808 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21809 : (TARGET_64BIT)))
21810 : return -1;
21811 : return 330; /* *adddi_5 */
21812 :
21813 : default:
21814 : return -1;
21815 : }
21816 :
21817 : default:
21818 : return -1;
21819 : }
21820 : }
21821 :
21822 : int
21823 : recog_391 (rtx x1 ATTRIBUTE_UNUSED,
21824 : rtx_insn *insn ATTRIBUTE_UNUSED,
21825 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21826 : {
21827 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21828 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21829 : rtx x10, x11;
21830 : int res ATTRIBUTE_UNUSED;
21831 : x2 = XVECEXP (x1, 0, 0);
21832 : x3 = XEXP (x2, 0);
21833 : if (GET_CODE (x3) != REG
21834 : || REGNO (x3) != 17)
21835 : return -1;
21836 : x4 = XVECEXP (x1, 0, 1);
21837 : if (GET_CODE (x4) != SET)
21838 : return -1;
21839 : x5 = XEXP (x2, 1);
21840 : x6 = XEXP (x5, 0);
21841 : x7 = XEXP (x6, 1);
21842 : operands[2] = x7;
21843 : x8 = XEXP (x4, 0);
21844 : operands[0] = x8;
21845 : x9 = XEXP (x4, 1);
21846 : switch (GET_CODE (x9))
21847 : {
21848 : case AND:
21849 : x10 = XEXP (x9, 0);
21850 : if (!rtx_equal_p (x10, operands[1]))
21851 : return -1;
21852 : x11 = XEXP (x9, 1);
21853 : if (!rtx_equal_p (x11, operands[2]))
21854 : return -1;
21855 : switch (GET_MODE (x6))
21856 : {
21857 : case E_DImode:
21858 : if (!nonimmediate_operand (operands[1], E_DImode)
21859 : || !x86_64_szext_general_operand (operands[2], E_DImode)
21860 : || !nonimmediate_operand (operands[0], E_DImode)
21861 : || GET_MODE (x9) != E_DImode
21862 : || !
21863 : #line 13328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21864 : (TARGET_64BIT
21865 : && ix86_match_ccmode
21866 : (insn,
21867 : /* If we are going to emit andl instead of andq, and the operands[2]
21868 : constant might have the SImode sign bit set, make sure the sign
21869 : flag isn't tested, because the instruction will set the sign flag
21870 : based on bit 31 rather than bit 63. If it isn't CONST_INT,
21871 : conservatively assume it might have bit 31 set. */
21872 : (satisfies_constraint_Z (operands[2])
21873 : && (!CONST_INT_P (operands[2])
21874 : || val_signbit_known_set_p (SImode, INTVAL (operands[2]))))
21875 : ? CCZmode : CCNOmode)
21876 : && ix86_binary_operator_ok (AND, DImode, operands, TARGET_APX_NDD)))
21877 : return -1;
21878 : return 777; /* *anddi_2 */
21879 :
21880 : case E_QImode:
21881 : if (pattern1438 (x9,
21882 : E_QImode) != 0)
21883 : return -1;
21884 : if (
21885 : #line 13379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21886 : (ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)
21887 : && ix86_match_ccmode (insn,
21888 : CONST_INT_P (operands[2])
21889 : && INTVAL (operands[2]) >= 0 ? CCNOmode : CCZmode)))
21890 : return 779; /* *andqi_2_maybe_si */
21891 : if (!
21892 : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21893 : (ix86_match_ccmode (insn, CCNOmode)
21894 : && ix86_binary_operator_ok (AND, QImode, operands, TARGET_APX_NDD)))
21895 : return -1;
21896 : return 780; /* *andqi_2 */
21897 :
21898 : case E_HImode:
21899 : if (pattern1438 (x9,
21900 : E_HImode) != 0
21901 : || !
21902 : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21903 : (ix86_match_ccmode (insn, CCNOmode)
21904 : && ix86_binary_operator_ok (AND, HImode, operands, TARGET_APX_NDD)))
21905 : return -1;
21906 : return 781; /* *andhi_2 */
21907 :
21908 : case E_SImode:
21909 : if (pattern1439 (x9,
21910 : E_SImode) != 0
21911 : || !
21912 : #line 13421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21913 : (ix86_match_ccmode (insn, CCNOmode)
21914 : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
21915 : return -1;
21916 : return 782; /* *andsi_2 */
21917 :
21918 : default:
21919 : return -1;
21920 : }
21921 :
21922 : case ZERO_EXTEND:
21923 : if (pattern1436 (x1,
21924 : AND) != 0
21925 : || !
21926 : #line 13361 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21927 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
21928 : && ix86_binary_operator_ok (AND, SImode, operands, TARGET_APX_NDD)))
21929 : return -1;
21930 : return 778; /* *andsi_2_zext */
21931 :
21932 : default:
21933 : return -1;
21934 : }
21935 : }
21936 :
21937 : int
21938 : recog_394 (rtx x1 ATTRIBUTE_UNUSED,
21939 : rtx_insn *insn ATTRIBUTE_UNUSED,
21940 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21941 : {
21942 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21943 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21944 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21945 : rtx x18;
21946 : int res ATTRIBUTE_UNUSED;
21947 : if (pattern232 (x1) != 0)
21948 : return -1;
21949 : x2 = XVECEXP (x1, 0, 0);
21950 : x3 = XEXP (x2, 1);
21951 : x4 = XEXP (x3, 0);
21952 : x5 = XEXP (x4, 0);
21953 : switch (GET_CODE (x5))
21954 : {
21955 : case REG:
21956 : case SUBREG:
21957 : case MEM:
21958 : operands[1] = x5;
21959 : x6 = XEXP (x4, 1);
21960 : operands[2] = x6;
21961 : x7 = XVECEXP (x1, 0, 1);
21962 : x8 = XEXP (x7, 0);
21963 : operands[0] = x8;
21964 : switch (GET_CODE (operands[2]))
21965 : {
21966 : case CONST_INT:
21967 : case CONST_WIDE_INT:
21968 : case CONST_POLY_INT:
21969 : case CONST_FIXED:
21970 : case CONST_DOUBLE:
21971 : case CONST_VECTOR:
21972 : case CONST:
21973 : case REG:
21974 : case SUBREG:
21975 : case MEM:
21976 : case LABEL_REF:
21977 : case SYMBOL_REF:
21978 : case HIGH:
21979 : x9 = XEXP (x7, 1);
21980 : switch (GET_CODE (x9))
21981 : {
21982 : case MINUS:
21983 : switch (pattern1496 (x1))
21984 : {
21985 : case 0:
21986 : if (!
21987 : #line 8385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21988 : (ix86_match_ccmode (insn, CCGOCmode)
21989 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
21990 : return -1;
21991 : return 415; /* *subqi_2 */
21992 :
21993 : case 1:
21994 : if (!
21995 : #line 8385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21996 : (ix86_match_ccmode (insn, CCGOCmode)
21997 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
21998 : return -1;
21999 : return 416; /* *subhi_2 */
22000 :
22001 : case 2:
22002 : if (!
22003 : #line 8385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22004 : (ix86_match_ccmode (insn, CCGOCmode)
22005 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22006 : return -1;
22007 : return 417; /* *subsi_2 */
22008 :
22009 : case 3:
22010 : if (!(
22011 : #line 8385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22012 : (ix86_match_ccmode (insn, CCGOCmode)
22013 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22014 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22015 : (TARGET_64BIT)))
22016 : return -1;
22017 : return 418; /* *subdi_2 */
22018 :
22019 : default:
22020 : return -1;
22021 : }
22022 :
22023 : case ZERO_EXTEND:
22024 : if (pattern1436 (x1,
22025 : MINUS) != 0
22026 : || !
22027 : #line 8406 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22028 : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
22029 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22030 : return -1;
22031 : return 419; /* *subsi_2_zext */
22032 :
22033 : default:
22034 : return -1;
22035 : }
22036 :
22037 : case LTU:
22038 : case UNLT:
22039 : x10 = XEXP (x6, 1);
22040 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22041 : return -1;
22042 : x9 = XEXP (x7, 1);
22043 : if (GET_CODE (x9) != MINUS)
22044 : return -1;
22045 : x11 = XEXP (x9, 1);
22046 : switch (GET_CODE (x11))
22047 : {
22048 : case LTU:
22049 : case UNLT:
22050 : switch (pattern1569 (x1))
22051 : {
22052 : case 0:
22053 : if (pattern1772 (x9,
22054 : E_QImode) != 0
22055 : || !
22056 : #line 9707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22057 : (ix86_match_ccmode (insn, CCGOCmode)
22058 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
22059 : return -1;
22060 : return 515; /* *subqi3_carry_0_cc */
22061 :
22062 : case 1:
22063 : if (pattern1772 (x9,
22064 : E_HImode) != 0
22065 : || !
22066 : #line 9707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22067 : (ix86_match_ccmode (insn, CCGOCmode)
22068 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
22069 : return -1;
22070 : return 516; /* *subhi3_carry_0_cc */
22071 :
22072 : case 2:
22073 : if (pattern1772 (x9,
22074 : E_SImode) != 0
22075 : || !
22076 : #line 9707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22077 : (ix86_match_ccmode (insn, CCGOCmode)
22078 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
22079 : return -1;
22080 : return 517; /* *subsi3_carry_0_cc */
22081 :
22082 : case 3:
22083 : if (pattern1772 (x9,
22084 : E_DImode) != 0
22085 : || !(
22086 : #line 9707 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22087 : (ix86_match_ccmode (insn, CCGOCmode)
22088 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) &&
22089 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22090 : (TARGET_64BIT)))
22091 : return -1;
22092 : return 518; /* *subdi3_carry_0_cc */
22093 :
22094 : default:
22095 : return -1;
22096 : }
22097 :
22098 : default:
22099 : return -1;
22100 : }
22101 :
22102 : case GE:
22103 : case GEU:
22104 : x10 = XEXP (x6, 1);
22105 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22106 : return -1;
22107 : x9 = XEXP (x7, 1);
22108 : if (GET_CODE (x9) != MINUS)
22109 : return -1;
22110 : x11 = XEXP (x9, 1);
22111 : switch (GET_CODE (x11))
22112 : {
22113 : case GE:
22114 : case GEU:
22115 : switch (pattern1569 (x1))
22116 : {
22117 : case 0:
22118 : if (pattern1773 (x9,
22119 : E_QImode) != 0
22120 : || !
22121 : #line 9741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22122 : (ix86_match_ccmode (insn, CCGOCmode)
22123 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
22124 : return -1;
22125 : return 523; /* *subqi3_carry_0r_cc */
22126 :
22127 : case 1:
22128 : if (pattern1773 (x9,
22129 : E_HImode) != 0
22130 : || !
22131 : #line 9741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22132 : (ix86_match_ccmode (insn, CCGOCmode)
22133 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
22134 : return -1;
22135 : return 524; /* *subhi3_carry_0r_cc */
22136 :
22137 : case 2:
22138 : if (pattern1773 (x9,
22139 : E_SImode) != 0
22140 : || !
22141 : #line 9741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22142 : (ix86_match_ccmode (insn, CCGOCmode)
22143 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))))
22144 : return -1;
22145 : return 525; /* *subsi3_carry_0r_cc */
22146 :
22147 : case 3:
22148 : if (pattern1773 (x9,
22149 : E_DImode) != 0
22150 : || !(
22151 : #line 9741 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22152 : (ix86_match_ccmode (insn, CCGOCmode)
22153 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[1]))) &&
22154 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22155 : (TARGET_64BIT)))
22156 : return -1;
22157 : return 526; /* *subdi3_carry_0r_cc */
22158 :
22159 : default:
22160 : return -1;
22161 : }
22162 :
22163 : default:
22164 : return -1;
22165 : }
22166 :
22167 : default:
22168 : return -1;
22169 : }
22170 :
22171 : case MINUS:
22172 : x12 = XEXP (x5, 1);
22173 : switch (GET_CODE (x12))
22174 : {
22175 : case LTU:
22176 : case UNLT:
22177 : operands[4] = x12;
22178 : x13 = XEXP (x12, 1);
22179 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22180 : return -1;
22181 : x7 = XVECEXP (x1, 0, 1);
22182 : x9 = XEXP (x7, 1);
22183 : if (GET_CODE (x9) != MINUS)
22184 : return -1;
22185 : x14 = XEXP (x9, 0);
22186 : if (GET_CODE (x14) != MINUS)
22187 : return -1;
22188 : x15 = XEXP (x14, 1);
22189 : switch (GET_CODE (x15))
22190 : {
22191 : case LTU:
22192 : case UNLT:
22193 : if (!rtx_equal_p (x15, operands[4]))
22194 : return -1;
22195 : x16 = XEXP (x5, 0);
22196 : operands[1] = x16;
22197 : x17 = XEXP (x12, 0);
22198 : operands[3] = x17;
22199 : if (!flags_reg_operand (operands[3], E_VOIDmode))
22200 : return -1;
22201 : x6 = XEXP (x4, 1);
22202 : operands[2] = x6;
22203 : x8 = XEXP (x7, 0);
22204 : operands[0] = x8;
22205 : x18 = XEXP (x14, 0);
22206 : if (!rtx_equal_p (x18, operands[1]))
22207 : return -1;
22208 : x11 = XEXP (x9, 1);
22209 : if (!rtx_equal_p (x11, operands[2]))
22210 : return -1;
22211 : switch (GET_MODE (x4))
22212 : {
22213 : case E_QImode:
22214 : if (pattern1821 (x1,
22215 : E_QImode) != 0
22216 : || !
22217 : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22218 : (ix86_match_ccmode (insn, CCGOCmode)
22219 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
22220 : return -1;
22221 : return 507; /* *subqi3_carry_2 */
22222 :
22223 : case E_HImode:
22224 : if (pattern1821 (x1,
22225 : E_HImode) != 0
22226 : || !
22227 : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22228 : (ix86_match_ccmode (insn, CCGOCmode)
22229 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
22230 : return -1;
22231 : return 508; /* *subhi3_carry_2 */
22232 :
22233 : case E_SImode:
22234 : if (pattern1822 (x1,
22235 : E_SImode) != 0
22236 : || !
22237 : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22238 : (ix86_match_ccmode (insn, CCGOCmode)
22239 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22240 : return -1;
22241 : return 509; /* *subsi3_carry_2 */
22242 :
22243 : case E_DImode:
22244 : if (pattern1822 (x1,
22245 : E_DImode) != 0
22246 : || !(
22247 : #line 9668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22248 : (ix86_match_ccmode (insn, CCGOCmode)
22249 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22250 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22251 : (TARGET_64BIT)))
22252 : return -1;
22253 : return 510; /* *subdi3_carry_2 */
22254 :
22255 : default:
22256 : return -1;
22257 : }
22258 :
22259 : default:
22260 : return -1;
22261 : }
22262 :
22263 : default:
22264 : return -1;
22265 : }
22266 :
22267 : case UNSPEC_VOLATILE:
22268 : if (XVECLEN (x5, 0) != 2
22269 : || XINT (x5, 1) != 110)
22270 : return -1;
22271 : switch (pattern1247 (x1,
22272 : MINUS))
22273 : {
22274 : case 0:
22275 : return 11144; /* atomic_sub_fetch_cmp_0qi_1 */
22276 :
22277 : case 1:
22278 : return 11145; /* atomic_sub_fetch_cmp_0hi_1 */
22279 :
22280 : case 2:
22281 : return 11146; /* atomic_sub_fetch_cmp_0si_1 */
22282 :
22283 : case 3:
22284 : if (!
22285 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22286 : (TARGET_64BIT))
22287 : return -1;
22288 : return 11147; /* atomic_sub_fetch_cmp_0di_1 */
22289 :
22290 : default:
22291 : return -1;
22292 : }
22293 :
22294 : default:
22295 : return -1;
22296 : }
22297 : }
22298 :
22299 : int
22300 : recog_398 (rtx x1 ATTRIBUTE_UNUSED,
22301 : rtx_insn *insn ATTRIBUTE_UNUSED,
22302 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22303 : {
22304 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22305 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22306 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
22307 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
22308 : rtx x26, x27, x28, x29, x30;
22309 : int res ATTRIBUTE_UNUSED;
22310 : x2 = XVECEXP (x1, 0, 0);
22311 : x3 = XEXP (x2, 1);
22312 : x4 = XEXP (x3, 0);
22313 : switch (GET_CODE (x4))
22314 : {
22315 : case PLUS:
22316 : return recog_393 (x1, insn, pnum_clobbers);
22317 :
22318 : case NEG:
22319 : x5 = XEXP (x2, 0);
22320 : if (GET_CODE (x5) != REG
22321 : || REGNO (x5) != 17)
22322 : return -1;
22323 : x6 = XEXP (x3, 1);
22324 : switch (GET_CODE (x6))
22325 : {
22326 : case REG:
22327 : case SUBREG:
22328 : case MEM:
22329 : operands[1] = x6;
22330 : x7 = XEXP (x4, 0);
22331 : operands[2] = x7;
22332 : x8 = XVECEXP (x1, 0, 1);
22333 : switch (GET_CODE (x8))
22334 : {
22335 : case CLOBBER:
22336 : x9 = XEXP (x8, 0);
22337 : operands[0] = x9;
22338 : switch (GET_MODE (x4))
22339 : {
22340 : case E_QImode:
22341 : if (!general_operand (operands[2], E_QImode)
22342 : || !nonimmediate_operand (operands[1], E_QImode)
22343 : || !scratch_operand (operands[0], E_QImode)
22344 : || !
22345 : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22346 : (ix86_match_ccmode (insn, CCZmode)
22347 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22348 : return -1;
22349 : return 318; /* *addqi_3 */
22350 :
22351 : case E_HImode:
22352 : if (!general_operand (operands[2], E_HImode)
22353 : || !nonimmediate_operand (operands[1], E_HImode)
22354 : || !scratch_operand (operands[0], E_HImode)
22355 : || !
22356 : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22357 : (ix86_match_ccmode (insn, CCZmode)
22358 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22359 : return -1;
22360 : return 319; /* *addhi_3 */
22361 :
22362 : case E_SImode:
22363 : if (!x86_64_general_operand (operands[2], E_SImode)
22364 : || !nonimmediate_operand (operands[1], E_SImode)
22365 : || !scratch_operand (operands[0], E_SImode)
22366 : || !
22367 : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22368 : (ix86_match_ccmode (insn, CCZmode)
22369 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22370 : return -1;
22371 : return 320; /* *addsi_3 */
22372 :
22373 : case E_DImode:
22374 : if (!x86_64_general_operand (operands[2], E_DImode)
22375 : || !nonimmediate_operand (operands[1], E_DImode)
22376 : || !scratch_operand (operands[0], E_DImode)
22377 : || !(
22378 : #line 7352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22379 : (ix86_match_ccmode (insn, CCZmode)
22380 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22381 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22382 : (TARGET_64BIT)))
22383 : return -1;
22384 : return 321; /* *adddi_3 */
22385 :
22386 : default:
22387 : return -1;
22388 : }
22389 :
22390 : case SET:
22391 : x10 = XEXP (x8, 1);
22392 : if (GET_CODE (x10) != ZERO_EXTEND
22393 : || pattern1248 (x1,
22394 : PLUS) != 0
22395 : || !x86_64_general_operand (operands[2], E_SImode)
22396 : || !nonimmediate_operand (operands[1], E_SImode))
22397 : return -1;
22398 : x9 = XEXP (x8, 0);
22399 : operands[0] = x9;
22400 : if (!register_operand (operands[0], E_DImode))
22401 : return -1;
22402 : x11 = XEXP (x10, 0);
22403 : x12 = XEXP (x11, 0);
22404 : if (!rtx_equal_p (x12, operands[1]))
22405 : return -1;
22406 : x13 = XEXP (x11, 1);
22407 : if (!rtx_equal_p (x13, operands[2])
22408 : || !
22409 : #line 7401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22410 : (TARGET_64BIT && ix86_match_ccmode (insn, CCZmode)
22411 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
22412 : return -1;
22413 : return 322; /* *addsi_3_zext */
22414 :
22415 : default:
22416 : return -1;
22417 : }
22418 :
22419 : case CONST_INT:
22420 : if (XWINT (x6, 0) != 0L)
22421 : return -1;
22422 : x8 = XVECEXP (x1, 0, 1);
22423 : if (GET_CODE (x8) != SET)
22424 : return -1;
22425 : x7 = XEXP (x4, 0);
22426 : operands[1] = x7;
22427 : x9 = XEXP (x8, 0);
22428 : operands[0] = x9;
22429 : x10 = XEXP (x8, 1);
22430 : switch (GET_CODE (x10))
22431 : {
22432 : case NEG:
22433 : switch (pattern1250 (x1))
22434 : {
22435 : case 0:
22436 : if (!
22437 : #line 14839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22438 : (ix86_match_ccmode (insn, CCGOCmode)
22439 : && ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)))
22440 : return -1;
22441 : return 1007; /* *negqi_2 */
22442 :
22443 : case 1:
22444 : if (!
22445 : #line 14839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22446 : (ix86_match_ccmode (insn, CCGOCmode)
22447 : && ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)))
22448 : return -1;
22449 : return 1008; /* *neghi_2 */
22450 :
22451 : case 2:
22452 : if (!
22453 : #line 14839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22454 : (ix86_match_ccmode (insn, CCGOCmode)
22455 : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
22456 : return -1;
22457 : return 1009; /* *negsi_2 */
22458 :
22459 : case 3:
22460 : if (!(
22461 : #line 14839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22462 : (ix86_match_ccmode (insn, CCGOCmode)
22463 : && ix86_unary_operator_ok (NEG, DImode, operands, TARGET_APX_NDD)) &&
22464 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22465 : (TARGET_64BIT)))
22466 : return -1;
22467 : return 1010; /* *negdi_2 */
22468 :
22469 : default:
22470 : return -1;
22471 : }
22472 :
22473 : case ZERO_EXTEND:
22474 : if (pattern1251 (x1,
22475 : NEG) != 0
22476 : || !
22477 : #line 14856 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22478 : (TARGET_64BIT && ix86_match_ccmode (insn, CCGOCmode)
22479 : && ix86_unary_operator_ok (NEG, SImode, operands, TARGET_APX_NDD)))
22480 : return -1;
22481 : return 1011; /* *negsi_2_zext */
22482 :
22483 : default:
22484 : return -1;
22485 : }
22486 :
22487 : default:
22488 : return -1;
22489 : }
22490 :
22491 : case REG:
22492 : case SUBREG:
22493 : case MEM:
22494 : operands[1] = x4;
22495 : x5 = XEXP (x2, 0);
22496 : if (GET_CODE (x5) != REG
22497 : || REGNO (x5) != 17)
22498 : return -1;
22499 : x6 = XEXP (x3, 1);
22500 : operands[2] = x6;
22501 : res = recog_389 (x1, insn, pnum_clobbers);
22502 : if (res >= 0)
22503 : return res;
22504 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22505 : return -1;
22506 : x8 = XVECEXP (x1, 0, 1);
22507 : if (GET_CODE (x8) != SET)
22508 : return -1;
22509 : x9 = XEXP (x8, 0);
22510 : operands[0] = x9;
22511 : x10 = XEXP (x8, 1);
22512 : switch (GET_CODE (x10))
22513 : {
22514 : case CTZ:
22515 : x11 = XEXP (x10, 0);
22516 : if (!rtx_equal_p (x11, operands[1]))
22517 : return -1;
22518 : switch (GET_MODE (x5))
22519 : {
22520 : case E_CCCmode:
22521 : if (GET_MODE (x3) != E_CCCmode)
22522 : return -1;
22523 : switch (pattern1499 (x10))
22524 : {
22525 : case 0:
22526 : if (!
22527 : #line 21263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22528 : (TARGET_BMI))
22529 : return -1;
22530 : return 1532; /* *tzcntsi_1 */
22531 :
22532 : case 1:
22533 : if (!(
22534 : #line 21263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22535 : (TARGET_BMI) &&
22536 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22537 : (TARGET_64BIT)))
22538 : return -1;
22539 : return 1533; /* *tzcntdi_1 */
22540 :
22541 : default:
22542 : return -1;
22543 : }
22544 :
22545 : case E_CCZmode:
22546 : if (GET_MODE (x3) != E_CCZmode)
22547 : return -1;
22548 : switch (pattern1499 (x10))
22549 : {
22550 : case 0:
22551 : return 1536; /* *bsfsi_1 */
22552 :
22553 : case 1:
22554 : if (!
22555 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22556 : (TARGET_64BIT))
22557 : return -1;
22558 : return 1537; /* *bsfdi_1 */
22559 :
22560 : default:
22561 : return -1;
22562 : }
22563 :
22564 : default:
22565 : return -1;
22566 : }
22567 :
22568 : case MINUS:
22569 : x11 = XEXP (x10, 0);
22570 : if (GET_CODE (x11) != CONST_INT)
22571 : return -1;
22572 : x14 = XEXP (x10, 1);
22573 : if (GET_CODE (x14) != CLZ
22574 : || GET_MODE (x5) != E_CCZmode
22575 : || GET_MODE (x3) != E_CCZmode)
22576 : return -1;
22577 : x15 = XEXP (x14, 0);
22578 : if (!rtx_equal_p (x15, operands[1]))
22579 : return -1;
22580 : switch (XWINT (x11, 0))
22581 : {
22582 : case 63L:
22583 : if (pattern1638 (x10,
22584 : E_DImode) != 0
22585 : || !
22586 : #line 21498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22587 : (TARGET_64BIT))
22588 : return -1;
22589 : return 1548; /* bsr_rex64 */
22590 :
22591 : case 31L:
22592 : if (pattern1638 (x10,
22593 : E_SImode) != 0)
22594 : return -1;
22595 : return 1551; /* bsr */
22596 :
22597 : default:
22598 : return -1;
22599 : }
22600 :
22601 : default:
22602 : return -1;
22603 : }
22604 :
22605 : case MINUS:
22606 : return recog_394 (x1, insn, pnum_clobbers);
22607 :
22608 : case ZERO_EXTEND:
22609 : return recog_395 (x1, insn, pnum_clobbers);
22610 :
22611 : case AND:
22612 : return recog_397 (x1, insn, pnum_clobbers);
22613 :
22614 : case IOR:
22615 : return recog_396 (x1, insn, pnum_clobbers);
22616 :
22617 : case XOR:
22618 : switch (pattern370 (x1,
22619 : XOR))
22620 : {
22621 : case 0:
22622 : if (general_operand (operands[2], E_QImode))
22623 : {
22624 : switch (pattern953 (x1,
22625 : XOR))
22626 : {
22627 : case 0:
22628 : if (
22629 : #line 13547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22630 : (ix86_match_ccmode (insn, CCNOmode)))
22631 : return 812; /* *xorqi_exthi_1_cc */
22632 : break;
22633 :
22634 : case 1:
22635 : if (
22636 : #line 13547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22637 : (ix86_match_ccmode (insn, CCNOmode)))
22638 : return 815; /* *xorqi_extsi_1_cc */
22639 : break;
22640 :
22641 : case 2:
22642 : if ((
22643 : #line 13547 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22644 : (ix86_match_ccmode (insn, CCNOmode)) &&
22645 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22646 : (TARGET_64BIT)))
22647 : return 818; /* *xorqi_extdi_1_cc */
22648 : break;
22649 :
22650 : default:
22651 : break;
22652 : }
22653 : }
22654 : x5 = XEXP (x2, 0);
22655 : if (GET_CODE (x5) != REG
22656 : || REGNO (x5) != 17)
22657 : return -1;
22658 : x7 = XEXP (x4, 0);
22659 : operands[1] = x7;
22660 : x8 = XVECEXP (x1, 0, 1);
22661 : switch (GET_CODE (x8))
22662 : {
22663 : case SET:
22664 : x9 = XEXP (x8, 0);
22665 : operands[0] = x9;
22666 : x10 = XEXP (x8, 1);
22667 : switch (GET_CODE (x10))
22668 : {
22669 : case XOR:
22670 : switch (pattern1440 (x1))
22671 : {
22672 : case 0:
22673 : if (!
22674 : #line 14287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22675 : (ix86_match_ccmode (insn, CCNOmode)
22676 : && ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
22677 : return -1;
22678 : return 901; /* *xorqi_2 */
22679 :
22680 : case 1:
22681 : if (!
22682 : #line 14287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22683 : (ix86_match_ccmode (insn, CCNOmode)
22684 : && ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
22685 : return -1;
22686 : return 903; /* *xorhi_2 */
22687 :
22688 : case 2:
22689 : if (!
22690 : #line 14287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22691 : (ix86_match_ccmode (insn, CCNOmode)
22692 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
22693 : return -1;
22694 : return 905; /* *xorsi_2 */
22695 :
22696 : case 3:
22697 : if (!(
22698 : #line 14287 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22699 : (ix86_match_ccmode (insn, CCNOmode)
22700 : && ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
22701 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22702 : (TARGET_64BIT)))
22703 : return -1;
22704 : return 907; /* *xordi_2 */
22705 :
22706 : case 4:
22707 : if (!
22708 : #line 14325 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22709 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22710 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
22711 : return -1;
22712 : return 911; /* *xorsi_2_zext_imm */
22713 :
22714 : default:
22715 : return -1;
22716 : }
22717 :
22718 : case ZERO_EXTEND:
22719 : if (pattern1436 (x1,
22720 : XOR) != 0
22721 : || !
22722 : #line 14307 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22723 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22724 : && ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
22725 : return -1;
22726 : return 909; /* *xorsi_2_zext */
22727 :
22728 : default:
22729 : return -1;
22730 : }
22731 :
22732 : case CLOBBER:
22733 : x9 = XEXP (x8, 0);
22734 : operands[0] = x9;
22735 : switch (pattern1329 (x4))
22736 : {
22737 : case 0:
22738 : if (!
22739 : #line 14357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22740 : (ix86_match_ccmode (insn, CCNOmode)
22741 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22742 : return -1;
22743 : return 917; /* *xorqi_3 */
22744 :
22745 : case 1:
22746 : if (!
22747 : #line 14357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22748 : (ix86_match_ccmode (insn, CCNOmode)
22749 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22750 : return -1;
22751 : return 919; /* *xorhi_3 */
22752 :
22753 : case 2:
22754 : if (!
22755 : #line 14357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22756 : (ix86_match_ccmode (insn, CCNOmode)
22757 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22758 : return -1;
22759 : return 921; /* *xorsi_3 */
22760 :
22761 : case 3:
22762 : if (!(
22763 : #line 14357 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22764 : (ix86_match_ccmode (insn, CCNOmode)
22765 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22766 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22767 : (TARGET_64BIT)))
22768 : return -1;
22769 : return 923; /* *xordi_3 */
22770 :
22771 : default:
22772 : return -1;
22773 : }
22774 :
22775 : default:
22776 : return -1;
22777 : }
22778 :
22779 : case 1:
22780 : return 11150; /* atomic_xor_fetch_cmp_0qi_1 */
22781 :
22782 : case 2:
22783 : return 11153; /* atomic_xor_fetch_cmp_0hi_1 */
22784 :
22785 : case 3:
22786 : return 11156; /* atomic_xor_fetch_cmp_0si_1 */
22787 :
22788 : case 4:
22789 : if (!
22790 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22791 : (TARGET_64BIT))
22792 : return -1;
22793 : return 11159; /* atomic_xor_fetch_cmp_0di_1 */
22794 :
22795 : default:
22796 : return -1;
22797 : }
22798 :
22799 : case NOT:
22800 : x6 = XEXP (x3, 1);
22801 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22802 : return -1;
22803 : x5 = XEXP (x2, 0);
22804 : if (GET_CODE (x5) != REG
22805 : || REGNO (x5) != 17)
22806 : return -1;
22807 : x8 = XVECEXP (x1, 0, 1);
22808 : if (GET_CODE (x8) != SET)
22809 : return -1;
22810 : x7 = XEXP (x4, 0);
22811 : operands[1] = x7;
22812 : x9 = XEXP (x8, 0);
22813 : operands[0] = x9;
22814 : x10 = XEXP (x8, 1);
22815 : switch (GET_CODE (x10))
22816 : {
22817 : case NOT:
22818 : switch (pattern1250 (x1))
22819 : {
22820 : case 0:
22821 : if (!
22822 : #line 15509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22823 : (ix86_match_ccmode (insn, CCNOmode)
22824 : && ix86_unary_operator_ok (NOT, QImode, operands, TARGET_APX_NDD)))
22825 : return -1;
22826 : return 1076; /* *one_cmplqi2_2 */
22827 :
22828 : case 1:
22829 : if (!
22830 : #line 15509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22831 : (ix86_match_ccmode (insn, CCNOmode)
22832 : && ix86_unary_operator_ok (NOT, HImode, operands, TARGET_APX_NDD)))
22833 : return -1;
22834 : return 1077; /* *one_cmplhi2_2 */
22835 :
22836 : case 2:
22837 : if (!
22838 : #line 15509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22839 : (ix86_match_ccmode (insn, CCNOmode)
22840 : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
22841 : return -1;
22842 : return 1078; /* *one_cmplsi2_2 */
22843 :
22844 : case 3:
22845 : if (!(
22846 : #line 15509 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22847 : (ix86_match_ccmode (insn, CCNOmode)
22848 : && ix86_unary_operator_ok (NOT, DImode, operands, TARGET_APX_NDD)) &&
22849 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22850 : (TARGET_64BIT)))
22851 : return -1;
22852 : return 1079; /* *one_cmpldi2_2 */
22853 :
22854 : default:
22855 : return -1;
22856 : }
22857 :
22858 : case ZERO_EXTEND:
22859 : if (pattern1251 (x1,
22860 : NOT) != 0
22861 : || !
22862 : #line 15536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22863 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22864 : && ix86_unary_operator_ok (NOT, SImode, operands, TARGET_APX_NDD)))
22865 : return -1;
22866 : return 1080; /* *one_cmplsi2_2_zext */
22867 :
22868 : default:
22869 : return -1;
22870 : }
22871 :
22872 : case ASHIFT:
22873 : switch (pattern371 (x1))
22874 : {
22875 : case 0:
22876 : x8 = XVECEXP (x1, 0, 1);
22877 : x10 = XEXP (x8, 1);
22878 : switch (GET_CODE (x10))
22879 : {
22880 : case ASHIFT:
22881 : switch (pattern1331 (x1))
22882 : {
22883 : case 0:
22884 : if (!
22885 : #line 16721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22886 : ((optimize_function_for_size_p (cfun)
22887 : || !TARGET_PARTIAL_FLAG_REG_STALL
22888 : || operands[2] == const1_rtx)
22889 : && ix86_match_ccmode (insn, CCGOCmode)
22890 : && ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)))
22891 : return -1;
22892 : return 1142; /* *ashlqi3_cmp */
22893 :
22894 : case 1:
22895 : if (!
22896 : #line 16721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22897 : ((optimize_function_for_size_p (cfun)
22898 : || !TARGET_PARTIAL_FLAG_REG_STALL
22899 : || operands[2] == const1_rtx)
22900 : && ix86_match_ccmode (insn, CCGOCmode)
22901 : && ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)))
22902 : return -1;
22903 : return 1143; /* *ashlhi3_cmp */
22904 :
22905 : case 2:
22906 : if (!
22907 : #line 16721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22908 : ((optimize_function_for_size_p (cfun)
22909 : || !TARGET_PARTIAL_FLAG_REG_STALL
22910 : || operands[2] == const1_rtx)
22911 : && ix86_match_ccmode (insn, CCGOCmode)
22912 : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
22913 : return -1;
22914 : return 1144; /* *ashlsi3_cmp */
22915 :
22916 : case 3:
22917 : if (!(
22918 : #line 16721 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22919 : ((optimize_function_for_size_p (cfun)
22920 : || !TARGET_PARTIAL_FLAG_REG_STALL
22921 : || operands[2] == const1_rtx)
22922 : && ix86_match_ccmode (insn, CCGOCmode)
22923 : && ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)) &&
22924 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22925 : (TARGET_64BIT)))
22926 : return -1;
22927 : return 1145; /* *ashldi3_cmp */
22928 :
22929 : default:
22930 : return -1;
22931 : }
22932 :
22933 : case ZERO_EXTEND:
22934 : if (pattern1332 (x1,
22935 : ASHIFT) != 0
22936 : || !
22937 : #line 16766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22938 : (TARGET_64BIT
22939 : && (optimize_function_for_size_p (cfun)
22940 : || !TARGET_PARTIAL_FLAG_REG_STALL
22941 : || operands[2] == const1_rtx)
22942 : && ix86_match_ccmode (insn, CCGOCmode)
22943 : && ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)))
22944 : return -1;
22945 : return 1146; /* *ashlsi3_cmp_zext */
22946 :
22947 : default:
22948 : return -1;
22949 : }
22950 :
22951 : case 1:
22952 : if (!
22953 : #line 16810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22954 : ((optimize_function_for_size_p (cfun)
22955 : || !TARGET_PARTIAL_FLAG_REG_STALL
22956 : || operands[2] == const1_rtx)
22957 : && ix86_match_ccmode (insn, CCGOCmode)))
22958 : return -1;
22959 : return 1147; /* *ashlqi3_cconly */
22960 :
22961 : case 2:
22962 : if (!
22963 : #line 16810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22964 : ((optimize_function_for_size_p (cfun)
22965 : || !TARGET_PARTIAL_FLAG_REG_STALL
22966 : || operands[2] == const1_rtx)
22967 : && ix86_match_ccmode (insn, CCGOCmode)))
22968 : return -1;
22969 : return 1148; /* *ashlhi3_cconly */
22970 :
22971 : case 3:
22972 : if (!
22973 : #line 16810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22974 : ((optimize_function_for_size_p (cfun)
22975 : || !TARGET_PARTIAL_FLAG_REG_STALL
22976 : || operands[2] == const1_rtx)
22977 : && ix86_match_ccmode (insn, CCGOCmode)))
22978 : return -1;
22979 : return 1149; /* *ashlsi3_cconly */
22980 :
22981 : case 4:
22982 : if (!(
22983 : #line 16810 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22984 : ((optimize_function_for_size_p (cfun)
22985 : || !TARGET_PARTIAL_FLAG_REG_STALL
22986 : || operands[2] == const1_rtx)
22987 : && ix86_match_ccmode (insn, CCGOCmode)) &&
22988 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22989 : (TARGET_64BIT)))
22990 : return -1;
22991 : return 1150; /* *ashldi3_cconly */
22992 :
22993 : default:
22994 : return -1;
22995 : }
22996 :
22997 : case LSHIFTRT:
22998 : switch (pattern371 (x1))
22999 : {
23000 : case 0:
23001 : x8 = XVECEXP (x1, 0, 1);
23002 : x10 = XEXP (x8, 1);
23003 : switch (GET_CODE (x10))
23004 : {
23005 : case LSHIFTRT:
23006 : switch (pattern1331 (x1))
23007 : {
23008 : case 0:
23009 : if (!
23010 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23011 : ((optimize_function_for_size_p (cfun)
23012 : || !TARGET_PARTIAL_FLAG_REG_STALL
23013 : || operands[2] == const1_rtx)
23014 : && ix86_match_ccmode (insn, CCGOCmode)
23015 : && ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)))
23016 : return -1;
23017 : return 1252; /* *lshrqi3_cmp */
23018 :
23019 : case 1:
23020 : if (!
23021 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23022 : ((optimize_function_for_size_p (cfun)
23023 : || !TARGET_PARTIAL_FLAG_REG_STALL
23024 : || operands[2] == const1_rtx)
23025 : && ix86_match_ccmode (insn, CCGOCmode)
23026 : && ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)))
23027 : return -1;
23028 : return 1254; /* *lshrhi3_cmp */
23029 :
23030 : case 2:
23031 : if (!
23032 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23033 : ((optimize_function_for_size_p (cfun)
23034 : || !TARGET_PARTIAL_FLAG_REG_STALL
23035 : || operands[2] == const1_rtx)
23036 : && ix86_match_ccmode (insn, CCGOCmode)
23037 : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
23038 : return -1;
23039 : return 1256; /* *lshrsi3_cmp */
23040 :
23041 : case 3:
23042 : if (!(
23043 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23044 : ((optimize_function_for_size_p (cfun)
23045 : || !TARGET_PARTIAL_FLAG_REG_STALL
23046 : || operands[2] == const1_rtx)
23047 : && ix86_match_ccmode (insn, CCGOCmode)
23048 : && ix86_binary_operator_ok (LSHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
23049 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23050 : (TARGET_64BIT)))
23051 : return -1;
23052 : return 1258; /* *lshrdi3_cmp */
23053 :
23054 : default:
23055 : return -1;
23056 : }
23057 :
23058 : case ZERO_EXTEND:
23059 : if (pattern1332 (x1,
23060 : LSHIFTRT) != 0
23061 : || !
23062 : #line 18002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23063 : (TARGET_64BIT
23064 : && (optimize_function_for_size_p (cfun)
23065 : || !TARGET_PARTIAL_FLAG_REG_STALL
23066 : || operands[2] == const1_rtx)
23067 : && ix86_match_ccmode (insn, CCGOCmode)
23068 : && ix86_binary_operator_ok (LSHIFTRT, SImode, operands, TARGET_APX_NDD)))
23069 : return -1;
23070 : return 1260; /* *lshrsi3_cmp_zext */
23071 :
23072 : default:
23073 : return -1;
23074 : }
23075 :
23076 : case 1:
23077 : if (!
23078 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23079 : ((optimize_function_for_size_p (cfun)
23080 : || !TARGET_PARTIAL_FLAG_REG_STALL
23081 : || operands[2] == const1_rtx)
23082 : && ix86_match_ccmode (insn, CCGOCmode)))
23083 : return -1;
23084 : return 1262; /* *lshrqi3_cconly */
23085 :
23086 : case 2:
23087 : if (!
23088 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23089 : ((optimize_function_for_size_p (cfun)
23090 : || !TARGET_PARTIAL_FLAG_REG_STALL
23091 : || operands[2] == const1_rtx)
23092 : && ix86_match_ccmode (insn, CCGOCmode)))
23093 : return -1;
23094 : return 1264; /* *lshrhi3_cconly */
23095 :
23096 : case 3:
23097 : if (!
23098 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23099 : ((optimize_function_for_size_p (cfun)
23100 : || !TARGET_PARTIAL_FLAG_REG_STALL
23101 : || operands[2] == const1_rtx)
23102 : && ix86_match_ccmode (insn, CCGOCmode)))
23103 : return -1;
23104 : return 1266; /* *lshrsi3_cconly */
23105 :
23106 : case 4:
23107 : if (!(
23108 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23109 : ((optimize_function_for_size_p (cfun)
23110 : || !TARGET_PARTIAL_FLAG_REG_STALL
23111 : || operands[2] == const1_rtx)
23112 : && ix86_match_ccmode (insn, CCGOCmode)) &&
23113 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23114 : (TARGET_64BIT)))
23115 : return -1;
23116 : return 1268; /* *lshrdi3_cconly */
23117 :
23118 : default:
23119 : return -1;
23120 : }
23121 :
23122 : case ASHIFTRT:
23123 : switch (pattern371 (x1))
23124 : {
23125 : case 0:
23126 : x8 = XVECEXP (x1, 0, 1);
23127 : x10 = XEXP (x8, 1);
23128 : switch (GET_CODE (x10))
23129 : {
23130 : case ASHIFTRT:
23131 : switch (pattern1331 (x1))
23132 : {
23133 : case 0:
23134 : if (!
23135 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23136 : ((optimize_function_for_size_p (cfun)
23137 : || !TARGET_PARTIAL_FLAG_REG_STALL
23138 : || operands[2] == const1_rtx)
23139 : && ix86_match_ccmode (insn, CCGOCmode)
23140 : && ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)))
23141 : return -1;
23142 : return 1253; /* *ashrqi3_cmp */
23143 :
23144 : case 1:
23145 : if (!
23146 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23147 : ((optimize_function_for_size_p (cfun)
23148 : || !TARGET_PARTIAL_FLAG_REG_STALL
23149 : || operands[2] == const1_rtx)
23150 : && ix86_match_ccmode (insn, CCGOCmode)
23151 : && ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)))
23152 : return -1;
23153 : return 1255; /* *ashrhi3_cmp */
23154 :
23155 : case 2:
23156 : if (!
23157 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23158 : ((optimize_function_for_size_p (cfun)
23159 : || !TARGET_PARTIAL_FLAG_REG_STALL
23160 : || operands[2] == const1_rtx)
23161 : && ix86_match_ccmode (insn, CCGOCmode)
23162 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
23163 : return -1;
23164 : return 1257; /* *ashrsi3_cmp */
23165 :
23166 : case 3:
23167 : if (!(
23168 : #line 17975 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23169 : ((optimize_function_for_size_p (cfun)
23170 : || !TARGET_PARTIAL_FLAG_REG_STALL
23171 : || operands[2] == const1_rtx)
23172 : && ix86_match_ccmode (insn, CCGOCmode)
23173 : && ix86_binary_operator_ok (ASHIFTRT, DImode, operands, TARGET_APX_NDD)) &&
23174 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23175 : (TARGET_64BIT)))
23176 : return -1;
23177 : return 1259; /* *ashrdi3_cmp */
23178 :
23179 : default:
23180 : return -1;
23181 : }
23182 :
23183 : case ZERO_EXTEND:
23184 : if (pattern1332 (x1,
23185 : ASHIFTRT) != 0
23186 : || !
23187 : #line 18002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23188 : (TARGET_64BIT
23189 : && (optimize_function_for_size_p (cfun)
23190 : || !TARGET_PARTIAL_FLAG_REG_STALL
23191 : || operands[2] == const1_rtx)
23192 : && ix86_match_ccmode (insn, CCGOCmode)
23193 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)))
23194 : return -1;
23195 : return 1261; /* *ashrsi3_cmp_zext */
23196 :
23197 : default:
23198 : return -1;
23199 : }
23200 :
23201 : case 1:
23202 : if (!
23203 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23204 : ((optimize_function_for_size_p (cfun)
23205 : || !TARGET_PARTIAL_FLAG_REG_STALL
23206 : || operands[2] == const1_rtx)
23207 : && ix86_match_ccmode (insn, CCGOCmode)))
23208 : return -1;
23209 : return 1263; /* *ashrqi3_cconly */
23210 :
23211 : case 2:
23212 : if (!
23213 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23214 : ((optimize_function_for_size_p (cfun)
23215 : || !TARGET_PARTIAL_FLAG_REG_STALL
23216 : || operands[2] == const1_rtx)
23217 : && ix86_match_ccmode (insn, CCGOCmode)))
23218 : return -1;
23219 : return 1265; /* *ashrhi3_cconly */
23220 :
23221 : case 3:
23222 : if (!
23223 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23224 : ((optimize_function_for_size_p (cfun)
23225 : || !TARGET_PARTIAL_FLAG_REG_STALL
23226 : || operands[2] == const1_rtx)
23227 : && ix86_match_ccmode (insn, CCGOCmode)))
23228 : return -1;
23229 : return 1267; /* *ashrsi3_cconly */
23230 :
23231 : case 4:
23232 : if (!(
23233 : #line 18030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23234 : ((optimize_function_for_size_p (cfun)
23235 : || !TARGET_PARTIAL_FLAG_REG_STALL
23236 : || operands[2] == const1_rtx)
23237 : && ix86_match_ccmode (insn, CCGOCmode)) &&
23238 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23239 : (TARGET_64BIT)))
23240 : return -1;
23241 : return 1269; /* *ashrdi3_cconly */
23242 :
23243 : default:
23244 : return -1;
23245 : }
23246 :
23247 : case UNSPEC:
23248 : if (XVECLEN (x4, 0) != 2
23249 : || XINT (x4, 1) != 99
23250 : || pattern696 (x1) != 0)
23251 : return -1;
23252 : x16 = XVECEXP (x4, 0, 0);
23253 : operands[1] = x16;
23254 : x17 = XVECEXP (x4, 0, 1);
23255 : operands[2] = x17;
23256 : x8 = XVECEXP (x1, 0, 1);
23257 : x9 = XEXP (x8, 0);
23258 : operands[0] = x9;
23259 : switch (GET_MODE (x4))
23260 : {
23261 : case E_SImode:
23262 : if (!nonimmediate_operand (operands[1], E_SImode)
23263 : || !register_operand (operands[2], E_SImode)
23264 : || !scratch_operand (operands[0], E_SImode)
23265 : || !
23266 : #line 22032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23267 : (TARGET_BMI))
23268 : return -1;
23269 : return 1594; /* *bmi_bextr_si_ccz */
23270 :
23271 : case E_DImode:
23272 : if (!nonimmediate_operand (operands[1], E_DImode)
23273 : || !register_operand (operands[2], E_DImode)
23274 : || !scratch_operand (operands[0], E_DImode)
23275 : || !(
23276 : #line 22032 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23277 : (TARGET_BMI) &&
23278 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23279 : (TARGET_64BIT)))
23280 : return -1;
23281 : return 1595; /* *bmi_bextr_di_ccz */
23282 :
23283 : default:
23284 : return -1;
23285 : }
23286 :
23287 : case IF_THEN_ELSE:
23288 : x7 = XEXP (x4, 0);
23289 : if (GET_CODE (x7) != NE
23290 : || GET_MODE (x7) != E_QImode)
23291 : return -1;
23292 : x18 = XEXP (x7, 1);
23293 : if (x18 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23294 : return -1;
23295 : x19 = XEXP (x4, 1);
23296 : if (GET_CODE (x19) != ZERO_EXTRACT)
23297 : return -1;
23298 : x20 = XEXP (x19, 1);
23299 : if (GET_CODE (x20) != UMIN
23300 : || GET_MODE (x20) != E_QImode)
23301 : return -1;
23302 : x21 = XEXP (x19, 2);
23303 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23304 : return -1;
23305 : x22 = XEXP (x4, 2);
23306 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23307 : || pattern696 (x1) != 0)
23308 : return -1;
23309 : x23 = XEXP (x7, 0);
23310 : operands[2] = x23;
23311 : if (!register_operand (operands[2], E_QImode))
23312 : return -1;
23313 : x24 = XEXP (x19, 0);
23314 : operands[1] = x24;
23315 : x25 = XEXP (x20, 1);
23316 : operands[3] = x25;
23317 : if (!const_int_operand (operands[3], E_QImode))
23318 : return -1;
23319 : x8 = XVECEXP (x1, 0, 1);
23320 : x9 = XEXP (x8, 0);
23321 : operands[0] = x9;
23322 : x26 = XEXP (x20, 0);
23323 : if (!rtx_equal_p (x26, operands[2]))
23324 : return -1;
23325 : switch (GET_MODE (x4))
23326 : {
23327 : case E_SImode:
23328 : if (GET_MODE (x19) != E_SImode
23329 : || !nonimmediate_operand (operands[1], E_SImode)
23330 : || !scratch_operand (operands[0], E_SImode)
23331 : || !
23332 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23333 : (TARGET_BMI2 && INTVAL (operands[3]) == 4 * BITS_PER_UNIT))
23334 : return -1;
23335 : return 1618; /* *bmi2_bzhi_si3_1_ccz */
23336 :
23337 : case E_DImode:
23338 : if (GET_MODE (x19) != E_DImode
23339 : || !nonimmediate_operand (operands[1], E_DImode)
23340 : || !scratch_operand (operands[0], E_DImode)
23341 : || !(
23342 : #line 22339 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23343 : (TARGET_BMI2 && INTVAL (operands[3]) == 8 * BITS_PER_UNIT) &&
23344 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23345 : (TARGET_64BIT)))
23346 : return -1;
23347 : return 1619; /* *bmi2_bzhi_di3_1_ccz */
23348 :
23349 : default:
23350 : return -1;
23351 : }
23352 :
23353 : case UNSPEC_VOLATILE:
23354 : if (XVECLEN (x4, 0) != 2
23355 : || XINT (x4, 1) != 110)
23356 : return -1;
23357 : x6 = XEXP (x3, 1);
23358 : if (GET_CODE (x6) != CONST_INT)
23359 : return -1;
23360 : operands[2] = x6;
23361 : res = recog_392 (x1, insn, pnum_clobbers);
23362 : if (res >= 0)
23363 : return res;
23364 : if (XWINT (x6, 0) != 0L)
23365 : return -1;
23366 : x5 = XEXP (x2, 0);
23367 : if (GET_CODE (x5) != REG
23368 : || REGNO (x5) != 17
23369 : || GET_MODE (x5) != E_CCCmode)
23370 : return -1;
23371 : x8 = XVECEXP (x1, 0, 1);
23372 : if (GET_CODE (x8) != SET)
23373 : return -1;
23374 : x9 = XEXP (x8, 0);
23375 : if (GET_CODE (x9) != ZERO_EXTRACT)
23376 : return -1;
23377 : x27 = XEXP (x9, 1);
23378 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
23379 : || GET_MODE (x3) != E_CCCmode)
23380 : return -1;
23381 : x16 = XVECEXP (x4, 0, 0);
23382 : operands[0] = x16;
23383 : x17 = XVECEXP (x4, 0, 1);
23384 : operands[2] = x17;
23385 : if (!const_int_operand (operands[2], E_SImode))
23386 : return -1;
23387 : x28 = XEXP (x9, 2);
23388 : operands[1] = x28;
23389 : x29 = XEXP (x9, 0);
23390 : if (!rtx_equal_p (x29, operands[0]))
23391 : return -1;
23392 : x10 = XEXP (x8, 1);
23393 : switch (GET_CODE (x10))
23394 : {
23395 : case CONST_INT:
23396 : switch (XWINT (x10, 0))
23397 : {
23398 : case 1L:
23399 : switch (pattern1781 (x1))
23400 : {
23401 : case 0:
23402 : return 11131; /* atomic_bit_test_and_sethi_1 */
23403 :
23404 : case 1:
23405 : return 11132; /* atomic_bit_test_and_setsi_1 */
23406 :
23407 : case 2:
23408 : if (!
23409 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23410 : (TARGET_64BIT))
23411 : return -1;
23412 : return 11133; /* atomic_bit_test_and_setdi_1 */
23413 :
23414 : default:
23415 : return -1;
23416 : }
23417 :
23418 : case 0L:
23419 : switch (pattern1781 (x1))
23420 : {
23421 : case 0:
23422 : return 11137; /* atomic_bit_test_and_resethi_1 */
23423 :
23424 : case 1:
23425 : return 11138; /* atomic_bit_test_and_resetsi_1 */
23426 :
23427 : case 2:
23428 : if (!
23429 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23430 : (TARGET_64BIT))
23431 : return -1;
23432 : return 11139; /* atomic_bit_test_and_resetdi_1 */
23433 :
23434 : default:
23435 : return -1;
23436 : }
23437 :
23438 : default:
23439 : return -1;
23440 : }
23441 :
23442 : case NOT:
23443 : x11 = XEXP (x10, 0);
23444 : if (GET_CODE (x11) != ZERO_EXTRACT)
23445 : return -1;
23446 : x13 = XEXP (x11, 1);
23447 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
23448 : return -1;
23449 : x12 = XEXP (x11, 0);
23450 : if (!rtx_equal_p (x12, operands[0]))
23451 : return -1;
23452 : x30 = XEXP (x11, 2);
23453 : if (!rtx_equal_p (x30, operands[1]))
23454 : return -1;
23455 : switch (GET_MODE (x4))
23456 : {
23457 : case E_HImode:
23458 : if (pattern1851 (x8,
23459 : E_HImode) != 0)
23460 : return -1;
23461 : return 11134; /* atomic_bit_test_and_complementhi_1 */
23462 :
23463 : case E_SImode:
23464 : if (pattern1851 (x8,
23465 : E_SImode) != 0)
23466 : return -1;
23467 : return 11135; /* atomic_bit_test_and_complementsi_1 */
23468 :
23469 : case E_DImode:
23470 : if (pattern1851 (x8,
23471 : E_DImode) != 0
23472 : || !
23473 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23474 : (TARGET_64BIT))
23475 : return -1;
23476 : return 11136; /* atomic_bit_test_and_complementdi_1 */
23477 :
23478 : default:
23479 : return -1;
23480 : }
23481 :
23482 : default:
23483 : return -1;
23484 : }
23485 :
23486 : default:
23487 : return -1;
23488 : }
23489 : }
23490 :
23491 : int
23492 : recog_434 (rtx x1 ATTRIBUTE_UNUSED,
23493 : rtx_insn *insn ATTRIBUTE_UNUSED,
23494 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23495 : {
23496 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23497 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23498 : rtx x10, x11, x12, x13, x14, x15, x16;
23499 : int res ATTRIBUTE_UNUSED;
23500 : if (pattern236 (x1) != 0)
23501 : return -1;
23502 : x2 = XVECEXP (x1, 0, 2);
23503 : if (GET_CODE (x2) != SET)
23504 : return -1;
23505 : x3 = XEXP (x2, 1);
23506 : if (GET_CODE (x3) != PLUS)
23507 : return -1;
23508 : x4 = XEXP (x3, 1);
23509 : if (GET_CODE (x4) != CONST_INT)
23510 : return -1;
23511 : x5 = XVECEXP (x1, 0, 0);
23512 : x6 = XEXP (x5, 0);
23513 : x7 = XEXP (x6, 0);
23514 : operands[2] = x7;
23515 : x8 = XEXP (x5, 1);
23516 : x9 = XEXP (x8, 0);
23517 : operands[3] = x9;
23518 : x10 = XVECEXP (x1, 0, 1);
23519 : x11 = XEXP (x10, 0);
23520 : operands[0] = x11;
23521 : x12 = XEXP (x2, 0);
23522 : operands[1] = x12;
23523 : x13 = XEXP (x10, 1);
23524 : x14 = XEXP (x13, 0);
23525 : if (!rtx_equal_p (x14, operands[2]))
23526 : return -1;
23527 : x15 = XEXP (x3, 0);
23528 : if (!rtx_equal_p (x15, operands[3]))
23529 : return -1;
23530 : x16 = XEXP (x13, 1);
23531 : switch (XWINT (x16, 0))
23532 : {
23533 : case 8L:
23534 : if (XWINT (x4, 0) != 8L)
23535 : return -1;
23536 : switch (pattern1680 (x1,
23537 : E_DImode))
23538 : {
23539 : case 0:
23540 : if (!(
23541 : #line 25957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23542 : (TARGET_64BIT
23543 : && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23544 : && ix86_check_movs (insn, 0)) &&
23545 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23546 : (Pmode == SImode)))
23547 : return -1;
23548 : return 1787; /* *strmovdi_rex_1 */
23549 :
23550 : case 1:
23551 : if (!(
23552 : #line 25957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23553 : (TARGET_64BIT
23554 : && !(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23555 : && ix86_check_movs (insn, 0)) &&
23556 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23557 : (Pmode == DImode)))
23558 : return -1;
23559 : return 1788; /* *strmovdi_rex_1 */
23560 :
23561 : default:
23562 : return -1;
23563 : }
23564 :
23565 : case 4L:
23566 : if (XWINT (x4, 0) != 4L)
23567 : return -1;
23568 : switch (pattern1680 (x1,
23569 : E_SImode))
23570 : {
23571 : case 0:
23572 : if (!(
23573 : #line 25981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23574 : (!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23575 : && ix86_check_movs (insn, 0)) &&
23576 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23577 : (Pmode == SImode)))
23578 : return -1;
23579 : return 1789; /* *strmovsi_1 */
23580 :
23581 : case 1:
23582 : if (!(
23583 : #line 25981 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23584 : (!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23585 : && ix86_check_movs (insn, 0)) &&
23586 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23587 : (Pmode == DImode)))
23588 : return -1;
23589 : return 1790; /* *strmovsi_1 */
23590 :
23591 : default:
23592 : return -1;
23593 : }
23594 :
23595 : case 2L:
23596 : if (XWINT (x4, 0) != 2L)
23597 : return -1;
23598 : switch (pattern1680 (x1,
23599 : E_HImode))
23600 : {
23601 : case 0:
23602 : if (!(
23603 : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23604 : (!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23605 : && ix86_check_movs (insn, 0)) &&
23606 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23607 : (Pmode == SImode)))
23608 : return -1;
23609 : return 1791; /* *strmovhi_1 */
23610 :
23611 : case 1:
23612 : if (!(
23613 : #line 26004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23614 : (!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23615 : && ix86_check_movs (insn, 0)) &&
23616 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23617 : (Pmode == DImode)))
23618 : return -1;
23619 : return 1792; /* *strmovhi_1 */
23620 :
23621 : default:
23622 : return -1;
23623 : }
23624 :
23625 : case 1L:
23626 : if (XWINT (x4, 0) != 1L)
23627 : return -1;
23628 : switch (pattern1680 (x1,
23629 : E_QImode))
23630 : {
23631 : case 0:
23632 : if (!(
23633 : #line 26027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23634 : (!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23635 : && ix86_check_movs (insn, 0)) &&
23636 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23637 : (Pmode == SImode)))
23638 : return -1;
23639 : return 1793; /* *strmovqi_1 */
23640 :
23641 : case 1:
23642 : if (!(
23643 : #line 26027 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23644 : (!(fixed_regs[SI_REG] || fixed_regs[DI_REG])
23645 : && ix86_check_movs (insn, 0)) &&
23646 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23647 : (Pmode == DImode)))
23648 : return -1;
23649 : return 1794; /* *strmovqi_1 */
23650 :
23651 : default:
23652 : return -1;
23653 : }
23654 :
23655 : default:
23656 : return -1;
23657 : }
23658 : }
23659 :
23660 : int
23661 : recog_440 (rtx x1 ATTRIBUTE_UNUSED,
23662 : rtx_insn *insn ATTRIBUTE_UNUSED,
23663 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23664 : {
23665 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23666 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23667 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23668 : rtx x18, x19;
23669 : int res ATTRIBUTE_UNUSED;
23670 : x2 = XVECEXP (x1, 0, 0);
23671 : if (GET_CODE (x2) != UNSPEC_VOLATILE
23672 : || XVECLEN (x2, 0) != 1)
23673 : return -1;
23674 : x3 = XVECEXP (x2, 0, 0);
23675 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23676 : || pattern37 (x1) != 0)
23677 : return -1;
23678 : x4 = XVECEXP (x1, 0, 9);
23679 : if (GET_CODE (x4) != CLOBBER)
23680 : return -1;
23681 : x5 = XEXP (x4, 0);
23682 : if (GET_CODE (x5) != REG
23683 : || REGNO (x5) != 28
23684 : || GET_MODE (x5) != E_DImode)
23685 : return -1;
23686 : x6 = XVECEXP (x1, 0, 10);
23687 : if (GET_CODE (x6) != CLOBBER)
23688 : return -1;
23689 : x7 = XEXP (x6, 0);
23690 : if (GET_CODE (x7) != REG
23691 : || REGNO (x7) != 29
23692 : || GET_MODE (x7) != E_DImode)
23693 : return -1;
23694 : x8 = XVECEXP (x1, 0, 11);
23695 : if (GET_CODE (x8) != CLOBBER)
23696 : return -1;
23697 : x9 = XEXP (x8, 0);
23698 : if (GET_CODE (x9) != REG
23699 : || REGNO (x9) != 30
23700 : || GET_MODE (x9) != E_DImode)
23701 : return -1;
23702 : x10 = XVECEXP (x1, 0, 12);
23703 : if (GET_CODE (x10) != CLOBBER)
23704 : return -1;
23705 : x11 = XEXP (x10, 0);
23706 : if (GET_CODE (x11) != REG
23707 : || REGNO (x11) != 31
23708 : || GET_MODE (x11) != E_DImode)
23709 : return -1;
23710 : x12 = XVECEXP (x1, 0, 13);
23711 : if (GET_CODE (x12) != CLOBBER)
23712 : return -1;
23713 : x13 = XEXP (x12, 0);
23714 : if (GET_CODE (x13) != REG
23715 : || REGNO (x13) != 32
23716 : || GET_MODE (x13) != E_DImode)
23717 : return -1;
23718 : x14 = XVECEXP (x1, 0, 14);
23719 : if (GET_CODE (x14) != CLOBBER)
23720 : return -1;
23721 : x15 = XEXP (x14, 0);
23722 : if (GET_CODE (x15) != REG
23723 : || REGNO (x15) != 33
23724 : || GET_MODE (x15) != E_DImode)
23725 : return -1;
23726 : x16 = XVECEXP (x1, 0, 15);
23727 : if (GET_CODE (x16) != CLOBBER)
23728 : return -1;
23729 : x17 = XEXP (x16, 0);
23730 : if (GET_CODE (x17) != REG
23731 : || REGNO (x17) != 34
23732 : || GET_MODE (x17) != E_DImode)
23733 : return -1;
23734 : x18 = XVECEXP (x1, 0, 16);
23735 : if (GET_CODE (x18) != CLOBBER)
23736 : return -1;
23737 : x19 = XEXP (x18, 0);
23738 : if (GET_CODE (x19) != REG
23739 : || REGNO (x19) != 35
23740 : || GET_MODE (x19) != E_DImode)
23741 : return -1;
23742 : switch (XINT (x2, 1))
23743 : {
23744 : case 90:
23745 : if (!
23746 : #line 6927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23747 : (TARGET_MMX))
23748 : return -1;
23749 : return 2435; /* *mmx_emms */
23750 :
23751 : case 91:
23752 : if (!
23753 : #line 6928 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23754 : (TARGET_3DNOW))
23755 : return -1;
23756 : return 2436; /* *mmx_femms */
23757 :
23758 : default:
23759 : return -1;
23760 : }
23761 : }
23762 :
23763 : int
23764 : recog (rtx x1 ATTRIBUTE_UNUSED,
23765 : rtx_insn *insn ATTRIBUTE_UNUSED,
23766 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23767 : {
23768 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23769 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23770 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23771 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
23772 : rtx x26, x27;
23773 : int res ATTRIBUTE_UNUSED;
23774 : recog_data.insn = NULL;
23775 : switch (GET_CODE (x1))
23776 : {
23777 : case SET:
23778 : return recog_443 (x1, insn, pnum_clobbers);
23779 :
23780 : case PARALLEL:
23781 : switch (XVECLEN (x1, 0))
23782 : {
23783 : case 2:
23784 : res = recog_428 (x1, insn, pnum_clobbers);
23785 : if (res >= 0)
23786 : return res;
23787 : break;
23788 :
23789 : case 3:
23790 : res = recog_436 (x1, insn, pnum_clobbers);
23791 : if (res >= 0)
23792 : return res;
23793 : break;
23794 :
23795 : case 4:
23796 : res = recog_437 (x1, insn, pnum_clobbers);
23797 : if (res >= 0)
23798 : return res;
23799 : break;
23800 :
23801 : case 5:
23802 : res = recog_438 (x1, insn, pnum_clobbers);
23803 : if (res >= 0)
23804 : return res;
23805 : break;
23806 :
23807 : case 6:
23808 : res = recog_439 (x1, insn, pnum_clobbers);
23809 : if (res >= 0)
23810 : return res;
23811 : break;
23812 :
23813 : case 9:
23814 : if (pattern37 (x1) == 0)
23815 : {
23816 : x2 = XVECEXP (x1, 0, 0);
23817 : switch (GET_CODE (x2))
23818 : {
23819 : case SET:
23820 : x3 = XEXP (x2, 1);
23821 : if (GET_CODE (x3) == UNSPEC_VOLATILE
23822 : && XVECLEN (x3, 0) == 1
23823 : && XINT (x3, 1) == 40
23824 : && GET_MODE (x3) == E_BLKmode)
23825 : {
23826 : x4 = XVECEXP (x3, 0, 0);
23827 : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 0])
23828 : {
23829 : x5 = XEXP (x2, 0);
23830 : operands[0] = x5;
23831 : if (memory_operand (operands[0], E_BLKmode)
23832 : &&
23833 : #line 29999 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23834 : (TARGET_80387))
23835 : return 1972; /* fnstenv */
23836 : }
23837 : }
23838 : break;
23839 :
23840 : case UNSPEC_VOLATILE:
23841 : if (XVECLEN (x2, 0) == 1
23842 : && XINT (x2, 1) == 41)
23843 : {
23844 : x6 = XVECEXP (x2, 0, 0);
23845 : operands[0] = x6;
23846 : if (memory_operand (operands[0], E_BLKmode)
23847 : &&
23848 : #line 30017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23849 : (TARGET_80387))
23850 : return 1973; /* fldenv */
23851 : }
23852 : break;
23853 :
23854 : default:
23855 : break;
23856 : }
23857 : }
23858 : break;
23859 :
23860 : case 17:
23861 : res = recog_440 (x1, insn, pnum_clobbers);
23862 : if (res >= 0)
23863 : return res;
23864 : break;
23865 :
23866 : default:
23867 : break;
23868 : }
23869 : if (XVECLEN (x1, 0) >= 1)
23870 : {
23871 : res = recog_441 (x1, insn, pnum_clobbers);
23872 : if (res >= 0)
23873 : return res;
23874 : }
23875 : operands[0] = x1;
23876 : if (XVECLEN (operands[0], 0) >= 3
23877 : && restore_multiple (operands[0], E_VOIDmode))
23878 : {
23879 : res = recog_442 (x1, insn, pnum_clobbers);
23880 : if (res >= 0)
23881 : return res;
23882 : }
23883 : if (XVECLEN (operands[0], 0) < 5
23884 : || !restore_multiple (operands[0], E_VOIDmode))
23885 : return -1;
23886 : x2 = XVECEXP (x1, 0, 0);
23887 : if (GET_CODE (x2) != RETURN)
23888 : return -1;
23889 : x7 = XVECEXP (x1, 0, 1);
23890 : if (GET_CODE (x7) != USE)
23891 : return -1;
23892 : x8 = XVECEXP (x1, 0, 2);
23893 : if (GET_CODE (x8) != SET)
23894 : return -1;
23895 : x9 = XEXP (x8, 1);
23896 : if (GET_CODE (x9) != PLUS
23897 : || GET_MODE (x9) != E_DImode)
23898 : return -1;
23899 : x10 = XEXP (x9, 0);
23900 : if (GET_CODE (x10) != REG
23901 : || REGNO (x10) != 6
23902 : || GET_MODE (x10) != E_DImode)
23903 : return -1;
23904 : x11 = XEXP (x9, 1);
23905 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
23906 : return -1;
23907 : x12 = XEXP (x8, 0);
23908 : if (GET_CODE (x12) != REG
23909 : || REGNO (x12) != 7
23910 : || GET_MODE (x12) != E_DImode)
23911 : return -1;
23912 : x13 = XVECEXP (x1, 0, 3);
23913 : if (GET_CODE (x13) != SET)
23914 : return -1;
23915 : x14 = XEXP (x13, 1);
23916 : if (GET_CODE (x14) != MEM
23917 : || GET_MODE (x14) != E_DImode)
23918 : return -1;
23919 : x15 = XEXP (x14, 0);
23920 : if (GET_CODE (x15) != REG
23921 : || REGNO (x15) != 6
23922 : || GET_MODE (x15) != E_DImode)
23923 : return -1;
23924 : x16 = XEXP (x13, 0);
23925 : if (GET_CODE (x16) != REG
23926 : || REGNO (x16) != 6
23927 : || GET_MODE (x16) != E_DImode)
23928 : return -1;
23929 : x17 = XVECEXP (x1, 0, 4);
23930 : if (GET_CODE (x17) != CLOBBER)
23931 : return -1;
23932 : x18 = XEXP (x17, 0);
23933 : if (GET_CODE (x18) != MEM
23934 : || GET_MODE (x18) != E_BLKmode)
23935 : return -1;
23936 : x19 = XEXP (x18, 0);
23937 : if (GET_CODE (x19) != SCRATCH)
23938 : return -1;
23939 : x20 = XEXP (x7, 0);
23940 : operands[1] = x20;
23941 : switch (GET_MODE (operands[1]))
23942 : {
23943 : case E_SImode:
23944 : if (!symbol_operand (operands[1], E_SImode)
23945 : || !(
23946 : #line 31288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23947 : (TARGET_SSE && TARGET_64BIT) &&
23948 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23949 : (Pmode == SImode)))
23950 : return -1;
23951 : return 10236; /* *restore_multiple_leave_returnsi */
23952 :
23953 : case E_DImode:
23954 : if (!symbol_operand (operands[1], E_DImode)
23955 : || !(
23956 : #line 31288 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23957 : (TARGET_SSE && TARGET_64BIT) &&
23958 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23959 : (Pmode == DImode)))
23960 : return -1;
23961 : return 10237; /* *restore_multiple_leave_returndi */
23962 :
23963 : default:
23964 : return -1;
23965 : }
23966 :
23967 : case CALL:
23968 : x21 = XEXP (x1, 0);
23969 : if (GET_CODE (x21) != MEM
23970 : || GET_MODE (x21) != E_QImode)
23971 : return -1;
23972 : x22 = XEXP (x21, 0);
23973 : operands[0] = x22;
23974 : x23 = XEXP (x1, 1);
23975 : operands[1] = x23;
23976 : if (call_insn_operand (operands[0], E_SImode)
23977 : && (
23978 : #line 20396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23979 : (!SIBLING_CALL_P (insn)) &&
23980 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23981 : (word_mode == SImode)))
23982 : return 1488; /* *call */
23983 : if (call_insn_operand (operands[0], E_DImode)
23984 : && (
23985 : #line 20396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23986 : (!SIBLING_CALL_P (insn)) &&
23987 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23988 : (word_mode == DImode)))
23989 : return 1489; /* *call */
23990 : switch (GET_CODE (x22))
23991 : {
23992 : case ZERO_EXTEND:
23993 : if (GET_MODE (x22) == E_DImode)
23994 : {
23995 : x24 = XEXP (x22, 0);
23996 : operands[0] = x24;
23997 : if (GOT_memory_operand (operands[0], E_SImode))
23998 : {
23999 : operands[1] = x23;
24000 : if (
24001 : #line 20405 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24002 : (TARGET_X32 && !TARGET_INDIRECT_BRANCH_REGISTER))
24003 : return 1490; /* *call_got_x32 */
24004 : }
24005 : }
24006 : break;
24007 :
24008 : case MEM:
24009 : if (GET_MODE (x22) == E_SImode)
24010 : {
24011 : x24 = XEXP (x22, 0);
24012 : if (GET_CODE (x24) == PLUS
24013 : && GET_MODE (x24) == E_SImode)
24014 : {
24015 : x25 = XEXP (x24, 0);
24016 : operands[0] = x25;
24017 : if (register_no_elim_operand (operands[0], E_SImode))
24018 : {
24019 : x26 = XEXP (x24, 1);
24020 : operands[1] = x26;
24021 : if (GOT32_symbol_operand (operands[1], E_SImode))
24022 : {
24023 : operands[2] = x23;
24024 : if (
24025 : #line 20420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24026 : (!TARGET_MACHO
24027 : && !TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER
24028 : && SIBLING_CALL_P (insn)))
24029 : return 1491; /* *sibcall_GOT_32 */
24030 : }
24031 : }
24032 : }
24033 : }
24034 : break;
24035 :
24036 : default:
24037 : break;
24038 : }
24039 : operands[0] = x22;
24040 : operands[1] = x23;
24041 : if (sibcall_insn_operand (operands[0], E_SImode)
24042 : && (
24043 : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24044 : (SIBLING_CALL_P (insn)) &&
24045 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24046 : (word_mode == SImode)))
24047 : return 1492; /* *sibcall */
24048 : if (!sibcall_insn_operand (operands[0], E_DImode)
24049 : || !(
24050 : #line 20433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24051 : (SIBLING_CALL_P (insn)) &&
24052 : #line 1407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24053 : (word_mode == DImode)))
24054 : return -1;
24055 : return 1493; /* *sibcall */
24056 :
24057 : case UNSPEC_VOLATILE:
24058 : return recog_444 (x1, insn, pnum_clobbers);
24059 :
24060 : case SIMPLE_RETURN:
24061 : if (!
24062 : #line 20894 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24063 : (reload_completed))
24064 : return -1;
24065 : return 1513; /* simple_return_internal */
24066 :
24067 : case CONST_INT:
24068 : if (XWINT (x1, 0) != 0L)
24069 : return -1;
24070 : return 1519; /* nop */
24071 :
24072 : case EH_RETURN:
24073 : return 1527; /* eh_return_internal */
24074 :
24075 : case TRAP_IF:
24076 : x21 = XEXP (x1, 0);
24077 : if (x21 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
24078 : return -1;
24079 : x23 = XEXP (x1, 1);
24080 : if (x23 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
24081 : return -1;
24082 : return 1930; /* trap */
24083 :
24084 : case PREFETCH:
24085 : x23 = XEXP (x1, 1);
24086 : if (GET_CODE (x23) != CONST_INT)
24087 : return -1;
24088 : x21 = XEXP (x1, 0);
24089 : operands[0] = x21;
24090 : if (!address_operand (operands[0], E_VOIDmode))
24091 : return -1;
24092 : switch (XWINT (x23, 0))
24093 : {
24094 : case 0L:
24095 : x27 = XEXP (x1, 2);
24096 : operands[1] = x27;
24097 : if (const_int_operand (operands[1], E_SImode)
24098 : &&
24099 : #line 29603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24100 : (TARGET_PREFETCH_SSE))
24101 : return 1932; /* *prefetch_sse */
24102 : break;
24103 :
24104 : case 2L:
24105 : x27 = XEXP (x1, 2);
24106 : if (x27 == const_int_rtx[MAX_SAVED_CONST_INT + 1]
24107 : &&
24108 : #line 29660 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24109 : (TARGET_MOVRS))
24110 : return 1935; /* *prefetch_rst2 */
24111 : break;
24112 :
24113 : default:
24114 : break;
24115 : }
24116 : x27 = XEXP (x1, 2);
24117 : if (x27 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
24118 : return -1;
24119 : operands[1] = x23;
24120 : if (!const_int_operand (operands[1], E_SImode)
24121 : || !
24122 : #line 29624 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24123 : (TARGET_3DNOW || TARGET_PRFCHW))
24124 : return -1;
24125 : return 1933; /* *prefetch_3dnow */
24126 :
24127 : default:
24128 : return -1;
24129 : }
24130 : }
24131 :
24132 : rtx_insn *
24133 : split_9 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24134 : {
24135 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24136 : rtx x2, x3, x4, x5;
24137 : rtx_insn *res ATTRIBUTE_UNUSED;
24138 : x2 = XEXP (x1, 0);
24139 : operands[0] = x2;
24140 : x3 = XEXP (x1, 1);
24141 : x4 = XEXP (x3, 0);
24142 : operands[1] = x4;
24143 : switch (GET_CODE (operands[1]))
24144 : {
24145 : case CONST_INT:
24146 : switch (pattern586 (x3))
24147 : {
24148 : case 0:
24149 : if (!
24150 : #line 18444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24151 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24152 : == GET_MODE_BITSIZE (QImode) - 1))
24153 : return NULL;
24154 : return gen_split_692 (insn, operands);
24155 :
24156 : case 1:
24157 : if (!
24158 : #line 18444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24159 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24160 : == GET_MODE_BITSIZE (HImode) - 1))
24161 : return NULL;
24162 : return gen_split_694 (insn, operands);
24163 :
24164 : case 2:
24165 : if (!
24166 : #line 18444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24167 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24168 : == GET_MODE_BITSIZE (SImode) - 1))
24169 : return NULL;
24170 : return gen_split_696 (insn, operands);
24171 :
24172 : case 3:
24173 : if (!(
24174 : #line 18444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24175 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24176 : == GET_MODE_BITSIZE (DImode) - 1) &&
24177 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24178 : (TARGET_64BIT)))
24179 : return NULL;
24180 : return gen_split_698 (insn, operands);
24181 :
24182 : case 4:
24183 : if (!
24184 : #line 18528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24185 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24186 : return NULL;
24187 : return gen_split_724 (insn, operands);
24188 :
24189 : case 5:
24190 : if (!
24191 : #line 18528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24192 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24193 : return NULL;
24194 : return gen_split_726 (insn, operands);
24195 :
24196 : case 6:
24197 : if (!
24198 : #line 18528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24199 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24200 : return NULL;
24201 : return gen_split_728 (insn, operands);
24202 :
24203 : case 7:
24204 : if (!(
24205 : #line 18528 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24206 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24207 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24208 : (TARGET_64BIT)))
24209 : return NULL;
24210 : return gen_split_730 (insn, operands);
24211 :
24212 : case 8:
24213 : if (!
24214 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24215 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24216 : return NULL;
24217 : return gen_split_756 (insn, operands);
24218 :
24219 : case 9:
24220 : if (!
24221 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24222 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24223 : return NULL;
24224 : return gen_split_758 (insn, operands);
24225 :
24226 : case 10:
24227 : if (!
24228 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24229 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24230 : return NULL;
24231 : return gen_split_760 (insn, operands);
24232 :
24233 : case 11:
24234 : if (!(
24235 : #line 18597 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24236 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24237 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24238 : (TARGET_64BIT)))
24239 : return NULL;
24240 : return gen_split_762 (insn, operands);
24241 :
24242 : case 12:
24243 : if (!
24244 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24245 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode) - 1))
24246 : == GET_MODE_BITSIZE (QImode) - 1))
24247 : return NULL;
24248 : return gen_split_708 (insn, operands);
24249 :
24250 : case 13:
24251 : if (!
24252 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24253 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode) - 1))
24254 : == GET_MODE_BITSIZE (HImode) - 1))
24255 : return NULL;
24256 : return gen_split_710 (insn, operands);
24257 :
24258 : case 14:
24259 : if (!
24260 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24261 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode) - 1))
24262 : == GET_MODE_BITSIZE (SImode) - 1))
24263 : return NULL;
24264 : return gen_split_712 (insn, operands);
24265 :
24266 : case 15:
24267 : if (!(
24268 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24269 : ((INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode) - 1))
24270 : == GET_MODE_BITSIZE (DImode) - 1) &&
24271 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24272 : (TARGET_64BIT)))
24273 : return NULL;
24274 : return gen_split_714 (insn, operands);
24275 :
24276 : case 16:
24277 : if (!
24278 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24279 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24280 : return NULL;
24281 : return gen_split_740 (insn, operands);
24282 :
24283 : case 17:
24284 : if (!
24285 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24286 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24287 : return NULL;
24288 : return gen_split_742 (insn, operands);
24289 :
24290 : case 18:
24291 : if (!
24292 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24293 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24294 : return NULL;
24295 : return gen_split_744 (insn, operands);
24296 :
24297 : case 19:
24298 : if (!(
24299 : #line 18560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24300 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24301 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24302 : (TARGET_64BIT)))
24303 : return NULL;
24304 : return gen_split_746 (insn, operands);
24305 :
24306 : case 20:
24307 : if (!
24308 : #line 18629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24309 : ((INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0))
24310 : return NULL;
24311 : return gen_split_772 (insn, operands);
24312 :
24313 : case 21:
24314 : if (!
24315 : #line 18629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24316 : ((INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0))
24317 : return NULL;
24318 : return gen_split_774 (insn, operands);
24319 :
24320 : case 22:
24321 : if (!
24322 : #line 18629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24323 : ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0))
24324 : return NULL;
24325 : return gen_split_776 (insn, operands);
24326 :
24327 : case 23:
24328 : if (!(
24329 : #line 18629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24330 : ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0) &&
24331 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24332 : (TARGET_64BIT)))
24333 : return NULL;
24334 : return gen_split_778 (insn, operands);
24335 :
24336 : default:
24337 : return NULL;
24338 : }
24339 :
24340 : case REG:
24341 : case SUBREG:
24342 : case MEM:
24343 : x5 = XEXP (x3, 1);
24344 : if (GET_CODE (x5) != CONST_INT)
24345 : return NULL;
24346 : switch (XWINT (x5, 0))
24347 : {
24348 : case 32L:
24349 : if (register_operand (operands[0], E_DImode)
24350 : && GET_MODE (x3) == E_DImode
24351 : && register_operand (operands[1], E_DImode)
24352 : && (
24353 : #line 18716 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24354 : (!TARGET_64BIT) &&
24355 : #line 18718 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24356 : ( reload_completed)))
24357 : return gen_split_784 (insn, operands);
24358 : break;
24359 :
24360 : case 64L:
24361 : if (register_operand (operands[0], E_TImode)
24362 : && GET_MODE (x3) == E_TImode
24363 : && register_operand (operands[1], E_TImode)
24364 : && (
24365 : #line 18734 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24366 : (TARGET_64BIT) &&
24367 : #line 18736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24368 : ( reload_completed)))
24369 : return gen_split_786 (insn, operands);
24370 : break;
24371 :
24372 : default:
24373 : break;
24374 : }
24375 : operands[2] = x5;
24376 : if (!const_int_operand (operands[2], E_QImode))
24377 : return NULL;
24378 : switch (pattern132 (x3))
24379 : {
24380 : case 0:
24381 : if (!
24382 : #line 18818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24383 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)
24384 : && !TARGET_APX_NDD))
24385 : return NULL;
24386 : return gen_split_790 (insn, operands);
24387 :
24388 : case 1:
24389 : if (!(
24390 : #line 18818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24391 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)
24392 : && !TARGET_APX_NDD) &&
24393 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24394 : (TARGET_64BIT)))
24395 : return NULL;
24396 : return gen_split_791 (insn, operands);
24397 :
24398 : default:
24399 : return NULL;
24400 : }
24401 :
24402 : default:
24403 : return NULL;
24404 : }
24405 : }
24406 :
24407 : rtx_insn *
24408 : split_11 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24409 : {
24410 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24411 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
24412 : rtx x10, x11;
24413 : rtx_insn *res ATTRIBUTE_UNUSED;
24414 : x2 = XEXP (x1, 1);
24415 : x3 = XEXP (x2, 0);
24416 : switch (GET_CODE (x3))
24417 : {
24418 : case NE:
24419 : case EQ:
24420 : operands[5] = x3;
24421 : if (bt_comparison_operator (operands[5], E_VOIDmode))
24422 : {
24423 : res = split_3 (x1, insn);
24424 : if (res != NULL_RTX)
24425 : return res;
24426 : }
24427 : x4 = XEXP (x3, 0);
24428 : if (!ix86_comparison_operator (x4, E_VOIDmode))
24429 : return NULL;
24430 : operands[0] = x4;
24431 : x5 = XEXP (x4, 0);
24432 : if (GET_CODE (x5) != REG
24433 : || REGNO (x5) != 17)
24434 : return NULL;
24435 : x6 = XEXP (x4, 1);
24436 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24437 : return NULL;
24438 : x7 = XEXP (x3, 1);
24439 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
24440 : return NULL;
24441 : x8 = XEXP (x2, 1);
24442 : if (GET_CODE (x8) != LABEL_REF)
24443 : return NULL;
24444 : x9 = XEXP (x2, 2);
24445 : if (GET_CODE (x9) != PC)
24446 : return NULL;
24447 : x10 = XEXP (x1, 0);
24448 : if (GET_CODE (x10) != PC)
24449 : return NULL;
24450 : x11 = XEXP (x8, 0);
24451 : operands[1] = x11;
24452 : switch (GET_CODE (x3))
24453 : {
24454 : case NE:
24455 : return gen_split_864 (insn, operands);
24456 :
24457 : case EQ:
24458 : return gen_split_865 (insn, operands);
24459 :
24460 : default:
24461 : return NULL;
24462 : }
24463 :
24464 : case GEU:
24465 : case LTU:
24466 : operands[1] = x3;
24467 : if (!add_comparison_operator (operands[1], E_VOIDmode))
24468 : return NULL;
24469 : x4 = XEXP (x3, 0);
24470 : if (GET_CODE (x4) != NOT)
24471 : return NULL;
24472 : x8 = XEXP (x2, 1);
24473 : if (GET_CODE (x8) != LABEL_REF)
24474 : return NULL;
24475 : x9 = XEXP (x2, 2);
24476 : if (GET_CODE (x9) != PC)
24477 : return NULL;
24478 : x10 = XEXP (x1, 0);
24479 : if (GET_CODE (x10) != PC)
24480 : return NULL;
24481 : x5 = XEXP (x4, 0);
24482 : operands[2] = x5;
24483 : x7 = XEXP (x3, 1);
24484 : operands[3] = x7;
24485 : x11 = XEXP (x8, 0);
24486 : operands[0] = x11;
24487 : switch (GET_MODE (x4))
24488 : {
24489 : case E_QImode:
24490 : if (!register_operand (operands[2], E_QImode)
24491 : || !nonimmediate_operand (operands[3], E_QImode))
24492 : return NULL;
24493 : return gen_split_859 (insn, operands);
24494 :
24495 : case E_HImode:
24496 : if (!register_operand (operands[2], E_HImode)
24497 : || !nonimmediate_operand (operands[3], E_HImode))
24498 : return NULL;
24499 : return gen_split_860 (insn, operands);
24500 :
24501 : case E_SImode:
24502 : if (!register_operand (operands[2], E_SImode)
24503 : || !nonimmediate_operand (operands[3], E_SImode))
24504 : return NULL;
24505 : return gen_split_861 (insn, operands);
24506 :
24507 : case E_DImode:
24508 : if (!register_operand (operands[2], E_DImode)
24509 : || !nonimmediate_operand (operands[3], E_DImode)
24510 : || !
24511 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24512 : (TARGET_64BIT))
24513 : return NULL;
24514 : return gen_split_862 (insn, operands);
24515 :
24516 : default:
24517 : return NULL;
24518 : }
24519 :
24520 : case GTU:
24521 : case LEU:
24522 : operands[1] = x3;
24523 : if (!shr_comparison_operator (operands[1], E_VOIDmode))
24524 : return NULL;
24525 : x8 = XEXP (x2, 1);
24526 : if (GET_CODE (x8) != LABEL_REF)
24527 : return NULL;
24528 : x9 = XEXP (x2, 2);
24529 : if (GET_CODE (x9) != PC)
24530 : return NULL;
24531 : x10 = XEXP (x1, 0);
24532 : if (GET_CODE (x10) != PC)
24533 : return NULL;
24534 : x4 = XEXP (x3, 0);
24535 : operands[2] = x4;
24536 : if (!register_operand (operands[2], E_DImode))
24537 : return NULL;
24538 : x7 = XEXP (x3, 1);
24539 : operands[3] = x7;
24540 : if (!const_int_operand (operands[3], E_VOIDmode))
24541 : return NULL;
24542 : x11 = XEXP (x8, 0);
24543 : operands[0] = x11;
24544 : if (!
24545 : #line 19998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24546 : (TARGET_64BIT
24547 : && IN_RANGE (exact_log2 (UINTVAL (operands[3]) + 1), 32, 63)))
24548 : return NULL;
24549 : return gen_split_863 (insn, operands);
24550 :
24551 : default:
24552 : return NULL;
24553 : }
24554 : }
24555 :
24556 : rtx_insn *
24557 : split_13 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24558 : {
24559 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24560 : rtx x2, x3, x4;
24561 : rtx_insn *res ATTRIBUTE_UNUSED;
24562 : x2 = XEXP (x1, 0);
24563 : operands[0] = x2;
24564 : x3 = XEXP (x1, 1);
24565 : x4 = XEXP (x3, 0);
24566 : operands[1] = x4;
24567 : switch (GET_MODE (operands[0]))
24568 : {
24569 : case E_SFmode:
24570 : if (GET_MODE (x3) != E_SFmode)
24571 : return NULL;
24572 : if (sse_reg_operand (operands[0], E_SFmode)
24573 : && nonimmediate_operand (operands[1], E_SImode))
24574 : {
24575 : if (
24576 : #line 6247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24577 : (TARGET_SSE2
24578 : && TARGET_USE_VECTOR_CONVERTS
24579 : && optimize_function_for_speed_p (cfun)
24580 : && reload_completed
24581 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
24582 : && (!EXT_REX_SSE_REG_P (operands[0])
24583 : || TARGET_AVX512VL)))
24584 : return gen_split_85 (insn, operands);
24585 : if (
24586 : #line 6332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24587 : (!TARGET_AVX
24588 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24589 : && epilogue_completed
24590 : && optimize_function_for_speed_p (cfun)
24591 : && (!EXT_REX_SSE_REG_P (operands[0])
24592 : || TARGET_AVX512VL)))
24593 : return gen_split_93 (insn, operands);
24594 : }
24595 : if (register_operand (operands[0], E_SFmode)
24596 : && register_operand (operands[1], E_DImode)
24597 : &&
24598 : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24599 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24600 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
24601 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
24602 : && can_create_pseudo_p ()))
24603 : return gen_split_87 (insn, operands);
24604 : if (!sse_reg_operand (operands[0], E_SFmode)
24605 : || !nonimmediate_operand (operands[1], E_DImode)
24606 : || !(
24607 : #line 6332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24608 : (!TARGET_AVX
24609 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24610 : && epilogue_completed
24611 : && optimize_function_for_speed_p (cfun)
24612 : && (!EXT_REX_SSE_REG_P (operands[0])
24613 : || TARGET_AVX512VL)) &&
24614 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24615 : (TARGET_64BIT)))
24616 : return NULL;
24617 : return gen_split_94 (insn, operands);
24618 :
24619 : case E_DFmode:
24620 : if (GET_MODE (x3) != E_DFmode)
24621 : return NULL;
24622 : if (sse_reg_operand (operands[0], E_DFmode)
24623 : && nonimmediate_operand (operands[1], E_SImode))
24624 : {
24625 : if (
24626 : #line 6247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24627 : (TARGET_SSE2
24628 : && TARGET_USE_VECTOR_CONVERTS
24629 : && optimize_function_for_speed_p (cfun)
24630 : && reload_completed
24631 : && (MEM_P (operands[1]) || TARGET_INTER_UNIT_MOVES_TO_VEC)
24632 : && (!EXT_REX_SSE_REG_P (operands[0])
24633 : || TARGET_AVX512VL)))
24634 : return gen_split_86 (insn, operands);
24635 : if (
24636 : #line 6332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24637 : (!TARGET_AVX
24638 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24639 : && epilogue_completed
24640 : && optimize_function_for_speed_p (cfun)
24641 : && (!EXT_REX_SSE_REG_P (operands[0])
24642 : || TARGET_AVX512VL)))
24643 : return gen_split_95 (insn, operands);
24644 : }
24645 : if (register_operand (operands[0], E_DFmode)
24646 : && register_operand (operands[1], E_DImode)
24647 : &&
24648 : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24649 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24650 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
24651 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
24652 : && can_create_pseudo_p ()))
24653 : return gen_split_88 (insn, operands);
24654 : if (!sse_reg_operand (operands[0], E_DFmode)
24655 : || !nonimmediate_operand (operands[1], E_DImode)
24656 : || !(
24657 : #line 6332 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24658 : (!TARGET_AVX
24659 : && TARGET_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY
24660 : && epilogue_completed
24661 : && optimize_function_for_speed_p (cfun)
24662 : && (!EXT_REX_SSE_REG_P (operands[0])
24663 : || TARGET_AVX512VL)) &&
24664 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24665 : (TARGET_64BIT)))
24666 : return NULL;
24667 : return gen_split_96 (insn, operands);
24668 :
24669 : case E_XFmode:
24670 : if (!register_operand (operands[0], E_XFmode)
24671 : || GET_MODE (x3) != E_XFmode
24672 : || !register_operand (operands[1], E_DImode)
24673 : || !
24674 : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24675 : (!TARGET_64BIT && TARGET_INTER_UNIT_MOVES_TO_VEC
24676 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
24677 : && TARGET_SSE2 && optimize_function_for_speed_p (cfun)
24678 : && can_create_pseudo_p ()))
24679 : return NULL;
24680 : return gen_split_89 (insn, operands);
24681 :
24682 : default:
24683 : return NULL;
24684 : }
24685 : }
24686 :
24687 : rtx_insn *
24688 : split_22 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24689 : {
24690 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24691 : rtx x2, x3, x4, x5, x6, x7, x8;
24692 : rtx_insn *res ATTRIBUTE_UNUSED;
24693 : x2 = XVECEXP (x1, 0, 0);
24694 : x3 = XEXP (x2, 1);
24695 : x4 = XEXP (x3, 0);
24696 : x5 = XEXP (x4, 0);
24697 : switch (GET_CODE (x5))
24698 : {
24699 : case REG:
24700 : case SUBREG:
24701 : operands[1] = x5;
24702 : if (!register_operand (operands[1], E_SImode))
24703 : return NULL;
24704 : x6 = XEXP (x2, 0);
24705 : operands[0] = x6;
24706 : if (!register_operand (operands[0], E_DImode)
24707 : || GET_MODE (x3) != E_DImode
24708 : || GET_MODE (x4) != E_DImode)
24709 : return NULL;
24710 : x7 = XEXP (x3, 1);
24711 : operands[2] = x7;
24712 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
24713 : || !
24714 : #line 13024 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24715 : (TARGET_64BIT))
24716 : return NULL;
24717 : return gen_split_292 (insn, operands);
24718 :
24719 : case ASHIFTRT:
24720 : case LSHIFTRT:
24721 : case SIGN_EXTRACT:
24722 : case ZERO_EXTRACT:
24723 : operands[3] = x5;
24724 : if (GET_MODE (x3) != E_QImode
24725 : || GET_MODE (x4) != E_QImode)
24726 : return NULL;
24727 : x8 = XEXP (x5, 0);
24728 : if (!int248_register_operand (x8, E_VOIDmode))
24729 : return NULL;
24730 : operands[2] = x8;
24731 : switch (pattern1643 (x2))
24732 : {
24733 : case 0:
24734 : if ((
24735 : #line 13192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24736 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24737 : #line 13196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24738 : ( reload_completed
24739 : && !rtx_equal_p (operands[0], operands[1]))))
24740 : return gen_split_299 (insn, operands);
24741 : break;
24742 :
24743 : case 1:
24744 : if ((
24745 : #line 13192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24746 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24747 : #line 13196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24748 : ( reload_completed
24749 : && !rtx_equal_p (operands[0], operands[1]))))
24750 : return gen_split_302 (insn, operands);
24751 : break;
24752 :
24753 : case 2:
24754 : if (((
24755 : #line 13192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24756 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24757 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24758 : (TARGET_64BIT)) &&
24759 : #line 13196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24760 : ( reload_completed
24761 : && !rtx_equal_p (operands[0], operands[1]))))
24762 : return gen_split_305 (insn, operands);
24763 : break;
24764 :
24765 : default:
24766 : break;
24767 : }
24768 : operands[1] = x8;
24769 : switch (pattern1644 (x2))
24770 : {
24771 : case 0:
24772 : if (!(
24773 : #line 13221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24774 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24775 : #line 13223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24776 : ( reload_completed)))
24777 : return NULL;
24778 : return gen_split_308 (insn, operands);
24779 :
24780 : case 1:
24781 : if (!(
24782 : #line 13221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24783 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24784 : #line 13223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24785 : ( reload_completed)))
24786 : return NULL;
24787 : return gen_split_311 (insn, operands);
24788 :
24789 : case 2:
24790 : if (!((
24791 : #line 13221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24792 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24793 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24794 : (TARGET_64BIT)) &&
24795 : #line 13223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24796 : ( reload_completed)))
24797 : return NULL;
24798 : return gen_split_314 (insn, operands);
24799 :
24800 : case 3:
24801 : if (!
24802 : #line 13458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24803 : ( reload_completed))
24804 : return NULL;
24805 : return gen_split_328 (insn, operands);
24806 :
24807 : case 4:
24808 : if (!
24809 : #line 13458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24810 : ( reload_completed))
24811 : return NULL;
24812 : return gen_split_331 (insn, operands);
24813 :
24814 : case 5:
24815 : if (!(
24816 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24817 : (TARGET_64BIT) &&
24818 : #line 13458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24819 : ( reload_completed)))
24820 : return NULL;
24821 : return gen_split_334 (insn, operands);
24822 :
24823 : default:
24824 : return NULL;
24825 : }
24826 :
24827 : case ROTATE:
24828 : if (GET_MODE (x5) != E_SImode)
24829 : return NULL;
24830 : x8 = XEXP (x5, 0);
24831 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
24832 : return NULL;
24833 : switch (pattern1443 (x2))
24834 : {
24835 : case 0:
24836 : if (!(
24837 : #line 19197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24838 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
24839 : #line 19199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24840 : ( 1)))
24841 : return NULL;
24842 : return gen_split_814 (insn, operands);
24843 :
24844 : case 1:
24845 : if (!(
24846 : #line 19197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24847 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
24848 : #line 19199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24849 : ( 1)))
24850 : return NULL;
24851 : return gen_split_815 (insn, operands);
24852 :
24853 : default:
24854 : return NULL;
24855 : }
24856 :
24857 : default:
24858 : return NULL;
24859 : }
24860 : }
24861 :
24862 : rtx_insn *
24863 : split_28 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24864 : {
24865 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24866 : rtx x2, x3, x4, x5, x6, x7;
24867 : rtx_insn *res ATTRIBUTE_UNUSED;
24868 : x2 = XVECEXP (x1, 0, 0);
24869 : x3 = XEXP (x2, 1);
24870 : if (maybe_ne (SUBREG_BYTE (x3), 0))
24871 : return NULL;
24872 : x4 = XVECEXP (x1, 0, 1);
24873 : if (pattern237 (x4,
24874 : E_CCmode,
24875 : 17) != 0)
24876 : return NULL;
24877 : switch (pattern1049 (x2))
24878 : {
24879 : case 0:
24880 : x5 = XEXP (x3, 0);
24881 : x6 = XEXP (x5, 1);
24882 : operands[2] = x6;
24883 : if (general_operand (operands[2], E_QImode))
24884 : {
24885 : switch (pattern1047 (x2))
24886 : {
24887 : case 0:
24888 : if (
24889 : #line 7668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24890 : (reload_completed
24891 : && !rtx_equal_p (operands[0], operands[1])))
24892 : return gen_split_143 (insn, operands);
24893 : break;
24894 :
24895 : case 1:
24896 : if (
24897 : #line 7668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24898 : (reload_completed
24899 : && !rtx_equal_p (operands[0], operands[1])))
24900 : return gen_split_144 (insn, operands);
24901 : break;
24902 :
24903 : case 2:
24904 : if ((
24905 : #line 7668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24906 : (reload_completed
24907 : && !rtx_equal_p (operands[0], operands[1])) &&
24908 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24909 : (TARGET_64BIT)))
24910 : return gen_split_145 (insn, operands);
24911 : break;
24912 :
24913 : default:
24914 : break;
24915 : }
24916 : }
24917 : if (GET_CODE (x6) != SUBREG)
24918 : return NULL;
24919 : switch (pattern1811 (x2))
24920 : {
24921 : case 0:
24922 : if (!
24923 : #line 7711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24924 : (reload_completed
24925 : && !(rtx_equal_p (operands[0], operands[1])
24926 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24927 : return NULL;
24928 : return gen_split_146 (insn, operands);
24929 :
24930 : case 1:
24931 : if (!
24932 : #line 7711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24933 : (reload_completed
24934 : && !(rtx_equal_p (operands[0], operands[1])
24935 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24936 : return NULL;
24937 : return gen_split_148 (insn, operands);
24938 :
24939 : case 2:
24940 : if (!(
24941 : #line 7711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24942 : (reload_completed
24943 : && !(rtx_equal_p (operands[0], operands[1])
24944 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
24945 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24946 : (TARGET_64BIT)))
24947 : return NULL;
24948 : return gen_split_150 (insn, operands);
24949 :
24950 : default:
24951 : return NULL;
24952 : }
24953 :
24954 : case 1:
24955 : x5 = XEXP (x3, 0);
24956 : x6 = XEXP (x5, 1);
24957 : if (GET_CODE (x6) == SUBREG)
24958 : {
24959 : switch (pattern1811 (x2))
24960 : {
24961 : case 0:
24962 : if (
24963 : #line 7711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24964 : (reload_completed
24965 : && !(rtx_equal_p (operands[0], operands[1])
24966 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24967 : return gen_split_147 (insn, operands);
24968 : break;
24969 :
24970 : case 1:
24971 : if (
24972 : #line 7711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24973 : (reload_completed
24974 : && !(rtx_equal_p (operands[0], operands[1])
24975 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24976 : return gen_split_149 (insn, operands);
24977 : break;
24978 :
24979 : case 2:
24980 : if ((
24981 : #line 7711 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24982 : (reload_completed
24983 : && !(rtx_equal_p (operands[0], operands[1])
24984 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
24985 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24986 : (TARGET_64BIT)))
24987 : return gen_split_151 (insn, operands);
24988 : break;
24989 :
24990 : default:
24991 : break;
24992 : }
24993 : }
24994 : operands[2] = x6;
24995 : if (!general_operand (operands[2], E_QImode))
24996 : return NULL;
24997 : switch (pattern1047 (x2))
24998 : {
24999 : case 0:
25000 : if (!
25001 : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25002 : (reload_completed
25003 : && !(rtx_equal_p (operands[0], operands[1]))))
25004 : return NULL;
25005 : return gen_split_189 (insn, operands);
25006 :
25007 : case 1:
25008 : if (!
25009 : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25010 : (reload_completed
25011 : && !(rtx_equal_p (operands[0], operands[1]))))
25012 : return NULL;
25013 : return gen_split_190 (insn, operands);
25014 :
25015 : case 2:
25016 : if (!(
25017 : #line 8476 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25018 : (reload_completed
25019 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25020 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25021 : (TARGET_64BIT)))
25022 : return NULL;
25023 : return gen_split_191 (insn, operands);
25024 :
25025 : default:
25026 : return NULL;
25027 : }
25028 :
25029 : case 2:
25030 : x5 = XEXP (x3, 0);
25031 : x6 = XEXP (x5, 1);
25032 : operands[2] = x6;
25033 : if (general_operand (operands[2], E_QImode))
25034 : {
25035 : switch (pattern1047 (x2))
25036 : {
25037 : case 0:
25038 : if (
25039 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25040 : (reload_completed
25041 : && !(rtx_equal_p (operands[0], operands[1]))))
25042 : return gen_split_337 (insn, operands);
25043 : break;
25044 :
25045 : case 1:
25046 : if (
25047 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25048 : (reload_completed
25049 : && !(rtx_equal_p (operands[0], operands[1]))))
25050 : return gen_split_340 (insn, operands);
25051 : break;
25052 :
25053 : case 2:
25054 : if ((
25055 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25056 : (reload_completed
25057 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25058 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25059 : (TARGET_64BIT)))
25060 : return gen_split_343 (insn, operands);
25061 : break;
25062 :
25063 : default:
25064 : break;
25065 : }
25066 : }
25067 : if (GET_CODE (x6) != SUBREG)
25068 : return NULL;
25069 : switch (pattern1811 (x2))
25070 : {
25071 : case 0:
25072 : if (!
25073 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25074 : (reload_completed
25075 : && !(rtx_equal_p (operands[0], operands[1])
25076 : || rtx_equal_p (operands[0], operands[2]))))
25077 : return NULL;
25078 : return gen_split_355 (insn, operands);
25079 :
25080 : case 1:
25081 : if (!
25082 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25083 : (reload_completed
25084 : && !(rtx_equal_p (operands[0], operands[1])
25085 : || rtx_equal_p (operands[0], operands[2]))))
25086 : return NULL;
25087 : return gen_split_358 (insn, operands);
25088 :
25089 : case 2:
25090 : if (!(
25091 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25092 : (reload_completed
25093 : && !(rtx_equal_p (operands[0], operands[1])
25094 : || rtx_equal_p (operands[0], operands[2]))) &&
25095 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25096 : (TARGET_64BIT)))
25097 : return NULL;
25098 : return gen_split_361 (insn, operands);
25099 :
25100 : default:
25101 : return NULL;
25102 : }
25103 :
25104 : case 3:
25105 : x5 = XEXP (x3, 0);
25106 : x6 = XEXP (x5, 1);
25107 : operands[2] = x6;
25108 : if (general_operand (operands[2], E_QImode))
25109 : {
25110 : switch (pattern1047 (x2))
25111 : {
25112 : case 0:
25113 : if (
25114 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25115 : (reload_completed
25116 : && !(rtx_equal_p (operands[0], operands[1]))))
25117 : return gen_split_338 (insn, operands);
25118 : break;
25119 :
25120 : case 1:
25121 : if (
25122 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25123 : (reload_completed
25124 : && !(rtx_equal_p (operands[0], operands[1]))))
25125 : return gen_split_341 (insn, operands);
25126 : break;
25127 :
25128 : case 2:
25129 : if ((
25130 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25131 : (reload_completed
25132 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25133 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25134 : (TARGET_64BIT)))
25135 : return gen_split_344 (insn, operands);
25136 : break;
25137 :
25138 : default:
25139 : break;
25140 : }
25141 : }
25142 : if (GET_CODE (x6) != SUBREG)
25143 : return NULL;
25144 : switch (pattern1811 (x2))
25145 : {
25146 : case 0:
25147 : if (!
25148 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25149 : (reload_completed
25150 : && !(rtx_equal_p (operands[0], operands[1])
25151 : || rtx_equal_p (operands[0], operands[2]))))
25152 : return NULL;
25153 : return gen_split_356 (insn, operands);
25154 :
25155 : case 1:
25156 : if (!
25157 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25158 : (reload_completed
25159 : && !(rtx_equal_p (operands[0], operands[1])
25160 : || rtx_equal_p (operands[0], operands[2]))))
25161 : return NULL;
25162 : return gen_split_359 (insn, operands);
25163 :
25164 : case 2:
25165 : if (!(
25166 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25167 : (reload_completed
25168 : && !(rtx_equal_p (operands[0], operands[1])
25169 : || rtx_equal_p (operands[0], operands[2]))) &&
25170 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25171 : (TARGET_64BIT)))
25172 : return NULL;
25173 : return gen_split_362 (insn, operands);
25174 :
25175 : default:
25176 : return NULL;
25177 : }
25178 :
25179 : case 4:
25180 : x5 = XEXP (x3, 0);
25181 : x6 = XEXP (x5, 1);
25182 : operands[2] = x6;
25183 : if (general_operand (operands[2], E_QImode))
25184 : {
25185 : switch (pattern1047 (x2))
25186 : {
25187 : case 0:
25188 : if (
25189 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25190 : (reload_completed
25191 : && !(rtx_equal_p (operands[0], operands[1]))))
25192 : return gen_split_339 (insn, operands);
25193 : break;
25194 :
25195 : case 1:
25196 : if (
25197 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25198 : (reload_completed
25199 : && !(rtx_equal_p (operands[0], operands[1]))))
25200 : return gen_split_342 (insn, operands);
25201 : break;
25202 :
25203 : case 2:
25204 : if ((
25205 : #line 13506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25206 : (reload_completed
25207 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25208 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25209 : (TARGET_64BIT)))
25210 : return gen_split_345 (insn, operands);
25211 : break;
25212 :
25213 : default:
25214 : break;
25215 : }
25216 : }
25217 : if (GET_CODE (x6) != SUBREG)
25218 : return NULL;
25219 : switch (pattern1811 (x2))
25220 : {
25221 : case 0:
25222 : if (!
25223 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25224 : (reload_completed
25225 : && !(rtx_equal_p (operands[0], operands[1])
25226 : || rtx_equal_p (operands[0], operands[2]))))
25227 : return NULL;
25228 : return gen_split_357 (insn, operands);
25229 :
25230 : case 1:
25231 : if (!
25232 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25233 : (reload_completed
25234 : && !(rtx_equal_p (operands[0], operands[1])
25235 : || rtx_equal_p (operands[0], operands[2]))))
25236 : return NULL;
25237 : return gen_split_360 (insn, operands);
25238 :
25239 : case 2:
25240 : if (!(
25241 : #line 13598 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25242 : (reload_completed
25243 : && !(rtx_equal_p (operands[0], operands[1])
25244 : || rtx_equal_p (operands[0], operands[2]))) &&
25245 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25246 : (TARGET_64BIT)))
25247 : return NULL;
25248 : return gen_split_363 (insn, operands);
25249 :
25250 : default:
25251 : return NULL;
25252 : }
25253 :
25254 : case 5:
25255 : if (!
25256 : #line 14918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25257 : (reload_completed
25258 : && !(rtx_equal_p (operands[0], operands[1]))))
25259 : return NULL;
25260 : return gen_split_500 (insn, operands);
25261 :
25262 : case 6:
25263 : if (!
25264 : #line 14918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25265 : (reload_completed
25266 : && !(rtx_equal_p (operands[0], operands[1]))))
25267 : return NULL;
25268 : return gen_split_501 (insn, operands);
25269 :
25270 : case 7:
25271 : if (!(
25272 : #line 14918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25273 : (reload_completed
25274 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25275 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25276 : (TARGET_64BIT)))
25277 : return NULL;
25278 : return gen_split_502 (insn, operands);
25279 :
25280 : case 8:
25281 : if (!
25282 : #line 16874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25283 : (reload_completed
25284 : && !(rtx_equal_p (operands[0], operands[1]))))
25285 : return NULL;
25286 : return gen_split_592 (insn, operands);
25287 :
25288 : case 9:
25289 : if (!
25290 : #line 16874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25291 : (reload_completed
25292 : && !(rtx_equal_p (operands[0], operands[1]))))
25293 : return NULL;
25294 : return gen_split_593 (insn, operands);
25295 :
25296 : case 10:
25297 : if (!(
25298 : #line 16874 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25299 : (reload_completed
25300 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25301 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25302 : (TARGET_64BIT)))
25303 : return NULL;
25304 : return gen_split_594 (insn, operands);
25305 :
25306 : case 11:
25307 : x7 = XEXP (x2, 0);
25308 : operands[0] = x7;
25309 : switch (pattern1241 (x3))
25310 : {
25311 : case 0:
25312 : if (((
25313 : #line 17102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25314 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25315 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25316 : (!TARGET_64BIT)) &&
25317 : #line 17104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25318 : ( reload_completed)))
25319 : return gen_split_611 (insn, operands);
25320 : break;
25321 :
25322 : case 1:
25323 : if (((
25324 : #line 17102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25325 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25326 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25327 : (TARGET_64BIT)) &&
25328 : #line 17104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25329 : ( reload_completed)))
25330 : return gen_split_613 (insn, operands);
25331 : break;
25332 :
25333 : default:
25334 : break;
25335 : }
25336 : x5 = XEXP (x3, 0);
25337 : if (GET_MODE (x5) != E_QImode)
25338 : return NULL;
25339 : switch (pattern1048 (x2))
25340 : {
25341 : case 0:
25342 : if (!
25343 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25344 : (reload_completed
25345 : && !(rtx_equal_p (operands[0], operands[1]))))
25346 : return NULL;
25347 : return gen_split_638 (insn, operands);
25348 :
25349 : case 1:
25350 : if (!
25351 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25352 : (reload_completed
25353 : && !(rtx_equal_p (operands[0], operands[1]))))
25354 : return NULL;
25355 : return gen_split_640 (insn, operands);
25356 :
25357 : case 2:
25358 : if (!(
25359 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25360 : (reload_completed
25361 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25362 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25363 : (TARGET_64BIT)))
25364 : return NULL;
25365 : return gen_split_642 (insn, operands);
25366 :
25367 : default:
25368 : return NULL;
25369 : }
25370 :
25371 : case 12:
25372 : x7 = XEXP (x2, 0);
25373 : operands[0] = x7;
25374 : switch (pattern1241 (x3))
25375 : {
25376 : case 0:
25377 : if (((
25378 : #line 17102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25379 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25380 : #line 1239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25381 : (!TARGET_64BIT)) &&
25382 : #line 17104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25383 : ( reload_completed)))
25384 : return gen_split_612 (insn, operands);
25385 : break;
25386 :
25387 : case 1:
25388 : if (((
25389 : #line 17102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25390 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25391 : #line 1240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25392 : (TARGET_64BIT)) &&
25393 : #line 17104 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25394 : ( reload_completed)))
25395 : return gen_split_614 (insn, operands);
25396 : break;
25397 :
25398 : default:
25399 : break;
25400 : }
25401 : x5 = XEXP (x3, 0);
25402 : if (GET_MODE (x5) != E_QImode)
25403 : return NULL;
25404 : switch (pattern1048 (x2))
25405 : {
25406 : case 0:
25407 : if (!
25408 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25409 : (reload_completed
25410 : && !(rtx_equal_p (operands[0], operands[1]))))
25411 : return NULL;
25412 : return gen_split_639 (insn, operands);
25413 :
25414 : case 1:
25415 : if (!
25416 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25417 : (reload_completed
25418 : && !(rtx_equal_p (operands[0], operands[1]))))
25419 : return NULL;
25420 : return gen_split_641 (insn, operands);
25421 :
25422 : case 2:
25423 : if (!(
25424 : #line 18068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25425 : (reload_completed
25426 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25427 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25428 : (TARGET_64BIT)))
25429 : return NULL;
25430 : return gen_split_643 (insn, operands);
25431 :
25432 : default:
25433 : return NULL;
25434 : }
25435 :
25436 : default:
25437 : return NULL;
25438 : }
25439 : }
25440 :
25441 : rtx_insn *
25442 : split_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25443 : {
25444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25445 : rtx x2, x3, x4, x5, x6;
25446 : rtx_insn *res ATTRIBUTE_UNUSED;
25447 : switch (pattern409 (x1))
25448 : {
25449 : case 0:
25450 : if (!(
25451 : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25452 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25453 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25454 : == GET_MODE_BITSIZE (QImode)-1
25455 : && ix86_pre_reload_split ()) &&
25456 : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25457 : ( 1)))
25458 : return NULL;
25459 : return gen_split_700 (insn, operands);
25460 :
25461 : case 1:
25462 : if (!(
25463 : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25464 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25465 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25466 : == GET_MODE_BITSIZE (HImode)-1
25467 : && ix86_pre_reload_split ()) &&
25468 : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25469 : ( 1)))
25470 : return NULL;
25471 : return gen_split_702 (insn, operands);
25472 :
25473 : case 2:
25474 : if (!(
25475 : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25476 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25477 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25478 : == GET_MODE_BITSIZE (SImode)-1
25479 : && ix86_pre_reload_split ()) &&
25480 : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25481 : ( 1)))
25482 : return NULL;
25483 : return gen_split_704 (insn, operands);
25484 :
25485 : case 3:
25486 : if (!((
25487 : #line 18461 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25488 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25489 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25490 : == GET_MODE_BITSIZE (DImode)-1
25491 : && ix86_pre_reload_split ()) &&
25492 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25493 : (TARGET_64BIT)) &&
25494 : #line 18466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25495 : ( 1)))
25496 : return NULL;
25497 : return gen_split_706 (insn, operands);
25498 :
25499 : case 4:
25500 : if (!(
25501 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25502 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25503 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25504 : && ix86_pre_reload_split ()) &&
25505 : #line 18546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25506 : ( 1)))
25507 : return NULL;
25508 : return gen_split_732 (insn, operands);
25509 :
25510 : case 5:
25511 : if (!(
25512 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25513 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25514 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25515 : && ix86_pre_reload_split ()) &&
25516 : #line 18546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25517 : ( 1)))
25518 : return NULL;
25519 : return gen_split_734 (insn, operands);
25520 :
25521 : case 6:
25522 : if (!(
25523 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25524 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25525 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25526 : && ix86_pre_reload_split ()) &&
25527 : #line 18546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25528 : ( 1)))
25529 : return NULL;
25530 : return gen_split_736 (insn, operands);
25531 :
25532 : case 7:
25533 : if (!((
25534 : #line 18542 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25535 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25536 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25537 : && ix86_pre_reload_split ()) &&
25538 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25539 : (TARGET_64BIT)) &&
25540 : #line 18546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25541 : ( 1)))
25542 : return NULL;
25543 : return gen_split_738 (insn, operands);
25544 :
25545 : case 8:
25546 : if (!(
25547 : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25548 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25549 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25550 : && ix86_pre_reload_split ()) &&
25551 : #line 18615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25552 : ( 1)))
25553 : return NULL;
25554 : return gen_split_764 (insn, operands);
25555 :
25556 : case 9:
25557 : if (!(
25558 : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25559 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25560 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25561 : && ix86_pre_reload_split ()) &&
25562 : #line 18615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25563 : ( 1)))
25564 : return NULL;
25565 : return gen_split_766 (insn, operands);
25566 :
25567 : case 10:
25568 : if (!(
25569 : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25570 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25571 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25572 : && ix86_pre_reload_split ()) &&
25573 : #line 18615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25574 : ( 1)))
25575 : return NULL;
25576 : return gen_split_768 (insn, operands);
25577 :
25578 : case 11:
25579 : if (!((
25580 : #line 18611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25581 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25582 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25583 : && ix86_pre_reload_split ()) &&
25584 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25585 : (TARGET_64BIT)) &&
25586 : #line 18615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25587 : ( 1)))
25588 : return NULL;
25589 : return gen_split_770 (insn, operands);
25590 :
25591 : case 12:
25592 : x2 = XVECEXP (x1, 0, 0);
25593 : x3 = XEXP (x2, 0);
25594 : operands[0] = x3;
25595 : x4 = XEXP (x2, 1);
25596 : switch (pattern1190 (x4))
25597 : {
25598 : case 0:
25599 : if ((
25600 : #line 18413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25601 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25602 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25603 : == GET_MODE_BITSIZE (QImode)-1
25604 : && ix86_pre_reload_split ()) &&
25605 : #line 18418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25606 : ( 1)))
25607 : return gen_split_684 (insn, operands);
25608 : break;
25609 :
25610 : case 1:
25611 : if ((
25612 : #line 18413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25613 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25614 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25615 : == GET_MODE_BITSIZE (HImode)-1
25616 : && ix86_pre_reload_split ()) &&
25617 : #line 18418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25618 : ( 1)))
25619 : return gen_split_686 (insn, operands);
25620 : break;
25621 :
25622 : case 2:
25623 : if ((
25624 : #line 18413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25625 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25626 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25627 : == GET_MODE_BITSIZE (SImode)-1
25628 : && ix86_pre_reload_split ()) &&
25629 : #line 18418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25630 : ( 1)))
25631 : return gen_split_688 (insn, operands);
25632 : break;
25633 :
25634 : case 3:
25635 : if (((
25636 : #line 18413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25637 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25638 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25639 : == GET_MODE_BITSIZE (DImode)-1
25640 : && ix86_pre_reload_split ()) &&
25641 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25642 : (TARGET_64BIT)) &&
25643 : #line 18418 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25644 : ( 1)))
25645 : return gen_split_690 (insn, operands);
25646 : break;
25647 :
25648 : case 4:
25649 : if ((
25650 : #line 18506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25651 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25652 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25653 : && ix86_pre_reload_split ()) &&
25654 : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25655 : ( 1)))
25656 : return gen_split_716 (insn, operands);
25657 : break;
25658 :
25659 : case 5:
25660 : if ((
25661 : #line 18506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25662 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25663 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25664 : && ix86_pre_reload_split ()) &&
25665 : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25666 : ( 1)))
25667 : return gen_split_718 (insn, operands);
25668 : break;
25669 :
25670 : case 6:
25671 : if ((
25672 : #line 18506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25673 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25674 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25675 : && ix86_pre_reload_split ()) &&
25676 : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25677 : ( 1)))
25678 : return gen_split_720 (insn, operands);
25679 : break;
25680 :
25681 : case 7:
25682 : if (((
25683 : #line 18506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25684 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25685 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25686 : && ix86_pre_reload_split ()) &&
25687 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25688 : (TARGET_64BIT)) &&
25689 : #line 18510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25690 : ( 1)))
25691 : return gen_split_722 (insn, operands);
25692 : break;
25693 :
25694 : case 8:
25695 : if ((
25696 : #line 18575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25697 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25698 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25699 : && ix86_pre_reload_split ()) &&
25700 : #line 18579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25701 : ( 1)))
25702 : return gen_split_748 (insn, operands);
25703 : break;
25704 :
25705 : case 9:
25706 : if ((
25707 : #line 18575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25708 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25709 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25710 : && ix86_pre_reload_split ()) &&
25711 : #line 18579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25712 : ( 1)))
25713 : return gen_split_750 (insn, operands);
25714 : break;
25715 :
25716 : case 10:
25717 : if ((
25718 : #line 18575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25719 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25720 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25721 : && ix86_pre_reload_split ()) &&
25722 : #line 18579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25723 : ( 1)))
25724 : return gen_split_752 (insn, operands);
25725 : break;
25726 :
25727 : case 11:
25728 : if (((
25729 : #line 18575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25730 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25731 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25732 : && ix86_pre_reload_split ()) &&
25733 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25734 : (TARGET_64BIT)) &&
25735 : #line 18579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25736 : ( 1)))
25737 : return gen_split_754 (insn, operands);
25738 : break;
25739 :
25740 : case 12:
25741 : x5 = XEXP (x4, 1);
25742 : operands[2] = x5;
25743 : switch (pattern1347 (x4))
25744 : {
25745 : case 0:
25746 : if (
25747 : #line 18805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25748 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
25749 : return gen_split_788 (insn, operands);
25750 : break;
25751 :
25752 : case 1:
25753 : if ((
25754 : #line 18805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25755 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) &&
25756 : #line 1171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25757 : (TARGET_64BIT)))
25758 : return gen_split_789 (insn, operands);
25759 : break;
25760 :
25761 : default:
25762 : break;
25763 : }
25764 : if (XWINT (x5, 0) == 8L
25765 : && QIreg_operand (operands[0], E_HImode)
25766 : && GET_MODE (x4) == E_HImode)
25767 : {
25768 : x6 = XEXP (x4, 0);
25769 : if (rtx_equal_p (x6, operands[0])
25770 : &&
25771 : #line 18984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25772 : (reload_completed
25773 : && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
25774 : return gen_split_800 (insn, operands);
25775 : }
25776 : break;
25777 :
25778 : default:
25779 : break;
25780 : }
25781 : x5 = XEXP (x4, 1);
25782 : operands[2] = x5;
25783 : switch (pattern1191 (x2))
25784 : {
25785 : case 0:
25786 : if (!(
25787 : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25788 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25789 : #line 18964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25790 : ( reload_completed
25791 : && !(rtx_equal_p (operands[0], operands[1])))))
25792 : return NULL;
25793 : return gen_split_796 (insn, operands);
25794 :
25795 : case 1:
25796 : if (!(
25797 : #line 18957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25798 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25799 : #line 18964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25800 : ( reload_completed
25801 : && !(rtx_equal_p (operands[0], operands[1])))))
25802 : return NULL;
25803 : return gen_split_798 (insn, operands);
25804 :
25805 : default:
25806 : return NULL;
25807 : }
25808 :
25809 : default:
25810 : return NULL;
25811 : }
25812 : }
25813 :
25814 : rtx_insn *
25815 : split_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25816 : {
25817 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25818 : rtx x2, x3, x4;
25819 : rtx_insn *res ATTRIBUTE_UNUSED;
25820 : x2 = XEXP (x1, 1);
25821 : operands[1] = x2;
25822 : x3 = XEXP (x1, 0);
25823 : operands[0] = x3;
25824 : switch (GET_MODE (operands[0]))
25825 : {
25826 : case E_V8QImode:
25827 : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
25828 : && nonimmediate_gr_operand (operands[1], E_V8QImode)
25829 : &&
25830 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25831 : (!TARGET_64BIT && reload_completed))
25832 : return gen_split_1009 (insn, operands);
25833 : if (general_reg_operand (operands[0], E_V8QImode)
25834 : && memory_operand (operands[1], E_V8QImode)
25835 : && (
25836 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25837 : (reload_completed
25838 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25839 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25840 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25841 : (TARGET_64BIT)))
25842 : return gen_split_1039 (insn, operands);
25843 : break;
25844 :
25845 : case E_V4HImode:
25846 : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
25847 : && nonimmediate_gr_operand (operands[1], E_V4HImode)
25848 : &&
25849 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25850 : (!TARGET_64BIT && reload_completed))
25851 : return gen_split_1010 (insn, operands);
25852 : if (general_reg_operand (operands[0], E_V4HImode)
25853 : && memory_operand (operands[1], E_V4HImode)
25854 : && (
25855 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25856 : (reload_completed
25857 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25858 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25859 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25860 : (TARGET_64BIT)))
25861 : return gen_split_1040 (insn, operands);
25862 : break;
25863 :
25864 : case E_V2SImode:
25865 : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
25866 : && nonimmediate_gr_operand (operands[1], E_V2SImode)
25867 : &&
25868 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25869 : (!TARGET_64BIT && reload_completed))
25870 : return gen_split_1011 (insn, operands);
25871 : if (general_reg_operand (operands[0], E_V2SImode)
25872 : && memory_operand (operands[1], E_V2SImode)
25873 : && (
25874 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25875 : (reload_completed
25876 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25877 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25878 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25879 : (TARGET_64BIT)))
25880 : return gen_split_1043 (insn, operands);
25881 : break;
25882 :
25883 : case E_V1DImode:
25884 : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
25885 : && nonimmediate_gr_operand (operands[1], E_V1DImode)
25886 : &&
25887 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25888 : (!TARGET_64BIT && reload_completed))
25889 : return gen_split_1012 (insn, operands);
25890 : if (general_reg_operand (operands[0], E_V1DImode)
25891 : && memory_operand (operands[1], E_V1DImode)
25892 : && (
25893 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25894 : (reload_completed
25895 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25896 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25897 : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25898 : (TARGET_64BIT)))
25899 : return gen_split_1045 (insn, operands);
25900 : break;
25901 :
25902 : case E_V2SFmode:
25903 : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
25904 : && nonimmediate_gr_operand (operands[1], E_V2SFmode)
25905 : &&
25906 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25907 : (!TARGET_64BIT && reload_completed))
25908 : return gen_split_1013 (insn, operands);
25909 : if (general_reg_operand (operands[0], E_V2SFmode)
25910 : && memory_operand (operands[1], E_V2SFmode)
25911 : && (
25912 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25913 : (reload_completed
25914 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25915 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25916 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25917 : (TARGET_64BIT)))
25918 : return gen_split_1044 (insn, operands);
25919 : break;
25920 :
25921 : case E_V4HFmode:
25922 : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
25923 : && nonimmediate_gr_operand (operands[1], E_V4HFmode)
25924 : &&
25925 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25926 : (!TARGET_64BIT && reload_completed))
25927 : return gen_split_1014 (insn, operands);
25928 : if (general_reg_operand (operands[0], E_V4HFmode)
25929 : && memory_operand (operands[1], E_V4HFmode)
25930 : && (
25931 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25932 : (reload_completed
25933 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25934 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25935 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25936 : (TARGET_64BIT)))
25937 : return gen_split_1041 (insn, operands);
25938 : break;
25939 :
25940 : case E_V4BFmode:
25941 : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
25942 : && nonimmediate_gr_operand (operands[1], E_V4BFmode)
25943 : &&
25944 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25945 : (!TARGET_64BIT && reload_completed))
25946 : return gen_split_1015 (insn, operands);
25947 : if (general_reg_operand (operands[0], E_V4BFmode)
25948 : && memory_operand (operands[1], E_V4BFmode)
25949 : && (
25950 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25951 : (reload_completed
25952 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25953 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25954 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25955 : (TARGET_64BIT)))
25956 : return gen_split_1042 (insn, operands);
25957 : break;
25958 :
25959 : case E_V4QImode:
25960 : if (push_operand (operands[0], E_V4QImode)
25961 : && sse_reg_operand (operands[1], E_V4QImode))
25962 : {
25963 : if ((
25964 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25965 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25966 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25967 : (Pmode == SImode)))
25968 : return gen_split_1023 (insn, operands);
25969 : if ((
25970 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25971 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25972 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25973 : (Pmode == DImode)))
25974 : return gen_split_1028 (insn, operands);
25975 : }
25976 : if (general_reg_operand (operands[0], E_V4QImode)
25977 : && memory_operand (operands[1], E_V4QImode)
25978 : &&
25979 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25980 : (reload_completed
25981 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25982 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25983 : return gen_split_1034 (insn, operands);
25984 : break;
25985 :
25986 : case E_V2HImode:
25987 : if (push_operand (operands[0], E_V2HImode)
25988 : && sse_reg_operand (operands[1], E_V2HImode))
25989 : {
25990 : if ((
25991 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25992 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25993 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25994 : (Pmode == SImode)))
25995 : return gen_split_1024 (insn, operands);
25996 : if ((
25997 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25998 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25999 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26000 : (Pmode == DImode)))
26001 : return gen_split_1029 (insn, operands);
26002 : }
26003 : if (general_reg_operand (operands[0], E_V2HImode)
26004 : && memory_operand (operands[1], E_V2HImode)
26005 : &&
26006 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26007 : (reload_completed
26008 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26009 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26010 : return gen_split_1035 (insn, operands);
26011 : break;
26012 :
26013 : case E_V1SImode:
26014 : if (push_operand (operands[0], E_V1SImode)
26015 : && sse_reg_operand (operands[1], E_V1SImode))
26016 : {
26017 : if ((
26018 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26019 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26020 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26021 : (Pmode == SImode)))
26022 : return gen_split_1025 (insn, operands);
26023 : if ((
26024 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26025 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26026 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26027 : (Pmode == DImode)))
26028 : return gen_split_1030 (insn, operands);
26029 : }
26030 : if (general_reg_operand (operands[0], E_V1SImode)
26031 : && memory_operand (operands[1], E_V1SImode)
26032 : &&
26033 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26034 : (reload_completed
26035 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26036 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26037 : return gen_split_1036 (insn, operands);
26038 : break;
26039 :
26040 : case E_V2HFmode:
26041 : if (push_operand (operands[0], E_V2HFmode)
26042 : && sse_reg_operand (operands[1], E_V2HFmode))
26043 : {
26044 : if ((
26045 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26046 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26047 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26048 : (Pmode == SImode)))
26049 : return gen_split_1026 (insn, operands);
26050 : if ((
26051 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26052 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26053 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26054 : (Pmode == DImode)))
26055 : return gen_split_1031 (insn, operands);
26056 : }
26057 : if (general_reg_operand (operands[0], E_V2HFmode)
26058 : && memory_operand (operands[1], E_V2HFmode)
26059 : &&
26060 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26061 : (reload_completed
26062 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26063 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26064 : return gen_split_1037 (insn, operands);
26065 : break;
26066 :
26067 : case E_V2BFmode:
26068 : if (push_operand (operands[0], E_V2BFmode)
26069 : && sse_reg_operand (operands[1], E_V2BFmode))
26070 : {
26071 : if ((
26072 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26073 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26074 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26075 : (Pmode == SImode)))
26076 : return gen_split_1027 (insn, operands);
26077 : if ((
26078 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26079 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26080 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26081 : (Pmode == DImode)))
26082 : return gen_split_1032 (insn, operands);
26083 : }
26084 : if (general_reg_operand (operands[0], E_V2BFmode)
26085 : && memory_operand (operands[1], E_V2BFmode)
26086 : &&
26087 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26088 : (reload_completed
26089 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26090 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26091 : return gen_split_1038 (insn, operands);
26092 : break;
26093 :
26094 : case E_V2QImode:
26095 : if (general_reg_operand (operands[0], E_V2QImode)
26096 : && memory_operand (operands[1], E_V2QImode)
26097 : &&
26098 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26099 : (reload_completed
26100 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26101 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26102 : return gen_split_1033 (insn, operands);
26103 : if (push_operand (operands[0], E_V2QImode)
26104 : && sse_reg_operand (operands[1], E_V2QImode))
26105 : {
26106 : if ((
26107 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26108 : (TARGET_SSE4_1 && reload_completed) &&
26109 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26110 : (Pmode == SImode)))
26111 : return gen_split_1059 (insn, operands);
26112 : if ((
26113 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26114 : (TARGET_SSE4_1 && reload_completed) &&
26115 : #line 1402 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26116 : (Pmode == DImode)))
26117 : return gen_split_1060 (insn, operands);
26118 : }
26119 : break;
26120 :
26121 : case E_P2QImode:
26122 : if (nonimmediate_operand (operands[0], E_P2QImode)
26123 : && nonimmediate_operand (operands[1], E_P2QImode)
26124 : && (
26125 : #line 31929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26126 : (TARGET_AVX512VP2INTERSECT
26127 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26128 : #line 31932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26129 : ( reload_completed)))
26130 : return gen_split_3942 (insn, operands);
26131 : break;
26132 :
26133 : case E_P2HImode:
26134 : if (nonimmediate_operand (operands[0], E_P2HImode)
26135 : && nonimmediate_operand (operands[1], E_P2HImode)
26136 : && (
26137 : #line 31929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26138 : (TARGET_AVX512VP2INTERSECT
26139 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26140 : #line 31932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26141 : ( reload_completed)))
26142 : return gen_split_3943 (insn, operands);
26143 : break;
26144 :
26145 : default:
26146 : break;
26147 : }
26148 : if (GET_CODE (x2) != SUBREG)
26149 : return NULL;
26150 : operands[0] = x3;
26151 : switch (SUBREG_BYTE (x2))
26152 : {
26153 : case 8:
26154 : if (GET_MODE (x2) != E_DFmode
26155 : || !register_operand (operands[0], E_DFmode))
26156 : return NULL;
26157 : x4 = XEXP (x2, 0);
26158 : operands[1] = x4;
26159 : if (!register_operand (operands[1], E_V2DFmode)
26160 : || !
26161 : #line 15014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26162 : (TARGET_SSE))
26163 : return NULL;
26164 : return gen_split_3246 (insn, operands);
26165 :
26166 : case 0:
26167 : x4 = XEXP (x2, 0);
26168 : switch (GET_CODE (x4))
26169 : {
26170 : case REG:
26171 : case SUBREG:
26172 : operands[1] = x4;
26173 : switch (GET_MODE (operands[0]))
26174 : {
26175 : case E_DFmode:
26176 : if (!register_operand (operands[0], E_DFmode)
26177 : || GET_MODE (x2) != E_DFmode
26178 : || !register_operand (operands[1], E_V2DFmode)
26179 : || !
26180 : #line 15067 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26181 : (TARGET_SSE))
26182 : return NULL;
26183 : return gen_split_3248 (insn, operands);
26184 :
26185 : case E_SImode:
26186 : if (!nonimmediate_operand (operands[0], E_SImode)
26187 : || GET_MODE (x2) != E_SImode
26188 : || !register_operand (operands[1], E_VOIDmode)
26189 : || !
26190 : #line 21917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26191 : (can_create_pseudo_p ()
26192 : && REG_P (operands[1])
26193 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26194 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26195 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26196 : || (TARGET_AVX512F
26197 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26198 : && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26199 : return NULL;
26200 : return gen_split_3506 (insn, operands);
26201 :
26202 : case E_DImode:
26203 : if (!nonimmediate_operand (operands[0], E_DImode)
26204 : || GET_MODE (x2) != E_DImode
26205 : || !register_operand (operands[1], E_VOIDmode)
26206 : || !
26207 : #line 21917 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26208 : (can_create_pseudo_p ()
26209 : && REG_P (operands[1])
26210 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26211 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26212 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26213 : || (TARGET_AVX512F
26214 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26215 : && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26216 : return NULL;
26217 : return gen_split_3507 (insn, operands);
26218 :
26219 : default:
26220 : return NULL;
26221 : }
26222 :
26223 : case SS_TRUNCATE:
26224 : switch (pattern733 (x2))
26225 : {
26226 : case 0:
26227 : if (!(
26228 : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26229 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26230 : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26231 : ( 1)))
26232 : return NULL;
26233 : return gen_split_3260 (insn, operands);
26234 :
26235 : case 1:
26236 : if (!(
26237 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26238 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26239 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26240 : ( 1)))
26241 : return NULL;
26242 : return gen_split_3263 (insn, operands);
26243 :
26244 : case 2:
26245 : if (!(
26246 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26247 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26248 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26249 : ( 1)))
26250 : return NULL;
26251 : return gen_split_3266 (insn, operands);
26252 :
26253 : case 3:
26254 : if (!(
26255 : #line 16233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26256 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26257 : #line 16235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26258 : ( 1)))
26259 : return NULL;
26260 : return gen_split_3282 (insn, operands);
26261 :
26262 : case 4:
26263 : if (!((
26264 : #line 15980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26265 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26266 : #line 15962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26267 : (TARGET_AVX512BW)) &&
26268 : #line 15982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26269 : ( 1)))
26270 : return NULL;
26271 : return gen_split_3269 (insn, operands);
26272 :
26273 : case 5:
26274 : if (!(
26275 : #line 15980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26276 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26277 : #line 15982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26278 : ( 1)))
26279 : return NULL;
26280 : return gen_split_3272 (insn, operands);
26281 :
26282 : case 6:
26283 : if (!(
26284 : #line 16496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26285 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26286 : #line 16498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26287 : ( 1)))
26288 : return NULL;
26289 : return gen_split_3289 (insn, operands);
26290 :
26291 : case 7:
26292 : if (!(
26293 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26294 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26295 : #line 16144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26296 : ( 1)))
26297 : return NULL;
26298 : return gen_split_3276 (insn, operands);
26299 :
26300 : case 8:
26301 : if (!(
26302 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26303 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26304 : #line 16144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26305 : ( 1)))
26306 : return NULL;
26307 : return gen_split_3279 (insn, operands);
26308 :
26309 : case 9:
26310 : if (!(
26311 : #line 16383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26312 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26313 : #line 16385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26314 : ( 1)))
26315 : return NULL;
26316 : return gen_split_3286 (insn, operands);
26317 :
26318 : default:
26319 : return NULL;
26320 : }
26321 :
26322 : case TRUNCATE:
26323 : switch (pattern733 (x2))
26324 : {
26325 : case 0:
26326 : if (!(
26327 : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26328 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26329 : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26330 : ( 1)))
26331 : return NULL;
26332 : return gen_split_3261 (insn, operands);
26333 :
26334 : case 1:
26335 : if (!(
26336 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26337 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26338 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26339 : ( 1)))
26340 : return NULL;
26341 : return gen_split_3264 (insn, operands);
26342 :
26343 : case 2:
26344 : if (!(
26345 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26346 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26347 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26348 : ( 1)))
26349 : return NULL;
26350 : return gen_split_3267 (insn, operands);
26351 :
26352 : case 3:
26353 : if (!(
26354 : #line 16233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26355 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26356 : #line 16235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26357 : ( 1)))
26358 : return NULL;
26359 : return gen_split_3283 (insn, operands);
26360 :
26361 : case 4:
26362 : if (!((
26363 : #line 15980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26364 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26365 : #line 15962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26366 : (TARGET_AVX512BW)) &&
26367 : #line 15982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26368 : ( 1)))
26369 : return NULL;
26370 : return gen_split_3270 (insn, operands);
26371 :
26372 : case 5:
26373 : if (!(
26374 : #line 15980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26375 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26376 : #line 15982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26377 : ( 1)))
26378 : return NULL;
26379 : return gen_split_3273 (insn, operands);
26380 :
26381 : case 6:
26382 : if (!(
26383 : #line 16496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26384 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26385 : #line 16498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26386 : ( 1)))
26387 : return NULL;
26388 : return gen_split_3290 (insn, operands);
26389 :
26390 : case 7:
26391 : if (!(
26392 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26393 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26394 : #line 16144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26395 : ( 1)))
26396 : return NULL;
26397 : return gen_split_3277 (insn, operands);
26398 :
26399 : case 8:
26400 : if (!(
26401 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26402 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26403 : #line 16144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26404 : ( 1)))
26405 : return NULL;
26406 : return gen_split_3280 (insn, operands);
26407 :
26408 : case 9:
26409 : if (!(
26410 : #line 16383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26411 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26412 : #line 16385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26413 : ( 1)))
26414 : return NULL;
26415 : return gen_split_3287 (insn, operands);
26416 :
26417 : default:
26418 : return NULL;
26419 : }
26420 :
26421 : case US_TRUNCATE:
26422 : switch (pattern733 (x2))
26423 : {
26424 : case 0:
26425 : if (!(
26426 : #line 15787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26427 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26428 : #line 15789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26429 : ( 1)))
26430 : return NULL;
26431 : return gen_split_3262 (insn, operands);
26432 :
26433 : case 1:
26434 : if (!(
26435 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26436 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26437 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26438 : ( 1)))
26439 : return NULL;
26440 : return gen_split_3265 (insn, operands);
26441 :
26442 : case 2:
26443 : if (!(
26444 : #line 15882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26445 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26446 : #line 15884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26447 : ( 1)))
26448 : return NULL;
26449 : return gen_split_3268 (insn, operands);
26450 :
26451 : case 3:
26452 : if (!(
26453 : #line 16233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26454 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26455 : #line 16235 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26456 : ( 1)))
26457 : return NULL;
26458 : return gen_split_3284 (insn, operands);
26459 :
26460 : case 4:
26461 : if (!((
26462 : #line 15980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26463 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26464 : #line 15962 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26465 : (TARGET_AVX512BW)) &&
26466 : #line 15982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26467 : ( 1)))
26468 : return NULL;
26469 : return gen_split_3271 (insn, operands);
26470 :
26471 : case 5:
26472 : if (!(
26473 : #line 15980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26474 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26475 : #line 15982 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26476 : ( 1)))
26477 : return NULL;
26478 : return gen_split_3274 (insn, operands);
26479 :
26480 : case 6:
26481 : if (!(
26482 : #line 16496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26483 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26484 : #line 16498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26485 : ( 1)))
26486 : return NULL;
26487 : return gen_split_3291 (insn, operands);
26488 :
26489 : case 7:
26490 : if (!(
26491 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26492 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26493 : #line 16144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26494 : ( 1)))
26495 : return NULL;
26496 : return gen_split_3278 (insn, operands);
26497 :
26498 : case 8:
26499 : if (!(
26500 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26501 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26502 : #line 16144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26503 : ( 1)))
26504 : return NULL;
26505 : return gen_split_3281 (insn, operands);
26506 :
26507 : case 9:
26508 : if (!(
26509 : #line 16383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26510 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26511 : #line 16385 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26512 : ( 1)))
26513 : return NULL;
26514 : return gen_split_3288 (insn, operands);
26515 :
26516 : default:
26517 : return NULL;
26518 : }
26519 :
26520 : default:
26521 : return NULL;
26522 : }
26523 :
26524 : default:
26525 : return NULL;
26526 : }
26527 : }
26528 :
26529 : rtx_insn *
26530 : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26531 : {
26532 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26533 : rtx x2, x3, x4;
26534 : rtx_insn *res ATTRIBUTE_UNUSED;
26535 : x2 = XEXP (x1, 1);
26536 : x3 = XEXP (x2, 0);
26537 : x4 = XEXP (x3, 0);
26538 : switch (GET_CODE (x4))
26539 : {
26540 : case REG:
26541 : case SUBREG:
26542 : case MEM:
26543 : case NOT:
26544 : switch (pattern537 (x2))
26545 : {
26546 : case 0:
26547 : if (!((
26548 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26549 : ((64 == 64 || TARGET_AVX512VL
26550 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26551 : && ix86_pre_reload_split ()
26552 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26553 : STRIP_UNARY (operands[4]))
26554 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26555 : STRIP_UNARY (operands[4]))
26556 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26557 : STRIP_UNARY (operands[3]))
26558 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26559 : STRIP_UNARY (operands[3])))) &&
26560 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26561 : (TARGET_AVX512F)) &&
26562 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26563 : ( 1)))
26564 : return NULL;
26565 : return gen_split_1733 (insn, operands);
26566 :
26567 : case 1:
26568 : if (!((
26569 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26570 : ((32 == 64 || TARGET_AVX512VL
26571 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26572 : && ix86_pre_reload_split ()
26573 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26574 : STRIP_UNARY (operands[4]))
26575 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26576 : STRIP_UNARY (operands[4]))
26577 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26578 : STRIP_UNARY (operands[3]))
26579 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26580 : STRIP_UNARY (operands[3])))) &&
26581 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26582 : (TARGET_AVX)) &&
26583 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26584 : ( 1)))
26585 : return NULL;
26586 : return gen_split_1760 (insn, operands);
26587 :
26588 : case 2:
26589 : if (!(
26590 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26591 : ((16 == 64 || TARGET_AVX512VL
26592 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26593 : && ix86_pre_reload_split ()
26594 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26595 : STRIP_UNARY (operands[4]))
26596 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26597 : STRIP_UNARY (operands[4]))
26598 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26599 : STRIP_UNARY (operands[3]))
26600 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26601 : STRIP_UNARY (operands[3])))) &&
26602 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26603 : ( 1)))
26604 : return NULL;
26605 : return gen_split_1787 (insn, operands);
26606 :
26607 : case 3:
26608 : if (!((
26609 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26610 : ((64 == 64 || TARGET_AVX512VL
26611 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26612 : && ix86_pre_reload_split ()
26613 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26614 : STRIP_UNARY (operands[4]))
26615 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26616 : STRIP_UNARY (operands[4]))
26617 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26618 : STRIP_UNARY (operands[3]))
26619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26620 : STRIP_UNARY (operands[3])))) &&
26621 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26622 : (TARGET_AVX512F)) &&
26623 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26624 : ( 1)))
26625 : return NULL;
26626 : return gen_split_1814 (insn, operands);
26627 :
26628 : case 4:
26629 : if (!((
26630 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26631 : ((32 == 64 || TARGET_AVX512VL
26632 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26633 : && ix86_pre_reload_split ()
26634 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26635 : STRIP_UNARY (operands[4]))
26636 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26637 : STRIP_UNARY (operands[4]))
26638 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26639 : STRIP_UNARY (operands[3]))
26640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26641 : STRIP_UNARY (operands[3])))) &&
26642 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26643 : (TARGET_AVX)) &&
26644 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26645 : ( 1)))
26646 : return NULL;
26647 : return gen_split_1841 (insn, operands);
26648 :
26649 : case 5:
26650 : if (!(
26651 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26652 : ((16 == 64 || TARGET_AVX512VL
26653 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26654 : && ix86_pre_reload_split ()
26655 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26656 : STRIP_UNARY (operands[4]))
26657 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26658 : STRIP_UNARY (operands[4]))
26659 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26660 : STRIP_UNARY (operands[3]))
26661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26662 : STRIP_UNARY (operands[3])))) &&
26663 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26664 : ( 1)))
26665 : return NULL;
26666 : return gen_split_1868 (insn, operands);
26667 :
26668 : case 6:
26669 : if (!((
26670 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26671 : ((64 == 64 || TARGET_AVX512VL
26672 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26673 : && ix86_pre_reload_split ()
26674 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26675 : STRIP_UNARY (operands[4]))
26676 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26677 : STRIP_UNARY (operands[4]))
26678 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26679 : STRIP_UNARY (operands[3]))
26680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26681 : STRIP_UNARY (operands[3])))) &&
26682 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26683 : (TARGET_AVX512F)) &&
26684 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26685 : ( 1)))
26686 : return NULL;
26687 : return gen_split_1895 (insn, operands);
26688 :
26689 : case 7:
26690 : if (!((
26691 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26692 : ((32 == 64 || TARGET_AVX512VL
26693 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26694 : && ix86_pre_reload_split ()
26695 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26696 : STRIP_UNARY (operands[4]))
26697 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26698 : STRIP_UNARY (operands[4]))
26699 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26700 : STRIP_UNARY (operands[3]))
26701 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26702 : STRIP_UNARY (operands[3])))) &&
26703 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26704 : (TARGET_AVX)) &&
26705 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26706 : ( 1)))
26707 : return NULL;
26708 : return gen_split_1922 (insn, operands);
26709 :
26710 : case 8:
26711 : if (!(
26712 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26713 : ((16 == 64 || TARGET_AVX512VL
26714 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26715 : && ix86_pre_reload_split ()
26716 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26717 : STRIP_UNARY (operands[4]))
26718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26719 : STRIP_UNARY (operands[4]))
26720 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26721 : STRIP_UNARY (operands[3]))
26722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26723 : STRIP_UNARY (operands[3])))) &&
26724 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26725 : ( 1)))
26726 : return NULL;
26727 : return gen_split_1949 (insn, operands);
26728 :
26729 : case 9:
26730 : if (!((
26731 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26732 : ((64 == 64 || TARGET_AVX512VL
26733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26734 : && ix86_pre_reload_split ()
26735 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26736 : STRIP_UNARY (operands[4]))
26737 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26738 : STRIP_UNARY (operands[4]))
26739 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26740 : STRIP_UNARY (operands[3]))
26741 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26742 : STRIP_UNARY (operands[3])))) &&
26743 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26744 : (TARGET_AVX512F)) &&
26745 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26746 : ( 1)))
26747 : return NULL;
26748 : return gen_split_1976 (insn, operands);
26749 :
26750 : case 10:
26751 : if (!((
26752 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26753 : ((32 == 64 || TARGET_AVX512VL
26754 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26755 : && ix86_pre_reload_split ()
26756 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26757 : STRIP_UNARY (operands[4]))
26758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26759 : STRIP_UNARY (operands[4]))
26760 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26761 : STRIP_UNARY (operands[3]))
26762 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26763 : STRIP_UNARY (operands[3])))) &&
26764 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26765 : (TARGET_AVX)) &&
26766 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26767 : ( 1)))
26768 : return NULL;
26769 : return gen_split_2003 (insn, operands);
26770 :
26771 : case 11:
26772 : if (!(
26773 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26774 : ((16 == 64 || TARGET_AVX512VL
26775 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26776 : && ix86_pre_reload_split ()
26777 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26778 : STRIP_UNARY (operands[4]))
26779 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26780 : STRIP_UNARY (operands[4]))
26781 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26782 : STRIP_UNARY (operands[3]))
26783 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26784 : STRIP_UNARY (operands[3])))) &&
26785 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26786 : ( 1)))
26787 : return NULL;
26788 : return gen_split_2030 (insn, operands);
26789 :
26790 : case 12:
26791 : if (!((
26792 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26793 : ((64 == 64 || TARGET_AVX512VL
26794 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26795 : && ix86_pre_reload_split ()
26796 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26797 : STRIP_UNARY (operands[4]))
26798 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26799 : STRIP_UNARY (operands[4]))
26800 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26801 : STRIP_UNARY (operands[3]))
26802 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26803 : STRIP_UNARY (operands[3])))) &&
26804 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26805 : (TARGET_AVX512F)) &&
26806 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26807 : ( 1)))
26808 : return NULL;
26809 : return gen_split_1736 (insn, operands);
26810 :
26811 : case 13:
26812 : if (!((
26813 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26814 : ((32 == 64 || TARGET_AVX512VL
26815 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26816 : && ix86_pre_reload_split ()
26817 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26818 : STRIP_UNARY (operands[4]))
26819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26820 : STRIP_UNARY (operands[4]))
26821 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26822 : STRIP_UNARY (operands[3]))
26823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26824 : STRIP_UNARY (operands[3])))) &&
26825 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26826 : (TARGET_AVX)) &&
26827 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26828 : ( 1)))
26829 : return NULL;
26830 : return gen_split_1763 (insn, operands);
26831 :
26832 : case 14:
26833 : if (!(
26834 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26835 : ((16 == 64 || TARGET_AVX512VL
26836 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26837 : && ix86_pre_reload_split ()
26838 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26839 : STRIP_UNARY (operands[4]))
26840 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26841 : STRIP_UNARY (operands[4]))
26842 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26843 : STRIP_UNARY (operands[3]))
26844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26845 : STRIP_UNARY (operands[3])))) &&
26846 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26847 : ( 1)))
26848 : return NULL;
26849 : return gen_split_1790 (insn, operands);
26850 :
26851 : case 15:
26852 : if (!((
26853 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26854 : ((64 == 64 || TARGET_AVX512VL
26855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26856 : && ix86_pre_reload_split ()
26857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26858 : STRIP_UNARY (operands[4]))
26859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26860 : STRIP_UNARY (operands[4]))
26861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26862 : STRIP_UNARY (operands[3]))
26863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26864 : STRIP_UNARY (operands[3])))) &&
26865 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26866 : (TARGET_AVX512F)) &&
26867 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26868 : ( 1)))
26869 : return NULL;
26870 : return gen_split_1817 (insn, operands);
26871 :
26872 : case 16:
26873 : if (!((
26874 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26875 : ((32 == 64 || TARGET_AVX512VL
26876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26877 : && ix86_pre_reload_split ()
26878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26879 : STRIP_UNARY (operands[4]))
26880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26881 : STRIP_UNARY (operands[4]))
26882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26883 : STRIP_UNARY (operands[3]))
26884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26885 : STRIP_UNARY (operands[3])))) &&
26886 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26887 : (TARGET_AVX)) &&
26888 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26889 : ( 1)))
26890 : return NULL;
26891 : return gen_split_1844 (insn, operands);
26892 :
26893 : case 17:
26894 : if (!(
26895 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26896 : ((16 == 64 || TARGET_AVX512VL
26897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26898 : && ix86_pre_reload_split ()
26899 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26900 : STRIP_UNARY (operands[4]))
26901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26902 : STRIP_UNARY (operands[4]))
26903 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26904 : STRIP_UNARY (operands[3]))
26905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26906 : STRIP_UNARY (operands[3])))) &&
26907 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26908 : ( 1)))
26909 : return NULL;
26910 : return gen_split_1871 (insn, operands);
26911 :
26912 : case 18:
26913 : if (!((
26914 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26915 : ((64 == 64 || TARGET_AVX512VL
26916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26917 : && ix86_pre_reload_split ()
26918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26919 : STRIP_UNARY (operands[4]))
26920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26921 : STRIP_UNARY (operands[4]))
26922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26923 : STRIP_UNARY (operands[3]))
26924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26925 : STRIP_UNARY (operands[3])))) &&
26926 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26927 : (TARGET_AVX512F)) &&
26928 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26929 : ( 1)))
26930 : return NULL;
26931 : return gen_split_1898 (insn, operands);
26932 :
26933 : case 19:
26934 : if (!((
26935 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26936 : ((32 == 64 || TARGET_AVX512VL
26937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26938 : && ix86_pre_reload_split ()
26939 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26940 : STRIP_UNARY (operands[4]))
26941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26942 : STRIP_UNARY (operands[4]))
26943 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26944 : STRIP_UNARY (operands[3]))
26945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26946 : STRIP_UNARY (operands[3])))) &&
26947 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26948 : (TARGET_AVX)) &&
26949 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26950 : ( 1)))
26951 : return NULL;
26952 : return gen_split_1925 (insn, operands);
26953 :
26954 : case 20:
26955 : if (!(
26956 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26957 : ((16 == 64 || TARGET_AVX512VL
26958 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26959 : && ix86_pre_reload_split ()
26960 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26961 : STRIP_UNARY (operands[4]))
26962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26963 : STRIP_UNARY (operands[4]))
26964 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26965 : STRIP_UNARY (operands[3]))
26966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26967 : STRIP_UNARY (operands[3])))) &&
26968 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26969 : ( 1)))
26970 : return NULL;
26971 : return gen_split_1952 (insn, operands);
26972 :
26973 : case 21:
26974 : if (!((
26975 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26976 : ((64 == 64 || TARGET_AVX512VL
26977 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26978 : && ix86_pre_reload_split ()
26979 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26980 : STRIP_UNARY (operands[4]))
26981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26982 : STRIP_UNARY (operands[4]))
26983 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26984 : STRIP_UNARY (operands[3]))
26985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26986 : STRIP_UNARY (operands[3])))) &&
26987 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26988 : (TARGET_AVX512F)) &&
26989 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26990 : ( 1)))
26991 : return NULL;
26992 : return gen_split_1979 (insn, operands);
26993 :
26994 : case 22:
26995 : if (!((
26996 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26997 : ((32 == 64 || TARGET_AVX512VL
26998 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26999 : && ix86_pre_reload_split ()
27000 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27001 : STRIP_UNARY (operands[4]))
27002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27003 : STRIP_UNARY (operands[4]))
27004 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27005 : STRIP_UNARY (operands[3]))
27006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27007 : STRIP_UNARY (operands[3])))) &&
27008 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27009 : (TARGET_AVX)) &&
27010 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27011 : ( 1)))
27012 : return NULL;
27013 : return gen_split_2006 (insn, operands);
27014 :
27015 : case 23:
27016 : if (!(
27017 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27018 : ((16 == 64 || TARGET_AVX512VL
27019 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27020 : && ix86_pre_reload_split ()
27021 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27022 : STRIP_UNARY (operands[4]))
27023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27024 : STRIP_UNARY (operands[4]))
27025 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27026 : STRIP_UNARY (operands[3]))
27027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27028 : STRIP_UNARY (operands[3])))) &&
27029 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27030 : ( 1)))
27031 : return NULL;
27032 : return gen_split_2033 (insn, operands);
27033 :
27034 : case 24:
27035 : if (!((
27036 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27037 : ((64 == 64 || TARGET_AVX512VL
27038 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27039 : && ix86_pre_reload_split ()
27040 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27041 : STRIP_UNARY (operands[4]))
27042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27043 : STRIP_UNARY (operands[4]))
27044 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27045 : STRIP_UNARY (operands[3]))
27046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27047 : STRIP_UNARY (operands[3])))) &&
27048 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27049 : (TARGET_AVX512F)) &&
27050 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27051 : ( 1)))
27052 : return NULL;
27053 : return gen_split_1739 (insn, operands);
27054 :
27055 : case 25:
27056 : if (!((
27057 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27058 : ((32 == 64 || TARGET_AVX512VL
27059 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27060 : && ix86_pre_reload_split ()
27061 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27062 : STRIP_UNARY (operands[4]))
27063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27064 : STRIP_UNARY (operands[4]))
27065 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27066 : STRIP_UNARY (operands[3]))
27067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27068 : STRIP_UNARY (operands[3])))) &&
27069 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27070 : (TARGET_AVX)) &&
27071 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27072 : ( 1)))
27073 : return NULL;
27074 : return gen_split_1766 (insn, operands);
27075 :
27076 : case 26:
27077 : if (!(
27078 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27079 : ((16 == 64 || TARGET_AVX512VL
27080 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27081 : && ix86_pre_reload_split ()
27082 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27083 : STRIP_UNARY (operands[4]))
27084 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27085 : STRIP_UNARY (operands[4]))
27086 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27087 : STRIP_UNARY (operands[3]))
27088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27089 : STRIP_UNARY (operands[3])))) &&
27090 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27091 : ( 1)))
27092 : return NULL;
27093 : return gen_split_1793 (insn, operands);
27094 :
27095 : case 27:
27096 : if (!((
27097 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27098 : ((64 == 64 || TARGET_AVX512VL
27099 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27100 : && ix86_pre_reload_split ()
27101 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27102 : STRIP_UNARY (operands[4]))
27103 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27104 : STRIP_UNARY (operands[4]))
27105 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27106 : STRIP_UNARY (operands[3]))
27107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27108 : STRIP_UNARY (operands[3])))) &&
27109 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27110 : (TARGET_AVX512F)) &&
27111 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27112 : ( 1)))
27113 : return NULL;
27114 : return gen_split_1820 (insn, operands);
27115 :
27116 : case 28:
27117 : if (!((
27118 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27119 : ((32 == 64 || TARGET_AVX512VL
27120 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27121 : && ix86_pre_reload_split ()
27122 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27123 : STRIP_UNARY (operands[4]))
27124 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27125 : STRIP_UNARY (operands[4]))
27126 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27127 : STRIP_UNARY (operands[3]))
27128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27129 : STRIP_UNARY (operands[3])))) &&
27130 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27131 : (TARGET_AVX)) &&
27132 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27133 : ( 1)))
27134 : return NULL;
27135 : return gen_split_1847 (insn, operands);
27136 :
27137 : case 29:
27138 : if (!(
27139 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27140 : ((16 == 64 || TARGET_AVX512VL
27141 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27142 : && ix86_pre_reload_split ()
27143 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27144 : STRIP_UNARY (operands[4]))
27145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27146 : STRIP_UNARY (operands[4]))
27147 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27148 : STRIP_UNARY (operands[3]))
27149 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27150 : STRIP_UNARY (operands[3])))) &&
27151 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27152 : ( 1)))
27153 : return NULL;
27154 : return gen_split_1874 (insn, operands);
27155 :
27156 : case 30:
27157 : if (!((
27158 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27159 : ((64 == 64 || TARGET_AVX512VL
27160 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27161 : && ix86_pre_reload_split ()
27162 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27163 : STRIP_UNARY (operands[4]))
27164 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27165 : STRIP_UNARY (operands[4]))
27166 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27167 : STRIP_UNARY (operands[3]))
27168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27169 : STRIP_UNARY (operands[3])))) &&
27170 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27171 : (TARGET_AVX512F)) &&
27172 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27173 : ( 1)))
27174 : return NULL;
27175 : return gen_split_1901 (insn, operands);
27176 :
27177 : case 31:
27178 : if (!((
27179 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27180 : ((32 == 64 || TARGET_AVX512VL
27181 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27182 : && ix86_pre_reload_split ()
27183 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27184 : STRIP_UNARY (operands[4]))
27185 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27186 : STRIP_UNARY (operands[4]))
27187 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27188 : STRIP_UNARY (operands[3]))
27189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27190 : STRIP_UNARY (operands[3])))) &&
27191 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27192 : (TARGET_AVX)) &&
27193 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27194 : ( 1)))
27195 : return NULL;
27196 : return gen_split_1928 (insn, operands);
27197 :
27198 : case 32:
27199 : if (!(
27200 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27201 : ((16 == 64 || TARGET_AVX512VL
27202 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27203 : && ix86_pre_reload_split ()
27204 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27205 : STRIP_UNARY (operands[4]))
27206 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27207 : STRIP_UNARY (operands[4]))
27208 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27209 : STRIP_UNARY (operands[3]))
27210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27211 : STRIP_UNARY (operands[3])))) &&
27212 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27213 : ( 1)))
27214 : return NULL;
27215 : return gen_split_1955 (insn, operands);
27216 :
27217 : case 33:
27218 : if (!((
27219 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27220 : ((64 == 64 || TARGET_AVX512VL
27221 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27222 : && ix86_pre_reload_split ()
27223 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27224 : STRIP_UNARY (operands[4]))
27225 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27226 : STRIP_UNARY (operands[4]))
27227 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27228 : STRIP_UNARY (operands[3]))
27229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27230 : STRIP_UNARY (operands[3])))) &&
27231 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27232 : (TARGET_AVX512F)) &&
27233 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27234 : ( 1)))
27235 : return NULL;
27236 : return gen_split_1982 (insn, operands);
27237 :
27238 : case 34:
27239 : if (!((
27240 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27241 : ((32 == 64 || TARGET_AVX512VL
27242 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27243 : && ix86_pre_reload_split ()
27244 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27245 : STRIP_UNARY (operands[4]))
27246 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27247 : STRIP_UNARY (operands[4]))
27248 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27249 : STRIP_UNARY (operands[3]))
27250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27251 : STRIP_UNARY (operands[3])))) &&
27252 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27253 : (TARGET_AVX)) &&
27254 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27255 : ( 1)))
27256 : return NULL;
27257 : return gen_split_2009 (insn, operands);
27258 :
27259 : case 35:
27260 : if (!(
27261 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27262 : ((16 == 64 || TARGET_AVX512VL
27263 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27264 : && ix86_pre_reload_split ()
27265 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27266 : STRIP_UNARY (operands[4]))
27267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27268 : STRIP_UNARY (operands[4]))
27269 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27270 : STRIP_UNARY (operands[3]))
27271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27272 : STRIP_UNARY (operands[3])))) &&
27273 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27274 : ( 1)))
27275 : return NULL;
27276 : return gen_split_2036 (insn, operands);
27277 :
27278 : case 36:
27279 : if (!((
27280 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27281 : ((64 == 64 || TARGET_AVX512VL
27282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27283 : && ix86_pre_reload_split ()) &&
27284 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27285 : (TARGET_AVX512F)) &&
27286 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27287 : ( 1)))
27288 : return NULL;
27289 : return gen_split_3029 (insn, operands);
27290 :
27291 : case 37:
27292 : if (!((
27293 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27294 : ((32 == 64 || TARGET_AVX512VL
27295 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27296 : && ix86_pre_reload_split ()) &&
27297 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27298 : (TARGET_AVX)) &&
27299 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27300 : ( 1)))
27301 : return NULL;
27302 : return gen_split_3038 (insn, operands);
27303 :
27304 : case 38:
27305 : if (!(
27306 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27307 : ((16 == 64 || TARGET_AVX512VL
27308 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27309 : && ix86_pre_reload_split ()) &&
27310 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27311 : ( 1)))
27312 : return NULL;
27313 : return gen_split_3047 (insn, operands);
27314 :
27315 : case 39:
27316 : if (!((
27317 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27318 : ((64 == 64 || TARGET_AVX512VL
27319 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27320 : && ix86_pre_reload_split ()) &&
27321 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27322 : (TARGET_AVX512F)) &&
27323 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27324 : ( 1)))
27325 : return NULL;
27326 : return gen_split_3056 (insn, operands);
27327 :
27328 : case 40:
27329 : if (!((
27330 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27331 : ((32 == 64 || TARGET_AVX512VL
27332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27333 : && ix86_pre_reload_split ()) &&
27334 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27335 : (TARGET_AVX)) &&
27336 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27337 : ( 1)))
27338 : return NULL;
27339 : return gen_split_3065 (insn, operands);
27340 :
27341 : case 41:
27342 : if (!(
27343 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27344 : ((16 == 64 || TARGET_AVX512VL
27345 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27346 : && ix86_pre_reload_split ()) &&
27347 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27348 : ( 1)))
27349 : return NULL;
27350 : return gen_split_3074 (insn, operands);
27351 :
27352 : case 42:
27353 : if (!((
27354 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27355 : ((64 == 64 || TARGET_AVX512VL
27356 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27357 : && ix86_pre_reload_split ()) &&
27358 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27359 : (TARGET_AVX512F)) &&
27360 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27361 : ( 1)))
27362 : return NULL;
27363 : return gen_split_3083 (insn, operands);
27364 :
27365 : case 43:
27366 : if (!((
27367 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27368 : ((32 == 64 || TARGET_AVX512VL
27369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27370 : && ix86_pre_reload_split ()) &&
27371 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27372 : (TARGET_AVX)) &&
27373 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27374 : ( 1)))
27375 : return NULL;
27376 : return gen_split_3092 (insn, operands);
27377 :
27378 : case 44:
27379 : if (!(
27380 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27381 : ((16 == 64 || TARGET_AVX512VL
27382 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27383 : && ix86_pre_reload_split ()) &&
27384 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27385 : ( 1)))
27386 : return NULL;
27387 : return gen_split_3101 (insn, operands);
27388 :
27389 : case 45:
27390 : if (!((
27391 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27392 : ((64 == 64 || TARGET_AVX512VL
27393 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27394 : && ix86_pre_reload_split ()) &&
27395 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27396 : (TARGET_AVX512F)) &&
27397 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27398 : ( 1)))
27399 : return NULL;
27400 : return gen_split_3110 (insn, operands);
27401 :
27402 : case 46:
27403 : if (!((
27404 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27405 : ((32 == 64 || TARGET_AVX512VL
27406 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27407 : && ix86_pre_reload_split ()) &&
27408 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27409 : (TARGET_AVX)) &&
27410 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27411 : ( 1)))
27412 : return NULL;
27413 : return gen_split_3119 (insn, operands);
27414 :
27415 : case 47:
27416 : if (!(
27417 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27418 : ((16 == 64 || TARGET_AVX512VL
27419 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27420 : && ix86_pre_reload_split ()) &&
27421 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27422 : ( 1)))
27423 : return NULL;
27424 : return gen_split_3128 (insn, operands);
27425 :
27426 : default:
27427 : return NULL;
27428 : }
27429 :
27430 : case AND:
27431 : switch (pattern539 (x2))
27432 : {
27433 : case 0:
27434 : if (!((
27435 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27436 : ((64 == 64 || TARGET_AVX512VL
27437 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27438 : && ix86_pre_reload_split ()
27439 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27440 : STRIP_UNARY (operands[4]))
27441 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27442 : STRIP_UNARY (operands[4]))
27443 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27444 : STRIP_UNARY (operands[3]))
27445 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27446 : STRIP_UNARY (operands[3])))) &&
27447 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27448 : (TARGET_AVX512F)) &&
27449 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27450 : ( 1)))
27451 : return NULL;
27452 : return gen_split_2381 (insn, operands);
27453 :
27454 : case 1:
27455 : if (!((
27456 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27457 : ((32 == 64 || TARGET_AVX512VL
27458 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27459 : && ix86_pre_reload_split ()
27460 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27461 : STRIP_UNARY (operands[4]))
27462 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27463 : STRIP_UNARY (operands[4]))
27464 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27465 : STRIP_UNARY (operands[3]))
27466 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27467 : STRIP_UNARY (operands[3])))) &&
27468 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27469 : (TARGET_AVX)) &&
27470 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27471 : ( 1)))
27472 : return NULL;
27473 : return gen_split_2408 (insn, operands);
27474 :
27475 : case 2:
27476 : if (!(
27477 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27478 : ((16 == 64 || TARGET_AVX512VL
27479 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27480 : && ix86_pre_reload_split ()
27481 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27482 : STRIP_UNARY (operands[4]))
27483 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27484 : STRIP_UNARY (operands[4]))
27485 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27486 : STRIP_UNARY (operands[3]))
27487 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27488 : STRIP_UNARY (operands[3])))) &&
27489 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27490 : ( 1)))
27491 : return NULL;
27492 : return gen_split_2435 (insn, operands);
27493 :
27494 : case 3:
27495 : if (!((
27496 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27497 : ((64 == 64 || TARGET_AVX512VL
27498 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27499 : && ix86_pre_reload_split ()
27500 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27501 : STRIP_UNARY (operands[4]))
27502 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27503 : STRIP_UNARY (operands[4]))
27504 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27505 : STRIP_UNARY (operands[3]))
27506 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27507 : STRIP_UNARY (operands[3])))) &&
27508 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27509 : (TARGET_AVX512F)) &&
27510 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27511 : ( 1)))
27512 : return NULL;
27513 : return gen_split_2462 (insn, operands);
27514 :
27515 : case 4:
27516 : if (!((
27517 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27518 : ((32 == 64 || TARGET_AVX512VL
27519 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27520 : && ix86_pre_reload_split ()
27521 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27522 : STRIP_UNARY (operands[4]))
27523 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27524 : STRIP_UNARY (operands[4]))
27525 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27526 : STRIP_UNARY (operands[3]))
27527 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27528 : STRIP_UNARY (operands[3])))) &&
27529 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27530 : (TARGET_AVX)) &&
27531 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27532 : ( 1)))
27533 : return NULL;
27534 : return gen_split_2489 (insn, operands);
27535 :
27536 : case 5:
27537 : if (!(
27538 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27539 : ((16 == 64 || TARGET_AVX512VL
27540 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27541 : && ix86_pre_reload_split ()
27542 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27543 : STRIP_UNARY (operands[4]))
27544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27545 : STRIP_UNARY (operands[4]))
27546 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27547 : STRIP_UNARY (operands[3]))
27548 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27549 : STRIP_UNARY (operands[3])))) &&
27550 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27551 : ( 1)))
27552 : return NULL;
27553 : return gen_split_2516 (insn, operands);
27554 :
27555 : case 6:
27556 : if (!((
27557 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27558 : ((64 == 64 || TARGET_AVX512VL
27559 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27560 : && ix86_pre_reload_split ()
27561 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27562 : STRIP_UNARY (operands[4]))
27563 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27564 : STRIP_UNARY (operands[4]))
27565 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27566 : STRIP_UNARY (operands[3]))
27567 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27568 : STRIP_UNARY (operands[3])))) &&
27569 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27570 : (TARGET_AVX512F)) &&
27571 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27572 : ( 1)))
27573 : return NULL;
27574 : return gen_split_2543 (insn, operands);
27575 :
27576 : case 7:
27577 : if (!((
27578 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27579 : ((32 == 64 || TARGET_AVX512VL
27580 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27581 : && ix86_pre_reload_split ()
27582 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27583 : STRIP_UNARY (operands[4]))
27584 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27585 : STRIP_UNARY (operands[4]))
27586 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27587 : STRIP_UNARY (operands[3]))
27588 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27589 : STRIP_UNARY (operands[3])))) &&
27590 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27591 : (TARGET_AVX)) &&
27592 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27593 : ( 1)))
27594 : return NULL;
27595 : return gen_split_2570 (insn, operands);
27596 :
27597 : case 8:
27598 : if (!(
27599 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27600 : ((16 == 64 || TARGET_AVX512VL
27601 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27602 : && ix86_pre_reload_split ()
27603 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27604 : STRIP_UNARY (operands[4]))
27605 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27606 : STRIP_UNARY (operands[4]))
27607 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27608 : STRIP_UNARY (operands[3]))
27609 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27610 : STRIP_UNARY (operands[3])))) &&
27611 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27612 : ( 1)))
27613 : return NULL;
27614 : return gen_split_2597 (insn, operands);
27615 :
27616 : case 9:
27617 : if (!((
27618 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27619 : ((64 == 64 || TARGET_AVX512VL
27620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27621 : && ix86_pre_reload_split ()
27622 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27623 : STRIP_UNARY (operands[4]))
27624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27625 : STRIP_UNARY (operands[4]))
27626 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27627 : STRIP_UNARY (operands[3]))
27628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27629 : STRIP_UNARY (operands[3])))) &&
27630 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27631 : (TARGET_AVX512F)) &&
27632 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27633 : ( 1)))
27634 : return NULL;
27635 : return gen_split_2624 (insn, operands);
27636 :
27637 : case 10:
27638 : if (!((
27639 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27640 : ((32 == 64 || TARGET_AVX512VL
27641 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27642 : && ix86_pre_reload_split ()
27643 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27644 : STRIP_UNARY (operands[4]))
27645 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27646 : STRIP_UNARY (operands[4]))
27647 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27648 : STRIP_UNARY (operands[3]))
27649 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27650 : STRIP_UNARY (operands[3])))) &&
27651 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27652 : (TARGET_AVX)) &&
27653 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27654 : ( 1)))
27655 : return NULL;
27656 : return gen_split_2651 (insn, operands);
27657 :
27658 : case 11:
27659 : if (!(
27660 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27661 : ((16 == 64 || TARGET_AVX512VL
27662 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27663 : && ix86_pre_reload_split ()
27664 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27665 : STRIP_UNARY (operands[4]))
27666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27667 : STRIP_UNARY (operands[4]))
27668 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27669 : STRIP_UNARY (operands[3]))
27670 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27671 : STRIP_UNARY (operands[3])))) &&
27672 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27673 : ( 1)))
27674 : return NULL;
27675 : return gen_split_2678 (insn, operands);
27676 :
27677 : default:
27678 : return NULL;
27679 : }
27680 :
27681 : case IOR:
27682 : switch (pattern539 (x2))
27683 : {
27684 : case 0:
27685 : if (!((
27686 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27687 : ((64 == 64 || TARGET_AVX512VL
27688 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27689 : && ix86_pre_reload_split ()
27690 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27691 : STRIP_UNARY (operands[4]))
27692 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27693 : STRIP_UNARY (operands[4]))
27694 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27695 : STRIP_UNARY (operands[3]))
27696 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27697 : STRIP_UNARY (operands[3])))) &&
27698 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27699 : (TARGET_AVX512F)) &&
27700 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27701 : ( 1)))
27702 : return NULL;
27703 : return gen_split_2384 (insn, operands);
27704 :
27705 : case 1:
27706 : if (!((
27707 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27708 : ((32 == 64 || TARGET_AVX512VL
27709 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27710 : && ix86_pre_reload_split ()
27711 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27712 : STRIP_UNARY (operands[4]))
27713 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27714 : STRIP_UNARY (operands[4]))
27715 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27716 : STRIP_UNARY (operands[3]))
27717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27718 : STRIP_UNARY (operands[3])))) &&
27719 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27720 : (TARGET_AVX)) &&
27721 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27722 : ( 1)))
27723 : return NULL;
27724 : return gen_split_2411 (insn, operands);
27725 :
27726 : case 2:
27727 : if (!(
27728 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27729 : ((16 == 64 || TARGET_AVX512VL
27730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27731 : && ix86_pre_reload_split ()
27732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27733 : STRIP_UNARY (operands[4]))
27734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27735 : STRIP_UNARY (operands[4]))
27736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27737 : STRIP_UNARY (operands[3]))
27738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27739 : STRIP_UNARY (operands[3])))) &&
27740 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27741 : ( 1)))
27742 : return NULL;
27743 : return gen_split_2438 (insn, operands);
27744 :
27745 : case 3:
27746 : if (!((
27747 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27748 : ((64 == 64 || TARGET_AVX512VL
27749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27750 : && ix86_pre_reload_split ()
27751 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27752 : STRIP_UNARY (operands[4]))
27753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27754 : STRIP_UNARY (operands[4]))
27755 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27756 : STRIP_UNARY (operands[3]))
27757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27758 : STRIP_UNARY (operands[3])))) &&
27759 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27760 : (TARGET_AVX512F)) &&
27761 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27762 : ( 1)))
27763 : return NULL;
27764 : return gen_split_2465 (insn, operands);
27765 :
27766 : case 4:
27767 : if (!((
27768 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27769 : ((32 == 64 || TARGET_AVX512VL
27770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27771 : && ix86_pre_reload_split ()
27772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27773 : STRIP_UNARY (operands[4]))
27774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27775 : STRIP_UNARY (operands[4]))
27776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27777 : STRIP_UNARY (operands[3]))
27778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27779 : STRIP_UNARY (operands[3])))) &&
27780 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27781 : (TARGET_AVX)) &&
27782 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27783 : ( 1)))
27784 : return NULL;
27785 : return gen_split_2492 (insn, operands);
27786 :
27787 : case 5:
27788 : if (!(
27789 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27790 : ((16 == 64 || TARGET_AVX512VL
27791 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27792 : && ix86_pre_reload_split ()
27793 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27794 : STRIP_UNARY (operands[4]))
27795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27796 : STRIP_UNARY (operands[4]))
27797 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27798 : STRIP_UNARY (operands[3]))
27799 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27800 : STRIP_UNARY (operands[3])))) &&
27801 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27802 : ( 1)))
27803 : return NULL;
27804 : return gen_split_2519 (insn, operands);
27805 :
27806 : case 6:
27807 : if (!((
27808 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27809 : ((64 == 64 || TARGET_AVX512VL
27810 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27811 : && ix86_pre_reload_split ()
27812 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27813 : STRIP_UNARY (operands[4]))
27814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27815 : STRIP_UNARY (operands[4]))
27816 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27817 : STRIP_UNARY (operands[3]))
27818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27819 : STRIP_UNARY (operands[3])))) &&
27820 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27821 : (TARGET_AVX512F)) &&
27822 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27823 : ( 1)))
27824 : return NULL;
27825 : return gen_split_2546 (insn, operands);
27826 :
27827 : case 7:
27828 : if (!((
27829 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27830 : ((32 == 64 || TARGET_AVX512VL
27831 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27832 : && ix86_pre_reload_split ()
27833 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27834 : STRIP_UNARY (operands[4]))
27835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27836 : STRIP_UNARY (operands[4]))
27837 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27838 : STRIP_UNARY (operands[3]))
27839 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27840 : STRIP_UNARY (operands[3])))) &&
27841 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27842 : (TARGET_AVX)) &&
27843 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27844 : ( 1)))
27845 : return NULL;
27846 : return gen_split_2573 (insn, operands);
27847 :
27848 : case 8:
27849 : if (!(
27850 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27851 : ((16 == 64 || TARGET_AVX512VL
27852 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27853 : && ix86_pre_reload_split ()
27854 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27855 : STRIP_UNARY (operands[4]))
27856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27857 : STRIP_UNARY (operands[4]))
27858 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27859 : STRIP_UNARY (operands[3]))
27860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27861 : STRIP_UNARY (operands[3])))) &&
27862 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27863 : ( 1)))
27864 : return NULL;
27865 : return gen_split_2600 (insn, operands);
27866 :
27867 : case 9:
27868 : if (!((
27869 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27870 : ((64 == 64 || TARGET_AVX512VL
27871 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27872 : && ix86_pre_reload_split ()
27873 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27874 : STRIP_UNARY (operands[4]))
27875 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27876 : STRIP_UNARY (operands[4]))
27877 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27878 : STRIP_UNARY (operands[3]))
27879 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27880 : STRIP_UNARY (operands[3])))) &&
27881 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27882 : (TARGET_AVX512F)) &&
27883 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27884 : ( 1)))
27885 : return NULL;
27886 : return gen_split_2627 (insn, operands);
27887 :
27888 : case 10:
27889 : if (!((
27890 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27891 : ((32 == 64 || TARGET_AVX512VL
27892 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27893 : && ix86_pre_reload_split ()
27894 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27895 : STRIP_UNARY (operands[4]))
27896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27897 : STRIP_UNARY (operands[4]))
27898 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27899 : STRIP_UNARY (operands[3]))
27900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27901 : STRIP_UNARY (operands[3])))) &&
27902 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27903 : (TARGET_AVX)) &&
27904 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27905 : ( 1)))
27906 : return NULL;
27907 : return gen_split_2654 (insn, operands);
27908 :
27909 : case 11:
27910 : if (!(
27911 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27912 : ((16 == 64 || TARGET_AVX512VL
27913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27914 : && ix86_pre_reload_split ()
27915 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27916 : STRIP_UNARY (operands[4]))
27917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27918 : STRIP_UNARY (operands[4]))
27919 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27920 : STRIP_UNARY (operands[3]))
27921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27922 : STRIP_UNARY (operands[3])))) &&
27923 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27924 : ( 1)))
27925 : return NULL;
27926 : return gen_split_2681 (insn, operands);
27927 :
27928 : default:
27929 : return NULL;
27930 : }
27931 :
27932 : case XOR:
27933 : switch (pattern539 (x2))
27934 : {
27935 : case 0:
27936 : if (!((
27937 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27938 : ((64 == 64 || TARGET_AVX512VL
27939 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27940 : && ix86_pre_reload_split ()
27941 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27942 : STRIP_UNARY (operands[4]))
27943 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27944 : STRIP_UNARY (operands[4]))
27945 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27946 : STRIP_UNARY (operands[3]))
27947 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27948 : STRIP_UNARY (operands[3])))) &&
27949 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27950 : (TARGET_AVX512F)) &&
27951 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27952 : ( 1)))
27953 : return NULL;
27954 : return gen_split_2387 (insn, operands);
27955 :
27956 : case 1:
27957 : if (!((
27958 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27959 : ((32 == 64 || TARGET_AVX512VL
27960 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27961 : && ix86_pre_reload_split ()
27962 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27963 : STRIP_UNARY (operands[4]))
27964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27965 : STRIP_UNARY (operands[4]))
27966 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27967 : STRIP_UNARY (operands[3]))
27968 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27969 : STRIP_UNARY (operands[3])))) &&
27970 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27971 : (TARGET_AVX)) &&
27972 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27973 : ( 1)))
27974 : return NULL;
27975 : return gen_split_2414 (insn, operands);
27976 :
27977 : case 2:
27978 : if (!(
27979 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27980 : ((16 == 64 || TARGET_AVX512VL
27981 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27982 : && ix86_pre_reload_split ()
27983 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27984 : STRIP_UNARY (operands[4]))
27985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27986 : STRIP_UNARY (operands[4]))
27987 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27988 : STRIP_UNARY (operands[3]))
27989 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27990 : STRIP_UNARY (operands[3])))) &&
27991 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27992 : ( 1)))
27993 : return NULL;
27994 : return gen_split_2441 (insn, operands);
27995 :
27996 : case 3:
27997 : if (!((
27998 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27999 : ((64 == 64 || TARGET_AVX512VL
28000 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28001 : && ix86_pre_reload_split ()
28002 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28003 : STRIP_UNARY (operands[4]))
28004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28005 : STRIP_UNARY (operands[4]))
28006 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28007 : STRIP_UNARY (operands[3]))
28008 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28009 : STRIP_UNARY (operands[3])))) &&
28010 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28011 : (TARGET_AVX512F)) &&
28012 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28013 : ( 1)))
28014 : return NULL;
28015 : return gen_split_2468 (insn, operands);
28016 :
28017 : case 4:
28018 : if (!((
28019 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28020 : ((32 == 64 || TARGET_AVX512VL
28021 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28022 : && ix86_pre_reload_split ()
28023 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28024 : STRIP_UNARY (operands[4]))
28025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28026 : STRIP_UNARY (operands[4]))
28027 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28028 : STRIP_UNARY (operands[3]))
28029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28030 : STRIP_UNARY (operands[3])))) &&
28031 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28032 : (TARGET_AVX)) &&
28033 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28034 : ( 1)))
28035 : return NULL;
28036 : return gen_split_2495 (insn, operands);
28037 :
28038 : case 5:
28039 : if (!(
28040 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28041 : ((16 == 64 || TARGET_AVX512VL
28042 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28043 : && ix86_pre_reload_split ()
28044 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28045 : STRIP_UNARY (operands[4]))
28046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28047 : STRIP_UNARY (operands[4]))
28048 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28049 : STRIP_UNARY (operands[3]))
28050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28051 : STRIP_UNARY (operands[3])))) &&
28052 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28053 : ( 1)))
28054 : return NULL;
28055 : return gen_split_2522 (insn, operands);
28056 :
28057 : case 6:
28058 : if (!((
28059 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28060 : ((64 == 64 || TARGET_AVX512VL
28061 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28062 : && ix86_pre_reload_split ()
28063 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28064 : STRIP_UNARY (operands[4]))
28065 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28066 : STRIP_UNARY (operands[4]))
28067 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28068 : STRIP_UNARY (operands[3]))
28069 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28070 : STRIP_UNARY (operands[3])))) &&
28071 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28072 : (TARGET_AVX512F)) &&
28073 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28074 : ( 1)))
28075 : return NULL;
28076 : return gen_split_2549 (insn, operands);
28077 :
28078 : case 7:
28079 : if (!((
28080 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28081 : ((32 == 64 || TARGET_AVX512VL
28082 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28083 : && ix86_pre_reload_split ()
28084 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28085 : STRIP_UNARY (operands[4]))
28086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28087 : STRIP_UNARY (operands[4]))
28088 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28089 : STRIP_UNARY (operands[3]))
28090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28091 : STRIP_UNARY (operands[3])))) &&
28092 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28093 : (TARGET_AVX)) &&
28094 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28095 : ( 1)))
28096 : return NULL;
28097 : return gen_split_2576 (insn, operands);
28098 :
28099 : case 8:
28100 : if (!(
28101 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28102 : ((16 == 64 || TARGET_AVX512VL
28103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28104 : && ix86_pre_reload_split ()
28105 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28106 : STRIP_UNARY (operands[4]))
28107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28108 : STRIP_UNARY (operands[4]))
28109 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28110 : STRIP_UNARY (operands[3]))
28111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28112 : STRIP_UNARY (operands[3])))) &&
28113 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28114 : ( 1)))
28115 : return NULL;
28116 : return gen_split_2603 (insn, operands);
28117 :
28118 : case 9:
28119 : if (!((
28120 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28121 : ((64 == 64 || TARGET_AVX512VL
28122 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28123 : && ix86_pre_reload_split ()
28124 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28125 : STRIP_UNARY (operands[4]))
28126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28127 : STRIP_UNARY (operands[4]))
28128 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28129 : STRIP_UNARY (operands[3]))
28130 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28131 : STRIP_UNARY (operands[3])))) &&
28132 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28133 : (TARGET_AVX512F)) &&
28134 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28135 : ( 1)))
28136 : return NULL;
28137 : return gen_split_2630 (insn, operands);
28138 :
28139 : case 10:
28140 : if (!((
28141 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28142 : ((32 == 64 || TARGET_AVX512VL
28143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28144 : && ix86_pre_reload_split ()
28145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28146 : STRIP_UNARY (operands[4]))
28147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28148 : STRIP_UNARY (operands[4]))
28149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28150 : STRIP_UNARY (operands[3]))
28151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28152 : STRIP_UNARY (operands[3])))) &&
28153 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28154 : (TARGET_AVX)) &&
28155 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28156 : ( 1)))
28157 : return NULL;
28158 : return gen_split_2657 (insn, operands);
28159 :
28160 : case 11:
28161 : if (!(
28162 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28163 : ((16 == 64 || TARGET_AVX512VL
28164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28165 : && ix86_pre_reload_split ()
28166 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28167 : STRIP_UNARY (operands[4]))
28168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28169 : STRIP_UNARY (operands[4]))
28170 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28171 : STRIP_UNARY (operands[3]))
28172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28173 : STRIP_UNARY (operands[3])))) &&
28174 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28175 : ( 1)))
28176 : return NULL;
28177 : return gen_split_2684 (insn, operands);
28178 :
28179 : default:
28180 : return NULL;
28181 : }
28182 :
28183 : default:
28184 : return NULL;
28185 : }
28186 : }
28187 :
28188 : rtx_insn *
28189 : split_73 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28190 : {
28191 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28192 : rtx x2, x3, x4;
28193 : rtx_insn *res ATTRIBUTE_UNUSED;
28194 : x2 = XEXP (x1, 1);
28195 : x3 = XEXP (x2, 0);
28196 : switch (GET_CODE (x3))
28197 : {
28198 : case AND:
28199 : x4 = XEXP (x3, 0);
28200 : switch (GET_CODE (x4))
28201 : {
28202 : case REG:
28203 : case SUBREG:
28204 : case MEM:
28205 : case NOT:
28206 : switch (pattern543 (x2))
28207 : {
28208 : case 0:
28209 : if (!((
28210 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28211 : ((64 == 64 || TARGET_AVX512VL
28212 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28213 : && ix86_pre_reload_split ()
28214 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28215 : STRIP_UNARY (operands[4]))
28216 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28217 : STRIP_UNARY (operands[4]))
28218 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28219 : STRIP_UNARY (operands[3]))
28220 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28221 : STRIP_UNARY (operands[3])))) &&
28222 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28223 : (TARGET_AVX512F)) &&
28224 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28225 : ( 1)))
28226 : return NULL;
28227 : return gen_split_2058 (insn, operands);
28228 :
28229 : case 1:
28230 : if (!((
28231 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28232 : ((32 == 64 || TARGET_AVX512VL
28233 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28234 : && ix86_pre_reload_split ()
28235 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28236 : STRIP_UNARY (operands[4]))
28237 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28238 : STRIP_UNARY (operands[4]))
28239 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28240 : STRIP_UNARY (operands[3]))
28241 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28242 : STRIP_UNARY (operands[3])))) &&
28243 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28244 : (TARGET_AVX)) &&
28245 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28246 : ( 1)))
28247 : return NULL;
28248 : return gen_split_2085 (insn, operands);
28249 :
28250 : case 2:
28251 : if (!(
28252 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28253 : ((16 == 64 || TARGET_AVX512VL
28254 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28255 : && ix86_pre_reload_split ()
28256 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28257 : STRIP_UNARY (operands[4]))
28258 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28259 : STRIP_UNARY (operands[4]))
28260 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28261 : STRIP_UNARY (operands[3]))
28262 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28263 : STRIP_UNARY (operands[3])))) &&
28264 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28265 : ( 1)))
28266 : return NULL;
28267 : return gen_split_2112 (insn, operands);
28268 :
28269 : case 3:
28270 : if (!((
28271 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28272 : ((64 == 64 || TARGET_AVX512VL
28273 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28274 : && ix86_pre_reload_split ()
28275 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28276 : STRIP_UNARY (operands[4]))
28277 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28278 : STRIP_UNARY (operands[4]))
28279 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28280 : STRIP_UNARY (operands[3]))
28281 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28282 : STRIP_UNARY (operands[3])))) &&
28283 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28284 : (TARGET_AVX512F)) &&
28285 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28286 : ( 1)))
28287 : return NULL;
28288 : return gen_split_2139 (insn, operands);
28289 :
28290 : case 4:
28291 : if (!((
28292 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28293 : ((32 == 64 || TARGET_AVX512VL
28294 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28295 : && ix86_pre_reload_split ()
28296 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28297 : STRIP_UNARY (operands[4]))
28298 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28299 : STRIP_UNARY (operands[4]))
28300 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28301 : STRIP_UNARY (operands[3]))
28302 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28303 : STRIP_UNARY (operands[3])))) &&
28304 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28305 : (TARGET_AVX)) &&
28306 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28307 : ( 1)))
28308 : return NULL;
28309 : return gen_split_2166 (insn, operands);
28310 :
28311 : case 5:
28312 : if (!(
28313 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28314 : ((16 == 64 || TARGET_AVX512VL
28315 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28316 : && ix86_pre_reload_split ()
28317 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28318 : STRIP_UNARY (operands[4]))
28319 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28320 : STRIP_UNARY (operands[4]))
28321 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28322 : STRIP_UNARY (operands[3]))
28323 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28324 : STRIP_UNARY (operands[3])))) &&
28325 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28326 : ( 1)))
28327 : return NULL;
28328 : return gen_split_2193 (insn, operands);
28329 :
28330 : case 6:
28331 : if (!((
28332 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28333 : ((64 == 64 || TARGET_AVX512VL
28334 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28335 : && ix86_pre_reload_split ()
28336 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28337 : STRIP_UNARY (operands[4]))
28338 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28339 : STRIP_UNARY (operands[4]))
28340 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28341 : STRIP_UNARY (operands[3]))
28342 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28343 : STRIP_UNARY (operands[3])))) &&
28344 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28345 : (TARGET_AVX512F)) &&
28346 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28347 : ( 1)))
28348 : return NULL;
28349 : return gen_split_2220 (insn, operands);
28350 :
28351 : case 7:
28352 : if (!((
28353 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28354 : ((32 == 64 || TARGET_AVX512VL
28355 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28356 : && ix86_pre_reload_split ()
28357 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28358 : STRIP_UNARY (operands[4]))
28359 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28360 : STRIP_UNARY (operands[4]))
28361 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28362 : STRIP_UNARY (operands[3]))
28363 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28364 : STRIP_UNARY (operands[3])))) &&
28365 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28366 : (TARGET_AVX)) &&
28367 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28368 : ( 1)))
28369 : return NULL;
28370 : return gen_split_2247 (insn, operands);
28371 :
28372 : case 8:
28373 : if (!(
28374 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28375 : ((16 == 64 || TARGET_AVX512VL
28376 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28377 : && ix86_pre_reload_split ()
28378 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28379 : STRIP_UNARY (operands[4]))
28380 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28381 : STRIP_UNARY (operands[4]))
28382 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28383 : STRIP_UNARY (operands[3]))
28384 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28385 : STRIP_UNARY (operands[3])))) &&
28386 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28387 : ( 1)))
28388 : return NULL;
28389 : return gen_split_2274 (insn, operands);
28390 :
28391 : case 9:
28392 : if (!((
28393 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28394 : ((64 == 64 || TARGET_AVX512VL
28395 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28396 : && ix86_pre_reload_split ()
28397 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28398 : STRIP_UNARY (operands[4]))
28399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28400 : STRIP_UNARY (operands[4]))
28401 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28402 : STRIP_UNARY (operands[3]))
28403 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28404 : STRIP_UNARY (operands[3])))) &&
28405 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28406 : (TARGET_AVX512F)) &&
28407 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28408 : ( 1)))
28409 : return NULL;
28410 : return gen_split_2301 (insn, operands);
28411 :
28412 : case 10:
28413 : if (!((
28414 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28415 : ((32 == 64 || TARGET_AVX512VL
28416 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28417 : && ix86_pre_reload_split ()
28418 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28419 : STRIP_UNARY (operands[4]))
28420 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28421 : STRIP_UNARY (operands[4]))
28422 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28423 : STRIP_UNARY (operands[3]))
28424 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28425 : STRIP_UNARY (operands[3])))) &&
28426 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28427 : (TARGET_AVX)) &&
28428 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28429 : ( 1)))
28430 : return NULL;
28431 : return gen_split_2328 (insn, operands);
28432 :
28433 : case 11:
28434 : if (!((
28435 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28436 : ((16 == 64 || TARGET_AVX512VL
28437 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28438 : && ix86_pre_reload_split ()
28439 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28440 : STRIP_UNARY (operands[4]))
28441 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28442 : STRIP_UNARY (operands[4]))
28443 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28444 : STRIP_UNARY (operands[3]))
28445 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28446 : STRIP_UNARY (operands[3])))) &&
28447 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28448 : (TARGET_SSE2)) &&
28449 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28450 : ( 1)))
28451 : return NULL;
28452 : return gen_split_2355 (insn, operands);
28453 :
28454 : case 12:
28455 : if (!((
28456 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28457 : ((64 == 64 || TARGET_AVX512VL
28458 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28459 : && ix86_pre_reload_split ()
28460 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28461 : STRIP_UNARY (operands[4]))
28462 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28463 : STRIP_UNARY (operands[4]))
28464 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28465 : STRIP_UNARY (operands[3]))
28466 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28467 : STRIP_UNARY (operands[3])))) &&
28468 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28469 : (TARGET_AVX512F)) &&
28470 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28471 : ( 1)))
28472 : return NULL;
28473 : return gen_split_2061 (insn, operands);
28474 :
28475 : case 13:
28476 : if (!((
28477 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28478 : ((32 == 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_AVX)) &&
28491 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28492 : ( 1)))
28493 : return NULL;
28494 : return gen_split_2088 (insn, operands);
28495 :
28496 : case 14:
28497 : if (!(
28498 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28499 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28511 : ( 1)))
28512 : return NULL;
28513 : return gen_split_2115 (insn, operands);
28514 :
28515 : case 15:
28516 : if (!((
28517 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28518 : ((64 == 64 || TARGET_AVX512VL
28519 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28520 : && ix86_pre_reload_split ()
28521 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28522 : STRIP_UNARY (operands[4]))
28523 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28524 : STRIP_UNARY (operands[4]))
28525 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28526 : STRIP_UNARY (operands[3]))
28527 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28528 : STRIP_UNARY (operands[3])))) &&
28529 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28530 : (TARGET_AVX512F)) &&
28531 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : ( 1)))
28533 : return NULL;
28534 : return gen_split_2142 (insn, operands);
28535 :
28536 : case 16:
28537 : if (!((
28538 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28539 : ((32 == 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_AVX)) &&
28552 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28553 : ( 1)))
28554 : return NULL;
28555 : return gen_split_2169 (insn, operands);
28556 :
28557 : case 17:
28558 : if (!(
28559 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28560 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28572 : ( 1)))
28573 : return NULL;
28574 : return gen_split_2196 (insn, operands);
28575 :
28576 : case 18:
28577 : if (!((
28578 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28579 : ((64 == 64 || TARGET_AVX512VL
28580 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28581 : && ix86_pre_reload_split ()
28582 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28583 : STRIP_UNARY (operands[4]))
28584 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28585 : STRIP_UNARY (operands[4]))
28586 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28587 : STRIP_UNARY (operands[3]))
28588 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28589 : STRIP_UNARY (operands[3])))) &&
28590 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28591 : (TARGET_AVX512F)) &&
28592 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28593 : ( 1)))
28594 : return NULL;
28595 : return gen_split_2223 (insn, operands);
28596 :
28597 : case 19:
28598 : if (!((
28599 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28600 : ((32 == 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_AVX)) &&
28613 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28614 : ( 1)))
28615 : return NULL;
28616 : return gen_split_2250 (insn, operands);
28617 :
28618 : case 20:
28619 : if (!(
28620 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28621 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28633 : ( 1)))
28634 : return NULL;
28635 : return gen_split_2277 (insn, operands);
28636 :
28637 : case 21:
28638 : if (!((
28639 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28640 : ((64 == 64 || TARGET_AVX512VL
28641 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28642 : && ix86_pre_reload_split ()
28643 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28644 : STRIP_UNARY (operands[4]))
28645 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28646 : STRIP_UNARY (operands[4]))
28647 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28648 : STRIP_UNARY (operands[3]))
28649 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28650 : STRIP_UNARY (operands[3])))) &&
28651 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28652 : (TARGET_AVX512F)) &&
28653 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28654 : ( 1)))
28655 : return NULL;
28656 : return gen_split_2304 (insn, operands);
28657 :
28658 : case 22:
28659 : if (!((
28660 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28661 : ((32 == 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_AVX)) &&
28674 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28675 : ( 1)))
28676 : return NULL;
28677 : return gen_split_2331 (insn, operands);
28678 :
28679 : case 23:
28680 : if (!((
28681 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28682 : ((16 == 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_SSE2)) &&
28695 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28696 : ( 1)))
28697 : return NULL;
28698 : return gen_split_2358 (insn, operands);
28699 :
28700 : case 24:
28701 : if (!((
28702 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28703 : ((64 == 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 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28715 : (TARGET_AVX512F)) &&
28716 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28717 : ( 1)))
28718 : return NULL;
28719 : return gen_split_2064 (insn, operands);
28720 :
28721 : case 25:
28722 : if (!((
28723 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28724 : ((32 == 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_AVX)) &&
28737 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28738 : ( 1)))
28739 : return NULL;
28740 : return gen_split_2091 (insn, operands);
28741 :
28742 : case 26:
28743 : if (!(
28744 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28745 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28757 : ( 1)))
28758 : return NULL;
28759 : return gen_split_2118 (insn, operands);
28760 :
28761 : case 27:
28762 : if (!((
28763 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28764 : ((64 == 64 || TARGET_AVX512VL
28765 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28766 : && ix86_pre_reload_split ()
28767 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28768 : STRIP_UNARY (operands[4]))
28769 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28770 : STRIP_UNARY (operands[4]))
28771 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28772 : STRIP_UNARY (operands[3]))
28773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28774 : STRIP_UNARY (operands[3])))) &&
28775 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28776 : (TARGET_AVX512F)) &&
28777 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28778 : ( 1)))
28779 : return NULL;
28780 : return gen_split_2145 (insn, operands);
28781 :
28782 : case 28:
28783 : if (!((
28784 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28785 : ((32 == 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_AVX)) &&
28798 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28799 : ( 1)))
28800 : return NULL;
28801 : return gen_split_2172 (insn, operands);
28802 :
28803 : case 29:
28804 : if (!(
28805 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28806 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28818 : ( 1)))
28819 : return NULL;
28820 : return gen_split_2199 (insn, operands);
28821 :
28822 : case 30:
28823 : if (!((
28824 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28825 : ((64 == 64 || TARGET_AVX512VL
28826 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28827 : && ix86_pre_reload_split ()
28828 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28829 : STRIP_UNARY (operands[4]))
28830 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28831 : STRIP_UNARY (operands[4]))
28832 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28833 : STRIP_UNARY (operands[3]))
28834 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28835 : STRIP_UNARY (operands[3])))) &&
28836 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28837 : (TARGET_AVX512F)) &&
28838 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28839 : ( 1)))
28840 : return NULL;
28841 : return gen_split_2226 (insn, operands);
28842 :
28843 : case 31:
28844 : if (!((
28845 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28846 : ((32 == 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_AVX)) &&
28859 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28860 : ( 1)))
28861 : return NULL;
28862 : return gen_split_2253 (insn, operands);
28863 :
28864 : case 32:
28865 : if (!(
28866 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28867 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28879 : ( 1)))
28880 : return NULL;
28881 : return gen_split_2280 (insn, operands);
28882 :
28883 : case 33:
28884 : if (!((
28885 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28886 : ((64 == 64 || TARGET_AVX512VL
28887 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28888 : && ix86_pre_reload_split ()
28889 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28890 : STRIP_UNARY (operands[4]))
28891 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28892 : STRIP_UNARY (operands[4]))
28893 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28894 : STRIP_UNARY (operands[3]))
28895 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28896 : STRIP_UNARY (operands[3])))) &&
28897 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28898 : (TARGET_AVX512F)) &&
28899 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28900 : ( 1)))
28901 : return NULL;
28902 : return gen_split_2307 (insn, operands);
28903 :
28904 : case 34:
28905 : if (!((
28906 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28907 : ((32 == 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_AVX)) &&
28920 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28921 : ( 1)))
28922 : return NULL;
28923 : return gen_split_2334 (insn, operands);
28924 :
28925 : case 35:
28926 : if (!((
28927 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28928 : ((16 == 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_SSE2)) &&
28941 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28942 : ( 1)))
28943 : return NULL;
28944 : return gen_split_2361 (insn, operands);
28945 :
28946 : case 36:
28947 : if (!((
28948 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28949 : ((64 == 64 || TARGET_AVX512VL
28950 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28951 : && ix86_pre_reload_split ()) &&
28952 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28953 : (TARGET_AVX512F)) &&
28954 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28955 : ( 1)))
28956 : return NULL;
28957 : return gen_split_3138 (insn, operands);
28958 :
28959 : case 37:
28960 : if (!((
28961 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28962 : ((32 == 64 || TARGET_AVX512VL
28963 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28964 : && ix86_pre_reload_split ()) &&
28965 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28966 : (TARGET_AVX)) &&
28967 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28968 : ( 1)))
28969 : return NULL;
28970 : return gen_split_3147 (insn, operands);
28971 :
28972 : case 38:
28973 : if (!(
28974 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28975 : ((16 == 64 || TARGET_AVX512VL
28976 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28977 : && ix86_pre_reload_split ()) &&
28978 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28979 : ( 1)))
28980 : return NULL;
28981 : return gen_split_3156 (insn, operands);
28982 :
28983 : case 39:
28984 : if (!((
28985 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28986 : ((64 == 64 || TARGET_AVX512VL
28987 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28988 : && ix86_pre_reload_split ()) &&
28989 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28990 : (TARGET_AVX512F)) &&
28991 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28992 : ( 1)))
28993 : return NULL;
28994 : return gen_split_3165 (insn, operands);
28995 :
28996 : case 40:
28997 : if (!((
28998 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28999 : ((32 == 64 || TARGET_AVX512VL
29000 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29001 : && ix86_pre_reload_split ()) &&
29002 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29003 : (TARGET_AVX)) &&
29004 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29005 : ( 1)))
29006 : return NULL;
29007 : return gen_split_3174 (insn, operands);
29008 :
29009 : case 41:
29010 : if (!(
29011 : #line 14320 "/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 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29016 : ( 1)))
29017 : return NULL;
29018 : return gen_split_3183 (insn, operands);
29019 :
29020 : case 42:
29021 : if (!((
29022 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29023 : ((64 == 64 || TARGET_AVX512VL
29024 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29025 : && ix86_pre_reload_split ()) &&
29026 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29027 : (TARGET_AVX512F)) &&
29028 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29029 : ( 1)))
29030 : return NULL;
29031 : return gen_split_3192 (insn, operands);
29032 :
29033 : case 43:
29034 : if (!((
29035 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29036 : ((32 == 64 || TARGET_AVX512VL
29037 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29038 : && ix86_pre_reload_split ()) &&
29039 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29040 : (TARGET_AVX)) &&
29041 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29042 : ( 1)))
29043 : return NULL;
29044 : return gen_split_3201 (insn, operands);
29045 :
29046 : case 44:
29047 : if (!(
29048 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29049 : ((16 == 64 || TARGET_AVX512VL
29050 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29051 : && ix86_pre_reload_split ()) &&
29052 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29053 : ( 1)))
29054 : return NULL;
29055 : return gen_split_3210 (insn, operands);
29056 :
29057 : case 45:
29058 : if (!((
29059 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29060 : ((64 == 64 || TARGET_AVX512VL
29061 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29062 : && ix86_pre_reload_split ()) &&
29063 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29064 : (TARGET_AVX512F)) &&
29065 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29066 : ( 1)))
29067 : return NULL;
29068 : return gen_split_3219 (insn, operands);
29069 :
29070 : case 46:
29071 : if (!((
29072 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29073 : ((32 == 64 || TARGET_AVX512VL
29074 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29075 : && ix86_pre_reload_split ()) &&
29076 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29077 : (TARGET_AVX)) &&
29078 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29079 : ( 1)))
29080 : return NULL;
29081 : return gen_split_3228 (insn, operands);
29082 :
29083 : case 47:
29084 : if (!((
29085 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29086 : ((16 == 64 || TARGET_AVX512VL
29087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29088 : && ix86_pre_reload_split ()) &&
29089 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29090 : (TARGET_SSE2)) &&
29091 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29092 : ( 1)))
29093 : return NULL;
29094 : return gen_split_3237 (insn, operands);
29095 :
29096 : default:
29097 : return NULL;
29098 : }
29099 :
29100 : case AND:
29101 : switch (pattern544 (x2))
29102 : {
29103 : case 0:
29104 : if (!((
29105 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29106 : ((64 == 64 || TARGET_AVX512VL
29107 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29108 : && ix86_pre_reload_split ()
29109 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29110 : STRIP_UNARY (operands[4]))
29111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29112 : STRIP_UNARY (operands[4]))
29113 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29114 : STRIP_UNARY (operands[3]))
29115 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29116 : STRIP_UNARY (operands[3])))) &&
29117 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29118 : (TARGET_AVX512F)) &&
29119 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29120 : ( 1)))
29121 : return NULL;
29122 : return gen_split_2706 (insn, operands);
29123 :
29124 : case 1:
29125 : if (!((
29126 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29127 : ((32 == 64 || TARGET_AVX512VL
29128 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29129 : && ix86_pre_reload_split ()
29130 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29131 : STRIP_UNARY (operands[4]))
29132 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29133 : STRIP_UNARY (operands[4]))
29134 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29135 : STRIP_UNARY (operands[3]))
29136 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29137 : STRIP_UNARY (operands[3])))) &&
29138 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29139 : (TARGET_AVX)) &&
29140 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29141 : ( 1)))
29142 : return NULL;
29143 : return gen_split_2733 (insn, operands);
29144 :
29145 : case 2:
29146 : if (!(
29147 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29148 : ((16 == 64 || TARGET_AVX512VL
29149 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29150 : && ix86_pre_reload_split ()
29151 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29152 : STRIP_UNARY (operands[4]))
29153 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29154 : STRIP_UNARY (operands[4]))
29155 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29156 : STRIP_UNARY (operands[3]))
29157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29158 : STRIP_UNARY (operands[3])))) &&
29159 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29160 : ( 1)))
29161 : return NULL;
29162 : return gen_split_2760 (insn, operands);
29163 :
29164 : case 3:
29165 : if (!((
29166 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29167 : ((64 == 64 || TARGET_AVX512VL
29168 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29169 : && ix86_pre_reload_split ()
29170 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29171 : STRIP_UNARY (operands[4]))
29172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29173 : STRIP_UNARY (operands[4]))
29174 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29175 : STRIP_UNARY (operands[3]))
29176 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29177 : STRIP_UNARY (operands[3])))) &&
29178 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29179 : (TARGET_AVX512F)) &&
29180 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29181 : ( 1)))
29182 : return NULL;
29183 : return gen_split_2787 (insn, operands);
29184 :
29185 : case 4:
29186 : if (!((
29187 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29188 : ((32 == 64 || TARGET_AVX512VL
29189 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29190 : && ix86_pre_reload_split ()
29191 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29192 : STRIP_UNARY (operands[4]))
29193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29194 : STRIP_UNARY (operands[4]))
29195 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29196 : STRIP_UNARY (operands[3]))
29197 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29198 : STRIP_UNARY (operands[3])))) &&
29199 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29200 : (TARGET_AVX)) &&
29201 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29202 : ( 1)))
29203 : return NULL;
29204 : return gen_split_2814 (insn, operands);
29205 :
29206 : case 5:
29207 : if (!(
29208 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29209 : ((16 == 64 || TARGET_AVX512VL
29210 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29211 : && ix86_pre_reload_split ()
29212 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29213 : STRIP_UNARY (operands[4]))
29214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29215 : STRIP_UNARY (operands[4]))
29216 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29217 : STRIP_UNARY (operands[3]))
29218 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29219 : STRIP_UNARY (operands[3])))) &&
29220 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29221 : ( 1)))
29222 : return NULL;
29223 : return gen_split_2841 (insn, operands);
29224 :
29225 : case 6:
29226 : if (!((
29227 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29228 : ((64 == 64 || TARGET_AVX512VL
29229 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29230 : && ix86_pre_reload_split ()
29231 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29232 : STRIP_UNARY (operands[4]))
29233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29234 : STRIP_UNARY (operands[4]))
29235 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29236 : STRIP_UNARY (operands[3]))
29237 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29238 : STRIP_UNARY (operands[3])))) &&
29239 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29240 : (TARGET_AVX512F)) &&
29241 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29242 : ( 1)))
29243 : return NULL;
29244 : return gen_split_2868 (insn, operands);
29245 :
29246 : case 7:
29247 : if (!((
29248 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29249 : ((32 == 64 || TARGET_AVX512VL
29250 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29251 : && ix86_pre_reload_split ()
29252 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29253 : STRIP_UNARY (operands[4]))
29254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29255 : STRIP_UNARY (operands[4]))
29256 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29257 : STRIP_UNARY (operands[3]))
29258 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29259 : STRIP_UNARY (operands[3])))) &&
29260 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29261 : (TARGET_AVX)) &&
29262 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29263 : ( 1)))
29264 : return NULL;
29265 : return gen_split_2895 (insn, operands);
29266 :
29267 : case 8:
29268 : if (!(
29269 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29270 : ((16 == 64 || TARGET_AVX512VL
29271 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29272 : && ix86_pre_reload_split ()
29273 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29274 : STRIP_UNARY (operands[4]))
29275 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29276 : STRIP_UNARY (operands[4]))
29277 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29278 : STRIP_UNARY (operands[3]))
29279 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29280 : STRIP_UNARY (operands[3])))) &&
29281 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29282 : ( 1)))
29283 : return NULL;
29284 : return gen_split_2922 (insn, operands);
29285 :
29286 : case 9:
29287 : if (!((
29288 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29289 : ((64 == 64 || TARGET_AVX512VL
29290 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29291 : && ix86_pre_reload_split ()
29292 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29293 : STRIP_UNARY (operands[4]))
29294 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29295 : STRIP_UNARY (operands[4]))
29296 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29297 : STRIP_UNARY (operands[3]))
29298 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29299 : STRIP_UNARY (operands[3])))) &&
29300 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29301 : (TARGET_AVX512F)) &&
29302 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29303 : ( 1)))
29304 : return NULL;
29305 : return gen_split_2949 (insn, operands);
29306 :
29307 : case 10:
29308 : if (!((
29309 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29310 : ((32 == 64 || TARGET_AVX512VL
29311 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29312 : && ix86_pre_reload_split ()
29313 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29314 : STRIP_UNARY (operands[4]))
29315 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29316 : STRIP_UNARY (operands[4]))
29317 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29318 : STRIP_UNARY (operands[3]))
29319 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29320 : STRIP_UNARY (operands[3])))) &&
29321 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29322 : (TARGET_AVX)) &&
29323 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29324 : ( 1)))
29325 : return NULL;
29326 : return gen_split_2976 (insn, operands);
29327 :
29328 : case 11:
29329 : if (!((
29330 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29331 : ((16 == 64 || TARGET_AVX512VL
29332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29333 : && ix86_pre_reload_split ()
29334 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29335 : STRIP_UNARY (operands[4]))
29336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29337 : STRIP_UNARY (operands[4]))
29338 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29339 : STRIP_UNARY (operands[3]))
29340 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29341 : STRIP_UNARY (operands[3])))) &&
29342 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29343 : (TARGET_SSE2)) &&
29344 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29345 : ( 1)))
29346 : return NULL;
29347 : return gen_split_3003 (insn, operands);
29348 :
29349 : default:
29350 : return NULL;
29351 : }
29352 :
29353 : case IOR:
29354 : switch (pattern544 (x2))
29355 : {
29356 : case 0:
29357 : if (!((
29358 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29359 : ((64 == 64 || TARGET_AVX512VL
29360 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29361 : && ix86_pre_reload_split ()
29362 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29363 : STRIP_UNARY (operands[4]))
29364 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29365 : STRIP_UNARY (operands[4]))
29366 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29367 : STRIP_UNARY (operands[3]))
29368 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29369 : STRIP_UNARY (operands[3])))) &&
29370 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29371 : (TARGET_AVX512F)) &&
29372 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29373 : ( 1)))
29374 : return NULL;
29375 : return gen_split_2709 (insn, operands);
29376 :
29377 : case 1:
29378 : if (!((
29379 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29380 : ((32 == 64 || TARGET_AVX512VL
29381 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29382 : && ix86_pre_reload_split ()
29383 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29384 : STRIP_UNARY (operands[4]))
29385 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29386 : STRIP_UNARY (operands[4]))
29387 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29388 : STRIP_UNARY (operands[3]))
29389 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29390 : STRIP_UNARY (operands[3])))) &&
29391 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29392 : (TARGET_AVX)) &&
29393 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29394 : ( 1)))
29395 : return NULL;
29396 : return gen_split_2736 (insn, operands);
29397 :
29398 : case 2:
29399 : if (!(
29400 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29401 : ((16 == 64 || TARGET_AVX512VL
29402 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29403 : && ix86_pre_reload_split ()
29404 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29405 : STRIP_UNARY (operands[4]))
29406 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29407 : STRIP_UNARY (operands[4]))
29408 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29409 : STRIP_UNARY (operands[3]))
29410 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29411 : STRIP_UNARY (operands[3])))) &&
29412 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29413 : ( 1)))
29414 : return NULL;
29415 : return gen_split_2763 (insn, operands);
29416 :
29417 : case 3:
29418 : if (!((
29419 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29420 : ((64 == 64 || TARGET_AVX512VL
29421 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29422 : && ix86_pre_reload_split ()
29423 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29424 : STRIP_UNARY (operands[4]))
29425 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29426 : STRIP_UNARY (operands[4]))
29427 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29428 : STRIP_UNARY (operands[3]))
29429 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29430 : STRIP_UNARY (operands[3])))) &&
29431 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29432 : (TARGET_AVX512F)) &&
29433 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29434 : ( 1)))
29435 : return NULL;
29436 : return gen_split_2790 (insn, operands);
29437 :
29438 : case 4:
29439 : if (!((
29440 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29441 : ((32 == 64 || TARGET_AVX512VL
29442 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29443 : && ix86_pre_reload_split ()
29444 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29445 : STRIP_UNARY (operands[4]))
29446 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29447 : STRIP_UNARY (operands[4]))
29448 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29449 : STRIP_UNARY (operands[3]))
29450 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29451 : STRIP_UNARY (operands[3])))) &&
29452 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29453 : (TARGET_AVX)) &&
29454 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29455 : ( 1)))
29456 : return NULL;
29457 : return gen_split_2817 (insn, operands);
29458 :
29459 : case 5:
29460 : if (!(
29461 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29462 : ((16 == 64 || TARGET_AVX512VL
29463 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29464 : && ix86_pre_reload_split ()
29465 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29466 : STRIP_UNARY (operands[4]))
29467 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29468 : STRIP_UNARY (operands[4]))
29469 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29470 : STRIP_UNARY (operands[3]))
29471 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29472 : STRIP_UNARY (operands[3])))) &&
29473 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29474 : ( 1)))
29475 : return NULL;
29476 : return gen_split_2844 (insn, operands);
29477 :
29478 : case 6:
29479 : if (!((
29480 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29481 : ((64 == 64 || TARGET_AVX512VL
29482 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29483 : && ix86_pre_reload_split ()
29484 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29485 : STRIP_UNARY (operands[4]))
29486 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29487 : STRIP_UNARY (operands[4]))
29488 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29489 : STRIP_UNARY (operands[3]))
29490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29491 : STRIP_UNARY (operands[3])))) &&
29492 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29493 : (TARGET_AVX512F)) &&
29494 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29495 : ( 1)))
29496 : return NULL;
29497 : return gen_split_2871 (insn, operands);
29498 :
29499 : case 7:
29500 : if (!((
29501 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29502 : ((32 == 64 || TARGET_AVX512VL
29503 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29504 : && ix86_pre_reload_split ()
29505 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29506 : STRIP_UNARY (operands[4]))
29507 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29508 : STRIP_UNARY (operands[4]))
29509 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29510 : STRIP_UNARY (operands[3]))
29511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29512 : STRIP_UNARY (operands[3])))) &&
29513 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29514 : (TARGET_AVX)) &&
29515 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29516 : ( 1)))
29517 : return NULL;
29518 : return gen_split_2898 (insn, operands);
29519 :
29520 : case 8:
29521 : if (!(
29522 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29523 : ((16 == 64 || TARGET_AVX512VL
29524 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29525 : && ix86_pre_reload_split ()
29526 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29527 : STRIP_UNARY (operands[4]))
29528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29529 : STRIP_UNARY (operands[4]))
29530 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29531 : STRIP_UNARY (operands[3]))
29532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29533 : STRIP_UNARY (operands[3])))) &&
29534 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29535 : ( 1)))
29536 : return NULL;
29537 : return gen_split_2925 (insn, operands);
29538 :
29539 : case 9:
29540 : if (!((
29541 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29542 : ((64 == 64 || TARGET_AVX512VL
29543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29544 : && ix86_pre_reload_split ()
29545 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29546 : STRIP_UNARY (operands[4]))
29547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29548 : STRIP_UNARY (operands[4]))
29549 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29550 : STRIP_UNARY (operands[3]))
29551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29552 : STRIP_UNARY (operands[3])))) &&
29553 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29554 : (TARGET_AVX512F)) &&
29555 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29556 : ( 1)))
29557 : return NULL;
29558 : return gen_split_2952 (insn, operands);
29559 :
29560 : case 10:
29561 : if (!((
29562 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29563 : ((32 == 64 || TARGET_AVX512VL
29564 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29565 : && ix86_pre_reload_split ()
29566 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29567 : STRIP_UNARY (operands[4]))
29568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29569 : STRIP_UNARY (operands[4]))
29570 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29571 : STRIP_UNARY (operands[3]))
29572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29573 : STRIP_UNARY (operands[3])))) &&
29574 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29575 : (TARGET_AVX)) &&
29576 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29577 : ( 1)))
29578 : return NULL;
29579 : return gen_split_2979 (insn, operands);
29580 :
29581 : case 11:
29582 : if (!((
29583 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29584 : ((16 == 64 || TARGET_AVX512VL
29585 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29586 : && ix86_pre_reload_split ()
29587 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29588 : STRIP_UNARY (operands[4]))
29589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29590 : STRIP_UNARY (operands[4]))
29591 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29592 : STRIP_UNARY (operands[3]))
29593 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29594 : STRIP_UNARY (operands[3])))) &&
29595 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29596 : (TARGET_SSE2)) &&
29597 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29598 : ( 1)))
29599 : return NULL;
29600 : return gen_split_3006 (insn, operands);
29601 :
29602 : default:
29603 : return NULL;
29604 : }
29605 :
29606 : case XOR:
29607 : switch (pattern544 (x2))
29608 : {
29609 : case 0:
29610 : if (!((
29611 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29612 : ((64 == 64 || TARGET_AVX512VL
29613 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29614 : && ix86_pre_reload_split ()
29615 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29616 : STRIP_UNARY (operands[4]))
29617 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29618 : STRIP_UNARY (operands[4]))
29619 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29620 : STRIP_UNARY (operands[3]))
29621 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29622 : STRIP_UNARY (operands[3])))) &&
29623 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29624 : (TARGET_AVX512F)) &&
29625 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29626 : ( 1)))
29627 : return NULL;
29628 : return gen_split_2712 (insn, operands);
29629 :
29630 : case 1:
29631 : if (!((
29632 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29633 : ((32 == 64 || TARGET_AVX512VL
29634 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29635 : && ix86_pre_reload_split ()
29636 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29637 : STRIP_UNARY (operands[4]))
29638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29639 : STRIP_UNARY (operands[4]))
29640 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29641 : STRIP_UNARY (operands[3]))
29642 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29643 : STRIP_UNARY (operands[3])))) &&
29644 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29645 : (TARGET_AVX)) &&
29646 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29647 : ( 1)))
29648 : return NULL;
29649 : return gen_split_2739 (insn, operands);
29650 :
29651 : case 2:
29652 : if (!(
29653 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29654 : ((16 == 64 || TARGET_AVX512VL
29655 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29656 : && ix86_pre_reload_split ()
29657 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29658 : STRIP_UNARY (operands[4]))
29659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29660 : STRIP_UNARY (operands[4]))
29661 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29662 : STRIP_UNARY (operands[3]))
29663 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29664 : STRIP_UNARY (operands[3])))) &&
29665 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29666 : ( 1)))
29667 : return NULL;
29668 : return gen_split_2766 (insn, operands);
29669 :
29670 : case 3:
29671 : if (!((
29672 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29673 : ((64 == 64 || TARGET_AVX512VL
29674 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29675 : && ix86_pre_reload_split ()
29676 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29677 : STRIP_UNARY (operands[4]))
29678 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29679 : STRIP_UNARY (operands[4]))
29680 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29681 : STRIP_UNARY (operands[3]))
29682 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29683 : STRIP_UNARY (operands[3])))) &&
29684 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29685 : (TARGET_AVX512F)) &&
29686 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29687 : ( 1)))
29688 : return NULL;
29689 : return gen_split_2793 (insn, operands);
29690 :
29691 : case 4:
29692 : if (!((
29693 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29694 : ((32 == 64 || TARGET_AVX512VL
29695 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29696 : && ix86_pre_reload_split ()
29697 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29698 : STRIP_UNARY (operands[4]))
29699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29700 : STRIP_UNARY (operands[4]))
29701 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29702 : STRIP_UNARY (operands[3]))
29703 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29704 : STRIP_UNARY (operands[3])))) &&
29705 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29706 : (TARGET_AVX)) &&
29707 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29708 : ( 1)))
29709 : return NULL;
29710 : return gen_split_2820 (insn, operands);
29711 :
29712 : case 5:
29713 : if (!(
29714 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29715 : ((16 == 64 || TARGET_AVX512VL
29716 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29717 : && ix86_pre_reload_split ()
29718 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29719 : STRIP_UNARY (operands[4]))
29720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29721 : STRIP_UNARY (operands[4]))
29722 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29723 : STRIP_UNARY (operands[3]))
29724 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29725 : STRIP_UNARY (operands[3])))) &&
29726 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29727 : ( 1)))
29728 : return NULL;
29729 : return gen_split_2847 (insn, operands);
29730 :
29731 : case 6:
29732 : if (!((
29733 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29734 : ((64 == 64 || TARGET_AVX512VL
29735 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29736 : && ix86_pre_reload_split ()
29737 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29738 : STRIP_UNARY (operands[4]))
29739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29740 : STRIP_UNARY (operands[4]))
29741 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29742 : STRIP_UNARY (operands[3]))
29743 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29744 : STRIP_UNARY (operands[3])))) &&
29745 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29746 : (TARGET_AVX512F)) &&
29747 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29748 : ( 1)))
29749 : return NULL;
29750 : return gen_split_2874 (insn, operands);
29751 :
29752 : case 7:
29753 : if (!((
29754 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29755 : ((32 == 64 || TARGET_AVX512VL
29756 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29757 : && ix86_pre_reload_split ()
29758 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29759 : STRIP_UNARY (operands[4]))
29760 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29761 : STRIP_UNARY (operands[4]))
29762 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29763 : STRIP_UNARY (operands[3]))
29764 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29765 : STRIP_UNARY (operands[3])))) &&
29766 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29767 : (TARGET_AVX)) &&
29768 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29769 : ( 1)))
29770 : return NULL;
29771 : return gen_split_2901 (insn, operands);
29772 :
29773 : case 8:
29774 : if (!(
29775 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29776 : ((16 == 64 || TARGET_AVX512VL
29777 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29778 : && ix86_pre_reload_split ()
29779 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29780 : STRIP_UNARY (operands[4]))
29781 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29782 : STRIP_UNARY (operands[4]))
29783 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29784 : STRIP_UNARY (operands[3]))
29785 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29786 : STRIP_UNARY (operands[3])))) &&
29787 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29788 : ( 1)))
29789 : return NULL;
29790 : return gen_split_2928 (insn, operands);
29791 :
29792 : case 9:
29793 : if (!((
29794 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29795 : ((64 == 64 || TARGET_AVX512VL
29796 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29797 : && ix86_pre_reload_split ()
29798 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29799 : STRIP_UNARY (operands[4]))
29800 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29801 : STRIP_UNARY (operands[4]))
29802 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29803 : STRIP_UNARY (operands[3]))
29804 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29805 : STRIP_UNARY (operands[3])))) &&
29806 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29807 : (TARGET_AVX512F)) &&
29808 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29809 : ( 1)))
29810 : return NULL;
29811 : return gen_split_2955 (insn, operands);
29812 :
29813 : case 10:
29814 : if (!((
29815 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29816 : ((32 == 64 || TARGET_AVX512VL
29817 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29818 : && ix86_pre_reload_split ()
29819 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29820 : STRIP_UNARY (operands[4]))
29821 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29822 : STRIP_UNARY (operands[4]))
29823 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29824 : STRIP_UNARY (operands[3]))
29825 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29826 : STRIP_UNARY (operands[3])))) &&
29827 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29828 : (TARGET_AVX)) &&
29829 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29830 : ( 1)))
29831 : return NULL;
29832 : return gen_split_2982 (insn, operands);
29833 :
29834 : case 11:
29835 : if (!((
29836 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29837 : ((16 == 64 || TARGET_AVX512VL
29838 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29839 : && ix86_pre_reload_split ()
29840 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29841 : STRIP_UNARY (operands[4]))
29842 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29843 : STRIP_UNARY (operands[4]))
29844 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29845 : STRIP_UNARY (operands[3]))
29846 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29847 : STRIP_UNARY (operands[3])))) &&
29848 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29849 : (TARGET_SSE2)) &&
29850 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29851 : ( 1)))
29852 : return NULL;
29853 : return gen_split_3009 (insn, operands);
29854 :
29855 : default:
29856 : return NULL;
29857 : }
29858 :
29859 : default:
29860 : return NULL;
29861 : }
29862 :
29863 : case IOR:
29864 : x4 = XEXP (x3, 0);
29865 : switch (GET_CODE (x4))
29866 : {
29867 : case REG:
29868 : case SUBREG:
29869 : case MEM:
29870 : case NOT:
29871 : switch (pattern543 (x2))
29872 : {
29873 : case 0:
29874 : if (!((
29875 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29876 : ((64 == 64 || TARGET_AVX512VL
29877 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29878 : && ix86_pre_reload_split ()
29879 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29880 : STRIP_UNARY (operands[4]))
29881 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29882 : STRIP_UNARY (operands[4]))
29883 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29884 : STRIP_UNARY (operands[3]))
29885 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29886 : STRIP_UNARY (operands[3])))) &&
29887 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29888 : (TARGET_AVX512F)) &&
29889 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29890 : ( 1)))
29891 : return NULL;
29892 : return gen_split_2067 (insn, operands);
29893 :
29894 : case 1:
29895 : if (!((
29896 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29897 : ((32 == 64 || TARGET_AVX512VL
29898 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29899 : && ix86_pre_reload_split ()
29900 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29901 : STRIP_UNARY (operands[4]))
29902 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29903 : STRIP_UNARY (operands[4]))
29904 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29905 : STRIP_UNARY (operands[3]))
29906 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29907 : STRIP_UNARY (operands[3])))) &&
29908 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29909 : (TARGET_AVX)) &&
29910 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29911 : ( 1)))
29912 : return NULL;
29913 : return gen_split_2094 (insn, operands);
29914 :
29915 : case 2:
29916 : if (!(
29917 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29918 : ((16 == 64 || TARGET_AVX512VL
29919 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29920 : && ix86_pre_reload_split ()
29921 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29922 : STRIP_UNARY (operands[4]))
29923 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29924 : STRIP_UNARY (operands[4]))
29925 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29926 : STRIP_UNARY (operands[3]))
29927 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29928 : STRIP_UNARY (operands[3])))) &&
29929 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29930 : ( 1)))
29931 : return NULL;
29932 : return gen_split_2121 (insn, operands);
29933 :
29934 : case 3:
29935 : if (!((
29936 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29937 : ((64 == 64 || TARGET_AVX512VL
29938 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29939 : && ix86_pre_reload_split ()
29940 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29941 : STRIP_UNARY (operands[4]))
29942 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29943 : STRIP_UNARY (operands[4]))
29944 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29945 : STRIP_UNARY (operands[3]))
29946 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29947 : STRIP_UNARY (operands[3])))) &&
29948 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29949 : (TARGET_AVX512F)) &&
29950 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29951 : ( 1)))
29952 : return NULL;
29953 : return gen_split_2148 (insn, operands);
29954 :
29955 : case 4:
29956 : if (!((
29957 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29958 : ((32 == 64 || TARGET_AVX512VL
29959 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29960 : && ix86_pre_reload_split ()
29961 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29962 : STRIP_UNARY (operands[4]))
29963 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29964 : STRIP_UNARY (operands[4]))
29965 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29966 : STRIP_UNARY (operands[3]))
29967 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29968 : STRIP_UNARY (operands[3])))) &&
29969 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29970 : (TARGET_AVX)) &&
29971 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29972 : ( 1)))
29973 : return NULL;
29974 : return gen_split_2175 (insn, operands);
29975 :
29976 : case 5:
29977 : if (!(
29978 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29979 : ((16 == 64 || TARGET_AVX512VL
29980 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29981 : && ix86_pre_reload_split ()
29982 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29983 : STRIP_UNARY (operands[4]))
29984 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29985 : STRIP_UNARY (operands[4]))
29986 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29987 : STRIP_UNARY (operands[3]))
29988 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29989 : STRIP_UNARY (operands[3])))) &&
29990 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29991 : ( 1)))
29992 : return NULL;
29993 : return gen_split_2202 (insn, operands);
29994 :
29995 : case 6:
29996 : if (!((
29997 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29998 : ((64 == 64 || TARGET_AVX512VL
29999 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30000 : && ix86_pre_reload_split ()
30001 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30002 : STRIP_UNARY (operands[4]))
30003 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30004 : STRIP_UNARY (operands[4]))
30005 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30006 : STRIP_UNARY (operands[3]))
30007 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30008 : STRIP_UNARY (operands[3])))) &&
30009 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30010 : (TARGET_AVX512F)) &&
30011 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30012 : ( 1)))
30013 : return NULL;
30014 : return gen_split_2229 (insn, operands);
30015 :
30016 : case 7:
30017 : if (!((
30018 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30019 : ((32 == 64 || TARGET_AVX512VL
30020 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30021 : && ix86_pre_reload_split ()
30022 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30023 : STRIP_UNARY (operands[4]))
30024 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30025 : STRIP_UNARY (operands[4]))
30026 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30027 : STRIP_UNARY (operands[3]))
30028 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30029 : STRIP_UNARY (operands[3])))) &&
30030 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30031 : (TARGET_AVX)) &&
30032 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30033 : ( 1)))
30034 : return NULL;
30035 : return gen_split_2256 (insn, operands);
30036 :
30037 : case 8:
30038 : if (!(
30039 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30040 : ((16 == 64 || TARGET_AVX512VL
30041 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30042 : && ix86_pre_reload_split ()
30043 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30044 : STRIP_UNARY (operands[4]))
30045 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30046 : STRIP_UNARY (operands[4]))
30047 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30048 : STRIP_UNARY (operands[3]))
30049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30050 : STRIP_UNARY (operands[3])))) &&
30051 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30052 : ( 1)))
30053 : return NULL;
30054 : return gen_split_2283 (insn, operands);
30055 :
30056 : case 9:
30057 : if (!((
30058 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30059 : ((64 == 64 || TARGET_AVX512VL
30060 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30061 : && ix86_pre_reload_split ()
30062 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30063 : STRIP_UNARY (operands[4]))
30064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30065 : STRIP_UNARY (operands[4]))
30066 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30067 : STRIP_UNARY (operands[3]))
30068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30069 : STRIP_UNARY (operands[3])))) &&
30070 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30071 : (TARGET_AVX512F)) &&
30072 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30073 : ( 1)))
30074 : return NULL;
30075 : return gen_split_2310 (insn, operands);
30076 :
30077 : case 10:
30078 : if (!((
30079 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30080 : ((32 == 64 || TARGET_AVX512VL
30081 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30082 : && ix86_pre_reload_split ()
30083 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30084 : STRIP_UNARY (operands[4]))
30085 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30086 : STRIP_UNARY (operands[4]))
30087 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30088 : STRIP_UNARY (operands[3]))
30089 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30090 : STRIP_UNARY (operands[3])))) &&
30091 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30092 : (TARGET_AVX)) &&
30093 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30094 : ( 1)))
30095 : return NULL;
30096 : return gen_split_2337 (insn, operands);
30097 :
30098 : case 11:
30099 : if (!((
30100 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30101 : ((16 == 64 || TARGET_AVX512VL
30102 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30103 : && ix86_pre_reload_split ()
30104 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30105 : STRIP_UNARY (operands[4]))
30106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30107 : STRIP_UNARY (operands[4]))
30108 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30109 : STRIP_UNARY (operands[3]))
30110 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30111 : STRIP_UNARY (operands[3])))) &&
30112 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30113 : (TARGET_SSE2)) &&
30114 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30115 : ( 1)))
30116 : return NULL;
30117 : return gen_split_2364 (insn, operands);
30118 :
30119 : case 12:
30120 : if (!((
30121 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30122 : ((64 == 64 || TARGET_AVX512VL
30123 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30124 : && ix86_pre_reload_split ()
30125 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30126 : STRIP_UNARY (operands[4]))
30127 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30128 : STRIP_UNARY (operands[4]))
30129 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30130 : STRIP_UNARY (operands[3]))
30131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30132 : STRIP_UNARY (operands[3])))) &&
30133 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30134 : (TARGET_AVX512F)) &&
30135 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30136 : ( 1)))
30137 : return NULL;
30138 : return gen_split_2070 (insn, operands);
30139 :
30140 : case 13:
30141 : if (!((
30142 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30143 : ((32 == 64 || TARGET_AVX512VL
30144 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30145 : && ix86_pre_reload_split ()
30146 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30147 : STRIP_UNARY (operands[4]))
30148 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30149 : STRIP_UNARY (operands[4]))
30150 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30151 : STRIP_UNARY (operands[3]))
30152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30153 : STRIP_UNARY (operands[3])))) &&
30154 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30155 : (TARGET_AVX)) &&
30156 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30157 : ( 1)))
30158 : return NULL;
30159 : return gen_split_2097 (insn, operands);
30160 :
30161 : case 14:
30162 : if (!(
30163 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30164 : ((16 == 64 || TARGET_AVX512VL
30165 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30166 : && ix86_pre_reload_split ()
30167 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30168 : STRIP_UNARY (operands[4]))
30169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30170 : STRIP_UNARY (operands[4]))
30171 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30172 : STRIP_UNARY (operands[3]))
30173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30174 : STRIP_UNARY (operands[3])))) &&
30175 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30176 : ( 1)))
30177 : return NULL;
30178 : return gen_split_2124 (insn, operands);
30179 :
30180 : case 15:
30181 : if (!((
30182 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30183 : ((64 == 64 || TARGET_AVX512VL
30184 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30185 : && ix86_pre_reload_split ()
30186 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30187 : STRIP_UNARY (operands[4]))
30188 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30189 : STRIP_UNARY (operands[4]))
30190 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30191 : STRIP_UNARY (operands[3]))
30192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30193 : STRIP_UNARY (operands[3])))) &&
30194 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30195 : (TARGET_AVX512F)) &&
30196 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30197 : ( 1)))
30198 : return NULL;
30199 : return gen_split_2151 (insn, operands);
30200 :
30201 : case 16:
30202 : if (!((
30203 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30204 : ((32 == 64 || TARGET_AVX512VL
30205 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30206 : && ix86_pre_reload_split ()
30207 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30208 : STRIP_UNARY (operands[4]))
30209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30210 : STRIP_UNARY (operands[4]))
30211 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30212 : STRIP_UNARY (operands[3]))
30213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30214 : STRIP_UNARY (operands[3])))) &&
30215 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30216 : (TARGET_AVX)) &&
30217 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30218 : ( 1)))
30219 : return NULL;
30220 : return gen_split_2178 (insn, operands);
30221 :
30222 : case 17:
30223 : if (!(
30224 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30225 : ((16 == 64 || TARGET_AVX512VL
30226 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30227 : && ix86_pre_reload_split ()
30228 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30229 : STRIP_UNARY (operands[4]))
30230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30231 : STRIP_UNARY (operands[4]))
30232 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30233 : STRIP_UNARY (operands[3]))
30234 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30235 : STRIP_UNARY (operands[3])))) &&
30236 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30237 : ( 1)))
30238 : return NULL;
30239 : return gen_split_2205 (insn, operands);
30240 :
30241 : case 18:
30242 : if (!((
30243 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30244 : ((64 == 64 || TARGET_AVX512VL
30245 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30246 : && ix86_pre_reload_split ()
30247 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30248 : STRIP_UNARY (operands[4]))
30249 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30250 : STRIP_UNARY (operands[4]))
30251 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30252 : STRIP_UNARY (operands[3]))
30253 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30254 : STRIP_UNARY (operands[3])))) &&
30255 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30256 : (TARGET_AVX512F)) &&
30257 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30258 : ( 1)))
30259 : return NULL;
30260 : return gen_split_2232 (insn, operands);
30261 :
30262 : case 19:
30263 : if (!((
30264 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30265 : ((32 == 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_AVX)) &&
30278 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30279 : ( 1)))
30280 : return NULL;
30281 : return gen_split_2259 (insn, operands);
30282 :
30283 : case 20:
30284 : if (!(
30285 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30286 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30298 : ( 1)))
30299 : return NULL;
30300 : return gen_split_2286 (insn, operands);
30301 :
30302 : case 21:
30303 : if (!((
30304 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30305 : ((64 == 64 || TARGET_AVX512VL
30306 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30307 : && ix86_pre_reload_split ()
30308 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30309 : STRIP_UNARY (operands[4]))
30310 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30311 : STRIP_UNARY (operands[4]))
30312 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30313 : STRIP_UNARY (operands[3]))
30314 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30315 : STRIP_UNARY (operands[3])))) &&
30316 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30317 : (TARGET_AVX512F)) &&
30318 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30319 : ( 1)))
30320 : return NULL;
30321 : return gen_split_2313 (insn, operands);
30322 :
30323 : case 22:
30324 : if (!((
30325 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30326 : ((32 == 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_AVX)) &&
30339 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30340 : ( 1)))
30341 : return NULL;
30342 : return gen_split_2340 (insn, operands);
30343 :
30344 : case 23:
30345 : if (!((
30346 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30347 : ((16 == 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_SSE2)) &&
30360 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30361 : ( 1)))
30362 : return NULL;
30363 : return gen_split_2367 (insn, operands);
30364 :
30365 : case 24:
30366 : if (!((
30367 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30368 : ((64 == 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 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30380 : (TARGET_AVX512F)) &&
30381 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30382 : ( 1)))
30383 : return NULL;
30384 : return gen_split_2073 (insn, operands);
30385 :
30386 : case 25:
30387 : if (!((
30388 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30389 : ((32 == 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_AVX)) &&
30402 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30403 : ( 1)))
30404 : return NULL;
30405 : return gen_split_2100 (insn, operands);
30406 :
30407 : case 26:
30408 : if (!(
30409 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30410 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30422 : ( 1)))
30423 : return NULL;
30424 : return gen_split_2127 (insn, operands);
30425 :
30426 : case 27:
30427 : if (!((
30428 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30429 : ((64 == 64 || TARGET_AVX512VL
30430 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30431 : && ix86_pre_reload_split ()
30432 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30433 : STRIP_UNARY (operands[4]))
30434 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30435 : STRIP_UNARY (operands[4]))
30436 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30437 : STRIP_UNARY (operands[3]))
30438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30439 : STRIP_UNARY (operands[3])))) &&
30440 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30441 : (TARGET_AVX512F)) &&
30442 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30443 : ( 1)))
30444 : return NULL;
30445 : return gen_split_2154 (insn, operands);
30446 :
30447 : case 28:
30448 : if (!((
30449 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30450 : ((32 == 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_AVX)) &&
30463 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30464 : ( 1)))
30465 : return NULL;
30466 : return gen_split_2181 (insn, operands);
30467 :
30468 : case 29:
30469 : if (!(
30470 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30471 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30483 : ( 1)))
30484 : return NULL;
30485 : return gen_split_2208 (insn, operands);
30486 :
30487 : case 30:
30488 : if (!((
30489 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30490 : ((64 == 64 || TARGET_AVX512VL
30491 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30492 : && ix86_pre_reload_split ()
30493 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30494 : STRIP_UNARY (operands[4]))
30495 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30496 : STRIP_UNARY (operands[4]))
30497 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30498 : STRIP_UNARY (operands[3]))
30499 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30500 : STRIP_UNARY (operands[3])))) &&
30501 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30502 : (TARGET_AVX512F)) &&
30503 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30504 : ( 1)))
30505 : return NULL;
30506 : return gen_split_2235 (insn, operands);
30507 :
30508 : case 31:
30509 : if (!((
30510 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30511 : ((32 == 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_AVX)) &&
30524 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30525 : ( 1)))
30526 : return NULL;
30527 : return gen_split_2262 (insn, operands);
30528 :
30529 : case 32:
30530 : if (!(
30531 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30532 : ((16 == 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 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30544 : ( 1)))
30545 : return NULL;
30546 : return gen_split_2289 (insn, operands);
30547 :
30548 : case 33:
30549 : if (!((
30550 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30551 : ((64 == 64 || TARGET_AVX512VL
30552 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30553 : && ix86_pre_reload_split ()
30554 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30555 : STRIP_UNARY (operands[4]))
30556 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30557 : STRIP_UNARY (operands[4]))
30558 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30559 : STRIP_UNARY (operands[3]))
30560 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30561 : STRIP_UNARY (operands[3])))) &&
30562 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30563 : (TARGET_AVX512F)) &&
30564 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30565 : ( 1)))
30566 : return NULL;
30567 : return gen_split_2316 (insn, operands);
30568 :
30569 : case 34:
30570 : if (!((
30571 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30572 : ((32 == 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_AVX)) &&
30585 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30586 : ( 1)))
30587 : return NULL;
30588 : return gen_split_2343 (insn, operands);
30589 :
30590 : case 35:
30591 : if (!((
30592 : #line 14151 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30593 : ((16 == 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_SSE2)) &&
30606 : #line 14163 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30607 : ( 1)))
30608 : return NULL;
30609 : return gen_split_2370 (insn, operands);
30610 :
30611 : case 36:
30612 : if (!((
30613 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30614 : ((64 == 64 || TARGET_AVX512VL
30615 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30616 : && ix86_pre_reload_split ()) &&
30617 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30618 : (TARGET_AVX512F)) &&
30619 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : ( 1)))
30621 : return NULL;
30622 : return gen_split_3141 (insn, operands);
30623 :
30624 : case 37:
30625 : if (!((
30626 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30627 : ((32 == 64 || TARGET_AVX512VL
30628 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30629 : && ix86_pre_reload_split ()) &&
30630 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30631 : (TARGET_AVX)) &&
30632 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30633 : ( 1)))
30634 : return NULL;
30635 : return gen_split_3150 (insn, operands);
30636 :
30637 : case 38:
30638 : if (!(
30639 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30640 : ((16 == 64 || TARGET_AVX512VL
30641 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30642 : && ix86_pre_reload_split ()) &&
30643 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30644 : ( 1)))
30645 : return NULL;
30646 : return gen_split_3159 (insn, operands);
30647 :
30648 : case 39:
30649 : if (!((
30650 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30651 : ((64 == 64 || TARGET_AVX512VL
30652 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30653 : && ix86_pre_reload_split ()) &&
30654 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30655 : (TARGET_AVX512F)) &&
30656 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30657 : ( 1)))
30658 : return NULL;
30659 : return gen_split_3168 (insn, operands);
30660 :
30661 : case 40:
30662 : if (!((
30663 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30664 : ((32 == 64 || TARGET_AVX512VL
30665 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30666 : && ix86_pre_reload_split ()) &&
30667 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30668 : (TARGET_AVX)) &&
30669 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30670 : ( 1)))
30671 : return NULL;
30672 : return gen_split_3177 (insn, operands);
30673 :
30674 : case 41:
30675 : if (!(
30676 : #line 14320 "/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 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30681 : ( 1)))
30682 : return NULL;
30683 : return gen_split_3186 (insn, operands);
30684 :
30685 : case 42:
30686 : if (!((
30687 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30688 : ((64 == 64 || TARGET_AVX512VL
30689 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30690 : && ix86_pre_reload_split ()) &&
30691 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30692 : (TARGET_AVX512F)) &&
30693 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30694 : ( 1)))
30695 : return NULL;
30696 : return gen_split_3195 (insn, operands);
30697 :
30698 : case 43:
30699 : if (!((
30700 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30701 : ((32 == 64 || TARGET_AVX512VL
30702 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30703 : && ix86_pre_reload_split ()) &&
30704 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30705 : (TARGET_AVX)) &&
30706 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30707 : ( 1)))
30708 : return NULL;
30709 : return gen_split_3204 (insn, operands);
30710 :
30711 : case 44:
30712 : if (!(
30713 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30714 : ((16 == 64 || TARGET_AVX512VL
30715 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30716 : && ix86_pre_reload_split ()) &&
30717 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30718 : ( 1)))
30719 : return NULL;
30720 : return gen_split_3213 (insn, operands);
30721 :
30722 : case 45:
30723 : if (!((
30724 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30725 : ((64 == 64 || TARGET_AVX512VL
30726 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30727 : && ix86_pre_reload_split ()) &&
30728 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30729 : (TARGET_AVX512F)) &&
30730 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30731 : ( 1)))
30732 : return NULL;
30733 : return gen_split_3222 (insn, operands);
30734 :
30735 : case 46:
30736 : if (!((
30737 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30738 : ((32 == 64 || TARGET_AVX512VL
30739 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30740 : && ix86_pre_reload_split ()) &&
30741 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30742 : (TARGET_AVX)) &&
30743 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30744 : ( 1)))
30745 : return NULL;
30746 : return gen_split_3231 (insn, operands);
30747 :
30748 : case 47:
30749 : if (!((
30750 : #line 14320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30751 : ((16 == 64 || TARGET_AVX512VL
30752 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30753 : && ix86_pre_reload_split ()) &&
30754 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30755 : (TARGET_SSE2)) &&
30756 : #line 14324 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30757 : ( 1)))
30758 : return NULL;
30759 : return gen_split_3240 (insn, operands);
30760 :
30761 : default:
30762 : return NULL;
30763 : }
30764 :
30765 : case AND:
30766 : switch (pattern544 (x2))
30767 : {
30768 : case 0:
30769 : if (!((
30770 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30771 : ((64 == 64 || TARGET_AVX512VL
30772 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30773 : && ix86_pre_reload_split ()
30774 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30775 : STRIP_UNARY (operands[4]))
30776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30777 : STRIP_UNARY (operands[4]))
30778 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30779 : STRIP_UNARY (operands[3]))
30780 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30781 : STRIP_UNARY (operands[3])))) &&
30782 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30783 : (TARGET_AVX512F)) &&
30784 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30785 : ( 1)))
30786 : return NULL;
30787 : return gen_split_2715 (insn, operands);
30788 :
30789 : case 1:
30790 : if (!((
30791 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30792 : ((32 == 64 || TARGET_AVX512VL
30793 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30794 : && ix86_pre_reload_split ()
30795 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30796 : STRIP_UNARY (operands[4]))
30797 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30798 : STRIP_UNARY (operands[4]))
30799 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30800 : STRIP_UNARY (operands[3]))
30801 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30802 : STRIP_UNARY (operands[3])))) &&
30803 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30804 : (TARGET_AVX)) &&
30805 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30806 : ( 1)))
30807 : return NULL;
30808 : return gen_split_2742 (insn, operands);
30809 :
30810 : case 2:
30811 : if (!(
30812 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30813 : ((16 == 64 || TARGET_AVX512VL
30814 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30815 : && ix86_pre_reload_split ()
30816 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30817 : STRIP_UNARY (operands[4]))
30818 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30819 : STRIP_UNARY (operands[4]))
30820 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30821 : STRIP_UNARY (operands[3]))
30822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30823 : STRIP_UNARY (operands[3])))) &&
30824 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30825 : ( 1)))
30826 : return NULL;
30827 : return gen_split_2769 (insn, operands);
30828 :
30829 : case 3:
30830 : if (!((
30831 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30832 : ((64 == 64 || TARGET_AVX512VL
30833 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30834 : && ix86_pre_reload_split ()
30835 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30836 : STRIP_UNARY (operands[4]))
30837 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30838 : STRIP_UNARY (operands[4]))
30839 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30840 : STRIP_UNARY (operands[3]))
30841 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30842 : STRIP_UNARY (operands[3])))) &&
30843 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30844 : (TARGET_AVX512F)) &&
30845 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30846 : ( 1)))
30847 : return NULL;
30848 : return gen_split_2796 (insn, operands);
30849 :
30850 : case 4:
30851 : if (!((
30852 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30853 : ((32 == 64 || TARGET_AVX512VL
30854 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30855 : && ix86_pre_reload_split ()
30856 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30857 : STRIP_UNARY (operands[4]))
30858 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30859 : STRIP_UNARY (operands[4]))
30860 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30861 : STRIP_UNARY (operands[3]))
30862 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30863 : STRIP_UNARY (operands[3])))) &&
30864 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30865 : (TARGET_AVX)) &&
30866 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30867 : ( 1)))
30868 : return NULL;
30869 : return gen_split_2823 (insn, operands);
30870 :
30871 : case 5:
30872 : if (!(
30873 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30874 : ((16 == 64 || TARGET_AVX512VL
30875 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30876 : && ix86_pre_reload_split ()
30877 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30878 : STRIP_UNARY (operands[4]))
30879 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30880 : STRIP_UNARY (operands[4]))
30881 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30882 : STRIP_UNARY (operands[3]))
30883 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30884 : STRIP_UNARY (operands[3])))) &&
30885 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30886 : ( 1)))
30887 : return NULL;
30888 : return gen_split_2850 (insn, operands);
30889 :
30890 : case 6:
30891 : if (!((
30892 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30893 : ((64 == 64 || TARGET_AVX512VL
30894 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30895 : && ix86_pre_reload_split ()
30896 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30897 : STRIP_UNARY (operands[4]))
30898 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30899 : STRIP_UNARY (operands[4]))
30900 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30901 : STRIP_UNARY (operands[3]))
30902 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30903 : STRIP_UNARY (operands[3])))) &&
30904 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30905 : (TARGET_AVX512F)) &&
30906 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30907 : ( 1)))
30908 : return NULL;
30909 : return gen_split_2877 (insn, operands);
30910 :
30911 : case 7:
30912 : if (!((
30913 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30914 : ((32 == 64 || TARGET_AVX512VL
30915 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30916 : && ix86_pre_reload_split ()
30917 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30918 : STRIP_UNARY (operands[4]))
30919 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30920 : STRIP_UNARY (operands[4]))
30921 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30922 : STRIP_UNARY (operands[3]))
30923 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30924 : STRIP_UNARY (operands[3])))) &&
30925 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30926 : (TARGET_AVX)) &&
30927 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30928 : ( 1)))
30929 : return NULL;
30930 : return gen_split_2904 (insn, operands);
30931 :
30932 : case 8:
30933 : if (!(
30934 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30935 : ((16 == 64 || TARGET_AVX512VL
30936 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30937 : && ix86_pre_reload_split ()
30938 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30939 : STRIP_UNARY (operands[4]))
30940 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30941 : STRIP_UNARY (operands[4]))
30942 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30943 : STRIP_UNARY (operands[3]))
30944 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30945 : STRIP_UNARY (operands[3])))) &&
30946 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30947 : ( 1)))
30948 : return NULL;
30949 : return gen_split_2931 (insn, operands);
30950 :
30951 : case 9:
30952 : if (!((
30953 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30954 : ((64 == 64 || TARGET_AVX512VL
30955 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30956 : && ix86_pre_reload_split ()
30957 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30958 : STRIP_UNARY (operands[4]))
30959 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30960 : STRIP_UNARY (operands[4]))
30961 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30962 : STRIP_UNARY (operands[3]))
30963 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30964 : STRIP_UNARY (operands[3])))) &&
30965 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30966 : (TARGET_AVX512F)) &&
30967 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30968 : ( 1)))
30969 : return NULL;
30970 : return gen_split_2958 (insn, operands);
30971 :
30972 : case 10:
30973 : if (!((
30974 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30975 : ((32 == 64 || TARGET_AVX512VL
30976 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30977 : && ix86_pre_reload_split ()
30978 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30979 : STRIP_UNARY (operands[4]))
30980 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30981 : STRIP_UNARY (operands[4]))
30982 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30983 : STRIP_UNARY (operands[3]))
30984 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30985 : STRIP_UNARY (operands[3])))) &&
30986 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30987 : (TARGET_AVX)) &&
30988 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30989 : ( 1)))
30990 : return NULL;
30991 : return gen_split_2985 (insn, operands);
30992 :
30993 : case 11:
30994 : if (!((
30995 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30996 : ((16 == 64 || TARGET_AVX512VL
30997 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30998 : && ix86_pre_reload_split ()
30999 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31000 : STRIP_UNARY (operands[4]))
31001 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31002 : STRIP_UNARY (operands[4]))
31003 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31004 : STRIP_UNARY (operands[3]))
31005 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31006 : STRIP_UNARY (operands[3])))) &&
31007 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31008 : (TARGET_SSE2)) &&
31009 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31010 : ( 1)))
31011 : return NULL;
31012 : return gen_split_3012 (insn, operands);
31013 :
31014 : default:
31015 : return NULL;
31016 : }
31017 :
31018 : case IOR:
31019 : switch (pattern544 (x2))
31020 : {
31021 : case 0:
31022 : if (!((
31023 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31024 : ((64 == 64 || TARGET_AVX512VL
31025 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31026 : && ix86_pre_reload_split ()
31027 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31028 : STRIP_UNARY (operands[4]))
31029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31030 : STRIP_UNARY (operands[4]))
31031 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31032 : STRIP_UNARY (operands[3]))
31033 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31034 : STRIP_UNARY (operands[3])))) &&
31035 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31036 : (TARGET_AVX512F)) &&
31037 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31038 : ( 1)))
31039 : return NULL;
31040 : return gen_split_2718 (insn, operands);
31041 :
31042 : case 1:
31043 : if (!((
31044 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31045 : ((32 == 64 || TARGET_AVX512VL
31046 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31047 : && ix86_pre_reload_split ()
31048 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31049 : STRIP_UNARY (operands[4]))
31050 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31051 : STRIP_UNARY (operands[4]))
31052 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31053 : STRIP_UNARY (operands[3]))
31054 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31055 : STRIP_UNARY (operands[3])))) &&
31056 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31057 : (TARGET_AVX)) &&
31058 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31059 : ( 1)))
31060 : return NULL;
31061 : return gen_split_2745 (insn, operands);
31062 :
31063 : case 2:
31064 : if (!(
31065 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31066 : ((16 == 64 || TARGET_AVX512VL
31067 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31068 : && ix86_pre_reload_split ()
31069 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31070 : STRIP_UNARY (operands[4]))
31071 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31072 : STRIP_UNARY (operands[4]))
31073 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31074 : STRIP_UNARY (operands[3]))
31075 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31076 : STRIP_UNARY (operands[3])))) &&
31077 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31078 : ( 1)))
31079 : return NULL;
31080 : return gen_split_2772 (insn, operands);
31081 :
31082 : case 3:
31083 : if (!((
31084 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31085 : ((64 == 64 || TARGET_AVX512VL
31086 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31087 : && ix86_pre_reload_split ()
31088 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31089 : STRIP_UNARY (operands[4]))
31090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31091 : STRIP_UNARY (operands[4]))
31092 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31093 : STRIP_UNARY (operands[3]))
31094 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31095 : STRIP_UNARY (operands[3])))) &&
31096 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31097 : (TARGET_AVX512F)) &&
31098 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31099 : ( 1)))
31100 : return NULL;
31101 : return gen_split_2799 (insn, operands);
31102 :
31103 : case 4:
31104 : if (!((
31105 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31106 : ((32 == 64 || TARGET_AVX512VL
31107 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31108 : && ix86_pre_reload_split ()
31109 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31110 : STRIP_UNARY (operands[4]))
31111 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31112 : STRIP_UNARY (operands[4]))
31113 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31114 : STRIP_UNARY (operands[3]))
31115 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31116 : STRIP_UNARY (operands[3])))) &&
31117 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31118 : (TARGET_AVX)) &&
31119 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31120 : ( 1)))
31121 : return NULL;
31122 : return gen_split_2826 (insn, operands);
31123 :
31124 : case 5:
31125 : if (!(
31126 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31127 : ((16 == 64 || TARGET_AVX512VL
31128 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31129 : && ix86_pre_reload_split ()
31130 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31131 : STRIP_UNARY (operands[4]))
31132 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31133 : STRIP_UNARY (operands[4]))
31134 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31135 : STRIP_UNARY (operands[3]))
31136 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31137 : STRIP_UNARY (operands[3])))) &&
31138 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31139 : ( 1)))
31140 : return NULL;
31141 : return gen_split_2853 (insn, operands);
31142 :
31143 : case 6:
31144 : if (!((
31145 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31146 : ((64 == 64 || TARGET_AVX512VL
31147 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31148 : && ix86_pre_reload_split ()
31149 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31150 : STRIP_UNARY (operands[4]))
31151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31152 : STRIP_UNARY (operands[4]))
31153 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31154 : STRIP_UNARY (operands[3]))
31155 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31156 : STRIP_UNARY (operands[3])))) &&
31157 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31158 : (TARGET_AVX512F)) &&
31159 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31160 : ( 1)))
31161 : return NULL;
31162 : return gen_split_2880 (insn, operands);
31163 :
31164 : case 7:
31165 : if (!((
31166 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31167 : ((32 == 64 || TARGET_AVX512VL
31168 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31169 : && ix86_pre_reload_split ()
31170 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31171 : STRIP_UNARY (operands[4]))
31172 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31173 : STRIP_UNARY (operands[4]))
31174 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31175 : STRIP_UNARY (operands[3]))
31176 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31177 : STRIP_UNARY (operands[3])))) &&
31178 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31179 : (TARGET_AVX)) &&
31180 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31181 : ( 1)))
31182 : return NULL;
31183 : return gen_split_2907 (insn, operands);
31184 :
31185 : case 8:
31186 : if (!(
31187 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31188 : ((16 == 64 || TARGET_AVX512VL
31189 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31190 : && ix86_pre_reload_split ()
31191 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31192 : STRIP_UNARY (operands[4]))
31193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31194 : STRIP_UNARY (operands[4]))
31195 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31196 : STRIP_UNARY (operands[3]))
31197 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31198 : STRIP_UNARY (operands[3])))) &&
31199 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31200 : ( 1)))
31201 : return NULL;
31202 : return gen_split_2934 (insn, operands);
31203 :
31204 : case 9:
31205 : if (!((
31206 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31207 : ((64 == 64 || TARGET_AVX512VL
31208 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31209 : && ix86_pre_reload_split ()
31210 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31211 : STRIP_UNARY (operands[4]))
31212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31213 : STRIP_UNARY (operands[4]))
31214 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31215 : STRIP_UNARY (operands[3]))
31216 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31217 : STRIP_UNARY (operands[3])))) &&
31218 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31219 : (TARGET_AVX512F)) &&
31220 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31221 : ( 1)))
31222 : return NULL;
31223 : return gen_split_2961 (insn, operands);
31224 :
31225 : case 10:
31226 : if (!((
31227 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31228 : ((32 == 64 || TARGET_AVX512VL
31229 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31230 : && ix86_pre_reload_split ()
31231 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31232 : STRIP_UNARY (operands[4]))
31233 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31234 : STRIP_UNARY (operands[4]))
31235 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31236 : STRIP_UNARY (operands[3]))
31237 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31238 : STRIP_UNARY (operands[3])))) &&
31239 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31240 : (TARGET_AVX)) &&
31241 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31242 : ( 1)))
31243 : return NULL;
31244 : return gen_split_2988 (insn, operands);
31245 :
31246 : case 11:
31247 : if (!((
31248 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31249 : ((16 == 64 || TARGET_AVX512VL
31250 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31251 : && ix86_pre_reload_split ()
31252 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31253 : STRIP_UNARY (operands[4]))
31254 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31255 : STRIP_UNARY (operands[4]))
31256 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31257 : STRIP_UNARY (operands[3]))
31258 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31259 : STRIP_UNARY (operands[3])))) &&
31260 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31261 : (TARGET_SSE2)) &&
31262 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31263 : ( 1)))
31264 : return NULL;
31265 : return gen_split_3015 (insn, operands);
31266 :
31267 : default:
31268 : return NULL;
31269 : }
31270 :
31271 : case XOR:
31272 : switch (pattern544 (x2))
31273 : {
31274 : case 0:
31275 : if (!((
31276 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31277 : ((64 == 64 || TARGET_AVX512VL
31278 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31279 : && ix86_pre_reload_split ()
31280 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31281 : STRIP_UNARY (operands[4]))
31282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31283 : STRIP_UNARY (operands[4]))
31284 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31285 : STRIP_UNARY (operands[3]))
31286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31287 : STRIP_UNARY (operands[3])))) &&
31288 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31289 : (TARGET_AVX512F)) &&
31290 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31291 : ( 1)))
31292 : return NULL;
31293 : return gen_split_2721 (insn, operands);
31294 :
31295 : case 1:
31296 : if (!((
31297 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31298 : ((32 == 64 || TARGET_AVX512VL
31299 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31300 : && ix86_pre_reload_split ()
31301 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31302 : STRIP_UNARY (operands[4]))
31303 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31304 : STRIP_UNARY (operands[4]))
31305 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31306 : STRIP_UNARY (operands[3]))
31307 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31308 : STRIP_UNARY (operands[3])))) &&
31309 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31310 : (TARGET_AVX)) &&
31311 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31312 : ( 1)))
31313 : return NULL;
31314 : return gen_split_2748 (insn, operands);
31315 :
31316 : case 2:
31317 : if (!(
31318 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31319 : ((16 == 64 || TARGET_AVX512VL
31320 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31321 : && ix86_pre_reload_split ()
31322 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31323 : STRIP_UNARY (operands[4]))
31324 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31325 : STRIP_UNARY (operands[4]))
31326 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31327 : STRIP_UNARY (operands[3]))
31328 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31329 : STRIP_UNARY (operands[3])))) &&
31330 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31331 : ( 1)))
31332 : return NULL;
31333 : return gen_split_2775 (insn, operands);
31334 :
31335 : case 3:
31336 : if (!((
31337 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31338 : ((64 == 64 || TARGET_AVX512VL
31339 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31340 : && ix86_pre_reload_split ()
31341 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31342 : STRIP_UNARY (operands[4]))
31343 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31344 : STRIP_UNARY (operands[4]))
31345 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31346 : STRIP_UNARY (operands[3]))
31347 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31348 : STRIP_UNARY (operands[3])))) &&
31349 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31350 : (TARGET_AVX512F)) &&
31351 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31352 : ( 1)))
31353 : return NULL;
31354 : return gen_split_2802 (insn, operands);
31355 :
31356 : case 4:
31357 : if (!((
31358 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31359 : ((32 == 64 || TARGET_AVX512VL
31360 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31361 : && ix86_pre_reload_split ()
31362 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31363 : STRIP_UNARY (operands[4]))
31364 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31365 : STRIP_UNARY (operands[4]))
31366 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31367 : STRIP_UNARY (operands[3]))
31368 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31369 : STRIP_UNARY (operands[3])))) &&
31370 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31371 : (TARGET_AVX)) &&
31372 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31373 : ( 1)))
31374 : return NULL;
31375 : return gen_split_2829 (insn, operands);
31376 :
31377 : case 5:
31378 : if (!(
31379 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31380 : ((16 == 64 || TARGET_AVX512VL
31381 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31382 : && ix86_pre_reload_split ()
31383 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31384 : STRIP_UNARY (operands[4]))
31385 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31386 : STRIP_UNARY (operands[4]))
31387 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31388 : STRIP_UNARY (operands[3]))
31389 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31390 : STRIP_UNARY (operands[3])))) &&
31391 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31392 : ( 1)))
31393 : return NULL;
31394 : return gen_split_2856 (insn, operands);
31395 :
31396 : case 6:
31397 : if (!((
31398 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31399 : ((64 == 64 || TARGET_AVX512VL
31400 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31401 : && ix86_pre_reload_split ()
31402 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31403 : STRIP_UNARY (operands[4]))
31404 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31405 : STRIP_UNARY (operands[4]))
31406 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31407 : STRIP_UNARY (operands[3]))
31408 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31409 : STRIP_UNARY (operands[3])))) &&
31410 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31411 : (TARGET_AVX512F)) &&
31412 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31413 : ( 1)))
31414 : return NULL;
31415 : return gen_split_2883 (insn, operands);
31416 :
31417 : case 7:
31418 : if (!((
31419 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31420 : ((32 == 64 || TARGET_AVX512VL
31421 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31422 : && ix86_pre_reload_split ()
31423 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31424 : STRIP_UNARY (operands[4]))
31425 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31426 : STRIP_UNARY (operands[4]))
31427 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31428 : STRIP_UNARY (operands[3]))
31429 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31430 : STRIP_UNARY (operands[3])))) &&
31431 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31432 : (TARGET_AVX)) &&
31433 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31434 : ( 1)))
31435 : return NULL;
31436 : return gen_split_2910 (insn, operands);
31437 :
31438 : case 8:
31439 : if (!(
31440 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31441 : ((16 == 64 || TARGET_AVX512VL
31442 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31443 : && ix86_pre_reload_split ()
31444 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31445 : STRIP_UNARY (operands[4]))
31446 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31447 : STRIP_UNARY (operands[4]))
31448 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31449 : STRIP_UNARY (operands[3]))
31450 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31451 : STRIP_UNARY (operands[3])))) &&
31452 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31453 : ( 1)))
31454 : return NULL;
31455 : return gen_split_2937 (insn, operands);
31456 :
31457 : case 9:
31458 : if (!((
31459 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31460 : ((64 == 64 || TARGET_AVX512VL
31461 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31462 : && ix86_pre_reload_split ()
31463 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31464 : STRIP_UNARY (operands[4]))
31465 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31466 : STRIP_UNARY (operands[4]))
31467 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31468 : STRIP_UNARY (operands[3]))
31469 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31470 : STRIP_UNARY (operands[3])))) &&
31471 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31472 : (TARGET_AVX512F)) &&
31473 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31474 : ( 1)))
31475 : return NULL;
31476 : return gen_split_2964 (insn, operands);
31477 :
31478 : case 10:
31479 : if (!((
31480 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31481 : ((32 == 64 || TARGET_AVX512VL
31482 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31483 : && ix86_pre_reload_split ()
31484 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31485 : STRIP_UNARY (operands[4]))
31486 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31487 : STRIP_UNARY (operands[4]))
31488 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31489 : STRIP_UNARY (operands[3]))
31490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31491 : STRIP_UNARY (operands[3])))) &&
31492 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31493 : (TARGET_AVX)) &&
31494 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31495 : ( 1)))
31496 : return NULL;
31497 : return gen_split_2991 (insn, operands);
31498 :
31499 : case 11:
31500 : if (!((
31501 : #line 14236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31502 : ((16 == 64 || TARGET_AVX512VL
31503 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31504 : && ix86_pre_reload_split ()
31505 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31506 : STRIP_UNARY (operands[4]))
31507 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31508 : STRIP_UNARY (operands[4]))
31509 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31510 : STRIP_UNARY (operands[3]))
31511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31512 : STRIP_UNARY (operands[3])))) &&
31513 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31514 : (TARGET_SSE2)) &&
31515 : #line 14248 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31516 : ( 1)))
31517 : return NULL;
31518 : return gen_split_3018 (insn, operands);
31519 :
31520 : default:
31521 : return NULL;
31522 : }
31523 :
31524 : default:
31525 : return NULL;
31526 : }
31527 :
31528 : case XOR:
31529 : return split_69 (x1, insn);
31530 :
31531 : default:
31532 : return NULL;
31533 : }
31534 : }
|