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 326537 : pattern4 (rtx x1, machine_mode i1)
57 : {
58 326537 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 326537 : int res ATTRIBUTE_UNUSED;
60 326537 : if (!register_operand (operands[0], i1)
61 288237 : || GET_MODE (x1) != i1
62 288237 : || !register_operand (operands[1], i1)
63 468492 : || !general_operand (operands[2], i1))
64 185010 : 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 71391 : pattern29 (rtx x1)
129 : {
130 71391 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
131 71391 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
132 71391 : rtx x10;
133 71391 : int res ATTRIBUTE_UNUSED;
134 71391 : x2 = XEXP (x1, 0);
135 71391 : operands[0] = x2;
136 71391 : x3 = XEXP (x1, 1);
137 71391 : x4 = XEXP (x3, 0);
138 71391 : switch (GET_CODE (x4))
139 : {
140 36058 : case REG:
141 36058 : case SUBREG:
142 36058 : case MEM:
143 36058 : operands[1] = x4;
144 36058 : 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 6604 : case E_V4SImode:
219 6604 : if (!register_operand (operands[0], E_V4SImode)
220 6604 : || 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 19537883 : pattern83 (rtx x1)
337 : {
338 19537883 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
339 19537883 : rtx x2, x3;
340 19537883 : int res ATTRIBUTE_UNUSED;
341 19537883 : x2 = XEXP (x1, 0);
342 19537883 : if (GET_CODE (x2) != SUBREG
343 353624 : || maybe_ne (SUBREG_BYTE (x2), 0)
344 19877317 : || GET_MODE (x2) != E_QImode)
345 : return -1;
346 62513 : x3 = XEXP (x2, 0);
347 62513 : switch (GET_CODE (x3))
348 : {
349 17338 : case ASHIFTRT:
350 17338 : case LSHIFTRT:
351 17338 : case SIGN_EXTRACT:
352 17338 : case ZERO_EXTRACT:
353 17338 : operands[3] = x3;
354 17338 : if (GET_MODE (x1) != E_QImode)
355 : return -1;
356 : return 0;
357 :
358 : default:
359 : return -1;
360 : }
361 : }
362 :
363 : int
364 16563 : pattern90 (rtx x1)
365 : {
366 16563 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
367 16563 : rtx x2, x3, x4, x5, x6, x7, x8;
368 16563 : int res ATTRIBUTE_UNUSED;
369 16563 : x2 = XEXP (x1, 0);
370 16563 : 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 13507 : pattern107 (rtx x1)
415 : {
416 13507 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
417 13507 : rtx x2, x3, x4, x5;
418 13507 : int res ATTRIBUTE_UNUSED;
419 13507 : x2 = XEXP (x1, 0);
420 13507 : x3 = XEXP (x2, 0);
421 13507 : operands[1] = x3;
422 13507 : x4 = XEXP (x1, 2);
423 13507 : operands[2] = x4;
424 13507 : 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 166391 : pattern132 (rtx x1)
512 : {
513 166391 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
514 166391 : int res ATTRIBUTE_UNUSED;
515 166391 : switch (GET_MODE (operands[0]))
516 : {
517 60503 : case E_SImode:
518 60503 : if (!register_operand (operands[0], E_SImode)
519 59421 : || GET_MODE (x1) != E_SImode
520 119924 : || !nonimmediate_operand (operands[1], E_SImode))
521 24809 : return -1;
522 : return 0;
523 :
524 82949 : case E_DImode:
525 82949 : if (!register_operand (operands[0], E_DImode)
526 82614 : || GET_MODE (x1) != E_DImode
527 165563 : || !nonimmediate_operand (operands[1], E_DImode))
528 31496 : 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 59880 : pattern163 (rtx x1)
660 : {
661 59880 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
662 59880 : rtx x2, x3, x4, x5;
663 59880 : int res ATTRIBUTE_UNUSED;
664 59880 : x2 = XEXP (x1, 0);
665 59880 : operands[0] = x2;
666 59880 : x3 = XEXP (x1, 1);
667 59880 : x4 = XVECEXP (x3, 0, 0);
668 59880 : operands[1] = x4;
669 59880 : x5 = XVECEXP (x3, 0, 1);
670 59880 : operands[2] = x5;
671 59880 : switch (GET_MODE (operands[0]))
672 : {
673 2058 : case E_V64QImode:
674 2058 : return pattern158 (x3,
675 2058 : E_V64QImode); /* [-1, 0] */
676 :
677 18252 : case E_V32QImode:
678 18252 : if (pattern158 (x3,
679 : E_V32QImode) != 0)
680 : return -1;
681 : return 1;
682 :
683 39063 : case E_V16QImode:
684 39063 : 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 2609 : pattern169 (rtx x1, machine_mode i1, machine_mode i2)
696 : {
697 2609 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
698 2609 : int res ATTRIBUTE_UNUSED;
699 2609 : if (!register_operand (operands[0], i1)
700 2561 : || GET_MODE (x1) != i1
701 2561 : || !register_operand (operands[1], i2)
702 5004 : || !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 : pattern194 (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 17269 : pattern200 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
843 : {
844 17269 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
845 17269 : rtx x2, x3, x4, x5;
846 17269 : int res ATTRIBUTE_UNUSED;
847 17269 : if (!register_operand (operands[0], i3)
848 17269 : || GET_MODE (x1) != i3)
849 : return -1;
850 17227 : x2 = XEXP (x1, 0);
851 17227 : if (GET_MODE (x2) != i3)
852 : return -1;
853 17227 : x3 = XEXP (x2, 0);
854 17227 : if (GET_MODE (x3) != i2
855 17227 : || !nonimmediate_operand (operands[1], i1))
856 2414 : return -1;
857 14813 : x4 = XEXP (x1, 1);
858 14813 : if (GET_MODE (x4) != i3)
859 : return -1;
860 14813 : x5 = XEXP (x4, 0);
861 14813 : if (GET_MODE (x5) != i2
862 14813 : || !nonimmediate_operand (operands[2], i1))
863 398 : return -1;
864 : return 0;
865 : }
866 :
867 : int
868 5867629 : pattern204 ()
869 : {
870 5867629 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
871 5867629 : int res ATTRIBUTE_UNUSED;
872 5867629 : 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 1475 : case E_V8SFmode:
917 1475 : if (!register_operand (operands[0], E_V8SFmode)
918 1475 : || !ternlog_operand (operands[1], E_V8SFmode))
919 1448 : return -1;
920 : return 7;
921 :
922 183862 : case E_V4SFmode:
923 183862 : if (!register_operand (operands[0], E_V4SFmode)
924 183862 : || !ternlog_operand (operands[1], E_V4SFmode))
925 142590 : 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 190791 : case E_V2DFmode:
941 190791 : if (!register_operand (operands[0], E_V2DFmode)
942 190791 : || !ternlog_operand (operands[1], E_V2DFmode))
943 149785 : return -1;
944 : return 11;
945 :
946 : default:
947 : return -1;
948 : }
949 : }
950 :
951 : int
952 43816 : pattern218 (rtx x1, machine_mode i1)
953 : {
954 43816 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
955 43816 : rtx x2;
956 43816 : int res ATTRIBUTE_UNUSED;
957 43816 : if (GET_MODE (x1) != i1)
958 : return -1;
959 43816 : x2 = XEXP (x1, 0);
960 43816 : if (GET_MODE (x2) != i1
961 43816 : || !nonimmediate_operand (operands[1], i1)
962 74187 : || !x86_64_general_operand (operands[2], i1))
963 13445 : return -1;
964 : return 0;
965 : }
966 :
967 : int
968 83447 : pattern221 (rtx x1)
969 : {
970 83447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
971 83447 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
972 83447 : rtx x10, x11;
973 83447 : int res ATTRIBUTE_UNUSED;
974 83447 : x2 = XVECEXP (x1, 0, 0);
975 83447 : x3 = XEXP (x2, 1);
976 83447 : if (GET_MODE (x3) != E_V4SFmode)
977 : return -1;
978 5592 : x4 = XEXP (x3, 0);
979 5592 : if (GET_CODE (x4) != VEC_DUPLICATE
980 1554 : || GET_MODE (x4) != E_V4SFmode)
981 : return -1;
982 1554 : x5 = XEXP (x4, 0);
983 1554 : if (GET_CODE (x5) != FLOAT
984 1395 : || GET_MODE (x5) != E_V2SFmode)
985 : return -1;
986 1293 : x6 = XEXP (x3, 2);
987 1293 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
988 : return -1;
989 1293 : x7 = XVECEXP (x1, 0, 1);
990 1293 : if (GET_CODE (x7) != CLOBBER)
991 : return -1;
992 1195 : x8 = XEXP (x2, 0);
993 1195 : operands[0] = x8;
994 1195 : if (!register_operand (operands[0], E_V4SFmode))
995 : return -1;
996 1192 : x9 = XEXP (x5, 0);
997 1192 : operands[2] = x9;
998 1192 : if (!register_mmxmem_operand (operands[2], E_V2SImode))
999 : return -1;
1000 969 : x10 = XEXP (x3, 1);
1001 969 : operands[1] = x10;
1002 969 : if (!register_operand (operands[1], E_V4SFmode))
1003 : return -1;
1004 798 : x11 = XEXP (x7, 0);
1005 798 : operands[3] = x11;
1006 798 : if (!scratch_operand (operands[3], E_V4SFmode))
1007 : return -1;
1008 : return 0;
1009 : }
1010 :
1011 : int
1012 902475 : pattern231 (rtx x1)
1013 : {
1014 902475 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1015 902475 : rtx x2, x3, x4, x5, x6;
1016 902475 : int res ATTRIBUTE_UNUSED;
1017 902475 : x2 = XVECEXP (x1, 0, 0);
1018 902475 : x3 = XEXP (x2, 1);
1019 902475 : x4 = XEXP (x3, 1);
1020 902475 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1021 : return -1;
1022 245960 : x5 = XEXP (x2, 0);
1023 245960 : if (GET_CODE (x5) != REG
1024 245960 : || REGNO (x5) != 17)
1025 : return -1;
1026 245960 : x6 = XVECEXP (x1, 0, 1);
1027 245960 : if (GET_CODE (x6) != SET)
1028 13441 : return -1;
1029 : return 0;
1030 : }
1031 :
1032 : int
1033 388628 : pattern241 (rtx x1, machine_mode i1)
1034 : {
1035 388628 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1036 388628 : int res ATTRIBUTE_UNUSED;
1037 388628 : if (!mask_reg_operand (operands[0], i1)
1038 0 : || GET_MODE (x1) != i1
1039 0 : || !mask_reg_operand (operands[1], i1)
1040 388628 : || !mask_reg_operand (operands[2], i1))
1041 388628 : return -1;
1042 : return 0;
1043 : }
1044 :
1045 : int
1046 17332241 : pattern247 (rtx x1)
1047 : {
1048 17332241 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1049 17332241 : rtx x2, x3, x4, x5, x6, x7, x8;
1050 17332241 : int res ATTRIBUTE_UNUSED;
1051 17332241 : x2 = XEXP (x1, 1);
1052 17332241 : x3 = XEXP (x2, 0);
1053 17332241 : x4 = XEXP (x3, 0);
1054 17332241 : if (GET_CODE (x4) != REG
1055 17332241 : || REGNO (x4) != 17)
1056 : return -1;
1057 8454363 : x5 = XEXP (x3, 1);
1058 8454363 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1059 : return -1;
1060 8454363 : x6 = XEXP (x1, 0);
1061 8454363 : operands[0] = x6;
1062 8454363 : x7 = XEXP (x2, 1);
1063 8454363 : switch (GET_CODE (x7))
1064 : {
1065 2461739 : case REG:
1066 2461739 : case SUBREG:
1067 2461739 : case MEM:
1068 2461739 : operands[2] = x7;
1069 2461739 : x8 = XEXP (x2, 2);
1070 2461739 : operands[3] = x8;
1071 2461739 : return 0;
1072 :
1073 4001 : case ZERO_EXTEND:
1074 4001 : if (GET_MODE (x7) != E_DImode)
1075 : return -1;
1076 1060 : x8 = XEXP (x2, 2);
1077 1060 : if (GET_CODE (x8) != ZERO_EXTEND
1078 11 : || GET_MODE (x8) != E_DImode)
1079 : return -1;
1080 : return 1;
1081 :
1082 : default:
1083 : return -1;
1084 : }
1085 : }
1086 :
1087 : int
1088 41151 : pattern260 (rtx x1, machine_mode i1, machine_mode i2)
1089 : {
1090 41151 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1091 41151 : rtx x2, x3, x4, x5, x6;
1092 41151 : int res ATTRIBUTE_UNUSED;
1093 41151 : x2 = XEXP (x1, 0);
1094 41151 : x3 = XEXP (x2, 0);
1095 41151 : if (GET_MODE (x3) != i2
1096 2180 : || !nonimmediate_operand (operands[0], i2)
1097 2115 : || GET_MODE (x1) != i2
1098 43266 : || GET_MODE (x2) != i2)
1099 39036 : return -1;
1100 2115 : x4 = XEXP (x3, 0);
1101 2115 : operands[1] = x4;
1102 2115 : if (!nonimmediate_operand (operands[1], i1))
1103 : return -1;
1104 1650 : x5 = XEXP (x2, 1);
1105 1650 : operands[2] = x5;
1106 1650 : if (!const_int_operand (operands[2], E_QImode))
1107 : return -1;
1108 1286 : x6 = XEXP (x1, 1);
1109 1286 : return pattern259 (x6,
1110 : i1,
1111 1286 : i2); /* [-1, 1] */
1112 : }
1113 :
1114 : int
1115 0 : pattern276 (rtx x1, machine_mode i1, machine_mode i2, int i3)
1116 : {
1117 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1118 0 : rtx x2, x3, x4, x5, x6;
1119 0 : int res ATTRIBUTE_UNUSED;
1120 0 : x2 = XEXP (x1, 1);
1121 0 : x3 = XVECEXP (x2, 0, 0);
1122 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1123 : return -1;
1124 0 : x4 = XVECEXP (x2, 0, 1);
1125 0 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3]
1126 0 : || !register_operand (operands[0], i2)
1127 0 : || GET_MODE (x1) != i2)
1128 0 : return -1;
1129 0 : x5 = XEXP (x1, 0);
1130 0 : x6 = XEXP (x5, 0);
1131 0 : operands[1] = x6;
1132 0 : if (!nonimmediate_operand (operands[1], i1))
1133 : return -1;
1134 : return 0;
1135 : }
1136 :
1137 : int
1138 1077 : pattern284 (rtx x1, machine_mode i1)
1139 : {
1140 1077 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1141 1077 : rtx x2;
1142 1077 : int res ATTRIBUTE_UNUSED;
1143 1077 : if (!register_operand (operands[0], i1)
1144 1077 : || GET_MODE (x1) != i1)
1145 : return -1;
1146 1030 : x2 = XEXP (x1, 0);
1147 1030 : if (GET_MODE (x2) != i1
1148 1030 : || !register_operand (operands[3], i1))
1149 109 : return -1;
1150 : return 0;
1151 : }
1152 :
1153 : int
1154 717 : pattern289 (rtx x1, rtx_code i1)
1155 : {
1156 717 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1157 717 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1158 717 : rtx x10, x11, x12;
1159 717 : int res ATTRIBUTE_UNUSED;
1160 717 : x2 = XEXP (x1, 0);
1161 717 : x3 = XEXP (x2, 1);
1162 717 : if (GET_MODE (x3) != E_QImode)
1163 : return -1;
1164 658 : x4 = XEXP (x3, 1);
1165 658 : if (GET_CODE (x4) != CONST_INT)
1166 : return -1;
1167 658 : x5 = XEXP (x1, 1);
1168 658 : if (GET_CODE (x5) != SUBREG
1169 658 : || maybe_ne (SUBREG_BYTE (x5), 0))
1170 : return -1;
1171 591 : x6 = XEXP (x5, 0);
1172 591 : if (GET_CODE (x6) != i1)
1173 : return -1;
1174 591 : x7 = XEXP (x6, 0);
1175 591 : if (GET_CODE (x7) != ZERO_EXTEND)
1176 : return -1;
1177 591 : x8 = XEXP (x6, 1);
1178 591 : if (GET_CODE (x8) != MINUS
1179 591 : || GET_MODE (x8) != E_QImode)
1180 : return -1;
1181 591 : x9 = XEXP (x8, 0);
1182 591 : if (GET_CODE (x9) != CONST_INT)
1183 : return -1;
1184 591 : x10 = XEXP (x8, 1);
1185 591 : if (GET_CODE (x10) != AND
1186 591 : || GET_MODE (x10) != E_QImode)
1187 : return -1;
1188 591 : x11 = XEXP (x10, 1);
1189 591 : if (GET_CODE (x11) != CONST_INT)
1190 : return -1;
1191 591 : x12 = XEXP (x3, 0);
1192 591 : if (!nonmemory_operand (x12, E_QImode))
1193 : return -1;
1194 587 : switch (XWINT (x4, 0))
1195 : {
1196 578 : case 63L:
1197 578 : if (XWINT (x9, 0) != 64L
1198 578 : || XWINT (x11, 0) != 63L
1199 1156 : || pattern288 (x1,
1200 : E_DImode,
1201 : E_TImode) != 0)
1202 32 : return -1;
1203 : return 0;
1204 :
1205 6 : case 31L:
1206 6 : if (XWINT (x9, 0) != 32L
1207 6 : || XWINT (x11, 0) != 31L)
1208 : return -1;
1209 : return 1;
1210 :
1211 : default:
1212 : return -1;
1213 : }
1214 : }
1215 :
1216 : int
1217 1194 : pattern309 (rtx x1)
1218 : {
1219 1194 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1220 1194 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1221 1194 : int res ATTRIBUTE_UNUSED;
1222 1194 : x2 = XEXP (x1, 2);
1223 1194 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1224 : return -1;
1225 1170 : x3 = XEXP (x1, 0);
1226 1170 : x4 = XEXP (x3, 0);
1227 1170 : x5 = XEXP (x4, 0);
1228 1170 : operands[1] = x5;
1229 1170 : x6 = XEXP (x4, 1);
1230 1170 : operands[2] = x6;
1231 1170 : x7 = XEXP (x3, 1);
1232 1170 : operands[3] = x7;
1233 1170 : x8 = XEXP (x3, 2);
1234 1170 : operands[4] = x8;
1235 1170 : if (!register_operand (operands[4], E_QImode))
1236 : return -1;
1237 1134 : x9 = XEXP (x1, 1);
1238 1134 : if (!rtx_equal_p (x9, operands[1]))
1239 : return -1;
1240 1134 : switch (GET_MODE (operands[0]))
1241 : {
1242 698 : case E_V8HFmode:
1243 698 : return pattern308 (x1,
1244 698 : E_V8HFmode); /* [-1, 0] */
1245 :
1246 218 : case E_V4SFmode:
1247 218 : if (pattern308 (x1,
1248 : E_V4SFmode) != 0)
1249 : return -1;
1250 : return 1;
1251 :
1252 218 : case E_V2DFmode:
1253 218 : if (pattern308 (x1,
1254 : E_V2DFmode) != 0)
1255 : return -1;
1256 : return 2;
1257 :
1258 : default:
1259 : return -1;
1260 : }
1261 : }
1262 :
1263 : int
1264 0 : pattern319 (rtx x1, machine_mode i1, machine_mode i2)
1265 : {
1266 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1267 0 : rtx x2, x3;
1268 0 : int res ATTRIBUTE_UNUSED;
1269 0 : if (!register_operand (operands[0], i1)
1270 0 : || GET_MODE (x1) != i1
1271 0 : || !vector_all_ones_operand (operands[1], i1)
1272 0 : || !const0_operand (operands[2], i1))
1273 0 : return -1;
1274 0 : x2 = XEXP (x1, 2);
1275 0 : if (GET_MODE (x2) != i2)
1276 : return -1;
1277 0 : x3 = XEXP (x2, 0);
1278 0 : if (GET_MODE (x3) != i2
1279 0 : || !nonimmediate_operand (operands[3], i1)
1280 0 : || !nonimmediate_operand (operands[4], i1)
1281 0 : || !const_0_to_7_operand (operands[5], E_SImode))
1282 0 : return -1;
1283 : return 0;
1284 : }
1285 :
1286 : int
1287 470 : pattern327 (rtx x1)
1288 : {
1289 470 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1290 470 : rtx x2;
1291 470 : int res ATTRIBUTE_UNUSED;
1292 470 : x2 = XVECEXP (x1, 0, 0);
1293 470 : operands[1] = x2;
1294 470 : switch (GET_MODE (operands[0]))
1295 : {
1296 228 : case E_V16QImode:
1297 228 : if (!register_operand (operands[0], E_V16QImode)
1298 224 : || GET_MODE (x1) != E_V16QImode
1299 452 : || !nonimmediate_operand (operands[1], E_V16HFmode))
1300 8 : return -1;
1301 : return 0;
1302 :
1303 234 : case E_V32QImode:
1304 234 : if (!register_operand (operands[0], E_V32QImode)
1305 226 : || GET_MODE (x1) != E_V32QImode
1306 460 : || !nonimmediate_operand (operands[1], E_V32HFmode))
1307 12 : return -1;
1308 : return 1;
1309 :
1310 : default:
1311 : return -1;
1312 : }
1313 : }
1314 :
1315 : int
1316 968 : pattern331 (rtx x1, rtx_code i1)
1317 : {
1318 968 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1319 968 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1320 968 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1321 968 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
1322 968 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
1323 968 : rtx x34, x35, x36, x37, x38, x39;
1324 968 : int res ATTRIBUTE_UNUSED;
1325 968 : x2 = XEXP (x1, 0);
1326 968 : x3 = XEXP (x2, 0);
1327 968 : x4 = XEXP (x3, 0);
1328 968 : if (GET_CODE (x4) != VEC_SELECT)
1329 : return -1;
1330 454 : x5 = XEXP (x4, 1);
1331 454 : if (GET_CODE (x5) != PARALLEL
1332 454 : || XVECLEN (x5, 0) != 1)
1333 : return -1;
1334 454 : x6 = XVECEXP (x5, 0, 0);
1335 454 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1336 : return -1;
1337 454 : x7 = XEXP (x3, 1);
1338 454 : if (GET_CODE (x7) != VEC_SELECT)
1339 : return -1;
1340 454 : x8 = XEXP (x7, 1);
1341 454 : if (GET_CODE (x8) != PARALLEL
1342 454 : || XVECLEN (x8, 0) != 1)
1343 : return -1;
1344 454 : x9 = XVECEXP (x8, 0, 0);
1345 454 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1346 : return -1;
1347 454 : x10 = XEXP (x2, 1);
1348 454 : if (GET_CODE (x10) != i1)
1349 : return -1;
1350 428 : x11 = XEXP (x10, 0);
1351 428 : if (GET_CODE (x11) != VEC_SELECT)
1352 : return -1;
1353 428 : x12 = XEXP (x11, 1);
1354 428 : if (GET_CODE (x12) != PARALLEL
1355 428 : || XVECLEN (x12, 0) != 1)
1356 : return -1;
1357 428 : x13 = XVECEXP (x12, 0, 0);
1358 428 : if (GET_CODE (x13) != CONST_INT)
1359 : return -1;
1360 428 : x14 = XEXP (x10, 1);
1361 428 : if (GET_CODE (x14) != VEC_SELECT)
1362 : return -1;
1363 428 : x15 = XEXP (x14, 1);
1364 428 : if (GET_CODE (x15) != PARALLEL
1365 428 : || XVECLEN (x15, 0) != 1)
1366 : return -1;
1367 428 : x16 = XVECEXP (x15, 0, 0);
1368 428 : if (GET_CODE (x16) != CONST_INT)
1369 : return -1;
1370 428 : x17 = XEXP (x1, 1);
1371 428 : if (GET_CODE (x17) != VEC_CONCAT)
1372 : return -1;
1373 428 : x18 = XEXP (x17, 0);
1374 428 : if (GET_CODE (x18) != i1)
1375 : return -1;
1376 428 : x19 = XEXP (x18, 0);
1377 428 : if (GET_CODE (x19) != VEC_SELECT)
1378 : return -1;
1379 428 : x20 = XEXP (x19, 1);
1380 428 : if (GET_CODE (x20) != PARALLEL
1381 428 : || XVECLEN (x20, 0) != 1)
1382 : return -1;
1383 428 : x21 = XVECEXP (x20, 0, 0);
1384 428 : if (GET_CODE (x21) != CONST_INT)
1385 : return -1;
1386 428 : x22 = XEXP (x18, 1);
1387 428 : if (GET_CODE (x22) != VEC_SELECT)
1388 : return -1;
1389 428 : x23 = XEXP (x22, 1);
1390 428 : if (GET_CODE (x23) != PARALLEL
1391 428 : || XVECLEN (x23, 0) != 1)
1392 : return -1;
1393 428 : x24 = XVECEXP (x23, 0, 0);
1394 428 : if (GET_CODE (x24) != CONST_INT)
1395 : return -1;
1396 428 : x25 = XEXP (x17, 1);
1397 428 : if (GET_CODE (x25) != i1)
1398 : return -1;
1399 428 : x26 = XEXP (x25, 0);
1400 428 : if (GET_CODE (x26) != VEC_SELECT)
1401 : return -1;
1402 428 : x27 = XEXP (x26, 1);
1403 428 : if (GET_CODE (x27) != PARALLEL
1404 428 : || XVECLEN (x27, 0) != 1)
1405 : return -1;
1406 428 : x28 = XVECEXP (x27, 0, 0);
1407 428 : if (x28 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
1408 : return -1;
1409 428 : x29 = XEXP (x25, 1);
1410 428 : if (GET_CODE (x29) != VEC_SELECT)
1411 : return -1;
1412 428 : x30 = XEXP (x29, 1);
1413 428 : if (GET_CODE (x30) != PARALLEL
1414 428 : || XVECLEN (x30, 0) != 1)
1415 : return -1;
1416 428 : x31 = XVECEXP (x30, 0, 0);
1417 428 : if (x31 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
1418 : return -1;
1419 428 : x32 = XEXP (x4, 0);
1420 428 : operands[1] = x32;
1421 428 : x33 = XEXP (x7, 0);
1422 428 : if (!rtx_equal_p (x33, operands[1]))
1423 : return -1;
1424 428 : switch (XWINT (x13, 0))
1425 : {
1426 208 : case 0L:
1427 208 : if (XWINT (x16, 0) != 1L
1428 208 : || XWINT (x21, 0) != 2L
1429 208 : || XWINT (x24, 0) != 3L
1430 208 : || !register_operand (operands[0], E_V4DFmode)
1431 204 : || GET_MODE (x1) != E_V4DFmode
1432 204 : || GET_MODE (x2) != E_V2DFmode
1433 204 : || GET_MODE (x3) != E_DFmode
1434 204 : || GET_MODE (x4) != E_DFmode
1435 204 : || !register_operand (operands[1], E_V4DFmode)
1436 180 : || GET_MODE (x7) != E_DFmode
1437 180 : || GET_MODE (x10) != E_DFmode
1438 388 : || GET_MODE (x11) != E_DFmode)
1439 28 : return -1;
1440 180 : x34 = XEXP (x11, 0);
1441 180 : operands[2] = x34;
1442 180 : if (!nonimmediate_operand (operands[2], E_V4DFmode)
1443 156 : || GET_MODE (x14) != E_DFmode
1444 156 : || GET_MODE (x17) != E_V2DFmode
1445 156 : || GET_MODE (x18) != E_DFmode
1446 156 : || GET_MODE (x19) != E_DFmode
1447 156 : || GET_MODE (x22) != E_DFmode
1448 156 : || GET_MODE (x25) != E_DFmode
1449 156 : || GET_MODE (x26) != E_DFmode
1450 336 : || GET_MODE (x29) != E_DFmode)
1451 : return -1;
1452 156 : x35 = XEXP (x14, 0);
1453 156 : if (!rtx_equal_p (x35, operands[2]))
1454 : return -1;
1455 156 : x36 = XEXP (x19, 0);
1456 156 : if (!rtx_equal_p (x36, operands[1]))
1457 : return -1;
1458 156 : x37 = XEXP (x22, 0);
1459 156 : if (!rtx_equal_p (x37, operands[1]))
1460 : return -1;
1461 156 : x38 = XEXP (x26, 0);
1462 156 : if (!rtx_equal_p (x38, operands[2]))
1463 : return -1;
1464 156 : x39 = XEXP (x29, 0);
1465 156 : if (!rtx_equal_p (x39, operands[2]))
1466 : return -1;
1467 : return 0;
1468 :
1469 220 : case 2L:
1470 220 : if (XWINT (x16, 0) != 3L
1471 220 : || XWINT (x21, 0) != 0L
1472 220 : || XWINT (x24, 0) != 1L
1473 220 : || !register_operand (operands[0], E_V4SFmode)
1474 220 : || GET_MODE (x1) != E_V4SFmode
1475 220 : || GET_MODE (x2) != E_V2SFmode
1476 220 : || GET_MODE (x3) != E_SFmode
1477 220 : || GET_MODE (x4) != E_SFmode
1478 220 : || !register_operand (operands[1], E_V4SFmode)
1479 198 : || GET_MODE (x7) != E_SFmode
1480 198 : || GET_MODE (x10) != E_SFmode
1481 198 : || GET_MODE (x11) != E_SFmode
1482 198 : || GET_MODE (x14) != E_SFmode
1483 198 : || GET_MODE (x17) != E_V2SFmode
1484 198 : || GET_MODE (x18) != E_SFmode
1485 418 : || GET_MODE (x19) != E_SFmode)
1486 22 : return -1;
1487 198 : x36 = XEXP (x19, 0);
1488 198 : operands[2] = x36;
1489 198 : if (!vector_operand (operands[2], E_V4SFmode)
1490 198 : || GET_MODE (x22) != E_SFmode
1491 198 : || GET_MODE (x25) != E_SFmode
1492 198 : || GET_MODE (x26) != E_SFmode
1493 396 : || GET_MODE (x29) != E_SFmode)
1494 : return -1;
1495 198 : x34 = XEXP (x11, 0);
1496 198 : if (!rtx_equal_p (x34, operands[1]))
1497 : return -1;
1498 198 : x35 = XEXP (x14, 0);
1499 198 : if (!rtx_equal_p (x35, operands[1]))
1500 : return -1;
1501 198 : x37 = XEXP (x22, 0);
1502 198 : if (!rtx_equal_p (x37, operands[2]))
1503 : return -1;
1504 198 : x38 = XEXP (x26, 0);
1505 198 : if (!rtx_equal_p (x38, operands[2]))
1506 : return -1;
1507 198 : x39 = XEXP (x29, 0);
1508 198 : if (!rtx_equal_p (x39, operands[2]))
1509 : return -1;
1510 : return 1;
1511 :
1512 : default:
1513 : return -1;
1514 : }
1515 : }
1516 :
1517 : int
1518 206 : pattern379 (rtx x1, machine_mode i1)
1519 : {
1520 206 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1521 206 : rtx x2;
1522 206 : int res ATTRIBUTE_UNUSED;
1523 206 : if (!register_operand (operands[0], i1)
1524 206 : || GET_MODE (x1) != i1)
1525 : return -1;
1526 206 : x2 = XEXP (x1, 0);
1527 206 : if (GET_MODE (x2) != i1
1528 206 : || !general_operand (operands[1], i1))
1529 10 : return -1;
1530 : return 0;
1531 : }
1532 :
1533 : int
1534 182819 : pattern383 (rtx x1)
1535 : {
1536 182819 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1537 182819 : rtx x2, x3, x4;
1538 182819 : int res ATTRIBUTE_UNUSED;
1539 182819 : x2 = XVECEXP (x1, 0, 1);
1540 182819 : if (GET_CODE (x2) != CLOBBER)
1541 : return -1;
1542 164285 : x3 = XEXP (x2, 0);
1543 164285 : if (GET_CODE (x3) != REG
1544 164285 : || REGNO (x3) != 17
1545 328570 : || GET_MODE (x3) != E_CCmode)
1546 : return -1;
1547 164285 : x4 = XVECEXP (x1, 0, 0);
1548 164285 : return pattern382 (x4); /* [-1, 1] */
1549 : }
1550 :
1551 : int
1552 3975 : pattern389 (rtx x1)
1553 : {
1554 3975 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1555 3975 : int res ATTRIBUTE_UNUSED;
1556 3975 : switch (GET_MODE (operands[0]))
1557 : {
1558 105 : case E_SFmode:
1559 105 : if (!register_operand (operands[0], E_SFmode)
1560 105 : || GET_MODE (x1) != E_SFmode)
1561 : return -1;
1562 : return 0;
1563 :
1564 1509 : case E_DFmode:
1565 1509 : if (!register_operand (operands[0], E_DFmode)
1566 1509 : || GET_MODE (x1) != E_DFmode)
1567 : return -1;
1568 : return 1;
1569 :
1570 2361 : case E_XFmode:
1571 2361 : if (!register_operand (operands[0], E_XFmode)
1572 2361 : || GET_MODE (x1) != E_XFmode)
1573 : return -1;
1574 : return 2;
1575 :
1576 : default:
1577 : return -1;
1578 : }
1579 : }
1580 :
1581 : int
1582 168 : pattern398 ()
1583 : {
1584 168 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1585 168 : int res ATTRIBUTE_UNUSED;
1586 168 : switch (GET_MODE (operands[0]))
1587 : {
1588 84 : case E_SImode:
1589 84 : if (!register_operand (operands[0], E_SImode)
1590 84 : || !memory_operand (operands[1], E_SImode))
1591 0 : return -1;
1592 : return 0;
1593 :
1594 84 : case E_DImode:
1595 84 : if (!register_operand (operands[0], E_DImode)
1596 84 : || !memory_operand (operands[1], E_DImode))
1597 0 : return -1;
1598 : return 1;
1599 :
1600 : default:
1601 : return -1;
1602 : }
1603 : }
1604 :
1605 : int
1606 29377 : pattern407 (rtx x1)
1607 : {
1608 29377 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1609 29377 : rtx x2, x3, x4, x5, x6, x7, x8;
1610 29377 : int res ATTRIBUTE_UNUSED;
1611 29377 : x2 = XVECEXP (x1, 0, 1);
1612 29377 : if (GET_CODE (x2) != CLOBBER)
1613 : return -1;
1614 29377 : x3 = XEXP (x2, 0);
1615 29377 : if (GET_CODE (x3) != REG
1616 29377 : || REGNO (x3) != 17
1617 55635 : || GET_MODE (x3) != E_CCmode)
1618 : return -1;
1619 26258 : x4 = XVECEXP (x1, 0, 0);
1620 26258 : x5 = XEXP (x4, 1);
1621 26258 : x6 = XEXP (x5, 1);
1622 26258 : switch (GET_CODE (x6))
1623 : {
1624 63 : case AND:
1625 63 : if (GET_MODE (x6) != E_QImode)
1626 : return -1;
1627 63 : x7 = XEXP (x4, 0);
1628 63 : operands[0] = x7;
1629 63 : x8 = XEXP (x5, 0);
1630 63 : operands[1] = x8;
1631 63 : return pattern208 (x5); /* [-1, 3] */
1632 :
1633 19 : case PLUS:
1634 19 : if (GET_MODE (x6) != E_QImode)
1635 : return -1;
1636 19 : x7 = XEXP (x4, 0);
1637 19 : operands[0] = x7;
1638 19 : x8 = XEXP (x5, 0);
1639 19 : operands[1] = x8;
1640 19 : res = pattern209 (x5);
1641 19 : if (res >= 0)
1642 8 : return res + 4; /* [4, 7] */
1643 : return -1;
1644 :
1645 7 : case MINUS:
1646 7 : if (GET_MODE (x6) != E_QImode)
1647 : return -1;
1648 7 : x7 = XEXP (x4, 0);
1649 7 : operands[0] = x7;
1650 7 : x8 = XEXP (x5, 0);
1651 7 : operands[1] = x8;
1652 7 : res = pattern210 (x5);
1653 7 : if (res >= 0)
1654 5 : return res + 8; /* [8, 11] */
1655 : return -1;
1656 :
1657 : case CONST_INT:
1658 : case CONST_WIDE_INT:
1659 : case CONST_POLY_INT:
1660 : case CONST_FIXED:
1661 : case CONST_DOUBLE:
1662 : case CONST_VECTOR:
1663 : case CONST:
1664 : case REG:
1665 : case SUBREG:
1666 : case LABEL_REF:
1667 : case SYMBOL_REF:
1668 : case HIGH:
1669 : return 12;
1670 :
1671 : default:
1672 : return -1;
1673 : }
1674 : }
1675 :
1676 : int
1677 151974 : pattern423 (rtx x1, machine_mode i1, rtx_code i2)
1678 : {
1679 151974 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1680 151974 : rtx x2, x3, x4;
1681 151974 : int res ATTRIBUTE_UNUSED;
1682 151974 : if (GET_CODE (x1) != i2)
1683 : return -1;
1684 48862 : x2 = XEXP (x1, 0);
1685 48862 : if (GET_CODE (x2) != LTU)
1686 : return -1;
1687 44577 : x3 = XEXP (x2, 0);
1688 44577 : if (GET_CODE (x3) != REG
1689 39862 : || REGNO (x3) != 17
1690 64649 : || GET_MODE (x3) != i1)
1691 : return -1;
1692 19833 : x4 = XEXP (x2, 1);
1693 19833 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1694 0 : return -1;
1695 : return 0;
1696 : }
1697 :
1698 : int
1699 5554 : pattern430 (rtx x1, machine_mode i1)
1700 : {
1701 5554 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1702 5554 : rtx x2;
1703 5554 : int res ATTRIBUTE_UNUSED;
1704 5554 : if (!register_operand (operands[0], i1)
1705 5554 : || GET_MODE (x1) != i1)
1706 : return -1;
1707 5149 : x2 = XEXP (x1, 0);
1708 5149 : if (GET_MODE (x2) != i1
1709 5149 : || !register_no_SP_operand (operands[1], i1)
1710 4909 : || !register_operand (operands[2], i1)
1711 9679 : || !immediate_operand (operands[3], i1))
1712 4066 : return -1;
1713 : return 0;
1714 : }
1715 :
1716 : int
1717 117 : pattern437 (rtx x1, machine_mode i1)
1718 : {
1719 117 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1720 117 : rtx x2;
1721 117 : int res ATTRIBUTE_UNUSED;
1722 117 : if (!nonimmediate_operand (operands[0], i1)
1723 117 : || GET_MODE (x1) != i1
1724 234 : || !general_operand (operands[1], i1))
1725 0 : return -1;
1726 117 : x2 = XEXP (x1, 1);
1727 117 : if (GET_MODE (x2) != i1)
1728 : return -1;
1729 : return 0;
1730 : }
1731 :
1732 : int
1733 48088 : pattern443 (rtx x1)
1734 : {
1735 48088 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1736 48088 : rtx x2, x3, x4;
1737 48088 : int res ATTRIBUTE_UNUSED;
1738 48088 : x2 = XEXP (x1, 0);
1739 48088 : x3 = XEXP (x2, 0);
1740 48088 : operands[1] = x3;
1741 48088 : if (!nonimmediate_operand (operands[1], E_SImode))
1742 : return -1;
1743 17497 : x4 = XEXP (x1, 1);
1744 17497 : switch (GET_CODE (x4))
1745 : {
1746 : case CONST_INT:
1747 : case CONST_WIDE_INT:
1748 : case CONST:
1749 : case LABEL_REF:
1750 : case SYMBOL_REF:
1751 : return 0;
1752 :
1753 0 : case ASHIFT:
1754 0 : if (GET_MODE (x4) != E_DImode
1755 0 : || !nonimmediate_operand (operands[0], E_DImode))
1756 0 : return -1;
1757 0 : res = pattern39 (x4,
1758 : E_DImode,
1759 : E_SImode);
1760 0 : if (res >= 0)
1761 0 : return res + 1; /* [1, 3] */
1762 : return -1;
1763 :
1764 : default:
1765 : return -1;
1766 : }
1767 : }
1768 :
1769 : int
1770 19019 : pattern453 (rtx x1)
1771 : {
1772 19019 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1773 19019 : rtx x2, x3, x4;
1774 19019 : int res ATTRIBUTE_UNUSED;
1775 19019 : x2 = XEXP (x1, 1);
1776 19019 : x3 = XEXP (x2, 0);
1777 19019 : x4 = XEXP (x3, 0);
1778 19019 : operands[2] = x4;
1779 19019 : if (!int248_register_operand (operands[2], E_VOIDmode))
1780 : return -1;
1781 15538 : return pattern452 (x1); /* [-1, 1] */
1782 : }
1783 :
1784 : int
1785 4358 : pattern458 (rtx x1, machine_mode i1, machine_mode i2)
1786 : {
1787 4358 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1788 4358 : rtx x2;
1789 4358 : int res ATTRIBUTE_UNUSED;
1790 4358 : if (!register_operand (operands[0], i1)
1791 4358 : || GET_MODE (x1) != i1)
1792 : return -1;
1793 4152 : x2 = XEXP (x1, 0);
1794 4152 : if (GET_MODE (x2) != i1
1795 4152 : || !register_operand (operands[1], i1)
1796 4102 : || !vector_operand (operands[2], i1)
1797 4094 : || !nonimm_or_0_operand (operands[3], i1)
1798 8192 : || !register_operand (operands[4], i2))
1799 178 : return -1;
1800 : return 0;
1801 : }
1802 :
1803 : int
1804 424 : pattern464 (rtx x1)
1805 : {
1806 424 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1807 424 : rtx x2, x3, x4, x5, x6;
1808 424 : int res ATTRIBUTE_UNUSED;
1809 424 : x2 = XEXP (x1, 0);
1810 424 : if (GET_MODE (x2) != E_V32HImode
1811 424 : || !register_operand (operands[0], E_V32HImode)
1812 824 : || GET_MODE (x1) != E_V32HImode)
1813 24 : return -1;
1814 400 : x3 = XVECEXP (x2, 0, 0);
1815 400 : operands[1] = x3;
1816 400 : if (!nonimmediate_operand (operands[1], E_V32HImode))
1817 : return -1;
1818 400 : x4 = XVECEXP (x2, 0, 1);
1819 400 : operands[2] = x4;
1820 400 : if (!const_0_to_255_operand (operands[2], E_SImode))
1821 : return -1;
1822 400 : x5 = XEXP (x1, 1);
1823 400 : operands[3] = x5;
1824 400 : if (!nonimm_or_0_operand (operands[3], E_V32HImode))
1825 : return -1;
1826 384 : x6 = XEXP (x1, 2);
1827 384 : operands[4] = x6;
1828 384 : if (!register_operand (operands[4], E_SImode))
1829 : return -1;
1830 : return 0;
1831 : }
1832 :
1833 : int
1834 1048 : pattern473 (rtx x1, machine_mode i1, machine_mode i2)
1835 : {
1836 1048 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1837 1048 : rtx x2, x3;
1838 1048 : int res ATTRIBUTE_UNUSED;
1839 1048 : if (!register_operand (operands[0], i2)
1840 1048 : || GET_MODE (x1) != i2)
1841 : return -1;
1842 1020 : x2 = XEXP (x1, 0);
1843 1020 : if (GET_MODE (x2) != i2
1844 1020 : || !vector_operand (operands[1], i2)
1845 1016 : || !vector_operand (operands[2], i2)
1846 2036 : || !vector_operand (operands[3], i2))
1847 4 : return -1;
1848 1016 : x3 = XEXP (x1, 2);
1849 1016 : if (GET_MODE (x3) != i1
1850 1016 : || !register_operand (operands[4], E_QImode))
1851 90 : return -1;
1852 : return 0;
1853 : }
1854 :
1855 : int
1856 6199 : pattern480 (rtx x1, machine_mode i1, machine_mode i2)
1857 : {
1858 6199 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1859 6199 : rtx x2;
1860 6199 : int res ATTRIBUTE_UNUSED;
1861 6199 : if (!register_operand (operands[0], i1)
1862 6199 : || GET_MODE (x1) != i1)
1863 : return -1;
1864 5941 : x2 = XEXP (x1, 0);
1865 5941 : if (GET_MODE (x2) != i1
1866 5941 : || !register_operand (operands[1], i1)
1867 5941 : || !nonimmediate_operand (operands[2], i1)
1868 5941 : || !nonimm_or_0_operand (operands[4], i1)
1869 11710 : || !register_operand (operands[5], i2))
1870 416 : return -1;
1871 : return 0;
1872 : }
1873 :
1874 : int
1875 18727 : pattern489 (rtx x1, machine_mode i1, machine_mode i2)
1876 : {
1877 18727 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1878 18727 : rtx x2;
1879 18727 : int res ATTRIBUTE_UNUSED;
1880 18727 : if (!register_operand (operands[0], i1)
1881 18727 : || GET_MODE (x1) != i1)
1882 : return -1;
1883 17776 : x2 = XEXP (x1, 0);
1884 17776 : if (GET_MODE (x2) != i1
1885 17776 : || !bcst_vector_operand (operands[1], i1)
1886 16505 : || !bcst_vector_operand (operands[2], i1)
1887 15393 : || !nonimm_or_0_operand (operands[3], i1)
1888 32658 : || !register_operand (operands[4], i2))
1889 3389 : return -1;
1890 : return 0;
1891 : }
1892 :
1893 : int
1894 0 : pattern493 (rtx x1)
1895 : {
1896 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1897 0 : rtx x2, x3, x4, x5;
1898 0 : int res ATTRIBUTE_UNUSED;
1899 0 : x2 = XVECEXP (x1, 0, 0);
1900 0 : x3 = XEXP (x2, 0);
1901 0 : operands[1] = x3;
1902 0 : x4 = XEXP (x2, 1);
1903 0 : operands[2] = x4;
1904 0 : x5 = XVECEXP (x1, 0, 1);
1905 0 : operands[3] = x5;
1906 0 : if (!const48_operand (operands[3], E_SImode))
1907 : return -1;
1908 0 : switch (GET_MODE (operands[0]))
1909 : {
1910 0 : case E_V32HFmode:
1911 0 : return pattern491 (x1,
1912 0 : E_V32HFmode); /* [-1, 0] */
1913 :
1914 0 : case E_V16SFmode:
1915 0 : if (pattern491 (x1,
1916 : E_V16SFmode) != 0)
1917 : return -1;
1918 : return 1;
1919 :
1920 0 : case E_V8DFmode:
1921 0 : if (pattern491 (x1,
1922 : E_V8DFmode) != 0)
1923 : return -1;
1924 : return 2;
1925 :
1926 : default:
1927 : return -1;
1928 : }
1929 : }
1930 :
1931 : int
1932 850 : pattern498 ()
1933 : {
1934 850 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1935 850 : int res ATTRIBUTE_UNUSED;
1936 850 : if (!const0_operand (operands[4], E_V4HFmode))
1937 : return -1;
1938 850 : switch (GET_MODE (operands[1]))
1939 : {
1940 410 : case E_V4SImode:
1941 410 : if (!vector_operand (operands[1], E_V4SImode))
1942 : return -1;
1943 : return 0;
1944 :
1945 440 : case E_V4DImode:
1946 440 : if (!vector_operand (operands[1], E_V4DImode))
1947 : return -1;
1948 : return 1;
1949 :
1950 : default:
1951 : return -1;
1952 : }
1953 : }
1954 :
1955 : int
1956 183 : pattern502 (rtx x1, machine_mode i1)
1957 : {
1958 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1959 183 : rtx x2, x3;
1960 183 : int res ATTRIBUTE_UNUSED;
1961 183 : if (!register_operand (operands[0], E_V4SFmode)
1962 183 : || GET_MODE (x1) != E_V4SFmode)
1963 : return -1;
1964 177 : x2 = XEXP (x1, 0);
1965 177 : if (GET_MODE (x2) != E_V2SFmode)
1966 : return -1;
1967 177 : x3 = XEXP (x2, 0);
1968 177 : if (GET_MODE (x3) != E_V2SFmode
1969 177 : || !nonimmediate_operand (operands[1], i1)
1970 176 : || !const0_operand (operands[3], E_V2SFmode)
1971 353 : || !const0_operand (operands[4], E_V2SFmode))
1972 1 : return -1;
1973 : return 0;
1974 : }
1975 :
1976 : int
1977 1228 : pattern506 (rtx x1, machine_mode i1, machine_mode i2)
1978 : {
1979 1228 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1980 1228 : rtx x2, x3, x4;
1981 1228 : int res ATTRIBUTE_UNUSED;
1982 1228 : if (!register_operand (operands[0], i1)
1983 1228 : || GET_MODE (x1) != i1)
1984 : return -1;
1985 1222 : x2 = XEXP (x1, 0);
1986 1222 : if (GET_MODE (x2) != i2)
1987 : return -1;
1988 1222 : x3 = XEXP (x2, 0);
1989 1222 : if (GET_MODE (x3) != i2)
1990 : return -1;
1991 1222 : x4 = XEXP (x2, 1);
1992 1222 : if (GET_MODE (x4) != i2
1993 1222 : || !nonimm_or_0_operand (operands[2], i1))
1994 31 : return -1;
1995 : return 0;
1996 : }
1997 :
1998 : int
1999 540 : pattern509 (rtx x1, machine_mode i1, machine_mode i2)
2000 : {
2001 540 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2002 540 : rtx x2, x3, x4;
2003 540 : int res ATTRIBUTE_UNUSED;
2004 540 : if (!register_operand (operands[0], i2)
2005 540 : || GET_MODE (x1) != i2)
2006 : return -1;
2007 540 : x2 = XEXP (x1, 0);
2008 540 : if (GET_MODE (x2) != i1)
2009 : return -1;
2010 540 : x3 = XEXP (x2, 0);
2011 540 : if (GET_MODE (x3) != i1)
2012 : return -1;
2013 540 : x4 = XEXP (x2, 1);
2014 540 : if (GET_MODE (x4) != i1)
2015 0 : return -1;
2016 : return 0;
2017 : }
2018 :
2019 : int
2020 137 : pattern515 (rtx x1)
2021 : {
2022 137 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2023 137 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2024 137 : rtx x10, x11;
2025 137 : int res ATTRIBUTE_UNUSED;
2026 137 : x2 = XEXP (x1, 1);
2027 137 : if (GET_CODE (x2) != CONST_VECTOR
2028 137 : || XVECLEN (x2, 0) != 8
2029 137 : || GET_MODE (x2) != E_V8QImode)
2030 : return -1;
2031 137 : x3 = XVECEXP (x2, 0, 0);
2032 137 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2033 : return -1;
2034 137 : x4 = XVECEXP (x2, 0, 1);
2035 137 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2036 : return -1;
2037 137 : x5 = XVECEXP (x2, 0, 2);
2038 137 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2039 : return -1;
2040 137 : x6 = XVECEXP (x2, 0, 3);
2041 137 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2042 : return -1;
2043 137 : x7 = XVECEXP (x2, 0, 4);
2044 137 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2045 : return -1;
2046 137 : x8 = XVECEXP (x2, 0, 5);
2047 137 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2048 : return -1;
2049 137 : x9 = XVECEXP (x2, 0, 6);
2050 137 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2051 : return -1;
2052 137 : x10 = XVECEXP (x2, 0, 7);
2053 137 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
2054 137 : || !register_operand (operands[0], E_V16QImode)
2055 266 : || GET_MODE (x1) != E_V16QImode)
2056 8 : return -1;
2057 129 : x11 = XEXP (x1, 0);
2058 129 : if (GET_MODE (x11) != E_V8QImode)
2059 : return -1;
2060 : return 0;
2061 : }
2062 :
2063 : int
2064 783 : pattern528 (rtx x1, machine_mode i1)
2065 : {
2066 783 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2067 783 : int res ATTRIBUTE_UNUSED;
2068 783 : if (!register_operand (operands[0], i1)
2069 667 : || GET_MODE (x1) != i1
2070 667 : || !ieee_maxmin_comparison_operator (operands[1], i1)
2071 667 : || !nonimmediate_operand (operands[2], i1)
2072 635 : || !const0_operand (operands[3], i1)
2073 848 : || !nonimmediate_operand (operands[4], i1))
2074 718 : return -1;
2075 : return 0;
2076 : }
2077 :
2078 : int
2079 74967 : pattern533 (rtx x1)
2080 : {
2081 74967 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2082 74967 : rtx x2, x3, x4;
2083 74967 : int res ATTRIBUTE_UNUSED;
2084 74967 : x2 = XEXP (x1, 1);
2085 74967 : x3 = XEXP (x2, 0);
2086 74967 : operands[3] = x3;
2087 74967 : x4 = XEXP (x2, 1);
2088 74967 : operands[4] = x4;
2089 74967 : switch (GET_MODE (operands[0]))
2090 : {
2091 0 : case E_V64QImode:
2092 0 : return pattern532 (x1,
2093 0 : E_V64QImode); /* [-1, 0] */
2094 :
2095 0 : case E_V32QImode:
2096 0 : if (pattern532 (x1,
2097 : E_V32QImode) != 0)
2098 : return -1;
2099 : return 1;
2100 :
2101 713 : case E_V16QImode:
2102 713 : if (pattern532 (x1,
2103 : E_V16QImode) != 0)
2104 : return -1;
2105 : return 2;
2106 :
2107 0 : case E_V32HImode:
2108 0 : if (pattern532 (x1,
2109 : E_V32HImode) != 0)
2110 : return -1;
2111 : return 3;
2112 :
2113 0 : case E_V16HImode:
2114 0 : if (pattern532 (x1,
2115 : E_V16HImode) != 0)
2116 : return -1;
2117 : return 4;
2118 :
2119 562 : case E_V8HImode:
2120 562 : if (pattern532 (x1,
2121 : E_V8HImode) != 0)
2122 : return -1;
2123 : return 5;
2124 :
2125 0 : case E_V16SImode:
2126 0 : if (pattern532 (x1,
2127 : E_V16SImode) != 0)
2128 : return -1;
2129 : return 6;
2130 :
2131 6 : case E_V8SImode:
2132 6 : if (pattern532 (x1,
2133 : E_V8SImode) != 0)
2134 : return -1;
2135 : return 7;
2136 :
2137 4676 : case E_V4SImode:
2138 4676 : if (pattern532 (x1,
2139 : E_V4SImode) != 0)
2140 : return -1;
2141 : return 8;
2142 :
2143 0 : case E_V8DImode:
2144 0 : if (pattern532 (x1,
2145 : E_V8DImode) != 0)
2146 : return -1;
2147 : return 9;
2148 :
2149 12 : case E_V4DImode:
2150 12 : if (pattern532 (x1,
2151 : E_V4DImode) != 0)
2152 : return -1;
2153 : return 10;
2154 :
2155 348 : case E_V2DImode:
2156 348 : if (pattern532 (x1,
2157 : E_V2DImode) != 0)
2158 : return -1;
2159 : return 11;
2160 :
2161 : default:
2162 : return -1;
2163 : }
2164 : }
2165 :
2166 : int
2167 18287 : pattern543 (rtx x1)
2168 : {
2169 18287 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2170 18287 : int res ATTRIBUTE_UNUSED;
2171 18287 : switch (GET_MODE (operands[0]))
2172 : {
2173 17884 : case E_V8HImode:
2174 17884 : if (!register_operand (operands[0], E_V8HImode)
2175 17884 : || GET_MODE (x1) != E_V8HImode)
2176 : return -1;
2177 : return 0;
2178 :
2179 239 : case E_V8SImode:
2180 239 : if (!register_operand (operands[0], E_V8SImode)
2181 239 : || GET_MODE (x1) != E_V8SImode)
2182 : return -1;
2183 : return 1;
2184 :
2185 164 : case E_V8DImode:
2186 164 : if (!register_operand (operands[0], E_V8DImode)
2187 164 : || GET_MODE (x1) != E_V8DImode)
2188 : return -1;
2189 : return 2;
2190 :
2191 : default:
2192 : return -1;
2193 : }
2194 : }
2195 :
2196 : int
2197 15 : pattern546 (rtx x1)
2198 : {
2199 15 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2200 15 : rtx x2, x3, x4, x5, x6;
2201 15 : int res ATTRIBUTE_UNUSED;
2202 15 : x2 = XVECEXP (x1, 0, 0);
2203 15 : x3 = XEXP (x2, 1);
2204 15 : if (GET_MODE (x3) != E_DImode)
2205 : return -1;
2206 15 : x4 = XVECEXP (x1, 0, 1);
2207 15 : if (GET_CODE (x4) != SET)
2208 : return -1;
2209 15 : x5 = XEXP (x4, 1);
2210 15 : if (GET_CODE (x5) != UNSPEC
2211 15 : || XVECLEN (x5, 0) != 1
2212 15 : || XINT (x5, 1) != 108
2213 15 : || GET_MODE (x5) != E_DImode)
2214 : return -1;
2215 15 : x6 = XVECEXP (x5, 0, 0);
2216 15 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2217 0 : return -1;
2218 : return 0;
2219 : }
2220 :
2221 : int
2222 46051 : pattern552 (rtx x1)
2223 : {
2224 46051 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2225 46051 : int res ATTRIBUTE_UNUSED;
2226 46051 : switch (GET_MODE (operands[0]))
2227 : {
2228 13108 : case E_HImode:
2229 13108 : if (!nonimmediate_operand (operands[0], E_HImode)
2230 13108 : || GET_MODE (x1) != E_HImode)
2231 : return -1;
2232 : return 0;
2233 :
2234 10475 : case E_SImode:
2235 10475 : if (!nonimmediate_operand (operands[0], E_SImode)
2236 10475 : || GET_MODE (x1) != E_SImode)
2237 : return -1;
2238 : return 1;
2239 :
2240 22468 : case E_DImode:
2241 22468 : if (!nonimmediate_operand (operands[0], E_DImode)
2242 22468 : || GET_MODE (x1) != E_DImode)
2243 : return -1;
2244 : return 2;
2245 :
2246 : default:
2247 : return -1;
2248 : }
2249 : }
2250 :
2251 : int
2252 6886 : pattern558 (rtx x1, machine_mode i1)
2253 : {
2254 6886 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2255 6886 : int res ATTRIBUTE_UNUSED;
2256 6886 : if (!register_operand (operands[0], i1)
2257 6886 : || GET_MODE (x1) != i1
2258 6886 : || !nonimmediate_operand (operands[1], i1)
2259 13403 : || !general_operand (operands[2], i1))
2260 369 : return -1;
2261 : return 0;
2262 : }
2263 :
2264 : int
2265 2907 : pattern560 (rtx x1)
2266 : {
2267 2907 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2268 2907 : rtx x2, x3, x4;
2269 2907 : int res ATTRIBUTE_UNUSED;
2270 2907 : x2 = XVECEXP (x1, 0, 1);
2271 2907 : if (GET_CODE (x2) != CLOBBER)
2272 : return -1;
2273 2785 : x3 = XEXP (x2, 0);
2274 2785 : if (GET_CODE (x3) != REG
2275 2785 : || REGNO (x3) != 17
2276 5570 : || GET_MODE (x3) != E_CCmode)
2277 : return -1;
2278 2785 : x4 = XVECEXP (x1, 0, 0);
2279 2785 : return pattern559 (x4); /* [-1, 1] */
2280 : }
2281 :
2282 : int
2283 1131162 : pattern566 (rtx x1, machine_mode i1)
2284 : {
2285 1131162 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2286 1131162 : int res ATTRIBUTE_UNUSED;
2287 1131162 : if (!nonimmediate_operand (operands[0], i1)
2288 1131150 : || GET_MODE (x1) != i1
2289 1131150 : || !nonimmediate_operand (operands[1], i1)
2290 2253881 : || !x86_64_hilo_general_operand (operands[2], i1))
2291 30614 : return -1;
2292 : return 0;
2293 : }
2294 :
2295 : int
2296 13912 : pattern571 (rtx x1)
2297 : {
2298 13912 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2299 13912 : rtx x2, x3, x4, x5;
2300 13912 : int res ATTRIBUTE_UNUSED;
2301 13912 : x2 = XVECEXP (x1, 0, 1);
2302 13912 : if (XVECLEN (x2, 0) != 1
2303 13912 : || XINT (x2, 1) != 175)
2304 : return -1;
2305 13909 : x3 = XVECEXP (x2, 0, 0);
2306 13909 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2307 : return -1;
2308 13909 : switch (GET_MODE (operands[0]))
2309 : {
2310 12717 : case E_QImode:
2311 12717 : x4 = XVECEXP (x1, 0, 0);
2312 12717 : x5 = XEXP (x4, 1);
2313 12717 : return pattern570 (x5,
2314 12717 : E_QImode); /* [-1, 0] */
2315 :
2316 804 : case E_HImode:
2317 804 : x4 = XVECEXP (x1, 0, 0);
2318 804 : x5 = XEXP (x4, 1);
2319 804 : if (pattern570 (x5,
2320 : E_HImode) != 0)
2321 : return -1;
2322 : return 1;
2323 :
2324 193 : case E_SImode:
2325 193 : x4 = XVECEXP (x1, 0, 0);
2326 193 : x5 = XEXP (x4, 1);
2327 193 : if (pattern570 (x5,
2328 : E_SImode) != 0)
2329 : return -1;
2330 : return 2;
2331 :
2332 195 : case E_DImode:
2333 195 : x4 = XVECEXP (x1, 0, 0);
2334 195 : x5 = XEXP (x4, 1);
2335 195 : if (pattern570 (x5,
2336 : E_DImode) != 0)
2337 : return -1;
2338 : return 3;
2339 :
2340 : default:
2341 : return -1;
2342 : }
2343 : }
2344 :
2345 : int
2346 346 : pattern584 (rtx x1)
2347 : {
2348 346 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2349 346 : rtx x2, x3, x4, x5, x6;
2350 346 : int res ATTRIBUTE_UNUSED;
2351 346 : x2 = XEXP (x1, 1);
2352 346 : if (GET_MODE (x2) != E_QImode)
2353 : return -1;
2354 346 : switch (GET_CODE (x2))
2355 : {
2356 312 : case SUBREG:
2357 312 : if (maybe_ne (SUBREG_BYTE (x2), 0))
2358 : return -1;
2359 312 : x3 = XEXP (x2, 0);
2360 312 : switch (GET_CODE (x3))
2361 : {
2362 100 : case AND:
2363 100 : operands[4] = x3;
2364 100 : if (!and_operator (operands[4], E_VOIDmode))
2365 : return -1;
2366 100 : return pattern582 (x1); /* [-1, 3] */
2367 :
2368 0 : case PLUS:
2369 0 : res = pattern582 (x1);
2370 0 : if (res >= 0)
2371 0 : return res + 4; /* [4, 7] */
2372 : return -1;
2373 :
2374 0 : case MINUS:
2375 0 : x4 = XEXP (x3, 0);
2376 0 : operands[3] = x4;
2377 0 : if (!const_int_operand (operands[3], E_VOIDmode))
2378 : return -1;
2379 0 : x5 = XEXP (x3, 1);
2380 0 : operands[2] = x5;
2381 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
2382 : return -1;
2383 0 : res = pattern581 (x1);
2384 0 : if (res >= 0)
2385 0 : return res + 8; /* [8, 11] */
2386 : return -1;
2387 :
2388 : default:
2389 : return -1;
2390 : }
2391 :
2392 7 : case AND:
2393 7 : res = pattern583 (x1);
2394 7 : if (res >= 0)
2395 4 : return res + 12; /* [12, 15] */
2396 : return -1;
2397 :
2398 11 : case PLUS:
2399 11 : res = pattern583 (x1);
2400 11 : if (res >= 0)
2401 11 : return res + 16; /* [16, 19] */
2402 : return -1;
2403 :
2404 6 : case MINUS:
2405 6 : x3 = XEXP (x2, 0);
2406 6 : operands[3] = x3;
2407 6 : if (!const_int_operand (operands[3], E_QImode))
2408 : return -1;
2409 4 : x6 = XEXP (x2, 1);
2410 4 : operands[2] = x6;
2411 4 : if (!register_operand (operands[2], E_QImode))
2412 : return -1;
2413 4 : res = pattern581 (x1);
2414 4 : if (res >= 0)
2415 4 : return res + 20; /* [20, 23] */
2416 : return -1;
2417 :
2418 : default:
2419 : return -1;
2420 : }
2421 : }
2422 :
2423 : int
2424 52 : pattern601 (rtx x1, machine_mode i1, machine_mode i2)
2425 : {
2426 52 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2427 52 : rtx x2;
2428 52 : int res ATTRIBUTE_UNUSED;
2429 52 : if (!register_operand (operands[0], i1)
2430 40 : || GET_MODE (x1) != i1
2431 92 : || !vector_operand (operands[1], i1))
2432 22 : return -1;
2433 30 : x2 = XVECEXP (x1, 0, 1);
2434 30 : if (GET_MODE (x2) != i1
2435 30 : || !bcst_vector_operand (operands[2], i2)
2436 42 : || !vector_operand (operands[3], i1))
2437 18 : return -1;
2438 : return 0;
2439 : }
2440 :
2441 : int
2442 25940323 : pattern608 (rtx x1, int i1)
2443 : {
2444 25940323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2445 25940323 : rtx x2, x3;
2446 25940323 : int res ATTRIBUTE_UNUSED;
2447 25940323 : if (GET_CODE (x1) != PARALLEL
2448 2339296 : || XVECLEN (x1, 0) != 3)
2449 : return -1;
2450 56994 : x2 = XVECEXP (x1, 0, 0);
2451 56994 : if (GET_CODE (x2) != SET)
2452 : return -1;
2453 51564 : x3 = XEXP (x2, 1);
2454 51564 : if (GET_CODE (x3) != UNSPEC_VOLATILE
2455 18804 : || XVECLEN (x3, 0) != i1)
2456 39028 : return -1;
2457 : return 0;
2458 : }
2459 :
2460 : int
2461 60 : pattern611 (rtx x1)
2462 : {
2463 60 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2464 60 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2465 60 : int res ATTRIBUTE_UNUSED;
2466 60 : x2 = XEXP (x1, 1);
2467 60 : x3 = XVECEXP (x2, 0, 1);
2468 60 : if (GET_CODE (x3) != AND)
2469 : return -1;
2470 60 : x4 = XEXP (x1, 0);
2471 60 : if (GET_MODE (x4) != E_CCZmode
2472 60 : || GET_MODE (x2) != E_CCZmode)
2473 : return -1;
2474 60 : x5 = XVECEXP (x2, 0, 0);
2475 60 : x6 = XEXP (x5, 0);
2476 60 : operands[0] = x6;
2477 60 : x7 = XEXP (x5, 1);
2478 60 : operands[1] = x7;
2479 60 : x8 = XEXP (x3, 0);
2480 60 : if (!rtx_equal_p (x8, operands[0]))
2481 : return -1;
2482 60 : x9 = XEXP (x3, 1);
2483 60 : if (!rtx_equal_p (x9, operands[1]))
2484 : return -1;
2485 60 : switch (GET_MODE (x5))
2486 : {
2487 0 : case E_V16QImode:
2488 0 : if (!register_operand (operands[0], E_V16QImode)
2489 0 : || !vector_operand (operands[1], E_V16QImode)
2490 0 : || GET_MODE (x3) != E_V16QImode)
2491 0 : return -1;
2492 : return 0;
2493 :
2494 0 : case E_V8HImode:
2495 0 : if (!register_operand (operands[0], E_V8HImode)
2496 0 : || !vector_operand (operands[1], E_V8HImode)
2497 0 : || GET_MODE (x3) != E_V8HImode)
2498 0 : return -1;
2499 : return 1;
2500 :
2501 0 : case E_V4SImode:
2502 0 : if (!register_operand (operands[0], E_V4SImode)
2503 0 : || !vector_operand (operands[1], E_V4SImode)
2504 0 : || GET_MODE (x3) != E_V4SImode)
2505 0 : return -1;
2506 : return 2;
2507 :
2508 34 : case E_V2DImode:
2509 34 : if (!register_operand (operands[0], E_V2DImode)
2510 14 : || !vector_operand (operands[1], E_V2DImode)
2511 48 : || GET_MODE (x3) != E_V2DImode)
2512 20 : return -1;
2513 : return 3;
2514 :
2515 6 : case E_V1TImode:
2516 6 : if (!register_operand (operands[0], E_V1TImode)
2517 2 : || !vector_operand (operands[1], E_V1TImode)
2518 8 : || GET_MODE (x3) != E_V1TImode)
2519 4 : return -1;
2520 : return 4;
2521 :
2522 0 : case E_V4SFmode:
2523 0 : if (!register_operand (operands[0], E_V4SFmode)
2524 0 : || !vector_operand (operands[1], E_V4SFmode)
2525 0 : || GET_MODE (x3) != E_V4SFmode)
2526 0 : return -1;
2527 : return 5;
2528 :
2529 0 : case E_V2DFmode:
2530 0 : if (!register_operand (operands[0], E_V2DFmode)
2531 0 : || !vector_operand (operands[1], E_V2DFmode)
2532 0 : || GET_MODE (x3) != E_V2DFmode)
2533 0 : return -1;
2534 : return 6;
2535 :
2536 0 : case E_V32QImode:
2537 0 : if (!register_operand (operands[0], E_V32QImode)
2538 0 : || !vector_operand (operands[1], E_V32QImode)
2539 0 : || GET_MODE (x3) != E_V32QImode)
2540 0 : return -1;
2541 : return 7;
2542 :
2543 0 : case E_V16HImode:
2544 0 : if (!register_operand (operands[0], E_V16HImode)
2545 0 : || !vector_operand (operands[1], E_V16HImode)
2546 0 : || GET_MODE (x3) != E_V16HImode)
2547 0 : return -1;
2548 : return 8;
2549 :
2550 0 : case E_V8SImode:
2551 0 : if (!register_operand (operands[0], E_V8SImode)
2552 0 : || !vector_operand (operands[1], E_V8SImode)
2553 0 : || GET_MODE (x3) != E_V8SImode)
2554 0 : return -1;
2555 : return 9;
2556 :
2557 20 : case E_V4DImode:
2558 20 : if (!register_operand (operands[0], E_V4DImode)
2559 10 : || !vector_operand (operands[1], E_V4DImode)
2560 30 : || GET_MODE (x3) != E_V4DImode)
2561 10 : return -1;
2562 : return 10;
2563 :
2564 0 : case E_V2TImode:
2565 0 : if (!register_operand (operands[0], E_V2TImode)
2566 0 : || !vector_operand (operands[1], E_V2TImode)
2567 0 : || GET_MODE (x3) != E_V2TImode)
2568 0 : return -1;
2569 : return 11;
2570 :
2571 0 : case E_V8SFmode:
2572 0 : if (!register_operand (operands[0], E_V8SFmode)
2573 0 : || !vector_operand (operands[1], E_V8SFmode)
2574 0 : || GET_MODE (x3) != E_V8SFmode)
2575 0 : return -1;
2576 : return 12;
2577 :
2578 0 : case E_V4DFmode:
2579 0 : if (!register_operand (operands[0], E_V4DFmode)
2580 0 : || !vector_operand (operands[1], E_V4DFmode)
2581 0 : || GET_MODE (x3) != E_V4DFmode)
2582 0 : return -1;
2583 : return 13;
2584 :
2585 : default:
2586 : return -1;
2587 : }
2588 : }
2589 :
2590 : int
2591 164 : pattern654 (rtx x1)
2592 : {
2593 164 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2594 164 : int res ATTRIBUTE_UNUSED;
2595 164 : if (!register_operand (operands[0], E_V8DImode)
2596 164 : || GET_MODE (x1) != E_V8DImode)
2597 : return -1;
2598 112 : switch (GET_MODE (operands[1]))
2599 : {
2600 46 : case E_V8HFmode:
2601 46 : if (!vector_operand (operands[1], E_V8HFmode))
2602 : return -1;
2603 : return 0;
2604 :
2605 36 : case E_V8DFmode:
2606 36 : if (!vector_operand (operands[1], E_V8DFmode))
2607 : return -1;
2608 : return 1;
2609 :
2610 30 : case E_V8SFmode:
2611 30 : if (!vector_operand (operands[1], E_V8SFmode))
2612 : return -1;
2613 : return 2;
2614 :
2615 : default:
2616 : return -1;
2617 : }
2618 : }
2619 :
2620 : int
2621 1005 : pattern661 (rtx x1)
2622 : {
2623 1005 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2624 1005 : rtx x2, x3, x4, x5;
2625 1005 : int res ATTRIBUTE_UNUSED;
2626 1005 : x2 = XVECEXP (x1, 0, 0);
2627 1005 : x3 = XEXP (x2, 2);
2628 1005 : operands[4] = x3;
2629 1005 : x4 = XEXP (x2, 1);
2630 1005 : operands[3] = x4;
2631 1005 : x5 = XVECEXP (x1, 0, 1);
2632 1005 : operands[5] = x5;
2633 1005 : switch (GET_MODE (operands[0]))
2634 : {
2635 293 : case E_V32HFmode:
2636 293 : return pattern657 (x1,
2637 : E_V32HFmode,
2638 293 : E_SImode); /* [-1, 0] */
2639 :
2640 356 : case E_V16SFmode:
2641 356 : if (pattern657 (x1,
2642 : E_V16SFmode,
2643 : E_HImode) != 0)
2644 : return -1;
2645 : return 1;
2646 :
2647 356 : case E_V8DFmode:
2648 356 : if (pattern657 (x1,
2649 : E_V8DFmode,
2650 : E_QImode) != 0)
2651 : return -1;
2652 : return 2;
2653 :
2654 : default:
2655 : return -1;
2656 : }
2657 : }
2658 :
2659 : int
2660 133 : pattern670 (rtx x1)
2661 : {
2662 133 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2663 133 : rtx x2, x3, x4, x5, x6, x7, x8;
2664 133 : int res ATTRIBUTE_UNUSED;
2665 133 : x2 = XVECEXP (x1, 0, 2);
2666 133 : x3 = XEXP (x2, 0);
2667 133 : if (maybe_ne (SUBREG_BYTE (x3), 0))
2668 : return -1;
2669 133 : x4 = XEXP (x3, 0);
2670 133 : if (GET_CODE (x4) != NOT)
2671 : return -1;
2672 6 : x5 = XVECEXP (x1, 0, 0);
2673 6 : operands[2] = x5;
2674 6 : x6 = XVECEXP (x1, 0, 1);
2675 6 : operands[1] = x6;
2676 6 : x7 = XEXP (x4, 0);
2677 6 : operands[3] = x7;
2678 6 : if (!register_operand (operands[3], E_VOIDmode))
2679 : return -1;
2680 6 : x8 = XEXP (x2, 1);
2681 6 : operands[4] = x8;
2682 6 : switch (GET_MODE (operands[0]))
2683 : {
2684 3 : case E_V32QImode:
2685 3 : return pattern669 (x1,
2686 3 : E_V32QImode); /* [-1, 0] */
2687 :
2688 3 : case E_V16QImode:
2689 3 : if (pattern669 (x1,
2690 : E_V16QImode) != 0)
2691 : return -1;
2692 : return 1;
2693 :
2694 : default:
2695 : return -1;
2696 : }
2697 : }
2698 :
2699 : int
2700 667 : pattern677 (rtx x1)
2701 : {
2702 667 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2703 667 : rtx x2;
2704 667 : int res ATTRIBUTE_UNUSED;
2705 667 : x2 = XVECEXP (x1, 0, 2);
2706 667 : operands[3] = x2;
2707 667 : switch (GET_MODE (operands[0]))
2708 : {
2709 163 : case E_V32HFmode:
2710 163 : return pattern676 (x1,
2711 163 : E_V32HFmode); /* [-1, 0] */
2712 :
2713 234 : case E_V16HFmode:
2714 234 : if (pattern676 (x1,
2715 : E_V16HFmode) != 0)
2716 : return -1;
2717 : return 1;
2718 :
2719 270 : case E_V8HFmode:
2720 270 : if (pattern676 (x1,
2721 : E_V8HFmode) != 0)
2722 : return -1;
2723 : return 2;
2724 :
2725 : default:
2726 : return -1;
2727 : }
2728 : }
2729 :
2730 : int
2731 3435 : pattern682 (rtx x1, int i1, int i2, int i3)
2732 : {
2733 3435 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2734 3435 : rtx x2, x3, x4, x5;
2735 3435 : int res ATTRIBUTE_UNUSED;
2736 3435 : x2 = XVECEXP (x1, 0, 0);
2737 3435 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2738 : return -1;
2739 3224 : x3 = XVECEXP (x1, 0, 1);
2740 3224 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
2741 : return -1;
2742 3015 : x4 = XVECEXP (x1, 0, 2);
2743 3015 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
2744 : return -1;
2745 2998 : x5 = XVECEXP (x1, 0, 3);
2746 2998 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
2747 0 : return -1;
2748 : return 0;
2749 : }
2750 :
2751 : int
2752 5080 : pattern691 (rtx x1)
2753 : {
2754 5080 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2755 5080 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2756 5080 : rtx x10, x11;
2757 5080 : int res ATTRIBUTE_UNUSED;
2758 5080 : x2 = XEXP (x1, 0);
2759 5080 : x3 = XEXP (x2, 0);
2760 5080 : x4 = XEXP (x3, 0);
2761 5080 : switch (GET_CODE (x4))
2762 : {
2763 20 : case VEC_CONCAT:
2764 20 : return pattern689 (x1); /* [-1, 5] */
2765 :
2766 0 : case VEC_MERGE:
2767 0 : if (GET_MODE (x4) != E_V4SImode)
2768 : return -1;
2769 0 : x5 = XEXP (x4, 0);
2770 0 : if (GET_CODE (x5) != VEC_DUPLICATE
2771 0 : || GET_MODE (x5) != E_V4SImode)
2772 : return -1;
2773 0 : x6 = XEXP (x4, 1);
2774 0 : if (GET_CODE (x6) != CONST_VECTOR
2775 0 : || XVECLEN (x6, 0) != 4
2776 0 : || GET_MODE (x6) != E_V4SImode)
2777 : return -1;
2778 0 : x7 = XVECEXP (x6, 0, 0);
2779 0 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2780 : return -1;
2781 0 : x8 = XVECEXP (x6, 0, 1);
2782 0 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2783 : return -1;
2784 0 : x9 = XVECEXP (x6, 0, 2);
2785 0 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2786 : return -1;
2787 0 : x10 = XVECEXP (x6, 0, 3);
2788 0 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2789 : return -1;
2790 0 : x11 = XEXP (x4, 2);
2791 0 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2792 : return -1;
2793 0 : res = pattern690 (x1);
2794 0 : if (res >= 0)
2795 0 : return res + 6; /* [6, 8] */
2796 : return -1;
2797 :
2798 : default:
2799 : return -1;
2800 : }
2801 : }
2802 :
2803 : int
2804 82407 : pattern705 (rtx x1)
2805 : {
2806 82407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2807 82407 : int res ATTRIBUTE_UNUSED;
2808 82407 : if (GET_CODE (x1) != REG
2809 82407 : || REGNO (x1) != 17
2810 163484 : || GET_MODE (x1) != E_CCmode)
2811 : return -1;
2812 81077 : switch (GET_MODE (operands[0]))
2813 : {
2814 : case E_DImode:
2815 : return 0;
2816 :
2817 1028 : case E_TImode:
2818 1028 : return 1;
2819 :
2820 490 : case E_QImode:
2821 490 : return 2;
2822 :
2823 3154 : case E_HImode:
2824 3154 : return 3;
2825 :
2826 17449 : case E_SImode:
2827 17449 : return 4;
2828 :
2829 1795 : case E_SFmode:
2830 1795 : return 5;
2831 :
2832 4368 : case E_DFmode:
2833 4368 : return 6;
2834 :
2835 37261 : case E_XFmode:
2836 37261 : return 7;
2837 :
2838 : default:
2839 : return -1;
2840 : }
2841 : }
2842 :
2843 : int
2844 801 : pattern714 (rtx x1, int i1)
2845 : {
2846 801 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2847 801 : rtx x2, x3, x4, x5, x6, x7, x8;
2848 801 : int res ATTRIBUTE_UNUSED;
2849 801 : x2 = XVECEXP (x1, 0, 0);
2850 801 : x3 = XEXP (x2, 1);
2851 801 : x4 = XVECEXP (x3, 0, 0);
2852 801 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2853 : return -1;
2854 801 : x5 = XVECEXP (x1, 0, 1);
2855 801 : if (GET_CODE (x5) != SET)
2856 : return -1;
2857 801 : x6 = XEXP (x5, 1);
2858 801 : if (GET_CODE (x6) != UNSPEC_VOLATILE
2859 801 : || XVECLEN (x6, 0) != 1
2860 801 : || XINT (x6, 1) != i1
2861 801 : || GET_MODE (x6) != E_CCCmode)
2862 : return -1;
2863 801 : x7 = XVECEXP (x6, 0, 0);
2864 801 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2865 : return -1;
2866 801 : x8 = XEXP (x5, 0);
2867 801 : if (GET_CODE (x8) != REG
2868 801 : || REGNO (x8) != 17
2869 1602 : || GET_MODE (x8) != E_CCCmode)
2870 : return -1;
2871 801 : switch (GET_MODE (operands[0]))
2872 : {
2873 180 : case E_HImode:
2874 180 : if (!register_operand (operands[0], E_HImode)
2875 180 : || GET_MODE (x3) != E_HImode)
2876 : return -1;
2877 : return 0;
2878 :
2879 442 : case E_SImode:
2880 442 : if (!register_operand (operands[0], E_SImode)
2881 442 : || GET_MODE (x3) != E_SImode)
2882 : return -1;
2883 : return 1;
2884 :
2885 179 : case E_DImode:
2886 179 : if (!register_operand (operands[0], E_DImode)
2887 179 : || GET_MODE (x3) != E_DImode)
2888 : return -1;
2889 : return 2;
2890 :
2891 : default:
2892 : return -1;
2893 : }
2894 : }
2895 :
2896 : int
2897 552 : pattern729 (rtx x1, machine_mode i1, unsigned int i2)
2898 : {
2899 552 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2900 552 : rtx x2, x3;
2901 552 : int res ATTRIBUTE_UNUSED;
2902 552 : x2 = XEXP (x1, 1);
2903 552 : if (GET_MODE (x2) != i1)
2904 : return -1;
2905 552 : x3 = XEXP (x1, 0);
2906 552 : if (GET_CODE (x3) != REG
2907 552 : || REGNO (x3) != i2
2908 1104 : || GET_MODE (x3) != i1)
2909 0 : return -1;
2910 : return 0;
2911 : }
2912 :
2913 : int
2914 2399362 : pattern734 (rtx x1, machine_mode i1)
2915 : {
2916 2399362 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2917 2399362 : rtx x2, x3;
2918 2399362 : int res ATTRIBUTE_UNUSED;
2919 2399362 : if (!register_operand (operands[0], i1)
2920 2379397 : || GET_CODE (x1) != PARALLEL
2921 2636364 : || XVECLEN (x1, 0) != 2)
2922 : return -1;
2923 235734 : x2 = XVECEXP (x1, 0, 0);
2924 235734 : if (GET_CODE (x2) != SET)
2925 : return -1;
2926 235681 : x3 = XEXP (x2, 1);
2927 235681 : switch (GET_CODE (x3))
2928 : {
2929 : case PLUS:
2930 : case MINUS:
2931 : case AND:
2932 : case IOR:
2933 : case XOR:
2934 : return 0;
2935 :
2936 : default:
2937 : return -1;
2938 : }
2939 : }
2940 :
2941 : int
2942 43 : pattern740 (rtx x1, machine_mode i1)
2943 : {
2944 43 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2945 43 : rtx x2;
2946 43 : int res ATTRIBUTE_UNUSED;
2947 43 : if (!register_operand (operands[0], i1)
2948 39 : || GET_MODE (x1) != i1
2949 39 : || !register_operand (operands[1], i1)
2950 75 : || !register_operand (operands[2], i1))
2951 15 : return -1;
2952 28 : x2 = XVECEXP (x1, 0, 2);
2953 28 : if (GET_MODE (x2) != i1
2954 28 : || !register_operand (operands[3], i1)
2955 56 : || !register_operand (operands[4], i1))
2956 2 : return -1;
2957 : return 0;
2958 : }
2959 :
2960 : int
2961 3374 : pattern746 ()
2962 : {
2963 3374 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2964 3374 : int res ATTRIBUTE_UNUSED;
2965 3374 : switch (GET_MODE (operands[1]))
2966 : {
2967 1116 : case E_V16QImode:
2968 1116 : if (!register_operand (operands[1], E_V16QImode)
2969 1116 : || !nonimmediate_operand (operands[2], E_V16QImode))
2970 0 : return -1;
2971 : return 0;
2972 :
2973 1130 : case E_V16HImode:
2974 1130 : if (!register_operand (operands[1], E_V16HImode)
2975 1130 : || !nonimmediate_operand (operands[2], E_V16HImode))
2976 0 : return -1;
2977 : return 1;
2978 :
2979 1128 : case E_V16SImode:
2980 1128 : if (!register_operand (operands[1], E_V16SImode)
2981 1128 : || !nonimmediate_operand (operands[2], E_V16SImode))
2982 0 : return -1;
2983 : return 2;
2984 :
2985 : default:
2986 : return -1;
2987 : }
2988 : }
2989 :
2990 : int
2991 474 : pattern756 (rtx x1, machine_mode i1)
2992 : {
2993 474 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2994 474 : rtx x2, x3;
2995 474 : int res ATTRIBUTE_UNUSED;
2996 474 : if (!nonimmediate_operand (operands[0], i1)
2997 474 : || GET_MODE (x1) != i1)
2998 : return -1;
2999 474 : x2 = XEXP (x1, 0);
3000 474 : if (GET_MODE (x2) != i1
3001 474 : || !nonimmediate_operand (operands[1], i1))
3002 279 : return -1;
3003 195 : x3 = XEXP (x2, 1);
3004 195 : if (GET_MODE (x3) != i1
3005 195 : || !x86_64_immediate_operand (operands[2], i1))
3006 58 : return -1;
3007 : return 0;
3008 : }
3009 :
3010 : int
3011 80109 : pattern764 (rtx x1)
3012 : {
3013 80109 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3014 80109 : rtx x2, x3;
3015 80109 : int res ATTRIBUTE_UNUSED;
3016 80109 : x2 = XEXP (x1, 1);
3017 80109 : switch (GET_CODE (x2))
3018 : {
3019 12178 : case REG:
3020 12178 : case SUBREG:
3021 12178 : case MEM:
3022 12178 : if (!rtx_equal_p (x2, operands[1]))
3023 : return -1;
3024 3846 : switch (GET_MODE (operands[0]))
3025 : {
3026 1323 : case E_SImode:
3027 1323 : return pattern762 (x1,
3028 1323 : E_SImode); /* [-1, 0] */
3029 :
3030 2002 : case E_DImode:
3031 2002 : if (pattern762 (x1,
3032 : E_DImode) != 0)
3033 : return -1;
3034 : return 1;
3035 :
3036 : default:
3037 : return -1;
3038 : }
3039 :
3040 99 : case NOT:
3041 99 : x3 = XEXP (x2, 0);
3042 99 : if (!rtx_equal_p (x3, operands[1]))
3043 : return -1;
3044 84 : switch (GET_MODE (operands[0]))
3045 : {
3046 0 : case E_SImode:
3047 0 : if (pattern763 (x1,
3048 : E_SImode) != 0)
3049 : return -1;
3050 : return 2;
3051 :
3052 84 : case E_DImode:
3053 84 : if (pattern763 (x1,
3054 : E_DImode) != 0)
3055 : return -1;
3056 : return 3;
3057 :
3058 : default:
3059 : return -1;
3060 : }
3061 :
3062 : default:
3063 : return -1;
3064 : }
3065 : }
3066 :
3067 : int
3068 360 : pattern780 (rtx x1, machine_mode i1)
3069 : {
3070 360 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3071 360 : int res ATTRIBUTE_UNUSED;
3072 360 : if (!register_operand (operands[0], i1)
3073 360 : || GET_MODE (x1) != i1)
3074 : return -1;
3075 338 : switch (GET_MODE (operands[1]))
3076 : {
3077 108 : case E_V8HFmode:
3078 108 : if (!vector_operand (operands[1], E_V8HFmode))
3079 : return -1;
3080 : return 0;
3081 :
3082 115 : case E_V4SFmode:
3083 115 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
3084 : return -1;
3085 : return 1;
3086 :
3087 115 : case E_V4DFmode:
3088 115 : if (!nonimmediate_operand (operands[1], E_V4DFmode))
3089 : return -1;
3090 : return 2;
3091 :
3092 : default:
3093 : return -1;
3094 : }
3095 : }
3096 :
3097 : int
3098 800 : pattern788 (rtx x1, machine_mode i1, machine_mode i2)
3099 : {
3100 800 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3101 800 : int res ATTRIBUTE_UNUSED;
3102 800 : if (!register_operand (operands[0], i2)
3103 769 : || GET_MODE (x1) != i2
3104 769 : || !nonimmediate_operand (operands[1], i2)
3105 1515 : || !register_operand (operands[2], i1))
3106 221 : return -1;
3107 : return 0;
3108 : }
3109 :
3110 : int
3111 232 : pattern795 (rtx x1, int i1, int i2, int i3)
3112 : {
3113 232 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3114 232 : rtx x2, x3, x4, x5, x6, x7, x8;
3115 232 : int res ATTRIBUTE_UNUSED;
3116 232 : x2 = XVECEXP (x1, 0, 0);
3117 232 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3118 : return -1;
3119 232 : x3 = XVECEXP (x1, 0, 1);
3120 232 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3121 : return -1;
3122 232 : x4 = XVECEXP (x1, 0, 2);
3123 232 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3124 : return -1;
3125 232 : x5 = XVECEXP (x1, 0, 3);
3126 232 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3127 : return -1;
3128 232 : x6 = XVECEXP (x1, 0, 4);
3129 232 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
3130 : return -1;
3131 232 : x7 = XVECEXP (x1, 0, 5);
3132 232 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
3133 : return -1;
3134 232 : x8 = XVECEXP (x1, 0, 6);
3135 232 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
3136 0 : return -1;
3137 : return 0;
3138 : }
3139 :
3140 : int
3141 1253178 : pattern812 (rtx x1)
3142 : {
3143 1253178 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3144 1253178 : rtx x2, x3, x4, x5;
3145 1253178 : int res ATTRIBUTE_UNUSED;
3146 1253178 : x2 = XEXP (x1, 1);
3147 1253178 : operands[3] = x2;
3148 1253178 : if (!avx_vbroadcast128_operand (operands[3], E_VOIDmode))
3149 : return -1;
3150 151 : x3 = XEXP (x1, 0);
3151 151 : x4 = XEXP (x3, 1);
3152 151 : operands[2] = x4;
3153 151 : x5 = XVECEXP (x2, 0, 0);
3154 151 : operands[4] = x5;
3155 151 : if (!const_int_operand (operands[4], E_VOIDmode))
3156 : return -1;
3157 151 : switch (GET_MODE (operands[0]))
3158 : {
3159 0 : case E_V32QImode:
3160 0 : return pattern811 (x1,
3161 : E_V16QImode,
3162 0 : E_V32QImode); /* [-1, 0] */
3163 :
3164 0 : case E_V16HImode:
3165 0 : if (pattern811 (x1,
3166 : E_V8HImode,
3167 : E_V16HImode) != 0)
3168 : return -1;
3169 : return 1;
3170 :
3171 36 : case E_V8SImode:
3172 36 : if (pattern811 (x1,
3173 : E_V4SImode,
3174 : E_V8SImode) != 0)
3175 : return -1;
3176 : return 2;
3177 :
3178 0 : case E_V4DImode:
3179 0 : if (pattern811 (x1,
3180 : E_V2DImode,
3181 : E_V4DImode) != 0)
3182 : return -1;
3183 : return 3;
3184 :
3185 14 : case E_V8SFmode:
3186 14 : if (pattern811 (x1,
3187 : E_V4SFmode,
3188 : E_V8SFmode) != 0)
3189 : return -1;
3190 : return 4;
3191 :
3192 45 : case E_V4DFmode:
3193 45 : if (pattern811 (x1,
3194 : E_V2DFmode,
3195 : E_V4DFmode) != 0)
3196 : return -1;
3197 : return 5;
3198 :
3199 0 : case E_V16HFmode:
3200 0 : if (pattern811 (x1,
3201 : E_V8HFmode,
3202 : E_V16HFmode) != 0)
3203 : return -1;
3204 : return 6;
3205 :
3206 0 : case E_V16BFmode:
3207 0 : if (pattern811 (x1,
3208 : E_V8BFmode,
3209 : E_V16BFmode) != 0)
3210 : return -1;
3211 : return 7;
3212 :
3213 : default:
3214 : return -1;
3215 : }
3216 : }
3217 :
3218 : int
3219 24 : pattern829 (rtx x1, int *pnum_clobbers)
3220 : {
3221 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3222 24 : rtx x2, x3;
3223 24 : int res ATTRIBUTE_UNUSED;
3224 24 : switch (GET_CODE (x1))
3225 : {
3226 20 : case CLOBBER:
3227 20 : x2 = XEXP (x1, 0);
3228 20 : if (GET_CODE (x2) != REG
3229 20 : || REGNO (x2) != 17
3230 40 : || GET_MODE (x2) != E_CCmode)
3231 : return -1;
3232 : return 0;
3233 :
3234 0 : case UNSPEC:
3235 0 : if (pnum_clobbers == NULL
3236 0 : || XVECLEN (x1, 0) != 1
3237 0 : || XINT (x1, 1) != 39)
3238 : return -1;
3239 0 : x3 = XVECEXP (x1, 0, 0);
3240 0 : operands[2] = x3;
3241 0 : if (!register_operand (operands[2], E_DImode))
3242 : return -1;
3243 : return 1;
3244 :
3245 : default:
3246 : return -1;
3247 : }
3248 : }
3249 :
3250 : int
3251 115 : pattern835 (rtx x1, int *pnum_clobbers)
3252 : {
3253 115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3254 115 : rtx x2, x3;
3255 115 : int res ATTRIBUTE_UNUSED;
3256 115 : x2 = XVECEXP (x1, 0, 1);
3257 115 : if (GET_CODE (x2) != USE)
3258 : return -1;
3259 115 : x3 = XVECEXP (x1, 0, 2);
3260 115 : if (GET_CODE (x3) != USE
3261 115 : || !register_operand (operands[1], E_XFmode))
3262 62 : return -1;
3263 53 : return pattern834 (x1, pnum_clobbers); /* [-1, 2] */
3264 : }
3265 :
3266 : int
3267 5807027 : pattern840 (rtx x1, machine_mode i1)
3268 : {
3269 5807027 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3270 5807027 : int res ATTRIBUTE_UNUSED;
3271 5807027 : if (!register_operand (operands[0], i1)
3272 5804296 : || GET_MODE (x1) != i1
3273 5804296 : || !register_operand (operands[1], i1)
3274 11608563 : || !x86_64_nonmemory_operand (operands[2], i1))
3275 160700 : return -1;
3276 : return 0;
3277 : }
3278 :
3279 : int
3280 142075 : pattern845 (rtx x1)
3281 : {
3282 142075 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3283 142075 : rtx x2, x3, x4, x5;
3284 142075 : int res ATTRIBUTE_UNUSED;
3285 142075 : x2 = XVECEXP (x1, 0, 0);
3286 142075 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3287 : return -1;
3288 67643 : x3 = XVECEXP (x1, 0, 1);
3289 67643 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3290 : return -1;
3291 12697 : x4 = XVECEXP (x1, 0, 2);
3292 12697 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3293 : return -1;
3294 10619 : x5 = XVECEXP (x1, 0, 3);
3295 10619 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3296 370 : return -1;
3297 : return 0;
3298 : }
3299 :
3300 : int
3301 4749113 : pattern851 (rtx x1)
3302 : {
3303 4749113 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3304 4749113 : rtx x2, x3, x4, x5, x6;
3305 4749113 : int res ATTRIBUTE_UNUSED;
3306 4749113 : x2 = XEXP (x1, 1);
3307 4749113 : switch (GET_CODE (x2))
3308 : {
3309 1288587 : case REG:
3310 1288587 : case SUBREG:
3311 1288587 : if (!rtx_equal_p (x2, operands[0]))
3312 : return -1;
3313 960951 : x3 = XEXP (x1, 0);
3314 960951 : if (GET_CODE (x3) != PC)
3315 : return -1;
3316 : return 0;
3317 :
3318 142911 : case CALL:
3319 142911 : x4 = XEXP (x2, 0);
3320 142911 : if (GET_CODE (x4) != MEM
3321 142911 : || GET_MODE (x4) != E_QImode)
3322 : return -1;
3323 142911 : x3 = XEXP (x1, 0);
3324 142911 : operands[2] = x3;
3325 142911 : x5 = XEXP (x2, 1);
3326 142911 : operands[3] = x5;
3327 142911 : x6 = XEXP (x4, 0);
3328 142911 : if (!rtx_equal_p (x6, operands[0]))
3329 : return -1;
3330 : return 1;
3331 :
3332 : default:
3333 : return -1;
3334 : }
3335 : }
3336 :
3337 : int
3338 16541 : pattern859 (rtx x1, machine_mode i1)
3339 : {
3340 16541 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3341 16541 : int res ATTRIBUTE_UNUSED;
3342 16541 : if (!register_operand (operands[0], i1)
3343 16519 : || GET_MODE (x1) != i1
3344 16516 : || !register_operand (operands[1], i1)
3345 27802 : || !register_mmxmem_operand (operands[2], i1))
3346 6763 : return -1;
3347 : return 0;
3348 : }
3349 :
3350 : int
3351 0 : pattern861 (rtx x1, machine_mode i1)
3352 : {
3353 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3354 0 : rtx x2, x3;
3355 0 : int res ATTRIBUTE_UNUSED;
3356 0 : if (!nonimmediate_operand (operands[0], i1)
3357 0 : || GET_MODE (x1) != i1)
3358 : return -1;
3359 0 : x2 = XEXP (x1, 0);
3360 0 : if (GET_MODE (x2) != i1
3361 0 : || !nonimmediate_operand (operands[1], i1))
3362 0 : return -1;
3363 0 : x3 = XEXP (x2, 1);
3364 0 : if (GET_MODE (x3) != i1
3365 0 : || !immediate_operand (operands[2], i1))
3366 0 : return -1;
3367 : return 0;
3368 : }
3369 :
3370 : int
3371 23550 : pattern866 (rtx x1, machine_mode i1, machine_mode i2)
3372 : {
3373 23550 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3374 23550 : int res ATTRIBUTE_UNUSED;
3375 23550 : if (!register_operand (operands[0], i2)
3376 23452 : || GET_MODE (x1) != i2
3377 47002 : || pattern865 (x1,
3378 : i1,
3379 : i2) != 0)
3380 1450 : return -1;
3381 : return 0;
3382 : }
3383 :
3384 : int
3385 6116 : pattern870 (rtx x1, machine_mode i1)
3386 : {
3387 6116 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3388 6116 : int res ATTRIBUTE_UNUSED;
3389 6116 : if (!register_operand (operands[0], i1)
3390 6116 : || GET_MODE (x1) != i1
3391 6116 : || !register_operand (operands[2], i1)
3392 5461 : || !register_operand (operands[1], i1)
3393 9025 : || !const_0_to_15_operand (operands[3], E_SImode))
3394 3207 : return -1;
3395 : return 0;
3396 : }
3397 :
3398 : int
3399 1034 : pattern875 (rtx x1, machine_mode i1)
3400 : {
3401 1034 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3402 1034 : rtx x2;
3403 1034 : int res ATTRIBUTE_UNUSED;
3404 1034 : if (!register_operand (operands[0], i1)
3405 1018 : || GET_MODE (x1) != i1
3406 1018 : || !bcst_vector_operand (operands[1], i1)
3407 2048 : || !bcst_vector_operand (operands[2], i1))
3408 55 : return -1;
3409 979 : x2 = XEXP (x1, 2);
3410 979 : if (GET_MODE (x2) != i1
3411 979 : || !bcst_vector_operand (operands[3], i1))
3412 55 : return -1;
3413 : return 0;
3414 : }
3415 :
3416 : int
3417 1392 : pattern884 (rtx x1, machine_mode i1)
3418 : {
3419 1392 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3420 1392 : rtx x2, x3;
3421 1392 : int res ATTRIBUTE_UNUSED;
3422 1392 : if (!register_operand (operands[0], i1)
3423 1392 : || GET_MODE (x1) != i1)
3424 : return -1;
3425 1328 : x2 = XVECEXP (x1, 0, 0);
3426 1328 : if (GET_MODE (x2) != i1)
3427 : return -1;
3428 1328 : x3 = XVECEXP (x2, 0, 0);
3429 1328 : switch (GET_MODE (x3))
3430 : {
3431 488 : case E_HFmode:
3432 488 : if (!register_operand (operands[1], E_V8HFmode))
3433 : return -1;
3434 : return 0;
3435 :
3436 420 : case E_SFmode:
3437 420 : if (!register_operand (operands[1], E_V4SFmode))
3438 : return -1;
3439 : return 1;
3440 :
3441 420 : case E_DFmode:
3442 420 : if (!register_operand (operands[1], E_V2DFmode))
3443 : return -1;
3444 : return 2;
3445 :
3446 : default:
3447 : return -1;
3448 : }
3449 : }
3450 :
3451 : int
3452 19 : pattern894 (rtx x1, machine_mode i1, machine_mode i2)
3453 : {
3454 19 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3455 19 : rtx x2, x3;
3456 19 : int res ATTRIBUTE_UNUSED;
3457 19 : if (!register_operand (operands[0], i1)
3458 19 : || GET_MODE (x1) != i1)
3459 : return -1;
3460 19 : x2 = XEXP (x1, 0);
3461 19 : if (GET_MODE (x2) != i1)
3462 : return -1;
3463 19 : x3 = XEXP (x2, 0);
3464 19 : if (GET_MODE (x3) != i2
3465 19 : || !nonimmediate_operand (operands[1], i2)
3466 37 : || !register_operand (operands[2], i1))
3467 2 : return -1;
3468 : return 0;
3469 : }
3470 :
3471 : int
3472 901 : pattern904 (rtx x1, machine_mode i1)
3473 : {
3474 901 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3475 901 : rtx x2;
3476 901 : int res ATTRIBUTE_UNUSED;
3477 901 : if (!register_operand (operands[0], i1)
3478 901 : || GET_MODE (x1) != i1)
3479 : return -1;
3480 863 : x2 = XEXP (x1, 0);
3481 863 : if (GET_MODE (x2) != i1
3482 863 : || !nonimm_or_0_operand (operands[2], i1)
3483 1712 : || !register_operand (operands[3], E_QImode))
3484 58 : return -1;
3485 805 : switch (GET_MODE (operands[1]))
3486 : {
3487 378 : case E_V4SImode:
3488 378 : if (!nonimmediate_operand (operands[1], E_V4SImode))
3489 : return -1;
3490 : return 0;
3491 :
3492 427 : case E_V4DImode:
3493 427 : if (!nonimmediate_operand (operands[1], E_V4DImode))
3494 : return -1;
3495 : return 1;
3496 :
3497 : default:
3498 : return -1;
3499 : }
3500 : }
3501 :
3502 : int
3503 1286 : pattern914 (rtx x1)
3504 : {
3505 1286 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3506 1286 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3507 1286 : int res ATTRIBUTE_UNUSED;
3508 1286 : x2 = XVECEXP (x1, 0, 0);
3509 1286 : x3 = XEXP (x2, 0);
3510 1286 : x4 = XVECEXP (x3, 0, 0);
3511 1286 : operands[1] = x4;
3512 1286 : x5 = XVECEXP (x3, 0, 1);
3513 1286 : operands[2] = x5;
3514 1286 : x6 = XVECEXP (x1, 0, 1);
3515 1286 : if (!const_4_or_8_to_11_operand (x6, E_SImode))
3516 : return -1;
3517 1286 : x7 = XEXP (x2, 2);
3518 1286 : switch (GET_CODE (x7))
3519 : {
3520 926 : case UNSPEC:
3521 926 : if (XVECLEN (x7, 0) != 1
3522 926 : || XINT (x7, 1) != 224
3523 926 : || GET_MODE (x7) != E_SImode
3524 926 : || !register_operand (operands[0], E_V32HFmode)
3525 870 : || GET_MODE (x1) != E_V32HFmode
3526 870 : || GET_MODE (x2) != E_V32HFmode
3527 870 : || GET_MODE (x3) != E_V32HFmode
3528 870 : || !register_operand (operands[1], E_V32HFmode)
3529 1776 : || !register_operand (operands[2], E_V32HFmode))
3530 92 : return -1;
3531 834 : x8 = XEXP (x2, 1);
3532 834 : operands[3] = x8;
3533 834 : if (!nonimm_or_0_operand (operands[3], E_V32HFmode))
3534 : return -1;
3535 830 : x9 = XVECEXP (x7, 0, 0);
3536 830 : operands[4] = x9;
3537 830 : if (!register_operand (operands[4], E_HImode))
3538 : return -1;
3539 766 : operands[5] = x6;
3540 766 : return 0;
3541 :
3542 360 : case CONST_INT:
3543 360 : if (XWINT (x7, 0) != 3L
3544 360 : || !register_operand (operands[0], E_V8HFmode)
3545 334 : || GET_MODE (x1) != E_V8HFmode
3546 334 : || GET_MODE (x2) != E_V8HFmode
3547 334 : || GET_MODE (x3) != E_V8HFmode
3548 334 : || !nonimmediate_operand (operands[1], E_V8HFmode)
3549 694 : || !register_operand (operands[2], E_V8HFmode))
3550 36 : return -1;
3551 324 : operands[3] = x6;
3552 324 : x8 = XEXP (x2, 1);
3553 324 : if (!rtx_equal_p (x8, operands[1]))
3554 : return -1;
3555 : return 1;
3556 :
3557 : default:
3558 : return -1;
3559 : }
3560 : }
3561 :
3562 : int
3563 69264 : pattern934 (rtx x1, machine_mode i1)
3564 : {
3565 69264 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3566 69264 : int res ATTRIBUTE_UNUSED;
3567 69264 : if (!register_operand (operands[0], i1)
3568 68775 : || GET_MODE (x1) != i1
3569 68775 : || !bcst_vector_operand (operands[1], i1)
3570 137332 : || !vector_all_ones_operand (operands[2], i1))
3571 64554 : return -1;
3572 : return 0;
3573 : }
3574 :
3575 : int
3576 29970 : pattern936 (rtx x1, machine_mode i1)
3577 : {
3578 29970 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3579 29970 : rtx x2;
3580 29970 : int res ATTRIBUTE_UNUSED;
3581 29970 : if (!register_operand (operands[0], i1)
3582 29970 : || GET_MODE (x1) != i1)
3583 : return -1;
3584 29742 : x2 = XEXP (x1, 0);
3585 29742 : if (GET_MODE (x2) != i1
3586 29742 : || !nonimmediate_operand (operands[1], i1))
3587 3036 : return -1;
3588 : return 0;
3589 : }
3590 :
3591 : int
3592 253937 : pattern942 (rtx x1)
3593 : {
3594 253937 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3595 253937 : rtx x2, x3, x4, x5, x6;
3596 253937 : int res ATTRIBUTE_UNUSED;
3597 253937 : x2 = XEXP (x1, 0);
3598 253937 : operands[0] = x2;
3599 253937 : x3 = XEXP (x1, 1);
3600 253937 : x4 = XEXP (x3, 0);
3601 253937 : x5 = XEXP (x4, 0);
3602 253937 : operands[2] = x5;
3603 253937 : x6 = XEXP (x3, 1);
3604 253937 : operands[1] = x6;
3605 253937 : switch (GET_MODE (operands[0]))
3606 : {
3607 218161 : case E_DImode:
3608 218161 : return pattern941 (x3,
3609 : E_DImode,
3610 218161 : E_SImode); /* [-1, 0] */
3611 :
3612 2909 : case E_TImode:
3613 2909 : if (pattern941 (x3,
3614 : E_TImode,
3615 : E_DImode) != 0)
3616 : return -1;
3617 : return 1;
3618 :
3619 : default:
3620 : return -1;
3621 : }
3622 : }
3623 :
3624 : int
3625 7522 : pattern951 (rtx x1, rtx_code i1)
3626 : {
3627 7522 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3628 7522 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3629 7522 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
3630 7522 : rtx x18;
3631 7522 : int res ATTRIBUTE_UNUSED;
3632 7522 : x2 = XVECEXP (x1, 0, 0);
3633 7522 : x3 = XEXP (x2, 1);
3634 7522 : x4 = XEXP (x3, 0);
3635 7522 : x5 = XEXP (x4, 0);
3636 7522 : if (GET_CODE (x5) != SUBREG
3637 1470 : || maybe_ne (SUBREG_BYTE (x5), 0)
3638 8992 : || GET_MODE (x5) != E_QImode)
3639 : return -1;
3640 1470 : x6 = XEXP (x5, 0);
3641 1470 : switch (GET_CODE (x6))
3642 : {
3643 647 : case ASHIFTRT:
3644 647 : case LSHIFTRT:
3645 647 : case SIGN_EXTRACT:
3646 647 : case ZERO_EXTRACT:
3647 647 : operands[3] = x6;
3648 647 : x7 = XVECEXP (x1, 0, 1);
3649 647 : if (GET_CODE (x7) != SET)
3650 : return -1;
3651 400 : x8 = XEXP (x7, 1);
3652 400 : if (GET_CODE (x8) != SUBREG
3653 400 : || maybe_ne (SUBREG_BYTE (x8), 0))
3654 : return -1;
3655 0 : x9 = XEXP (x8, 0);
3656 0 : if (GET_CODE (x9) != i1
3657 0 : || GET_MODE (x9) != E_QImode)
3658 : return -1;
3659 0 : x10 = XEXP (x9, 0);
3660 0 : if (GET_CODE (x10) != SUBREG
3661 0 : || maybe_ne (SUBREG_BYTE (x10), 0)
3662 0 : || GET_MODE (x10) != E_QImode)
3663 : return -1;
3664 0 : x11 = XEXP (x10, 0);
3665 0 : if (GET_CODE (x11) != ZERO_EXTRACT)
3666 : return -1;
3667 0 : x12 = XEXP (x11, 1);
3668 0 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3669 : return -1;
3670 0 : x13 = XEXP (x11, 2);
3671 0 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3672 : return -1;
3673 0 : x14 = XEXP (x7, 0);
3674 0 : if (GET_CODE (x14) != ZERO_EXTRACT)
3675 : return -1;
3676 0 : x15 = XEXP (x14, 1);
3677 0 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3678 : return -1;
3679 0 : x16 = XEXP (x14, 2);
3680 0 : if (x16 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
3681 : return -1;
3682 0 : x17 = XEXP (x2, 0);
3683 0 : operands[4] = x17;
3684 0 : if (!flags_reg_operand (operands[4], E_VOIDmode))
3685 : return -1;
3686 0 : operands[5] = x3;
3687 0 : if (!compare_operator (operands[5], E_VOIDmode)
3688 0 : || GET_MODE (x4) != E_QImode)
3689 : return -1;
3690 0 : x18 = XEXP (x6, 0);
3691 0 : operands[1] = x18;
3692 0 : if (!int248_register_operand (operands[1], E_VOIDmode))
3693 : return -1;
3694 0 : return pattern588 (x7); /* [-1, 2] */
3695 :
3696 : default:
3697 : return -1;
3698 : }
3699 : }
3700 :
3701 : int
3702 1482 : pattern976 (rtx x1)
3703 : {
3704 1482 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3705 1482 : rtx x2, x3, x4, x5, x6, x7;
3706 1482 : int res ATTRIBUTE_UNUSED;
3707 1482 : x2 = XEXP (x1, 0);
3708 1482 : x3 = XEXP (x2, 1);
3709 1482 : if (XVECLEN (x3, 0) != 1)
3710 : return -1;
3711 1474 : x4 = XVECEXP (x3, 0, 0);
3712 1474 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3713 : return -1;
3714 350 : x5 = XEXP (x1, 1);
3715 350 : x6 = XEXP (x5, 1);
3716 350 : if (XVECLEN (x6, 0) != 1)
3717 : return -1;
3718 350 : x7 = XVECEXP (x6, 0, 0);
3719 350 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3720 147 : return -1;
3721 : return 0;
3722 : }
3723 :
3724 : int
3725 725 : pattern979 (rtx x1)
3726 : {
3727 725 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3728 725 : int res ATTRIBUTE_UNUSED;
3729 725 : if (!nonimmediate_operand (operands[0], E_BFmode)
3730 725 : || GET_MODE (x1) != E_BFmode)
3731 : return -1;
3732 725 : switch (GET_MODE (operands[1]))
3733 : {
3734 2 : case E_V32BFmode:
3735 2 : if (!nonimmediate_operand (operands[1], E_V32BFmode))
3736 : return -1;
3737 : return 0;
3738 :
3739 90 : case E_V16BFmode:
3740 90 : if (!nonimmediate_operand (operands[1], E_V16BFmode))
3741 : return -1;
3742 : return 1;
3743 :
3744 633 : case E_V8BFmode:
3745 633 : if (!nonimmediate_operand (operands[1], E_V8BFmode))
3746 : return -1;
3747 : return 2;
3748 :
3749 : default:
3750 : return -1;
3751 : }
3752 : }
3753 :
3754 : int
3755 66831 : pattern982 (rtx x1)
3756 : {
3757 66831 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3758 66831 : rtx x2, x3, x4, x5;
3759 66831 : int res ATTRIBUTE_UNUSED;
3760 66831 : x2 = XEXP (x1, 0);
3761 66831 : x3 = XEXP (x2, 0);
3762 66831 : if (GET_MODE (x3) != E_DImode)
3763 : return -1;
3764 66831 : x4 = XEXP (x3, 0);
3765 66831 : operands[1] = x4;
3766 66831 : if (!nonimmediate_operand (operands[1], E_SImode))
3767 : return -1;
3768 51524 : x5 = XEXP (x1, 1);
3769 51524 : return pattern259 (x5,
3770 : E_SImode,
3771 51524 : E_DImode); /* [-1, 1] */
3772 : }
3773 :
3774 : int
3775 369 : pattern987 (rtx x1, machine_mode i1)
3776 : {
3777 369 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3778 369 : rtx x2;
3779 369 : int res ATTRIBUTE_UNUSED;
3780 369 : if (!register_operand (operands[0], i1)
3781 369 : || GET_MODE (x1) != i1)
3782 : return -1;
3783 369 : x2 = XEXP (x1, 0);
3784 369 : return pattern986 (x2); /* [-1, 20] */
3785 : }
3786 :
3787 : int
3788 113455 : pattern989 (rtx x1, machine_mode i1)
3789 : {
3790 113455 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3791 113455 : rtx x2;
3792 113455 : int res ATTRIBUTE_UNUSED;
3793 113455 : if (!register_operand (operands[0], i1)
3794 113455 : || GET_MODE (x1) != i1)
3795 : return -1;
3796 113220 : x2 = XEXP (x1, 0);
3797 113220 : switch (GET_MODE (x2))
3798 : {
3799 75297 : case E_HImode:
3800 75297 : switch (GET_MODE (operands[1]))
3801 : {
3802 8967 : case E_V4HImode:
3803 8967 : if (!register_operand (operands[1], E_V4HImode)
3804 8967 : || !const_0_to_3_operand (operands[2], E_SImode))
3805 1920 : return -1;
3806 : return 0;
3807 :
3808 5631 : case E_V2HImode:
3809 5631 : if (!register_operand (operands[1], E_V2HImode)
3810 5631 : || !const_0_to_1_operand (operands[2], E_SImode))
3811 766 : return -1;
3812 : return 1;
3813 :
3814 59872 : case E_V8HImode:
3815 59872 : if (!register_operand (operands[1], E_V8HImode)
3816 59872 : || !const_0_to_7_operand (operands[2], E_SImode))
3817 8891 : return -1;
3818 : return 2;
3819 :
3820 : default:
3821 : return -1;
3822 : }
3823 :
3824 30325 : case E_QImode:
3825 30325 : res = pattern988 ();
3826 30325 : if (res >= 0)
3827 22747 : return res + 3; /* [3, 5] */
3828 : return -1;
3829 :
3830 : default:
3831 : return -1;
3832 : }
3833 : }
3834 :
3835 : int
3836 1528 : pattern999 (rtx x1)
3837 : {
3838 1528 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3839 1528 : rtx x2;
3840 1528 : int res ATTRIBUTE_UNUSED;
3841 1528 : if (!register_operand (operands[0], E_V4DImode)
3842 1528 : || GET_MODE (x1) != E_V4DImode)
3843 : return -1;
3844 1404 : x2 = XEXP (x1, 0);
3845 1404 : if (GET_MODE (x2) != E_V4DImode
3846 1404 : || !nonimm_or_0_operand (operands[2], E_V4DImode)
3847 2778 : || !register_operand (operands[3], E_QImode))
3848 106 : return -1;
3849 1298 : switch (GET_MODE (operands[1]))
3850 : {
3851 408 : case E_V8HFmode:
3852 408 : if (!register_operand (operands[1], E_V8HFmode))
3853 : return -1;
3854 : return 0;
3855 :
3856 446 : case E_V4DFmode:
3857 446 : if (!vector_operand (operands[1], E_V4DFmode))
3858 : return -1;
3859 : return 1;
3860 :
3861 444 : case E_V4SFmode:
3862 444 : if (!vector_operand (operands[1], E_V4SFmode))
3863 : return -1;
3864 : return 2;
3865 :
3866 : default:
3867 : return -1;
3868 : }
3869 : }
3870 :
3871 : int
3872 244 : pattern1009 (rtx x1)
3873 : {
3874 244 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3875 244 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3876 244 : int res ATTRIBUTE_UNUSED;
3877 244 : x2 = XEXP (x1, 0);
3878 244 : x3 = XEXP (x2, 1);
3879 244 : switch (GET_CODE (x3))
3880 : {
3881 180 : case REG:
3882 180 : case SUBREG:
3883 180 : case MEM:
3884 180 : x4 = XEXP (x2, 2);
3885 180 : operands[4] = x4;
3886 180 : switch (GET_MODE (operands[0]))
3887 : {
3888 110 : case E_V8HFmode:
3889 110 : return pattern1008 (x1,
3890 110 : E_V8HFmode); /* [-1, 0] */
3891 :
3892 35 : case E_V4SFmode:
3893 35 : if (pattern1008 (x1,
3894 : E_V4SFmode) != 0)
3895 : return -1;
3896 : return 1;
3897 :
3898 35 : case E_V2DFmode:
3899 35 : if (pattern1008 (x1,
3900 : E_V2DFmode) != 0)
3901 : return -1;
3902 : return 2;
3903 :
3904 : default:
3905 : return -1;
3906 : }
3907 :
3908 64 : case CONST_INT:
3909 64 : case CONST_DOUBLE:
3910 64 : case CONST_VECTOR:
3911 64 : operands[4] = x3;
3912 64 : x5 = XEXP (x2, 0);
3913 64 : x6 = XEXP (x5, 0);
3914 64 : x7 = XEXP (x6, 0);
3915 64 : operands[2] = x7;
3916 64 : x8 = XEXP (x5, 1);
3917 64 : operands[1] = x8;
3918 64 : x4 = XEXP (x2, 2);
3919 64 : operands[5] = x4;
3920 64 : x9 = XEXP (x1, 1);
3921 64 : if (!rtx_equal_p (x9, operands[1]))
3922 : return -1;
3923 64 : switch (GET_MODE (operands[0]))
3924 : {
3925 : case E_V8HFmode:
3926 : return 3;
3927 :
3928 : case E_V4SFmode:
3929 : return 4;
3930 :
3931 : case E_V2DFmode:
3932 : return 5;
3933 :
3934 : default:
3935 : return -1;
3936 : }
3937 :
3938 : default:
3939 : return -1;
3940 : }
3941 : }
3942 :
3943 : int
3944 122 : pattern1032 (rtx x1)
3945 : {
3946 122 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3947 122 : rtx x2;
3948 122 : int res ATTRIBUTE_UNUSED;
3949 122 : if (!register_operand (operands[0], E_V8HFmode)
3950 122 : || GET_MODE (x1) != E_V8HFmode)
3951 : return -1;
3952 118 : x2 = XVECEXP (x1, 0, 0);
3953 118 : if (GET_MODE (x2) != E_V8HFmode)
3954 : return -1;
3955 118 : switch (GET_MODE (operands[1]))
3956 : {
3957 0 : case E_V8HImode:
3958 0 : if (!register_operand (operands[1], E_V8HImode))
3959 : return -1;
3960 : return 0;
3961 :
3962 0 : case E_V8SImode:
3963 0 : if (!register_operand (operands[1], E_V8SImode))
3964 : return -1;
3965 : return 1;
3966 :
3967 118 : case E_V8DImode:
3968 118 : if (!register_operand (operands[1], E_V8DImode))
3969 : return -1;
3970 : return 2;
3971 :
3972 : default:
3973 : return -1;
3974 : }
3975 : }
3976 :
3977 : int
3978 26 : pattern1042 (rtx x1)
3979 : {
3980 26 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3981 26 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3982 26 : rtx x10;
3983 26 : int res ATTRIBUTE_UNUSED;
3984 26 : x2 = XEXP (x1, 0);
3985 26 : x3 = XEXP (x2, 0);
3986 26 : x4 = XEXP (x3, 0);
3987 26 : x5 = XEXP (x4, 1);
3988 26 : if (GET_CODE (x5) != CONST_VECTOR
3989 26 : || XVECLEN (x5, 0) != 4
3990 26 : || GET_MODE (x5) != E_V4SImode)
3991 : return -1;
3992 26 : x6 = XVECEXP (x5, 0, 0);
3993 26 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3994 : return -1;
3995 26 : x7 = XVECEXP (x5, 0, 1);
3996 26 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3997 : return -1;
3998 26 : x8 = XVECEXP (x5, 0, 2);
3999 26 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4000 : return -1;
4001 26 : x9 = XVECEXP (x5, 0, 3);
4002 26 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4003 : return -1;
4004 26 : x10 = XEXP (x4, 2);
4005 26 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
4006 26 : || GET_MODE (x4) != E_V4SImode)
4007 : return -1;
4008 26 : return pattern690 (x1); /* [-1, 2] */
4009 : }
4010 :
4011 : int
4012 407 : pattern1053 ()
4013 : {
4014 407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4015 407 : int res ATTRIBUTE_UNUSED;
4016 407 : switch (GET_MODE (operands[3]))
4017 : {
4018 87 : case E_HImode:
4019 87 : if (!extract_high_operator (operands[3], E_HImode)
4020 87 : || !extract_high_operator (operands[4], E_HImode))
4021 2 : return -1;
4022 : return 0;
4023 :
4024 227 : case E_SImode:
4025 227 : if (!extract_high_operator (operands[3], E_SImode)
4026 227 : || !extract_high_operator (operands[4], E_SImode))
4027 106 : return -1;
4028 : return 1;
4029 :
4030 93 : case E_DImode:
4031 93 : if (!extract_high_operator (operands[3], E_DImode)
4032 93 : || !extract_high_operator (operands[4], E_DImode))
4033 40 : return -1;
4034 : return 2;
4035 :
4036 : default:
4037 : return -1;
4038 : }
4039 : }
4040 :
4041 : int
4042 20848 : pattern1057 (rtx x1, machine_mode i1, machine_mode i2)
4043 : {
4044 20848 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4045 20848 : rtx x2, x3, x4, x5, x6;
4046 20848 : int res ATTRIBUTE_UNUSED;
4047 20848 : if (GET_MODE (x1) != i1)
4048 : return -1;
4049 20848 : x2 = XEXP (x1, 0);
4050 20848 : if (GET_MODE (x2) != i1)
4051 : return -1;
4052 20848 : x3 = XEXP (x1, 1);
4053 20848 : if (GET_MODE (x3) != i1)
4054 : return -1;
4055 20848 : x4 = XEXP (x3, 0);
4056 20848 : if (GET_MODE (x4) != i2)
4057 : return -1;
4058 20848 : x5 = XEXP (x4, 0);
4059 20848 : if (GET_MODE (x5) != i2)
4060 : return -1;
4061 20848 : x6 = XEXP (x5, 0);
4062 20848 : if (!register_operand (x6, i1))
4063 : return -1;
4064 : return 0;
4065 : }
4066 :
4067 : int
4068 5 : pattern1061 (rtx x1, machine_mode i1)
4069 : {
4070 5 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4071 5 : rtx x2;
4072 5 : int res ATTRIBUTE_UNUSED;
4073 5 : if (!register_operand (operands[0], i1)
4074 5 : || GET_MODE (x1) != i1)
4075 : return -1;
4076 5 : x2 = XEXP (x1, 0);
4077 5 : if (GET_MODE (x2) != i1
4078 5 : || !vector_operand (operands[1], i1)
4079 10 : || !vector_operand (operands[2], i1))
4080 0 : return -1;
4081 : return 0;
4082 : }
4083 :
4084 : int
4085 714 : pattern1065 (rtx x1)
4086 : {
4087 714 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4088 714 : rtx x2, x3, x4, x5, x6, x7, x8;
4089 714 : int res ATTRIBUTE_UNUSED;
4090 714 : x2 = XVECEXP (x1, 0, 0);
4091 714 : x3 = XEXP (x2, 0);
4092 714 : if (!register_operand (x3, E_DImode))
4093 : return -1;
4094 714 : x4 = XEXP (x2, 1);
4095 714 : x5 = XEXP (x4, 0);
4096 714 : if (GET_MODE (x5) != E_SImode)
4097 : return -1;
4098 714 : x6 = XVECEXP (x1, 0, 1);
4099 714 : x7 = XEXP (x6, 0);
4100 714 : if (!register_operand (x7, E_SImode))
4101 : return -1;
4102 714 : x8 = XEXP (x6, 1);
4103 714 : if (GET_MODE (x8) != E_SImode)
4104 : return -1;
4105 714 : switch (GET_CODE (x5))
4106 : {
4107 : case DIV:
4108 : return 0;
4109 :
4110 473 : case UDIV:
4111 473 : return 1;
4112 :
4113 52 : case MOD:
4114 52 : return 2;
4115 :
4116 142 : case UMOD:
4117 142 : return 3;
4118 :
4119 : default:
4120 : return -1;
4121 : }
4122 : }
4123 :
4124 : int
4125 2780211 : pattern1074 (rtx x1)
4126 : {
4127 2780211 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4128 2780211 : rtx x2, x3, x4, x5, x6;
4129 2780211 : int res ATTRIBUTE_UNUSED;
4130 2780211 : if (GET_CODE (x1) != SET)
4131 : return -1;
4132 2150500 : x2 = XEXP (x1, 0);
4133 2150500 : if (GET_CODE (x2) != ZERO_EXTRACT)
4134 : return -1;
4135 2 : x3 = XEXP (x2, 1);
4136 2 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4137 : return -1;
4138 2 : x4 = XEXP (x2, 2);
4139 2 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
4140 : return -1;
4141 2 : x5 = XEXP (x2, 0);
4142 2 : operands[2] = x5;
4143 2 : if (!int248_register_operand (operands[2], E_VOIDmode))
4144 : return -1;
4145 2 : x6 = XEXP (x1, 1);
4146 2 : operands[3] = x6;
4147 2 : switch (GET_MODE (x2))
4148 : {
4149 0 : case E_HImode:
4150 0 : if (!const_int_operand (operands[3], E_HImode))
4151 : return -1;
4152 : return 0;
4153 :
4154 2 : case E_SImode:
4155 2 : if (!const_int_operand (operands[3], E_SImode))
4156 : return -1;
4157 : return 1;
4158 :
4159 0 : case E_DImode:
4160 0 : if (!const_int_operand (operands[3], E_DImode))
4161 : return -1;
4162 : return 2;
4163 :
4164 : default:
4165 : return -1;
4166 : }
4167 : }
4168 :
4169 : int
4170 32298 : pattern1085 (rtx x1, machine_mode i1)
4171 : {
4172 32298 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4173 32298 : rtx x2;
4174 32298 : int res ATTRIBUTE_UNUSED;
4175 32298 : if (!register_operand (operands[0], i1)
4176 32298 : || GET_MODE (x1) != i1)
4177 : return -1;
4178 31739 : x2 = XEXP (x1, 0);
4179 31739 : if (GET_MODE (x2) != i1
4180 31739 : || !register_operand (operands[4], i1))
4181 3708 : return -1;
4182 : return 0;
4183 : }
4184 :
4185 : int
4186 17 : pattern1091 (rtx x1, machine_mode i1)
4187 : {
4188 17 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4189 17 : int res ATTRIBUTE_UNUSED;
4190 17 : if (!register_operand (operands[0], i1)
4191 17 : || GET_MODE (x1) != i1
4192 17 : || !register_operand (operands[1], i1)
4193 28 : || !general_operand (operands[2], i1))
4194 12 : return -1;
4195 : return 0;
4196 : }
4197 :
4198 : int
4199 189 : pattern1099 (rtx x1)
4200 : {
4201 189 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4202 189 : int res ATTRIBUTE_UNUSED;
4203 189 : switch (GET_MODE (x1))
4204 : {
4205 0 : case E_DImode:
4206 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4207 0 : || !nonimmediate_operand (operands[2], E_V64QImode))
4208 0 : return -1;
4209 : return 0;
4210 :
4211 46 : case E_HImode:
4212 46 : switch (GET_MODE (operands[1]))
4213 : {
4214 14 : case E_V16QImode:
4215 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
4216 14 : || !nonimmediate_operand (operands[2], E_V16QImode))
4217 2 : return -1;
4218 : return 1;
4219 :
4220 16 : case E_V16HImode:
4221 16 : if (!nonimmediate_operand (operands[1], E_V16HImode)
4222 16 : || !nonimmediate_operand (operands[2], E_V16HImode))
4223 2 : return -1;
4224 : return 2;
4225 :
4226 16 : case E_V16SImode:
4227 16 : if (!nonimmediate_operand (operands[1], E_V16SImode)
4228 16 : || !nonimmediate_operand (operands[2], E_V16SImode))
4229 2 : return -1;
4230 : return 3;
4231 :
4232 : default:
4233 : return -1;
4234 : }
4235 :
4236 14 : case E_SImode:
4237 14 : switch (GET_MODE (operands[1]))
4238 : {
4239 7 : case E_V32QImode:
4240 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4241 7 : || !nonimmediate_operand (operands[2], E_V32QImode))
4242 1 : return -1;
4243 : return 4;
4244 :
4245 7 : case E_V32HImode:
4246 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4247 7 : || !nonimmediate_operand (operands[2], E_V32HImode))
4248 1 : return -1;
4249 : return 5;
4250 :
4251 : default:
4252 : return -1;
4253 : }
4254 :
4255 129 : case E_QImode:
4256 129 : switch (GET_MODE (operands[1]))
4257 : {
4258 24 : case E_V8HImode:
4259 24 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4260 24 : || !nonimmediate_operand (operands[2], E_V8HImode))
4261 0 : return -1;
4262 : return 6;
4263 :
4264 21 : case E_V8SImode:
4265 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4266 21 : || !nonimmediate_operand (operands[2], E_V8SImode))
4267 3 : return -1;
4268 : return 7;
4269 :
4270 21 : case E_V4SImode:
4271 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4272 21 : || !nonimmediate_operand (operands[2], E_V4SImode))
4273 3 : return -1;
4274 : return 8;
4275 :
4276 21 : case E_V8DImode:
4277 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4278 21 : || !nonimmediate_operand (operands[2], E_V8DImode))
4279 3 : return -1;
4280 : return 9;
4281 :
4282 21 : case E_V4DImode:
4283 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4284 21 : || !nonimmediate_operand (operands[2], E_V4DImode))
4285 3 : return -1;
4286 : return 10;
4287 :
4288 21 : case E_V2DImode:
4289 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4290 21 : || !nonimmediate_operand (operands[2], E_V2DImode))
4291 3 : return -1;
4292 : return 11;
4293 :
4294 : default:
4295 : return -1;
4296 : }
4297 :
4298 : default:
4299 : return -1;
4300 : }
4301 : }
4302 :
4303 : int
4304 296 : pattern1132 (rtx x1, machine_mode i1, machine_mode i2)
4305 : {
4306 296 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4307 296 : rtx x2;
4308 296 : int res ATTRIBUTE_UNUSED;
4309 296 : if (!register_operand (operands[0], i2)
4310 287 : || GET_MODE (x1) != i2
4311 583 : || !register_operand (operands[1], i2))
4312 10 : return -1;
4313 286 : x2 = XEXP (x1, 1);
4314 286 : if (GET_MODE (x2) != i2
4315 286 : || !nonimmediate_operand (operands[2], i1))
4316 0 : return -1;
4317 : return 0;
4318 : }
4319 :
4320 : int
4321 964 : pattern1141 (rtx x1)
4322 : {
4323 964 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4324 964 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4325 964 : rtx x10, x11, x12;
4326 964 : int res ATTRIBUTE_UNUSED;
4327 964 : x2 = XVECEXP (x1, 0, 0);
4328 964 : x3 = XEXP (x2, 0);
4329 964 : x4 = XEXP (x3, 0);
4330 964 : if (GET_MODE (x4) != E_V8HFmode)
4331 : return -1;
4332 964 : x5 = XEXP (x3, 2);
4333 964 : if (GET_CODE (x5) != UNSPEC
4334 964 : || XVECLEN (x5, 0) != 1
4335 964 : || XINT (x5, 1) != 224
4336 964 : || GET_MODE (x5) != E_QImode)
4337 : return -1;
4338 964 : x6 = XEXP (x2, 2);
4339 964 : if (XWINT (x6, 0) != 3L
4340 964 : || !register_operand (operands[0], E_V8HFmode)
4341 900 : || GET_MODE (x1) != E_V8HFmode
4342 900 : || GET_MODE (x2) != E_V8HFmode
4343 1864 : || GET_MODE (x3) != E_V8HFmode)
4344 64 : return -1;
4345 900 : x7 = XVECEXP (x4, 0, 0);
4346 900 : operands[1] = x7;
4347 900 : if (!nonimmediate_operand (operands[1], E_V8HFmode))
4348 : return -1;
4349 900 : x8 = XVECEXP (x4, 0, 1);
4350 900 : operands[2] = x8;
4351 900 : if (!register_operand (operands[2], E_V8HFmode))
4352 : return -1;
4353 876 : x9 = XEXP (x3, 1);
4354 876 : operands[3] = x9;
4355 876 : if (!nonimm_or_0_operand (operands[3], E_V8HFmode))
4356 : return -1;
4357 876 : x10 = XVECEXP (x5, 0, 0);
4358 876 : operands[4] = x10;
4359 876 : if (!register_operand (operands[4], E_QImode))
4360 : return -1;
4361 796 : x11 = XVECEXP (x1, 0, 1);
4362 796 : operands[5] = x11;
4363 796 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode))
4364 : return -1;
4365 796 : x12 = XEXP (x2, 1);
4366 796 : if (!rtx_equal_p (x12, operands[1]))
4367 : return -1;
4368 : return 0;
4369 : }
4370 :
4371 : int
4372 2521 : pattern1162 (rtx x1)
4373 : {
4374 2521 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4375 2521 : int res ATTRIBUTE_UNUSED;
4376 2521 : switch (GET_MODE (operands[0]))
4377 : {
4378 469 : case E_SImode:
4379 469 : if (!register_operand (operands[0], E_SImode)
4380 469 : || GET_MODE (x1) != E_SImode)
4381 : return -1;
4382 459 : switch (GET_MODE (operands[1]))
4383 : {
4384 138 : case E_QImode:
4385 138 : if (!nonimmediate_operand (operands[1], E_QImode))
4386 : return -1;
4387 : return 0;
4388 :
4389 321 : case E_HImode:
4390 321 : if (!nonimmediate_operand (operands[1], E_HImode))
4391 : return -1;
4392 : return 1;
4393 :
4394 : default:
4395 : return -1;
4396 : }
4397 :
4398 124 : case E_HImode:
4399 124 : if (!register_operand (operands[0], E_HImode)
4400 124 : || GET_MODE (x1) != E_HImode
4401 248 : || !nonimmediate_operand (operands[1], E_QImode))
4402 18 : return -1;
4403 : return 2;
4404 :
4405 : default:
4406 : return -1;
4407 : }
4408 : }
4409 :
4410 : int
4411 33941 : pattern1175 (rtx x1)
4412 : {
4413 33941 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4414 33941 : rtx x2, x3, x4, x5;
4415 33941 : int res ATTRIBUTE_UNUSED;
4416 33941 : x2 = XEXP (x1, 0);
4417 33941 : operands[0] = x2;
4418 33941 : x3 = XEXP (x1, 1);
4419 33941 : x4 = XEXP (x3, 1);
4420 33941 : x5 = XEXP (x4, 0);
4421 33941 : operands[2] = x5;
4422 33941 : switch (GET_MODE (operands[0]))
4423 : {
4424 21197 : case E_DImode:
4425 21197 : return pattern1174 (x3,
4426 : E_SImode,
4427 21197 : E_DImode); /* [-1, 0] */
4428 :
4429 3144 : case E_TImode:
4430 3144 : if (pattern1174 (x3,
4431 : E_DImode,
4432 : E_TImode) != 0)
4433 : return -1;
4434 : return 1;
4435 :
4436 : default:
4437 : return -1;
4438 : }
4439 : }
4440 :
4441 : int
4442 11474 : pattern1183 (rtx x1)
4443 : {
4444 11474 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4445 11474 : rtx x2, x3, x4;
4446 11474 : int res ATTRIBUTE_UNUSED;
4447 11474 : x2 = XEXP (x1, 0);
4448 11474 : if (GET_MODE (x2) != E_SImode
4449 11442 : || !register_operand (operands[0], E_DImode)
4450 22916 : || GET_MODE (x1) != E_DImode)
4451 32 : return -1;
4452 11442 : x3 = XEXP (x2, 0);
4453 11442 : operands[1] = x3;
4454 11442 : if (!nonimmediate_operand (operands[1], E_SImode))
4455 : return -1;
4456 11415 : x4 = XEXP (x2, 1);
4457 11415 : operands[2] = x4;
4458 11415 : if (!register_operand (operands[2], E_QImode))
4459 : return -1;
4460 : return 0;
4461 : }
4462 :
4463 : int
4464 42 : pattern1192 (rtx x1, machine_mode i1)
4465 : {
4466 42 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4467 42 : int res ATTRIBUTE_UNUSED;
4468 42 : if (!register_operand (operands[0], i1)
4469 42 : || GET_MODE (x1) != i1
4470 42 : || !nonimmediate_operand (operands[2], i1)
4471 84 : || !nonimmediate_operand (operands[3], i1))
4472 0 : return -1;
4473 42 : return pattern1191 (); /* [-1, 3] */
4474 : }
4475 :
4476 : int
4477 183 : pattern1199 (rtx x1, machine_mode i1)
4478 : {
4479 183 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4480 183 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4481 183 : rtx x10, x11, x12;
4482 183 : int res ATTRIBUTE_UNUSED;
4483 183 : x2 = XVECEXP (x1, 0, 0);
4484 183 : x3 = XEXP (x2, 1);
4485 183 : x4 = XEXP (x3, 0);
4486 183 : if (!rtx_equal_p (x4, operands[0]))
4487 : return -1;
4488 183 : x5 = XVECEXP (x1, 0, 1);
4489 183 : x6 = XEXP (x5, 1);
4490 183 : if (GET_CODE (x6) != MINUS)
4491 : return -1;
4492 183 : x7 = XEXP (x2, 0);
4493 183 : if (GET_MODE (x7) != E_CCmode
4494 183 : || GET_MODE (x3) != E_CCmode)
4495 : return -1;
4496 183 : x8 = XEXP (x3, 1);
4497 183 : operands[2] = x8;
4498 183 : if (!memory_operand (operands[2], i1))
4499 : return -1;
4500 106 : x9 = XEXP (x6, 0);
4501 106 : if (!rtx_equal_p (x9, operands[0]))
4502 : return -1;
4503 106 : x10 = XEXP (x6, 1);
4504 106 : if (!rtx_equal_p (x10, operands[2]))
4505 : return -1;
4506 106 : x11 = PATTERN (peep2_next_insn (2));
4507 106 : x12 = XEXP (x11, 0);
4508 106 : if (!rtx_equal_p (x12, operands[1]))
4509 : return -1;
4510 : return 0;
4511 : }
4512 :
4513 : int
4514 1098822 : pattern1208 (rtx x1, machine_mode i1)
4515 : {
4516 1098822 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4517 1098822 : int res ATTRIBUTE_UNUSED;
4518 1098822 : if (!register_operand (operands[0], i1)
4519 1090678 : || GET_MODE (x1) != i1
4520 1090678 : || !ix86_comparison_operator (operands[1], E_VOIDmode)
4521 1090678 : || !nonimmediate_operand (operands[2], i1)
4522 2162077 : || !nonimmediate_operand (operands[3], i1))
4523 40761 : return -1;
4524 : return 0;
4525 : }
4526 :
4527 : int
4528 25551 : pattern1212 ()
4529 : {
4530 25551 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4531 25551 : int res ATTRIBUTE_UNUSED;
4532 25551 : switch (GET_MODE (operands[2]))
4533 : {
4534 931 : case E_HImode:
4535 931 : if (!extract_high_operator (operands[2], E_HImode))
4536 : return -1;
4537 : return 0;
4538 :
4539 11518 : case E_SImode:
4540 11518 : if (!extract_high_operator (operands[2], E_SImode))
4541 : return -1;
4542 : return 1;
4543 :
4544 13102 : case E_DImode:
4545 13102 : if (!extract_high_operator (operands[2], E_DImode))
4546 : return -1;
4547 : return 2;
4548 :
4549 : default:
4550 : return -1;
4551 : }
4552 : }
4553 :
4554 : int
4555 79449 : pattern1220 (rtx x1)
4556 : {
4557 79449 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4558 79449 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4559 79449 : int res ATTRIBUTE_UNUSED;
4560 79449 : switch (GET_CODE (x1))
4561 : {
4562 104 : case UNSPEC:
4563 104 : if (XVECLEN (x1, 0) != 2
4564 60 : || XINT (x1, 1) != 53
4565 14 : || GET_MODE (x1) != E_V16QImode)
4566 : return -1;
4567 14 : x2 = XVECEXP (x1, 0, 0);
4568 14 : operands[1] = x2;
4569 14 : if (!register_operand (operands[1], E_V16QImode))
4570 : return -1;
4571 14 : x3 = XVECEXP (x1, 0, 1);
4572 14 : operands[2] = x3;
4573 14 : return 0;
4574 :
4575 576 : case VEC_SELECT:
4576 576 : if (GET_MODE (x1) != E_V4SImode)
4577 : return -1;
4578 443 : x4 = XEXP (x1, 1);
4579 443 : if (GET_CODE (x4) != PARALLEL
4580 443 : || XVECLEN (x4, 0) != 4)
4581 : return -1;
4582 443 : x5 = XVECEXP (x4, 0, 0);
4583 443 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4584 : return -1;
4585 241 : x6 = XVECEXP (x4, 0, 1);
4586 241 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
4587 : return -1;
4588 116 : x7 = XVECEXP (x4, 0, 2);
4589 116 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
4590 : return -1;
4591 6 : x8 = XVECEXP (x4, 0, 3);
4592 6 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
4593 : return -1;
4594 6 : x9 = XEXP (x1, 0);
4595 6 : operands[1] = x9;
4596 6 : if (!register_operand (operands[1], E_V4SImode))
4597 : return -1;
4598 : return 1;
4599 :
4600 : default:
4601 : return -1;
4602 : }
4603 : }
4604 :
4605 : int
4606 8343 : pattern1239 (rtx x1, machine_mode i1, machine_mode i2)
4607 : {
4608 8343 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4609 8343 : rtx x2;
4610 8343 : int res ATTRIBUTE_UNUSED;
4611 8343 : if (!register_operand (operands[0], i2)
4612 8343 : || GET_MODE (x1) != i2)
4613 : return -1;
4614 8340 : x2 = XEXP (x1, 0);
4615 8340 : if (GET_MODE (x2) != i1
4616 8340 : || !register_operand (operands[1], i1))
4617 85 : return -1;
4618 : return 0;
4619 : }
4620 :
4621 : int
4622 54342 : pattern1242 (rtx x1)
4623 : {
4624 54342 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4625 54342 : rtx x2, x3;
4626 54342 : int res ATTRIBUTE_UNUSED;
4627 54342 : switch (GET_CODE (x1))
4628 : {
4629 11172 : case AND:
4630 11172 : x2 = XEXP (x1, 0);
4631 11172 : operands[2] = x2;
4632 11172 : if (!int248_register_operand (operands[2], E_VOIDmode))
4633 : return -1;
4634 8839 : x3 = XEXP (x1, 1);
4635 8839 : operands[3] = x3;
4636 8839 : if (!const_int_operand (operands[3], E_VOIDmode))
4637 : return -1;
4638 : return 0;
4639 :
4640 0 : case PLUS:
4641 0 : x2 = XEXP (x1, 0);
4642 0 : operands[2] = x2;
4643 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
4644 : return -1;
4645 0 : x3 = XEXP (x1, 1);
4646 0 : operands[3] = x3;
4647 0 : if (!const_int_operand (operands[3], E_VOIDmode))
4648 : return -1;
4649 : return 1;
4650 :
4651 0 : case MINUS:
4652 0 : x2 = XEXP (x1, 0);
4653 0 : operands[3] = x2;
4654 0 : if (!const_int_operand (operands[3], E_VOIDmode))
4655 : return -1;
4656 0 : x3 = XEXP (x1, 1);
4657 0 : operands[2] = x3;
4658 0 : if (!int248_register_operand (operands[2], E_VOIDmode))
4659 : return -1;
4660 : return 2;
4661 :
4662 : default:
4663 : return -1;
4664 : }
4665 : }
4666 :
4667 : int
4668 10149 : pattern1253 (rtx x1)
4669 : {
4670 10149 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4671 10149 : rtx x2, x3, x4, x5, x6, x7, x8;
4672 10149 : int res ATTRIBUTE_UNUSED;
4673 10149 : x2 = XEXP (x1, 1);
4674 10149 : x3 = XEXP (x2, 1);
4675 10149 : switch (GET_CODE (x3))
4676 : {
4677 6557 : case CONST_INT:
4678 6557 : operands[3] = x3;
4679 6557 : x4 = XEXP (x1, 0);
4680 6557 : x5 = XEXP (x4, 0);
4681 6557 : operands[4] = x5;
4682 6557 : x6 = XEXP (x4, 1);
4683 6557 : operands[2] = x6;
4684 6557 : x7 = XEXP (x2, 0);
4685 6557 : operands[1] = x7;
4686 6557 : switch (GET_MODE (operands[0]))
4687 : {
4688 4033 : case E_DImode:
4689 4033 : if (!nonimmediate_operand (operands[0], E_DImode)
4690 4030 : || GET_MODE (x1) != E_DImode
4691 4030 : || GET_MODE (x4) != E_DImode
4692 4030 : || !nonimmediate_operand (operands[4], E_DImode)
4693 3680 : || !const_0_to_63_operand (operands[2], E_QImode)
4694 3680 : || GET_MODE (x2) != E_DImode
4695 3680 : || !nonimmediate_operand (operands[1], E_DImode)
4696 7180 : || !const_0_to_63_operand (operands[3], E_QImode))
4697 886 : return -1;
4698 : return 0;
4699 :
4700 1526 : case E_SImode:
4701 1526 : if (!nonimmediate_operand (operands[0], E_SImode)
4702 1526 : || GET_MODE (x1) != E_SImode
4703 1526 : || GET_MODE (x4) != E_SImode
4704 1526 : || !nonimmediate_operand (operands[4], E_SImode)
4705 1478 : || !const_0_to_31_operand (operands[2], E_QImode)
4706 1478 : || GET_MODE (x2) != E_SImode
4707 1478 : || !nonimmediate_operand (operands[1], E_SImode)
4708 2972 : || !const_0_to_31_operand (operands[3], E_QImode))
4709 80 : return -1;
4710 : return 1;
4711 :
4712 : default:
4713 : return -1;
4714 : }
4715 :
4716 500 : case MINUS:
4717 500 : if (GET_MODE (x3) != E_QImode)
4718 : return -1;
4719 500 : x8 = XEXP (x3, 0);
4720 500 : if (GET_CODE (x8) != CONST_INT)
4721 : return -1;
4722 230 : x4 = XEXP (x1, 0);
4723 230 : x6 = XEXP (x4, 1);
4724 230 : if (!nonmemory_operand (x6, E_QImode))
4725 : return -1;
4726 223 : switch (XWINT (x8, 0))
4727 : {
4728 176 : case 64L:
4729 176 : if (pattern1252 (x1,
4730 : E_DImode) != 0)
4731 : return -1;
4732 : return 2;
4733 :
4734 35 : case 32L:
4735 35 : if (pattern1252 (x1,
4736 : E_SImode) != 0)
4737 : return -1;
4738 : return 3;
4739 :
4740 : default:
4741 : return -1;
4742 : }
4743 :
4744 : default:
4745 : return -1;
4746 : }
4747 : }
4748 :
4749 : int
4750 665 : pattern1283 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
4751 : {
4752 665 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4753 665 : rtx x2;
4754 665 : int res ATTRIBUTE_UNUSED;
4755 665 : if (!register_operand (operands[0], i1)
4756 665 : || GET_MODE (x1) != i1)
4757 : return -1;
4758 620 : x2 = XEXP (x1, 0);
4759 620 : if (GET_MODE (x2) != i1
4760 620 : || !register_operand (operands[1], i3)
4761 1236 : || pattern483 (
4762 : i1,
4763 : i2) != 0)
4764 34 : return -1;
4765 : return 0;
4766 : }
4767 :
4768 : int
4769 442 : pattern1290 (rtx x1)
4770 : {
4771 442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4772 442 : rtx x2, x3;
4773 442 : int res ATTRIBUTE_UNUSED;
4774 442 : x2 = XEXP (x1, 0);
4775 442 : x3 = XEXP (x2, 0);
4776 442 : if (GET_MODE (x3) != E_V8HFmode
4777 442 : || !register_operand (operands[0], E_V8HFmode)
4778 430 : || GET_MODE (x1) != E_V8HFmode
4779 430 : || GET_MODE (x2) != E_V8HFmode
4780 430 : || !nonimmediate_operand (operands[1], E_V8HFmode)
4781 430 : || !nonimm_or_0_operand (operands[3], E_V8HFmode)
4782 872 : || !register_operand (operands[2], E_V8HFmode))
4783 12 : return -1;
4784 : return 0;
4785 : }
4786 :
4787 : int
4788 2048 : pattern1298 (rtx x1, machine_mode i1, machine_mode i2)
4789 : {
4790 2048 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4791 2048 : rtx x2, x3;
4792 2048 : int res ATTRIBUTE_UNUSED;
4793 2048 : if (!register_operand (operands[0], i1)
4794 2048 : || GET_MODE (x1) != i1)
4795 : return -1;
4796 1917 : x2 = XEXP (x1, 0);
4797 1917 : if (GET_MODE (x2) != i1
4798 1917 : || !vector_operand (operands[2], i1))
4799 4 : return -1;
4800 1913 : x3 = XEXP (x2, 2);
4801 1913 : if (GET_MODE (x3) != i1
4802 1913 : || !register_operand (operands[4], i2))
4803 0 : return -1;
4804 : return 0;
4805 : }
4806 :
4807 : int
4808 460 : pattern1307 (rtx x1, int i1, int i2, int i3, int i4)
4809 : {
4810 460 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4811 460 : rtx x2, x3, x4, x5;
4812 460 : int res ATTRIBUTE_UNUSED;
4813 460 : x2 = XVECEXP (x1, 0, 8);
4814 460 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
4815 : return -1;
4816 460 : x3 = XVECEXP (x1, 0, 9);
4817 460 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
4818 : return -1;
4819 460 : x4 = XVECEXP (x1, 0, 10);
4820 460 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
4821 : return -1;
4822 460 : x5 = XVECEXP (x1, 0, 11);
4823 460 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
4824 0 : return -1;
4825 : return 0;
4826 : }
4827 :
4828 : int
4829 900 : pattern1315 (rtx x1)
4830 : {
4831 900 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4832 900 : rtx x2, x3;
4833 900 : int res ATTRIBUTE_UNUSED;
4834 900 : if (!register_operand (operands[0], E_V8HFmode)
4835 900 : || GET_MODE (x1) != E_V8HFmode)
4836 : return -1;
4837 870 : x2 = XVECEXP (x1, 0, 0);
4838 870 : if (GET_MODE (x2) != E_V8HFmode)
4839 : return -1;
4840 870 : x3 = XEXP (x2, 0);
4841 870 : if (GET_MODE (x3) != E_V8HFmode
4842 870 : || !nonimm_or_0_operand (operands[2], E_V8HFmode)
4843 1738 : || !register_operand (operands[3], E_QImode))
4844 24 : return -1;
4845 846 : switch (GET_MODE (operands[1]))
4846 : {
4847 0 : case E_V8HImode:
4848 0 : if (!register_operand (operands[1], E_V8HImode))
4849 : return -1;
4850 : return 0;
4851 :
4852 0 : case E_V8SImode:
4853 0 : if (!register_operand (operands[1], E_V8SImode))
4854 : return -1;
4855 : return 1;
4856 :
4857 846 : case E_V8DImode:
4858 846 : if (!register_operand (operands[1], E_V8DImode))
4859 : return -1;
4860 : return 2;
4861 :
4862 : default:
4863 : return -1;
4864 : }
4865 : }
4866 :
4867 : int
4868 3 : pattern1327 (rtx x1)
4869 : {
4870 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4871 3 : rtx x2, x3, x4, x5, x6;
4872 3 : int res ATTRIBUTE_UNUSED;
4873 3 : x2 = XVECEXP (x1, 0, 1);
4874 3 : x3 = XEXP (x2, 1);
4875 3 : x4 = XEXP (x3, 0);
4876 3 : operands[2] = x4;
4877 3 : if (!nonimmediate_operand (operands[2], E_SImode))
4878 : return -1;
4879 3 : switch (GET_MODE (operands[0]))
4880 : {
4881 0 : case E_SImode:
4882 0 : if (!memory_operand (operands[0], E_SImode))
4883 : return -1;
4884 0 : x5 = XVECEXP (x1, 0, 0);
4885 0 : x6 = XEXP (x5, 1);
4886 0 : if (GET_MODE (x6) != E_SImode
4887 0 : || !memory_operand (operands[3], E_SImode))
4888 0 : return -1;
4889 : return 0;
4890 :
4891 3 : case E_DImode:
4892 3 : if (!memory_operand (operands[0], E_DImode))
4893 : return -1;
4894 3 : x5 = XVECEXP (x1, 0, 0);
4895 3 : x6 = XEXP (x5, 1);
4896 3 : if (GET_MODE (x6) != E_DImode
4897 3 : || !memory_operand (operands[3], E_DImode))
4898 0 : return -1;
4899 : return 1;
4900 :
4901 : default:
4902 : return -1;
4903 : }
4904 : }
4905 :
4906 : int
4907 323 : pattern1339 (rtx x1, machine_mode i1)
4908 : {
4909 323 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4910 323 : rtx x2;
4911 323 : int res ATTRIBUTE_UNUSED;
4912 323 : if (!register_operand (operands[0], i1)
4913 323 : || GET_MODE (x1) != i1)
4914 : return -1;
4915 323 : x2 = XEXP (x1, 0);
4916 323 : if (GET_MODE (x2) != i1
4917 323 : || !register_operand (operands[1], i1)
4918 646 : || !register_operand (operands[2], i1))
4919 0 : return -1;
4920 : return 0;
4921 : }
4922 :
4923 : int
4924 184 : pattern1344 (rtx x1)
4925 : {
4926 184 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4927 184 : rtx x2, x3, x4;
4928 184 : int res ATTRIBUTE_UNUSED;
4929 184 : x2 = XEXP (x1, 0);
4930 184 : x3 = XEXP (x2, 0);
4931 184 : operands[0] = x3;
4932 184 : if (!nonmemory_operand (operands[2], E_QImode))
4933 : return -1;
4934 177 : x4 = XEXP (x1, 1);
4935 177 : return pattern377 (x4); /* [-1, 1] */
4936 : }
4937 :
4938 : int
4939 0 : pattern1352 (rtx x1)
4940 : {
4941 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4942 0 : rtx x2, x3, x4, x5, x6;
4943 0 : int res ATTRIBUTE_UNUSED;
4944 0 : x2 = XEXP (x1, 1);
4945 0 : if (GET_CODE (x2) != CALL)
4946 : return -1;
4947 0 : x3 = XEXP (x2, 0);
4948 0 : if (GET_CODE (x3) != MEM
4949 0 : || GET_MODE (x3) != E_QImode)
4950 : return -1;
4951 0 : x4 = XEXP (x1, 0);
4952 0 : operands[2] = x4;
4953 0 : x5 = XEXP (x2, 1);
4954 0 : operands[3] = x5;
4955 0 : x6 = XEXP (x3, 0);
4956 0 : if (!rtx_equal_p (x6, operands[0]))
4957 : return -1;
4958 : return 0;
4959 : }
4960 :
4961 : int
4962 120909 : pattern1358 (rtx x1)
4963 : {
4964 120909 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4965 120909 : rtx x2, x3, x4, x5, x6, x7;
4966 120909 : int res ATTRIBUTE_UNUSED;
4967 120909 : x2 = XEXP (x1, 1);
4968 120909 : x3 = XEXP (x2, 0);
4969 120909 : if (!rtx_equal_p (x3, operands[0]))
4970 : return -1;
4971 77671 : x4 = XEXP (x1, 0);
4972 77671 : if (!rtx_equal_p (x4, operands[0]))
4973 : return -1;
4974 76924 : x5 = PATTERN (peep2_next_insn (2));
4975 76924 : if (GET_CODE (x5) != SET)
4976 : return -1;
4977 55843 : x6 = XEXP (x5, 1);
4978 55843 : if (!rtx_equal_p (x6, operands[0]))
4979 : return -1;
4980 14232 : x7 = PATTERN (peep2_next_insn (3));
4981 14232 : if (GET_CODE (x7) != SET)
4982 : return -1;
4983 : return 0;
4984 : }
4985 :
4986 : int
4987 12 : pattern1367 (rtx x1, machine_mode i1)
4988 : {
4989 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4990 12 : rtx x2;
4991 12 : int res ATTRIBUTE_UNUSED;
4992 12 : if (!register_operand (operands[0], i1)
4993 12 : || GET_MODE (x1) != i1)
4994 : return -1;
4995 12 : x2 = XEXP (x1, 0);
4996 12 : if (GET_MODE (x2) != i1
4997 12 : || !nonimmediate_operand (operands[1], i1))
4998 0 : return -1;
4999 : return 0;
5000 : }
5001 :
5002 : int
5003 98 : pattern1373 (rtx x1)
5004 : {
5005 98 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5006 98 : rtx x2, x3, x4, x5, x6, x7, x8;
5007 98 : int res ATTRIBUTE_UNUSED;
5008 98 : if (!nonimmediate_operand (operands[0], E_SImode))
5009 : return -1;
5010 98 : x2 = XEXP (x1, 1);
5011 98 : if (GET_MODE (x2) != E_SImode)
5012 : return -1;
5013 98 : x3 = XEXP (x2, 0);
5014 98 : if (GET_MODE (x3) != E_DImode)
5015 : return -1;
5016 98 : x4 = XEXP (x3, 0);
5017 98 : if (GET_MODE (x4) != E_DImode)
5018 : return -1;
5019 98 : x5 = XEXP (x4, 0);
5020 98 : operands[1] = x5;
5021 98 : if (!register_operand (operands[1], E_SImode))
5022 : return -1;
5023 98 : x6 = XEXP (x3, 1);
5024 98 : operands[3] = x6;
5025 98 : if (!const_0_to_63_operand (operands[3], E_QImode))
5026 : return -1;
5027 98 : x7 = XEXP (x1, 0);
5028 98 : x8 = XEXP (x7, 0);
5029 98 : if (!rtx_equal_p (x8, operands[0]))
5030 : return -1;
5031 : return 0;
5032 : }
5033 :
5034 : int
5035 36 : pattern1381 (rtx x1, machine_mode i1, machine_mode i2)
5036 : {
5037 36 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5038 36 : rtx x2, x3, x4, x5, x6, x7, x8;
5039 36 : int res ATTRIBUTE_UNUSED;
5040 36 : x2 = XEXP (x1, 0);
5041 36 : x3 = XEXP (x2, 0);
5042 36 : x4 = XEXP (x3, 0);
5043 36 : x5 = XEXP (x4, 0);
5044 36 : operands[2] = x5;
5045 36 : if (!nonimmediate_operand (operands[2], i2))
5046 : return -1;
5047 36 : x6 = XEXP (x2, 1);
5048 36 : operands[1] = x6;
5049 36 : if (!register_operand (operands[1], i1))
5050 : return -1;
5051 36 : x7 = XEXP (x1, 1);
5052 36 : operands[3] = x7;
5053 36 : if (!nonimm_or_0_operand (operands[3], i1))
5054 : return -1;
5055 36 : x8 = XEXP (x1, 2);
5056 36 : operands[4] = x8;
5057 36 : if (!register_operand (operands[4], E_QImode))
5058 : return -1;
5059 : return 0;
5060 : }
5061 :
5062 : int
5063 50 : pattern1394 (rtx x1, machine_mode i1)
5064 : {
5065 50 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5066 50 : rtx x2, x3;
5067 50 : int res ATTRIBUTE_UNUSED;
5068 50 : if (!register_operand (operands[0], i1)
5069 50 : || GET_MODE (x1) != i1)
5070 : return -1;
5071 50 : x2 = XEXP (x1, 0);
5072 50 : if (GET_MODE (x2) != i1
5073 50 : || !nonimmediate_operand (operands[1], i1))
5074 0 : return -1;
5075 50 : x3 = XEXP (x2, 2);
5076 50 : return pattern1393 (x3,
5077 50 : i1); /* [-1, 0] */
5078 : }
5079 :
5080 : int
5081 10 : pattern1403 (rtx x1, machine_mode i1)
5082 : {
5083 10 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5084 10 : rtx x2, x3, x4;
5085 10 : int res ATTRIBUTE_UNUSED;
5086 10 : if (!register_operand (operands[0], i1)
5087 10 : || GET_MODE (x1) != i1)
5088 : return -1;
5089 10 : x2 = XEXP (x1, 0);
5090 10 : if (GET_MODE (x2) != i1)
5091 : return -1;
5092 10 : x3 = XEXP (x2, 0);
5093 10 : if (GET_MODE (x3) != i1
5094 10 : || !nonimmediate_operand (operands[1], i1))
5095 0 : return -1;
5096 10 : x4 = XEXP (x2, 2);
5097 10 : return pattern1393 (x4,
5098 10 : i1); /* [-1, 0] */
5099 : }
5100 :
5101 : int
5102 1136 : pattern1412 (rtx x1, machine_mode i1, machine_mode i2)
5103 : {
5104 1136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5105 1136 : rtx x2, x3;
5106 1136 : int res ATTRIBUTE_UNUSED;
5107 1136 : if (!register_operand (operands[0], i2)
5108 1136 : || GET_MODE (x1) != i2)
5109 : return -1;
5110 1116 : x2 = XVECEXP (x1, 0, 0);
5111 1116 : if (GET_MODE (x2) != i2)
5112 : return -1;
5113 1116 : x3 = XEXP (x2, 0);
5114 1116 : if (GET_MODE (x3) != i2
5115 1116 : || !register_operand (operands[1], i2)
5116 1108 : || !nonimm_or_0_operand (operands[2], i2)
5117 2223 : || !register_operand (operands[3], i1))
5118 9 : return -1;
5119 : return 0;
5120 : }
5121 :
5122 : int
5123 3624 : pattern1419 (rtx x1)
5124 : {
5125 3624 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5126 3624 : rtx x2, x3, x4, x5;
5127 3624 : int res ATTRIBUTE_UNUSED;
5128 3624 : x2 = XVECEXP (x1, 0, 0);
5129 3624 : x3 = XEXP (x2, 2);
5130 3624 : switch (GET_CODE (x3))
5131 : {
5132 2471 : case REG:
5133 2471 : case SUBREG:
5134 2471 : operands[4] = x3;
5135 2471 : x4 = XVECEXP (x1, 0, 1);
5136 2471 : operands[5] = x4;
5137 2471 : switch (GET_MODE (operands[0]))
5138 : {
5139 : case E_V32HFmode:
5140 : return 0;
5141 :
5142 788 : case E_V16SFmode:
5143 788 : return 1;
5144 :
5145 789 : case E_V8DFmode:
5146 789 : return 2;
5147 :
5148 0 : case E_V16HFmode:
5149 0 : return 3;
5150 :
5151 0 : case E_V8HFmode:
5152 0 : return 4;
5153 :
5154 0 : case E_V8SFmode:
5155 0 : return 5;
5156 :
5157 0 : case E_V4SFmode:
5158 0 : return 6;
5159 :
5160 0 : case E_V4DFmode:
5161 0 : return 7;
5162 :
5163 0 : case E_V2DFmode:
5164 0 : return 8;
5165 :
5166 : default:
5167 : return -1;
5168 : }
5169 :
5170 1149 : case CONST_INT:
5171 1149 : if (XWINT (x3, 0) != 1L)
5172 : return -1;
5173 1131 : x4 = XVECEXP (x1, 0, 1);
5174 1131 : operands[4] = x4;
5175 1131 : x5 = XEXP (x2, 1);
5176 1131 : if (!rtx_equal_p (x5, operands[1]))
5177 : return -1;
5178 1110 : switch (GET_MODE (operands[0]))
5179 : {
5180 : case E_V8HFmode:
5181 : return 9;
5182 :
5183 : case E_V4SFmode:
5184 : return 10;
5185 :
5186 : case E_V2DFmode:
5187 : return 11;
5188 :
5189 : default:
5190 : return -1;
5191 : }
5192 :
5193 : default:
5194 : return -1;
5195 : }
5196 : }
5197 :
5198 : int
5199 34 : pattern1442 (rtx x1, machine_mode i1)
5200 : {
5201 34 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5202 34 : rtx x2;
5203 34 : int res ATTRIBUTE_UNUSED;
5204 34 : if (!register_operand (operands[0], i1)
5205 34 : || GET_MODE (x1) != i1)
5206 : return -1;
5207 34 : x2 = XEXP (x1, 0);
5208 34 : if (GET_MODE (x2) != i1
5209 34 : || !nonimmediate_operand (operands[1], i1))
5210 0 : return -1;
5211 : return 0;
5212 : }
5213 :
5214 : int
5215 85929 : pattern1449 (rtx x1, machine_mode i1)
5216 : {
5217 85929 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5218 85929 : rtx x2;
5219 85929 : int res ATTRIBUTE_UNUSED;
5220 85929 : if (!memory_operand (operands[0], i1)
5221 85929 : || GET_MODE (x1) != i1)
5222 : return -1;
5223 83790 : x2 = XVECEXP (x1, 0, 0);
5224 83790 : if (GET_MODE (x2) != i1
5225 83790 : || !nonmemory_operand (operands[1], i1))
5226 1358 : return -1;
5227 : return 0;
5228 : }
5229 :
5230 : int
5231 3995 : pattern1456 (rtx x1, machine_mode i1)
5232 : {
5233 3995 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5234 3995 : rtx x2, x3;
5235 3995 : int res ATTRIBUTE_UNUSED;
5236 3995 : if (!register_operand (operands[0], i1)
5237 3995 : || !addsub_vm_operator (operands[6], i1))
5238 0 : return -1;
5239 3995 : x2 = XEXP (x1, 0);
5240 3995 : if (GET_MODE (x2) != i1
5241 3995 : || !register_operand (operands[1], i1)
5242 7990 : || !vector_operand (operands[2], i1))
5243 0 : return -1;
5244 3995 : x3 = XEXP (x1, 1);
5245 3995 : if (GET_MODE (x3) != i1
5246 3995 : || !vector_operand (operands[3], i1)
5247 7990 : || !vector_operand (operands[4], i1))
5248 0 : return -1;
5249 : return 0;
5250 : }
5251 :
5252 : int
5253 2394 : pattern1463 (rtx x1)
5254 : {
5255 2394 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5256 2394 : rtx x2, x3;
5257 2394 : int res ATTRIBUTE_UNUSED;
5258 2394 : if (!register_operand (operands[0], E_QImode)
5259 2394 : || GET_MODE (x1) != E_QImode)
5260 : return -1;
5261 2382 : x2 = XVECEXP (x1, 0, 0);
5262 2382 : if (GET_MODE (x2) != E_QImode)
5263 : return -1;
5264 2382 : x3 = XEXP (x2, 0);
5265 2382 : if (GET_MODE (x3) != E_QImode
5266 2382 : || !const_0_to_31_operand (operands[3], E_SImode))
5267 0 : return -1;
5268 : return 0;
5269 : }
5270 :
5271 : int
5272 128 : pattern1470 (rtx x1, machine_mode i1, machine_mode i2)
5273 : {
5274 128 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5275 128 : rtx x2, x3, x4;
5276 128 : int res ATTRIBUTE_UNUSED;
5277 128 : if (!register_operand (operands[0], i1)
5278 128 : || GET_MODE (x1) != i1)
5279 : return -1;
5280 116 : x2 = XEXP (x1, 0);
5281 116 : if (GET_MODE (x2) != i1)
5282 : return -1;
5283 116 : x3 = XEXP (x2, 0);
5284 116 : if (GET_MODE (x3) != i1)
5285 : return -1;
5286 116 : x4 = XEXP (x3, 0);
5287 116 : if (GET_MODE (x4) != i2
5288 116 : || !nonimm_or_0_operand (operands[3], i1)
5289 232 : || !register_operand (operands[2], i1))
5290 0 : return -1;
5291 : return 0;
5292 : }
5293 :
5294 : int
5295 1068 : pattern1479 (rtx x1)
5296 : {
5297 1068 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5298 1068 : rtx x2, x3, x4, x5;
5299 1068 : int res ATTRIBUTE_UNUSED;
5300 1068 : x2 = XEXP (x1, 2);
5301 1068 : x3 = XVECEXP (x2, 0, 0);
5302 1068 : if (maybe_ne (SUBREG_BYTE (x3), 0))
5303 : return -1;
5304 1068 : x4 = XEXP (x3, 0);
5305 1068 : if (GET_CODE (x4) != NOT)
5306 : return -1;
5307 75 : x5 = XEXP (x4, 0);
5308 75 : operands[3] = x5;
5309 75 : if (!const_0_to_7_operand (operands[5], E_SImode))
5310 : return -1;
5311 75 : switch (GET_MODE (operands[0]))
5312 : {
5313 48 : case E_V4SImode:
5314 48 : return pattern1477 (x1,
5315 : E_V4SImode,
5316 48 : E_V16QImode); /* [-1, 0] */
5317 :
5318 0 : case E_V2DImode:
5319 0 : if (pattern1477 (x1,
5320 : E_V2DImode,
5321 : E_V16QImode) != 0)
5322 : return -1;
5323 : return 1;
5324 :
5325 0 : case E_V8SImode:
5326 0 : if (pattern1477 (x1,
5327 : E_V8SImode,
5328 : E_V32QImode) != 0)
5329 : return -1;
5330 : return 2;
5331 :
5332 0 : case E_V4DImode:
5333 0 : if (pattern1477 (x1,
5334 : E_V4DImode,
5335 : E_V32QImode) != 0)
5336 : return -1;
5337 : return 3;
5338 :
5339 22 : case E_V32QImode:
5340 22 : if (pattern1478 (x1,
5341 : E_V32QImode,
5342 : E_SImode) != 0)
5343 : return -1;
5344 : return 4;
5345 :
5346 5 : case E_V16QImode:
5347 5 : if (pattern1478 (x1,
5348 : E_V16QImode,
5349 : E_HImode) != 0)
5350 : return -1;
5351 : return 5;
5352 :
5353 : default:
5354 : return -1;
5355 : }
5356 : }
5357 :
5358 : int
5359 1635 : pattern1496 (rtx x1)
5360 : {
5361 1635 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5362 1635 : rtx x2, x3, x4, x5;
5363 1635 : int res ATTRIBUTE_UNUSED;
5364 1635 : x2 = XVECEXP (x1, 0, 4);
5365 1635 : operands[2] = x2;
5366 1635 : if (!const_4_to_7_operand (operands[2], E_VOIDmode))
5367 : return -1;
5368 1619 : x3 = XVECEXP (x1, 0, 5);
5369 1619 : operands[3] = x3;
5370 1619 : if (!const_4_to_7_operand (operands[3], E_VOIDmode))
5371 : return -1;
5372 1619 : x4 = XVECEXP (x1, 0, 6);
5373 1619 : operands[4] = x4;
5374 1619 : if (!const_4_to_7_operand (operands[4], E_VOIDmode))
5375 : return -1;
5376 1619 : x5 = XVECEXP (x1, 0, 7);
5377 1619 : operands[5] = x5;
5378 1619 : if (!const_4_to_7_operand (operands[5], E_VOIDmode))
5379 : return -1;
5380 : return 0;
5381 : }
5382 :
5383 : int
5384 0 : pattern1507 (rtx x1, machine_mode i1, machine_mode i2)
5385 : {
5386 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5387 0 : rtx x2, x3, x4, x5;
5388 0 : int res ATTRIBUTE_UNUSED;
5389 0 : if (!register_operand (operands[0], i1)
5390 0 : || GET_MODE (x1) != i1)
5391 : return -1;
5392 0 : x2 = XEXP (x1, 0);
5393 0 : if (GET_MODE (x2) != i2)
5394 : return -1;
5395 0 : x3 = XEXP (x2, 0);
5396 0 : if (GET_MODE (x3) != i2)
5397 : return -1;
5398 0 : x4 = XEXP (x3, 0);
5399 0 : if (GET_MODE (x4) != i2
5400 0 : || !nonimmediate_operand (operands[1], i1))
5401 0 : return -1;
5402 0 : x5 = XEXP (x3, 1);
5403 0 : if (GET_MODE (x5) != i2
5404 0 : || !nonimmediate_operand (operands[2], i1)
5405 0 : || !scratch_operand (operands[3], i1))
5406 0 : return -1;
5407 : return 0;
5408 : }
5409 :
5410 : int
5411 27949 : pattern1517 (rtx x1, machine_mode i1)
5412 : {
5413 27949 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5414 27949 : rtx x2, x3, x4, x5, x6, x7, x8;
5415 27949 : int res ATTRIBUTE_UNUSED;
5416 27949 : x2 = XVECEXP (x1, 0, 0);
5417 27949 : x3 = XEXP (x2, 1);
5418 27949 : switch (GET_CODE (x3))
5419 : {
5420 3039 : case COMPARE:
5421 3039 : x4 = XEXP (x3, 0);
5422 3039 : if (!plusminuslogic_operator (x4, i1))
5423 : return -1;
5424 2346 : operands[3] = x4;
5425 2346 : x5 = XEXP (x3, 1);
5426 2346 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
5427 : return -1;
5428 2340 : x6 = XEXP (x2, 0);
5429 2340 : if (GET_CODE (x6) != REG
5430 2340 : || REGNO (x6) != 17)
5431 : return -1;
5432 2340 : x7 = XVECEXP (x1, 0, 1);
5433 2340 : if (GET_CODE (x7) != SET)
5434 : return -1;
5435 2126 : x8 = XEXP (x4, 1);
5436 2126 : operands[2] = x8;
5437 2126 : if (!nonmemory_operand (operands[2], i1)
5438 2126 : || pattern1516 (x1) != 0)
5439 167 : return -1;
5440 : return 0;
5441 :
5442 18101 : case PLUS:
5443 18101 : case MINUS:
5444 18101 : case AND:
5445 18101 : case IOR:
5446 18101 : case XOR:
5447 18101 : if (peep2_current_count < 4)
5448 : return -1;
5449 : return 1;
5450 :
5451 : default:
5452 : return -1;
5453 : }
5454 : }
5455 :
5456 : int
5457 11207 : pattern1534 ()
5458 : {
5459 11207 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5460 11207 : int res ATTRIBUTE_UNUSED;
5461 11207 : switch (GET_MODE (operands[3]))
5462 : {
5463 697 : case E_HImode:
5464 697 : if (!extract_high_operator (operands[3], E_HImode))
5465 : return -1;
5466 : return 0;
5467 :
5468 7953 : case E_SImode:
5469 7953 : if (!extract_high_operator (operands[3], E_SImode))
5470 : return -1;
5471 : return 1;
5472 :
5473 2557 : case E_DImode:
5474 2557 : if (!extract_high_operator (operands[3], E_DImode))
5475 : return -1;
5476 : return 2;
5477 :
5478 : default:
5479 : return -1;
5480 : }
5481 : }
5482 :
5483 : int
5484 8770 : pattern1541 (rtx x1)
5485 : {
5486 8770 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5487 8770 : rtx x2;
5488 8770 : int res ATTRIBUTE_UNUSED;
5489 8770 : if (maybe_ne (SUBREG_BYTE (x1), 0)
5490 8770 : || GET_MODE (x1) != E_QImode
5491 17540 : || !nonimmediate_operand (operands[0], E_SImode))
5492 0 : return -1;
5493 8770 : x2 = XEXP (x1, 0);
5494 8770 : return pattern1242 (x2); /* [-1, 2] */
5495 : }
5496 :
5497 : int
5498 1860 : pattern1547 (rtx x1, machine_mode i1)
5499 : {
5500 1860 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5501 1860 : rtx x2, x3;
5502 1860 : int res ATTRIBUTE_UNUSED;
5503 1860 : if (!register_operand (operands[0], i1)
5504 1860 : || GET_MODE (x1) != i1)
5505 : return -1;
5506 1856 : x2 = XVECEXP (x1, 0, 0);
5507 1856 : if (GET_MODE (x2) != i1)
5508 : return -1;
5509 1856 : x3 = XEXP (x2, 0);
5510 1856 : if (GET_MODE (x3) != i1
5511 1856 : || !register_operand (operands[4], i1))
5512 0 : return -1;
5513 : return 0;
5514 : }
5515 :
5516 : int
5517 12 : pattern1555 (rtx x1, machine_mode i1)
5518 : {
5519 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5520 12 : rtx x2, x3, x4, x5;
5521 12 : int res ATTRIBUTE_UNUSED;
5522 12 : if (!register_operand (operands[0], i1)
5523 12 : || GET_MODE (x1) != i1)
5524 : return -1;
5525 6 : x2 = XEXP (x1, 0);
5526 6 : if (GET_MODE (x2) != i1)
5527 : return -1;
5528 6 : x3 = XEXP (x2, 0);
5529 6 : if (GET_MODE (x3) != i1)
5530 : return -1;
5531 6 : x4 = XEXP (x3, 0);
5532 6 : if (GET_MODE (x4) != i1
5533 6 : || !nonimmediate_operand (operands[2], i1)
5534 12 : || !nonimmediate_operand (operands[1], i1))
5535 0 : return -1;
5536 6 : x5 = XEXP (x3, 2);
5537 6 : if (GET_MODE (x5) != i1
5538 6 : || !nonimmediate_operand (operands[3], i1)
5539 12 : || !const0_operand (operands[4], i1))
5540 0 : return -1;
5541 : return 0;
5542 : }
5543 :
5544 : int
5545 498 : pattern1567 (rtx x1)
5546 : {
5547 498 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5548 498 : rtx x2, x3, x4, x5, x6, x7;
5549 498 : int res ATTRIBUTE_UNUSED;
5550 498 : x2 = XVECEXP (x1, 0, 2);
5551 498 : if (XWINT (x2, 0) != 2L)
5552 : return -1;
5553 498 : x3 = XVECEXP (x1, 0, 3);
5554 498 : if (XWINT (x3, 0) != 3L)
5555 : return -1;
5556 498 : x4 = XVECEXP (x1, 0, 4);
5557 498 : if (XWINT (x4, 0) != 4L)
5558 : return -1;
5559 345 : x5 = XVECEXP (x1, 0, 5);
5560 345 : if (XWINT (x5, 0) != 5L)
5561 : return -1;
5562 334 : x6 = XVECEXP (x1, 0, 6);
5563 334 : if (XWINT (x6, 0) != 6L)
5564 : return -1;
5565 334 : x7 = XVECEXP (x1, 0, 7);
5566 334 : if (XWINT (x7, 0) != 7L)
5567 0 : return -1;
5568 : return 0;
5569 : }
5570 :
5571 : int
5572 182 : pattern1576 (rtx x1, machine_mode i1)
5573 : {
5574 182 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5575 182 : int res ATTRIBUTE_UNUSED;
5576 182 : if (!nonimmediate_operand (operands[0], i1)
5577 182 : || GET_MODE (x1) != i1
5578 182 : || !nonimmediate_operand (operands[1], i1)
5579 364 : || !ix86_carry_flag_unset_operator (operands[2], i1))
5580 22 : return -1;
5581 : return 0;
5582 : }
5583 :
5584 : int
5585 170 : pattern1583 (rtx x1, int *pnum_clobbers)
5586 : {
5587 170 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5588 170 : rtx x2, x3, x4, x5, x6;
5589 170 : int res ATTRIBUTE_UNUSED;
5590 170 : x2 = XVECEXP (x1, 0, 1);
5591 170 : x3 = XEXP (x2, 1);
5592 170 : x4 = XEXP (x3, 0);
5593 170 : if (!rtx_equal_p (x4, operands[2]))
5594 : return -1;
5595 170 : x5 = XEXP (x3, 1);
5596 170 : if (!rtx_equal_p (x5, operands[3]))
5597 : return -1;
5598 170 : switch (GET_CODE (operands[3]))
5599 : {
5600 138 : case REG:
5601 138 : case SUBREG:
5602 138 : case MEM:
5603 138 : if (!nonimmediate_operand (operands[3], E_SImode))
5604 : return -1;
5605 124 : x6 = XVECEXP (x1, 0, 2);
5606 124 : return pattern1582 (x6, pnum_clobbers); /* [-1, 2] */
5607 :
5608 4 : case CONST_INT:
5609 4 : if (!const_int_operand (operands[3], E_SImode))
5610 : return -1;
5611 4 : x6 = XVECEXP (x1, 0, 2);
5612 4 : if (pattern953 (x6,
5613 : E_CCmode,
5614 : 17) != 0)
5615 : return -1;
5616 : return 3;
5617 :
5618 : default:
5619 : return -1;
5620 : }
5621 : }
5622 :
5623 : int
5624 0 : pattern1595 (rtx x1, machine_mode i1, machine_mode i2)
5625 : {
5626 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5627 0 : rtx x2, x3, x4, x5;
5628 0 : int res ATTRIBUTE_UNUSED;
5629 0 : if (!register_operand (operands[0], i1)
5630 0 : || GET_MODE (x1) != i1)
5631 : return -1;
5632 0 : x2 = XVECEXP (x1, 0, 0);
5633 0 : if (GET_MODE (x2) != i1)
5634 : return -1;
5635 0 : x3 = XEXP (x2, 0);
5636 0 : if (GET_MODE (x3) != i1)
5637 : return -1;
5638 0 : x4 = XEXP (x3, 0);
5639 0 : if (GET_MODE (x4) != i1)
5640 : return -1;
5641 0 : x5 = XEXP (x4, 0);
5642 0 : if (GET_MODE (x5) != i2
5643 0 : || !nonimmediate_operand (operands[1], i2)
5644 0 : || !nonimm_or_0_operand (operands[3], i1)
5645 0 : || !register_operand (operands[2], i1))
5646 0 : return -1;
5647 : return 0;
5648 : }
5649 :
5650 : int
5651 507 : pattern1608 (rtx x1, machine_mode i1, machine_mode i2)
5652 : {
5653 507 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5654 507 : rtx x2, x3, x4;
5655 507 : int res ATTRIBUTE_UNUSED;
5656 507 : if (!register_operand (operands[0], i2)
5657 507 : || GET_MODE (x1) != i2)
5658 : return -1;
5659 493 : x2 = XVECEXP (x1, 0, 0);
5660 493 : if (GET_MODE (x2) != i2)
5661 : return -1;
5662 493 : x3 = XEXP (x2, 0);
5663 493 : if (GET_MODE (x3) != i2)
5664 : return -1;
5665 493 : x4 = XEXP (x3, 0);
5666 493 : if (GET_MODE (x4) != i2
5667 493 : || !register_operand (operands[1], i2)
5668 981 : || pattern1600 (
5669 : i1,
5670 : i2) != 0)
5671 17 : return -1;
5672 : return 0;
5673 : }
5674 :
5675 : int
5676 356 : pattern1616 (rtx x1, machine_mode i1)
5677 : {
5678 356 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5679 356 : rtx x2, x3, x4;
5680 356 : int res ATTRIBUTE_UNUSED;
5681 356 : if (!vsib_mem_operator (operands[5], i1)
5682 356 : || !register_operand (operands[6], E_QImode))
5683 114 : return -1;
5684 242 : x2 = XEXP (x1, 1);
5685 242 : if (GET_MODE (x2) != i1)
5686 : return -1;
5687 242 : x3 = XEXP (x1, 0);
5688 242 : x4 = XEXP (x3, 0);
5689 242 : switch (GET_MODE (x4))
5690 : {
5691 : case E_SImode:
5692 : return 0;
5693 :
5694 242 : case E_DImode:
5695 242 : return 1;
5696 :
5697 : default:
5698 : return -1;
5699 : }
5700 : }
5701 :
5702 : int
5703 1101 : pattern1624 (rtx x1, machine_mode i1, machine_mode i2)
5704 : {
5705 1101 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5706 1101 : rtx x2, x3;
5707 1101 : int res ATTRIBUTE_UNUSED;
5708 1101 : if (!register_operand (operands[0], i2)
5709 1043 : || GET_MODE (x1) != i2
5710 1043 : || !register_operand (operands[6], E_QImode)
5711 1319 : || !vsib_mem_operator (operands[5], i1))
5712 883 : return -1;
5713 218 : x2 = XVECEXP (x1, 0, 2);
5714 218 : x3 = XEXP (x2, 0);
5715 218 : switch (GET_MODE (x3))
5716 : {
5717 0 : case E_SImode:
5718 0 : return pattern1623 (
5719 0 : E_SImode); /* [-1, 1] */
5720 :
5721 218 : case E_DImode:
5722 218 : res = pattern1623 (
5723 : E_DImode);
5724 218 : if (res >= 0)
5725 96 : return res + 2; /* [2, 3] */
5726 : return -1;
5727 :
5728 : default:
5729 : return -1;
5730 : }
5731 : }
5732 :
5733 : int
5734 38 : pattern1636 (rtx x1, machine_mode i1)
5735 : {
5736 38 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5737 38 : rtx x2;
5738 38 : int res ATTRIBUTE_UNUSED;
5739 38 : if (!nonimmediate_operand (operands[0], i1)
5740 38 : || GET_MODE (x1) != i1)
5741 : return -1;
5742 38 : x2 = XEXP (x1, 0);
5743 38 : if (GET_MODE (x2) != i1
5744 38 : || !ix86_carry_flag_operator (operands[4], i1)
5745 38 : || !nonimmediate_operand (operands[1], i1)
5746 76 : || !general_operand (operands[2], i1))
5747 0 : return -1;
5748 : return 0;
5749 : }
5750 :
5751 : int
5752 13 : pattern1642 (rtx x1, int *pnum_clobbers)
5753 : {
5754 13 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5755 13 : rtx x2, x3, x4, x5, x6;
5756 13 : int res ATTRIBUTE_UNUSED;
5757 13 : x2 = XVECEXP (x1, 0, 1);
5758 13 : x3 = XEXP (x2, 1);
5759 13 : x4 = XEXP (x3, 0);
5760 13 : if (!rtx_equal_p (x4, operands[2]))
5761 : return -1;
5762 13 : x5 = XEXP (x3, 1);
5763 13 : if (!rtx_equal_p (x5, operands[3]))
5764 : return -1;
5765 13 : x6 = XVECEXP (x1, 0, 2);
5766 13 : return pattern1582 (x6, pnum_clobbers); /* [-1, 2] */
5767 : }
5768 :
5769 : int
5770 82 : pattern1651 ()
5771 : {
5772 82 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5773 82 : int res ATTRIBUTE_UNUSED;
5774 82 : switch (GET_MODE (operands[3]))
5775 : {
5776 5 : case E_HImode:
5777 5 : if (!extract_high_operator (operands[3], E_HImode))
5778 : return -1;
5779 : return 0;
5780 :
5781 55 : case E_SImode:
5782 55 : if (!extract_high_operator (operands[3], E_SImode))
5783 : return -1;
5784 : return 1;
5785 :
5786 22 : case E_DImode:
5787 22 : if (!extract_high_operator (operands[3], E_DImode))
5788 : return -1;
5789 : return 2;
5790 :
5791 : default:
5792 : return -1;
5793 : }
5794 : }
5795 :
5796 : int
5797 1391 : pattern1659 (rtx x1, machine_mode i1, machine_mode i2)
5798 : {
5799 1391 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5800 1391 : rtx x2, x3;
5801 1391 : int res ATTRIBUTE_UNUSED;
5802 1391 : if (!register_operand (operands[0], i1)
5803 1391 : || GET_MODE (x1) != i1)
5804 : return -1;
5805 1222 : x2 = XEXP (x1, 0);
5806 1222 : if (GET_MODE (x2) != i1)
5807 : return -1;
5808 1222 : x3 = XEXP (x2, 0);
5809 1222 : if (GET_MODE (x3) != i2
5810 1222 : || !register_operand (operands[1], i1)
5811 2441 : || !nonimmediate_operand (operands[2], i1))
5812 140 : return -1;
5813 : return 0;
5814 : }
5815 :
5816 : int
5817 231 : pattern1667 (rtx x1, machine_mode i1)
5818 : {
5819 231 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5820 231 : rtx x2, x3, x4;
5821 231 : int res ATTRIBUTE_UNUSED;
5822 231 : if (!register_operand (operands[0], i1)
5823 231 : || GET_MODE (x1) != i1)
5824 : return -1;
5825 198 : x2 = XVECEXP (x1, 0, 0);
5826 198 : if (GET_MODE (x2) != i1)
5827 : return -1;
5828 198 : x3 = XEXP (x2, 0);
5829 198 : if (GET_MODE (x3) != i1
5830 198 : || !nonimmediate_operand (operands[1], i1)
5831 396 : || !register_operand (operands[2], i1))
5832 19 : return -1;
5833 179 : x4 = XEXP (x3, 2);
5834 179 : if (GET_MODE (x4) != i1
5835 179 : || !register_operand (operands[3], i1))
5836 6 : return -1;
5837 : return 0;
5838 : }
5839 :
5840 : int
5841 4804 : pattern1677 (rtx x1)
5842 : {
5843 4804 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5844 4804 : rtx x2, x3, x4, x5, x6, x7;
5845 4804 : int res ATTRIBUTE_UNUSED;
5846 4804 : x2 = XVECEXP (x1, 0, 2);
5847 4804 : if (XWINT (x2, 0) != 2L)
5848 : return -1;
5849 804 : x3 = XVECEXP (x1, 0, 3);
5850 804 : if (XWINT (x3, 0) != 2L)
5851 : return -1;
5852 796 : x4 = XVECEXP (x1, 0, 4);
5853 796 : if (XWINT (x4, 0) != 4L)
5854 : return -1;
5855 796 : x5 = XVECEXP (x1, 0, 5);
5856 796 : if (XWINT (x5, 0) != 4L)
5857 : return -1;
5858 796 : x6 = XVECEXP (x1, 0, 6);
5859 796 : if (XWINT (x6, 0) != 6L)
5860 : return -1;
5861 796 : x7 = XVECEXP (x1, 0, 7);
5862 796 : if (XWINT (x7, 0) != 6L)
5863 0 : return -1;
5864 : return 0;
5865 : }
5866 :
5867 : int
5868 444 : pattern1687 (machine_mode i1, machine_mode i2)
5869 : {
5870 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5871 444 : int res ATTRIBUTE_UNUSED;
5872 444 : if (!vector_operand (operands[2], i2)
5873 328 : || !register_operand (operands[3], i1)
5874 238 : || !const0_operand (operands[4], i1)
5875 538 : || !const_0_to_7_operand (operands[5], E_SImode))
5876 350 : return -1;
5877 : return 0;
5878 : }
5879 :
5880 : int
5881 331 : pattern1694 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5882 : {
5883 331 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5884 331 : rtx x2, x3;
5885 331 : int res ATTRIBUTE_UNUSED;
5886 331 : if (!register_operand (operands[0], i1)
5887 331 : || GET_MODE (x1) != i1)
5888 : return -1;
5889 323 : x2 = XVECEXP (x1, 0, 0);
5890 323 : if (GET_MODE (x2) != i1)
5891 : return -1;
5892 323 : x3 = XEXP (x2, 0);
5893 323 : if (GET_MODE (x3) != i1
5894 323 : || !register_operand (operands[1], i1)
5895 323 : || !register_operand (operands[2], i1)
5896 323 : || !nonimmediate_operand (operands[3], i2)
5897 323 : || !const0_operand (operands[5], i1)
5898 646 : || !register_operand (operands[6], i3))
5899 2 : return -1;
5900 : return 0;
5901 : }
5902 :
5903 : int
5904 12050 : pattern1706 (rtx x1)
5905 : {
5906 12050 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5907 12050 : rtx x2, x3, x4, x5;
5908 12050 : int res ATTRIBUTE_UNUSED;
5909 12050 : if (!nonmemory_operand (operands[2], E_QImode))
5910 : return -1;
5911 11526 : x2 = XEXP (x1, 1);
5912 11526 : x3 = XEXP (x2, 0);
5913 11526 : operands[3] = x3;
5914 11526 : x4 = XEXP (x1, 0);
5915 11526 : x5 = XEXP (x4, 0);
5916 11526 : switch (GET_MODE (x5))
5917 : {
5918 5288 : case E_SImode:
5919 5288 : if (!nonimmediate_operand (operands[1], E_SImode))
5920 : return -1;
5921 : return 0;
5922 :
5923 6238 : case E_DImode:
5924 6238 : if (!nonimmediate_operand (operands[1], E_DImode))
5925 : return -1;
5926 : return 1;
5927 :
5928 : default:
5929 : return -1;
5930 : }
5931 : }
5932 :
5933 : int
5934 45 : pattern1715 (rtx x1)
5935 : {
5936 45 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5937 45 : rtx x2, x3;
5938 45 : int res ATTRIBUTE_UNUSED;
5939 45 : x2 = XEXP (x1, 0);
5940 45 : switch (GET_MODE (x2))
5941 : {
5942 6 : case E_HImode:
5943 6 : x3 = XEXP (x1, 1);
5944 6 : if (GET_MODE (x3) != E_HImode
5945 6 : || !extract_high_operator (operands[3], E_HImode))
5946 0 : return -1;
5947 : return 0;
5948 :
5949 30 : case E_SImode:
5950 30 : x3 = XEXP (x1, 1);
5951 30 : if (GET_MODE (x3) != E_SImode
5952 30 : || !extract_high_operator (operands[3], E_SImode))
5953 0 : return -1;
5954 : return 1;
5955 :
5956 9 : case E_DImode:
5957 9 : x3 = XEXP (x1, 1);
5958 9 : if (GET_MODE (x3) != E_DImode
5959 9 : || !extract_high_operator (operands[3], E_DImode))
5960 0 : return -1;
5961 : return 2;
5962 :
5963 : default:
5964 : return -1;
5965 : }
5966 : }
5967 :
5968 : int
5969 515 : pattern1726 (rtx x1, machine_mode i1, machine_mode i2)
5970 : {
5971 515 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5972 515 : rtx x2, x3;
5973 515 : int res ATTRIBUTE_UNUSED;
5974 515 : if (!register_operand (operands[0], i2)
5975 499 : || GET_MODE (x1) != i2
5976 1014 : || !vsib_mem_operator (operands[6], i1))
5977 16 : return -1;
5978 499 : x2 = XVECEXP (x1, 0, 1);
5979 499 : x3 = XEXP (x2, 0);
5980 499 : switch (GET_MODE (x3))
5981 : {
5982 : case E_SImode:
5983 : return 0;
5984 :
5985 418 : case E_DImode:
5986 418 : return 1;
5987 :
5988 : default:
5989 : return -1;
5990 : }
5991 : }
5992 :
5993 : int
5994 768 : pattern1733 (rtx x1, machine_mode i1)
5995 : {
5996 768 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5997 768 : rtx x2, x3, x4;
5998 768 : int res ATTRIBUTE_UNUSED;
5999 768 : if (!vsib_mem_operator (operands[5], i1)
6000 768 : || !register_operand (operands[6], E_QImode))
6001 80 : return -1;
6002 688 : x2 = XEXP (x1, 1);
6003 688 : if (GET_MODE (x2) != i1
6004 688 : || !register_operand (operands[3], i1)
6005 1376 : || !scratch_operand (operands[1], E_QImode))
6006 0 : return -1;
6007 688 : x3 = XEXP (x1, 0);
6008 688 : x4 = XEXP (x3, 0);
6009 688 : switch (GET_MODE (x4))
6010 : {
6011 0 : case E_SImode:
6012 0 : return pattern1732 (
6013 0 : E_SImode); /* [-1, 1] */
6014 :
6015 688 : case E_DImode:
6016 688 : res = pattern1732 (
6017 : E_DImode);
6018 688 : if (res >= 0)
6019 636 : return res + 2; /* [2, 3] */
6020 : return -1;
6021 :
6022 : default:
6023 : return -1;
6024 : }
6025 : }
6026 :
6027 : int
6028 214 : pattern1744 (machine_mode i1)
6029 : {
6030 214 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6031 214 : int res ATTRIBUTE_UNUSED;
6032 214 : if (!vsib_address_operand (operands[3], i1))
6033 : return -1;
6034 214 : switch (GET_MODE (operands[2]))
6035 : {
6036 68 : case E_V4SImode:
6037 68 : if (!register_operand (operands[2], E_V4SImode))
6038 : return -1;
6039 : return 0;
6040 :
6041 146 : case E_V2DImode:
6042 146 : if (!register_operand (operands[2], E_V2DImode))
6043 : return -1;
6044 : return 1;
6045 :
6046 : default:
6047 : return -1;
6048 : }
6049 : }
6050 :
6051 : int
6052 514 : pattern1754 (rtx x1, machine_mode i1)
6053 : {
6054 514 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6055 514 : rtx x2, x3, x4;
6056 514 : int res ATTRIBUTE_UNUSED;
6057 514 : if (!register_operand (operands[0], i1)
6058 514 : || GET_MODE (x1) != i1)
6059 : return -1;
6060 492 : x2 = XVECEXP (x1, 0, 0);
6061 492 : if (GET_MODE (x2) != i1)
6062 : return -1;
6063 492 : x3 = XEXP (x2, 0);
6064 492 : if (GET_MODE (x3) != i1)
6065 : return -1;
6066 492 : x4 = XEXP (x3, 0);
6067 492 : if (GET_MODE (x4) != i1
6068 492 : || !register_operand (operands[2], i1)
6069 492 : || !nonimm_or_0_operand (operands[4], i1)
6070 984 : || !register_operand (operands[1], i1))
6071 0 : return -1;
6072 : return 0;
6073 : }
6074 :
6075 : int
6076 276 : pattern1761 (machine_mode i1)
6077 : {
6078 276 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6079 276 : int res ATTRIBUTE_UNUSED;
6080 276 : if (!vsib_address_operand (operands[3], i1))
6081 : return -1;
6082 236 : switch (GET_MODE (operands[4]))
6083 : {
6084 85 : case E_V4SImode:
6085 85 : if (!register_operand (operands[4], E_V4SImode))
6086 : return -1;
6087 : return 0;
6088 :
6089 151 : case E_V2DImode:
6090 151 : if (!register_operand (operands[4], E_V2DImode))
6091 : return -1;
6092 : return 1;
6093 :
6094 : default:
6095 : return -1;
6096 : }
6097 : }
6098 :
6099 : int
6100 506 : pattern1768 (machine_mode i1)
6101 : {
6102 506 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6103 506 : int res ATTRIBUTE_UNUSED;
6104 506 : if (!vsib_address_operand (operands[4], i1))
6105 : return -1;
6106 506 : switch (GET_MODE (operands[3]))
6107 : {
6108 291 : case E_V4SImode:
6109 291 : if (!register_operand (operands[3], E_V4SImode))
6110 : return -1;
6111 : return 0;
6112 :
6113 215 : case E_V4DImode:
6114 215 : if (!register_operand (operands[3], E_V4DImode))
6115 : return -1;
6116 : return 1;
6117 :
6118 : default:
6119 : return -1;
6120 : }
6121 : }
6122 :
6123 : int
6124 9 : pattern1776 (rtx x1, machine_mode i1)
6125 : {
6126 9 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6127 9 : int res ATTRIBUTE_UNUSED;
6128 9 : if (!memory_operand (operands[0], i1)
6129 1 : || !const_int_operand (operands[2], i1)
6130 1 : || GET_MODE (x1) != i1
6131 10 : || !const_int_operand (operands[1], i1))
6132 8 : return -1;
6133 : return 0;
6134 : }
6135 :
6136 : int
6137 108 : pattern1784 ()
6138 : {
6139 108 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6140 108 : int res ATTRIBUTE_UNUSED;
6141 108 : switch (GET_MODE (operands[3]))
6142 : {
6143 20 : case E_HImode:
6144 20 : if (!extract_high_operator (operands[3], E_HImode))
6145 : return -1;
6146 : return 0;
6147 :
6148 62 : case E_SImode:
6149 62 : if (!extract_high_operator (operands[3], E_SImode))
6150 : return -1;
6151 : return 1;
6152 :
6153 26 : case E_DImode:
6154 26 : if (!extract_high_operator (operands[3], E_DImode))
6155 : return -1;
6156 : return 2;
6157 :
6158 : default:
6159 : return -1;
6160 : }
6161 : }
6162 :
6163 : int
6164 1277 : pattern1793 (machine_mode i1, machine_mode i2, machine_mode i3)
6165 : {
6166 1277 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6167 1277 : int res ATTRIBUTE_UNUSED;
6168 1277 : if (!register_operand (operands[2], i3)
6169 1201 : || !register_operand (operands[6], i1)
6170 993 : || !register_operand (operands[3], i2)
6171 2162 : || !scratch_operand (operands[1], i1))
6172 392 : return -1;
6173 : return 0;
6174 : }
6175 :
6176 : int
6177 597 : pattern1796 (rtx x1)
6178 : {
6179 597 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6180 597 : int res ATTRIBUTE_UNUSED;
6181 597 : switch (GET_MODE (operands[0]))
6182 : {
6183 284 : case E_SImode:
6184 284 : if (!register_operand (operands[0], E_SImode)
6185 284 : || GET_MODE (x1) != E_SImode)
6186 : return -1;
6187 : return 0;
6188 :
6189 313 : case E_V16QImode:
6190 313 : if (!register_operand (operands[0], E_V16QImode)
6191 313 : || GET_MODE (x1) != E_V16QImode)
6192 : return -1;
6193 : return 1;
6194 :
6195 : default:
6196 : return -1;
6197 : }
6198 : }
6199 :
6200 : int
6201 9096 : pattern1804 (rtx x1)
6202 : {
6203 9096 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6204 9096 : int res ATTRIBUTE_UNUSED;
6205 9096 : switch (GET_MODE (operands[0]))
6206 : {
6207 688 : case E_V16HImode:
6208 688 : if (!nonimmediate_operand (operands[0], E_V16HImode)
6209 688 : || GET_MODE (x1) != E_V16HImode
6210 1376 : || !nonimmediate_operand (operands[1], E_V32HImode))
6211 0 : return -1;
6212 : return 0;
6213 :
6214 315 : case E_V16HFmode:
6215 315 : if (!nonimmediate_operand (operands[0], E_V16HFmode)
6216 315 : || GET_MODE (x1) != E_V16HFmode
6217 630 : || !nonimmediate_operand (operands[1], E_V32HFmode))
6218 3 : return -1;
6219 : return 1;
6220 :
6221 27 : case E_V16BFmode:
6222 27 : if (!nonimmediate_operand (operands[0], E_V16BFmode)
6223 27 : || GET_MODE (x1) != E_V16BFmode
6224 54 : || !nonimmediate_operand (operands[1], E_V32BFmode))
6225 0 : return -1;
6226 : return 2;
6227 :
6228 8066 : case E_V16QImode:
6229 8066 : if (!nonimmediate_operand (operands[0], E_V16QImode)
6230 8066 : || GET_MODE (x1) != E_V16QImode
6231 16132 : || !nonimmediate_operand (operands[1], E_V32QImode))
6232 1173 : return -1;
6233 : return 3;
6234 :
6235 : default:
6236 : return -1;
6237 : }
6238 : }
6239 :
6240 : int
6241 3830 : pattern1822 (rtx x1, machine_mode i1)
6242 : {
6243 3830 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6244 3830 : rtx x2;
6245 3830 : int res ATTRIBUTE_UNUSED;
6246 3830 : if (!x86_64_general_operand (operands[2], i1)
6247 3766 : || !nonimmediate_operand (operands[0], i1)
6248 7596 : || GET_MODE (x1) != i1)
6249 64 : return -1;
6250 3766 : x2 = XEXP (x1, 0);
6251 3766 : if (GET_MODE (x2) != i1)
6252 : return -1;
6253 : return 0;
6254 : }
6255 :
6256 : int
6257 28052 : pattern1827 (rtx x1, machine_mode i1, machine_mode i2)
6258 : {
6259 28052 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6260 28052 : rtx x2, x3, x4, x5, x6;
6261 28052 : int res ATTRIBUTE_UNUSED;
6262 28052 : x2 = XVECEXP (x1, 0, 0);
6263 28052 : x3 = XEXP (x2, 1);
6264 28052 : x4 = XEXP (x3, 0);
6265 28052 : x5 = XEXP (x4, 0);
6266 28052 : if (GET_MODE (x5) != i2
6267 28052 : || !nonimmediate_operand (operands[1], i1))
6268 150 : return -1;
6269 27902 : x6 = XEXP (x4, 1);
6270 27902 : if (GET_MODE (x6) != i2
6271 27902 : || !x86_64_sext_operand (operands[2], i1)
6272 55804 : || pattern1826 (x1,
6273 : i1,
6274 : i2) != 0)
6275 0 : return -1;
6276 : return 0;
6277 : }
6278 :
6279 : int
6280 385 : pattern1837 ()
6281 : {
6282 385 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6283 385 : int res ATTRIBUTE_UNUSED;
6284 385 : if (!const_0_to_3_operand (operands[2], E_VOIDmode)
6285 385 : || !const_0_to_3_operand (operands[3], E_VOIDmode)
6286 385 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
6287 385 : || !const_0_to_3_operand (operands[5], E_VOIDmode)
6288 385 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
6289 385 : || !const_4_to_7_operand (operands[7], E_VOIDmode)
6290 385 : || !const_4_to_7_operand (operands[8], E_VOIDmode)
6291 770 : || !const_4_to_7_operand (operands[9], E_VOIDmode))
6292 0 : return -1;
6293 : return 0;
6294 : }
6295 :
6296 : int
6297 204 : pattern1844 (rtx x1, rtx_code i1)
6298 : {
6299 204 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6300 204 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6301 204 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6302 204 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
6303 204 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
6304 204 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
6305 204 : rtx x42, x43, x44, x45, x46, x47, x48, x49;
6306 204 : rtx x50, x51, x52, x53, x54, x55, x56, x57;
6307 204 : rtx x58, x59, x60, x61, x62, x63, x64, x65;
6308 204 : rtx x66, x67, x68, x69, x70, x71, x72, x73;
6309 204 : rtx x74, x75, x76, x77, x78, x79;
6310 204 : int res ATTRIBUTE_UNUSED;
6311 204 : x2 = XEXP (x1, 0);
6312 204 : x3 = XEXP (x2, 0);
6313 204 : x4 = XEXP (x3, 0);
6314 204 : x5 = XEXP (x4, 0);
6315 204 : if (GET_CODE (x5) != VEC_SELECT
6316 204 : || GET_MODE (x5) != E_SFmode)
6317 : return -1;
6318 204 : x6 = XEXP (x5, 1);
6319 204 : if (GET_CODE (x6) != PARALLEL
6320 204 : || XVECLEN (x6, 0) != 1)
6321 : return -1;
6322 204 : x7 = XVECEXP (x6, 0, 0);
6323 204 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6324 : return -1;
6325 204 : x8 = XEXP (x4, 1);
6326 204 : if (GET_CODE (x8) != VEC_SELECT
6327 204 : || GET_MODE (x8) != E_SFmode)
6328 : return -1;
6329 204 : x9 = XEXP (x8, 1);
6330 204 : if (GET_CODE (x9) != PARALLEL
6331 204 : || XVECLEN (x9, 0) != 1)
6332 : return -1;
6333 204 : x10 = XVECEXP (x9, 0, 0);
6334 204 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6335 : return -1;
6336 204 : x11 = XEXP (x3, 1);
6337 204 : if (GET_CODE (x11) != i1)
6338 : return -1;
6339 204 : x12 = XEXP (x11, 0);
6340 204 : if (GET_CODE (x12) != VEC_SELECT
6341 204 : || GET_MODE (x12) != E_SFmode)
6342 : return -1;
6343 204 : x13 = XEXP (x12, 1);
6344 204 : if (GET_CODE (x13) != PARALLEL
6345 204 : || XVECLEN (x13, 0) != 1)
6346 : return -1;
6347 204 : x14 = XVECEXP (x13, 0, 0);
6348 204 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6349 : return -1;
6350 204 : x15 = XEXP (x11, 1);
6351 204 : if (GET_CODE (x15) != VEC_SELECT
6352 204 : || GET_MODE (x15) != E_SFmode)
6353 : return -1;
6354 204 : x16 = XEXP (x15, 1);
6355 204 : if (GET_CODE (x16) != PARALLEL
6356 204 : || XVECLEN (x16, 0) != 1)
6357 : return -1;
6358 204 : x17 = XVECEXP (x16, 0, 0);
6359 204 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6360 : return -1;
6361 204 : x18 = XEXP (x2, 1);
6362 204 : x19 = XEXP (x18, 0);
6363 204 : if (GET_CODE (x19) != i1)
6364 : return -1;
6365 204 : x20 = XEXP (x19, 0);
6366 204 : if (GET_CODE (x20) != VEC_SELECT
6367 204 : || GET_MODE (x20) != E_SFmode)
6368 : return -1;
6369 204 : x21 = XEXP (x20, 1);
6370 204 : if (GET_CODE (x21) != PARALLEL
6371 204 : || XVECLEN (x21, 0) != 1)
6372 : return -1;
6373 204 : x22 = XVECEXP (x21, 0, 0);
6374 204 : if (x22 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6375 : return -1;
6376 204 : x23 = XEXP (x19, 1);
6377 204 : if (GET_CODE (x23) != VEC_SELECT
6378 204 : || GET_MODE (x23) != E_SFmode)
6379 : return -1;
6380 204 : x24 = XEXP (x23, 1);
6381 204 : if (GET_CODE (x24) != PARALLEL
6382 204 : || XVECLEN (x24, 0) != 1)
6383 : return -1;
6384 204 : x25 = XVECEXP (x24, 0, 0);
6385 204 : if (x25 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6386 : return -1;
6387 204 : x26 = XEXP (x18, 1);
6388 204 : if (GET_CODE (x26) != i1)
6389 : return -1;
6390 204 : x27 = XEXP (x26, 0);
6391 204 : if (GET_CODE (x27) != VEC_SELECT
6392 204 : || GET_MODE (x27) != E_SFmode)
6393 : return -1;
6394 204 : x28 = XEXP (x27, 1);
6395 204 : if (GET_CODE (x28) != PARALLEL
6396 204 : || XVECLEN (x28, 0) != 1)
6397 : return -1;
6398 204 : x29 = XVECEXP (x28, 0, 0);
6399 204 : if (x29 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
6400 : return -1;
6401 204 : x30 = XEXP (x26, 1);
6402 204 : if (GET_CODE (x30) != VEC_SELECT
6403 204 : || GET_MODE (x30) != E_SFmode)
6404 : return -1;
6405 204 : x31 = XEXP (x30, 1);
6406 204 : if (GET_CODE (x31) != PARALLEL
6407 204 : || XVECLEN (x31, 0) != 1)
6408 : return -1;
6409 204 : x32 = XVECEXP (x31, 0, 0);
6410 204 : if (x32 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6411 : return -1;
6412 204 : x33 = XEXP (x1, 1);
6413 204 : x34 = XEXP (x33, 0);
6414 204 : x35 = XEXP (x34, 0);
6415 204 : if (GET_CODE (x35) != i1)
6416 : return -1;
6417 204 : x36 = XEXP (x35, 0);
6418 204 : if (GET_CODE (x36) != VEC_SELECT
6419 204 : || GET_MODE (x36) != E_SFmode)
6420 : return -1;
6421 204 : x37 = XEXP (x36, 1);
6422 204 : if (GET_CODE (x37) != PARALLEL
6423 204 : || XVECLEN (x37, 0) != 1)
6424 : return -1;
6425 204 : x38 = XVECEXP (x37, 0, 0);
6426 204 : if (x38 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6427 : return -1;
6428 204 : x39 = XEXP (x35, 1);
6429 204 : if (GET_CODE (x39) != VEC_SELECT
6430 204 : || GET_MODE (x39) != E_SFmode)
6431 : return -1;
6432 204 : x40 = XEXP (x39, 1);
6433 204 : if (GET_CODE (x40) != PARALLEL
6434 204 : || XVECLEN (x40, 0) != 1)
6435 : return -1;
6436 204 : x41 = XVECEXP (x40, 0, 0);
6437 204 : if (x41 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6438 : return -1;
6439 204 : x42 = XEXP (x34, 1);
6440 204 : if (GET_CODE (x42) != i1)
6441 : return -1;
6442 204 : x43 = XEXP (x42, 0);
6443 204 : if (GET_CODE (x43) != VEC_SELECT
6444 204 : || GET_MODE (x43) != E_SFmode)
6445 : return -1;
6446 204 : x44 = XEXP (x43, 1);
6447 204 : if (GET_CODE (x44) != PARALLEL
6448 204 : || XVECLEN (x44, 0) != 1)
6449 : return -1;
6450 204 : x45 = XVECEXP (x44, 0, 0);
6451 204 : if (x45 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6452 : return -1;
6453 204 : x46 = XEXP (x42, 1);
6454 204 : if (GET_CODE (x46) != VEC_SELECT
6455 204 : || GET_MODE (x46) != E_SFmode)
6456 : return -1;
6457 204 : x47 = XEXP (x46, 1);
6458 204 : if (GET_CODE (x47) != PARALLEL
6459 204 : || XVECLEN (x47, 0) != 1)
6460 : return -1;
6461 204 : x48 = XVECEXP (x47, 0, 0);
6462 204 : if (x48 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6463 : return -1;
6464 204 : x49 = XEXP (x33, 1);
6465 204 : x50 = XEXP (x49, 0);
6466 204 : if (GET_CODE (x50) != i1)
6467 : return -1;
6468 204 : x51 = XEXP (x50, 0);
6469 204 : if (GET_CODE (x51) != VEC_SELECT
6470 204 : || GET_MODE (x51) != E_SFmode)
6471 : return -1;
6472 204 : x52 = XEXP (x51, 1);
6473 204 : if (GET_CODE (x52) != PARALLEL
6474 204 : || XVECLEN (x52, 0) != 1)
6475 : return -1;
6476 204 : x53 = XVECEXP (x52, 0, 0);
6477 204 : if (x53 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
6478 : return -1;
6479 204 : x54 = XEXP (x50, 1);
6480 204 : if (GET_CODE (x54) != VEC_SELECT
6481 204 : || GET_MODE (x54) != E_SFmode)
6482 : return -1;
6483 204 : x55 = XEXP (x54, 1);
6484 204 : if (GET_CODE (x55) != PARALLEL
6485 204 : || XVECLEN (x55, 0) != 1)
6486 : return -1;
6487 204 : x56 = XVECEXP (x55, 0, 0);
6488 204 : if (x56 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6489 : return -1;
6490 204 : x57 = XEXP (x49, 1);
6491 204 : if (GET_CODE (x57) != i1)
6492 : return -1;
6493 204 : x58 = XEXP (x57, 0);
6494 204 : if (GET_CODE (x58) != VEC_SELECT
6495 204 : || GET_MODE (x58) != E_SFmode)
6496 : return -1;
6497 204 : x59 = XEXP (x58, 1);
6498 204 : if (GET_CODE (x59) != PARALLEL
6499 204 : || XVECLEN (x59, 0) != 1)
6500 : return -1;
6501 204 : x60 = XVECEXP (x59, 0, 0);
6502 204 : if (x60 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
6503 : return -1;
6504 204 : x61 = XEXP (x57, 1);
6505 204 : if (GET_CODE (x61) != VEC_SELECT
6506 204 : || GET_MODE (x61) != E_SFmode)
6507 : return -1;
6508 204 : x62 = XEXP (x61, 1);
6509 204 : if (GET_CODE (x62) != PARALLEL
6510 204 : || XVECLEN (x62, 0) != 1)
6511 : return -1;
6512 204 : x63 = XVECEXP (x62, 0, 0);
6513 204 : if (x63 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6514 : return -1;
6515 204 : x64 = XEXP (x5, 0);
6516 204 : operands[1] = x64;
6517 204 : if (!register_operand (operands[1], E_V8SFmode))
6518 : return -1;
6519 180 : x65 = XEXP (x20, 0);
6520 180 : operands[2] = x65;
6521 180 : if (!nonimmediate_operand (operands[2], E_V8SFmode))
6522 : return -1;
6523 156 : x66 = XEXP (x8, 0);
6524 156 : if (!rtx_equal_p (x66, operands[1]))
6525 : return -1;
6526 156 : x67 = XEXP (x12, 0);
6527 156 : if (!rtx_equal_p (x67, operands[1]))
6528 : return -1;
6529 156 : x68 = XEXP (x15, 0);
6530 156 : if (!rtx_equal_p (x68, operands[1]))
6531 : return -1;
6532 156 : x69 = XEXP (x23, 0);
6533 156 : if (!rtx_equal_p (x69, operands[2]))
6534 : return -1;
6535 156 : x70 = XEXP (x27, 0);
6536 156 : if (!rtx_equal_p (x70, operands[2]))
6537 : return -1;
6538 156 : x71 = XEXP (x30, 0);
6539 156 : if (!rtx_equal_p (x71, operands[2]))
6540 : return -1;
6541 156 : x72 = XEXP (x36, 0);
6542 156 : if (!rtx_equal_p (x72, operands[1]))
6543 : return -1;
6544 156 : x73 = XEXP (x39, 0);
6545 156 : if (!rtx_equal_p (x73, operands[1]))
6546 : return -1;
6547 156 : x74 = XEXP (x43, 0);
6548 156 : if (!rtx_equal_p (x74, operands[1]))
6549 : return -1;
6550 156 : x75 = XEXP (x46, 0);
6551 156 : if (!rtx_equal_p (x75, operands[1]))
6552 : return -1;
6553 156 : x76 = XEXP (x51, 0);
6554 156 : if (!rtx_equal_p (x76, operands[2]))
6555 : return -1;
6556 156 : x77 = XEXP (x54, 0);
6557 156 : if (!rtx_equal_p (x77, operands[2]))
6558 : return -1;
6559 156 : x78 = XEXP (x58, 0);
6560 156 : if (!rtx_equal_p (x78, operands[2]))
6561 : return -1;
6562 156 : x79 = XEXP (x61, 0);
6563 156 : if (!rtx_equal_p (x79, operands[2]))
6564 : return -1;
6565 : return 0;
6566 : }
6567 :
6568 : int
6569 172279 : recog_10 (rtx x1 ATTRIBUTE_UNUSED,
6570 : rtx_insn *insn ATTRIBUTE_UNUSED,
6571 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6572 : {
6573 172279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6574 172279 : rtx x2, x3, x4, x5;
6575 172279 : int res ATTRIBUTE_UNUSED;
6576 172279 : x2 = XEXP (x1, 0);
6577 172279 : if (GET_CODE (x2) != REG
6578 172279 : || REGNO (x2) != 17)
6579 : return -1;
6580 172257 : x3 = XEXP (x1, 1);
6581 172257 : x4 = XVECEXP (x3, 0, 0);
6582 172257 : switch (GET_CODE (x4))
6583 : {
6584 170886 : case REG:
6585 170886 : case SUBREG:
6586 170886 : operands[0] = x4;
6587 170886 : if (!register_operand (operands[0], E_TFmode)
6588 23 : || GET_MODE (x2) != E_CCmode
6589 170909 : || GET_MODE (x3) != E_CCmode)
6590 : return -1;
6591 23 : x5 = XVECEXP (x3, 0, 1);
6592 23 : operands[1] = x5;
6593 23 : if (!vector_operand (operands[1], E_TFmode)
6594 23 : || !
6595 : #line 25945 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6596 : (TARGET_SSE4_1))
6597 : return -1;
6598 : return 8998; /* ptesttf2 */
6599 :
6600 : case AND:
6601 : switch (pattern611 (x1))
6602 : {
6603 : case 0:
6604 : if (!
6605 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6606 : (TARGET_SSE4_1
6607 : && ix86_pre_reload_split ()))
6608 : return -1;
6609 : return 8999; /* *ptestv16qi_and */
6610 :
6611 : case 1:
6612 : if (!
6613 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6614 : (TARGET_SSE4_1
6615 : && ix86_pre_reload_split ()))
6616 : return -1;
6617 : return 9000; /* *ptestv8hi_and */
6618 :
6619 : case 2:
6620 : if (!
6621 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6622 : (TARGET_SSE4_1
6623 : && ix86_pre_reload_split ()))
6624 : return -1;
6625 : return 9001; /* *ptestv4si_and */
6626 :
6627 : case 3:
6628 : if (!
6629 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6630 : (TARGET_SSE4_1
6631 : && ix86_pre_reload_split ()))
6632 : return -1;
6633 : return 9002; /* *ptestv2di_and */
6634 :
6635 : case 4:
6636 : if (!
6637 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6638 : (TARGET_SSE4_1
6639 : && ix86_pre_reload_split ()))
6640 : return -1;
6641 : return 9003; /* *ptestv1ti_and */
6642 :
6643 : case 5:
6644 : if (!
6645 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6646 : (TARGET_SSE4_1
6647 : && ix86_pre_reload_split ()))
6648 : return -1;
6649 : return 9004; /* *ptestv4sf_and */
6650 :
6651 : case 6:
6652 : if (!
6653 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6654 : (TARGET_SSE4_1
6655 : && ix86_pre_reload_split ()))
6656 : return -1;
6657 : return 9005; /* *ptestv2df_and */
6658 :
6659 : case 7:
6660 : if (!(
6661 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6662 : (TARGET_SSE4_1
6663 : && ix86_pre_reload_split ()) &&
6664 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6665 : (TARGET_AVX)))
6666 : return -1;
6667 : return 9006; /* *ptestv32qi_and */
6668 :
6669 : case 8:
6670 : if (!(
6671 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6672 : (TARGET_SSE4_1
6673 : && ix86_pre_reload_split ()) &&
6674 : #line 602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6675 : (TARGET_AVX)))
6676 : return -1;
6677 : return 9007; /* *ptestv16hi_and */
6678 :
6679 : case 9:
6680 : if (!(
6681 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6682 : (TARGET_SSE4_1
6683 : && ix86_pre_reload_split ()) &&
6684 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6685 : (TARGET_AVX)))
6686 : return -1;
6687 : return 9008; /* *ptestv8si_and */
6688 :
6689 : case 10:
6690 : if (!(
6691 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6692 : (TARGET_SSE4_1
6693 : && ix86_pre_reload_split ()) &&
6694 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6695 : (TARGET_AVX)))
6696 : return -1;
6697 : return 9009; /* *ptestv4di_and */
6698 :
6699 : case 11:
6700 : if (!(
6701 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6702 : (TARGET_SSE4_1
6703 : && ix86_pre_reload_split ()) &&
6704 : #line 603 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6705 : (TARGET_AVX)))
6706 : return -1;
6707 : return 9010; /* *ptestv2ti_and */
6708 :
6709 : case 12:
6710 : if (!(
6711 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6712 : (TARGET_SSE4_1
6713 : && ix86_pre_reload_split ()) &&
6714 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6715 : (TARGET_AVX)))
6716 : return -1;
6717 : return 9011; /* *ptestv8sf_and */
6718 :
6719 : case 13:
6720 : if (!(
6721 : #line 25960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6722 : (TARGET_SSE4_1
6723 : && ix86_pre_reload_split ()) &&
6724 : #line 604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6725 : (TARGET_AVX)))
6726 : return -1;
6727 : return 9012; /* *ptestv4df_and */
6728 :
6729 : default:
6730 : return -1;
6731 : }
6732 :
6733 : case EQ:
6734 : switch (pattern613 (x1))
6735 : {
6736 : case 0:
6737 : if (!(
6738 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6739 : (TARGET_SSE4_1
6740 : && ix86_pre_reload_split ()) &&
6741 : #line 578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6742 : (TARGET_AVX)))
6743 : return -1;
6744 : return 9013; /* *ptestv32qi_ccz */
6745 :
6746 : case 1:
6747 : if (!
6748 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6749 : (TARGET_SSE4_1
6750 : && ix86_pre_reload_split ()))
6751 : return -1;
6752 : return 9014; /* *ptestv16qi_ccz */
6753 :
6754 : case 2:
6755 : if (!(
6756 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6757 : (TARGET_SSE4_1
6758 : && ix86_pre_reload_split ()) &&
6759 : #line 579 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6760 : (TARGET_AVX)))
6761 : return -1;
6762 : return 9015; /* *ptestv16hi_ccz */
6763 :
6764 : case 3:
6765 : if (!
6766 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6767 : (TARGET_SSE4_1
6768 : && ix86_pre_reload_split ()))
6769 : return -1;
6770 : return 9016; /* *ptestv8hi_ccz */
6771 :
6772 : case 4:
6773 : if (!(
6774 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6775 : (TARGET_SSE4_1
6776 : && ix86_pre_reload_split ()) &&
6777 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6778 : (TARGET_AVX)))
6779 : return -1;
6780 : return 9017; /* *ptestv8si_ccz */
6781 :
6782 : case 5:
6783 : if (!
6784 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6785 : (TARGET_SSE4_1
6786 : && ix86_pre_reload_split ()))
6787 : return -1;
6788 : return 9018; /* *ptestv4si_ccz */
6789 :
6790 : case 6:
6791 : if (!(
6792 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6793 : (TARGET_SSE4_1
6794 : && ix86_pre_reload_split ()) &&
6795 : #line 581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6796 : (TARGET_AVX)))
6797 : return -1;
6798 : return 9019; /* *ptestv4di_ccz */
6799 :
6800 : case 7:
6801 : if (!
6802 : #line 26046 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
6803 : (TARGET_SSE4_1
6804 : && ix86_pre_reload_split ()))
6805 : return -1;
6806 : return 9020; /* *ptestv2di_ccz */
6807 :
6808 : default:
6809 : return -1;
6810 : }
6811 :
6812 : default:
6813 : return -1;
6814 : }
6815 : }
6816 :
6817 : int
6818 : recog_16 (rtx x1 ATTRIBUTE_UNUSED,
6819 : rtx_insn *insn ATTRIBUTE_UNUSED,
6820 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6821 : {
6822 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6823 : int res ATTRIBUTE_UNUSED;
6824 : if (push_operand (operands[0], E_SImode))
6825 : {
6826 : if (nonmemory_no_elim_operand (operands[1], E_SImode)
6827 : &&
6828 : #line 2254 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6829 : (TARGET_64BIT))
6830 : return 74; /* *pushsi2_rex64 */
6831 : if (general_no_elim_operand (operands[1], E_SImode)
6832 : &&
6833 : #line 2264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6834 : (!TARGET_64BIT))
6835 : return 75; /* *pushsi2 */
6836 : }
6837 : if (nonimmediate_operand (operands[0], E_SImode)
6838 : && pop_operand (operands[1], E_SImode)
6839 : &&
6840 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6841 : (word_mode == SImode))
6842 : return 80; /* *popsi1 */
6843 : if (pnum_clobbers != NULL
6844 : && const0_operand (operands[1], E_SImode))
6845 : {
6846 : if (register_operand (operands[0], E_SImode)
6847 : &&
6848 : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6849 : (reload_completed))
6850 : {
6851 : *pnum_clobbers = 1;
6852 : return 88; /* *movsi_xor */
6853 : }
6854 : if (memory_operand (operands[0], E_SImode)
6855 : &&
6856 : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6857 : (reload_completed))
6858 : {
6859 : *pnum_clobbers = 1;
6860 : return 91; /* *movsi_and */
6861 : }
6862 : }
6863 : if (!nonimmediate_operand (operands[0], E_SImode))
6864 : return -1;
6865 : if (pnum_clobbers != NULL
6866 : && constm1_operand (operands[1], E_SImode)
6867 : &&
6868 : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6869 : (reload_completed))
6870 : {
6871 : *pnum_clobbers = 1;
6872 : return 94; /* *movsi_or */
6873 : }
6874 : if (!general_operand (operands[1], E_SImode)
6875 : || !
6876 : #line 2839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6877 : (!(MEM_P (operands[0]) && MEM_P (operands[1]))
6878 : && ix86_hardreg_mov_ok (operands[0], operands[1])))
6879 : return -1;
6880 : return 100; /* *movsi_internal */
6881 : }
6882 :
6883 : int
6884 : recog_19 (rtx x1 ATTRIBUTE_UNUSED,
6885 : rtx_insn *insn ATTRIBUTE_UNUSED,
6886 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6887 : {
6888 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6889 : rtx x2, x3, x4, x5, x6;
6890 : int res ATTRIBUTE_UNUSED;
6891 : x2 = XEXP (x1, 0);
6892 : x3 = XEXP (x2, 1);
6893 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6894 : return -1;
6895 : x4 = XEXP (x2, 2);
6896 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
6897 : return -1;
6898 : x5 = XEXP (x2, 0);
6899 : operands[0] = x5;
6900 : if (!int248_register_operand (operands[0], E_VOIDmode))
6901 : return -1;
6902 : x6 = XEXP (x1, 1);
6903 : operands[1] = x6;
6904 : switch (GET_MODE (x2))
6905 : {
6906 : case E_HImode:
6907 : if (!general_operand (operands[1], E_HImode))
6908 : return -1;
6909 : return 132; /* insvhi_1 */
6910 :
6911 : case E_SImode:
6912 : if (!general_operand (operands[1], E_SImode))
6913 : return -1;
6914 : return 133; /* insvsi_1 */
6915 :
6916 : case E_DImode:
6917 : if (!general_operand (operands[1], E_DImode)
6918 : || !
6919 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6920 : (TARGET_64BIT))
6921 : return -1;
6922 : return 134; /* insvdi_1 */
6923 :
6924 : default:
6925 : return -1;
6926 : }
6927 : }
6928 :
6929 : int
6930 : recog_21 (rtx x1 ATTRIBUTE_UNUSED,
6931 : rtx_insn *insn ATTRIBUTE_UNUSED,
6932 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6933 : {
6934 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6935 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6936 : rtx x10, x11;
6937 : int res ATTRIBUTE_UNUSED;
6938 : x2 = XEXP (x1, 0);
6939 : switch (GET_CODE (x2))
6940 : {
6941 : case REG:
6942 : case SUBREG:
6943 : case MEM:
6944 : res = recog_17 (x1, insn, pnum_clobbers);
6945 : if (res >= 0)
6946 : return res;
6947 : break;
6948 :
6949 : case STRICT_LOW_PART:
6950 : res = recog_18 (x1, insn, pnum_clobbers);
6951 : if (res >= 0)
6952 : return res;
6953 : break;
6954 :
6955 : case ZERO_EXTRACT:
6956 : res = recog_19 (x1, insn, pnum_clobbers);
6957 : if (res >= 0)
6958 : return res;
6959 : break;
6960 :
6961 : case PC:
6962 : x3 = XEXP (x1, 1);
6963 : operands[0] = x3;
6964 : switch (GET_MODE (operands[0]))
6965 : {
6966 : case E_SImode:
6967 : if (indirect_branch_operand (operands[0], E_SImode)
6968 : &&
6969 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6970 : (word_mode == SImode))
6971 : return 1492; /* *indirect_jump */
6972 : break;
6973 :
6974 : case E_DImode:
6975 : if (indirect_branch_operand (operands[0], E_DImode)
6976 : &&
6977 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6978 : (word_mode == DImode))
6979 : return 1493; /* *indirect_jump */
6980 : break;
6981 :
6982 : default:
6983 : break;
6984 : }
6985 : break;
6986 :
6987 : default:
6988 : break;
6989 : }
6990 : x3 = XEXP (x1, 1);
6991 : switch (GET_CODE (x3))
6992 : {
6993 : case MEM:
6994 : operands[0] = x2;
6995 : x4 = XEXP (x3, 0);
6996 : operands[1] = x4;
6997 : if (!x86_64_movabs_operand (operands[1], E_DImode))
6998 : return -1;
6999 : switch (GET_MODE (operands[0]))
7000 : {
7001 : case E_QImode:
7002 : if (!register_operand (operands[0], E_QImode)
7003 : || GET_MODE (x3) != E_QImode
7004 : || !
7005 : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7006 : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
7007 : return -1;
7008 : return 107; /* *movabsqi_2 */
7009 :
7010 : case E_HImode:
7011 : if (!register_operand (operands[0], E_HImode)
7012 : || GET_MODE (x3) != E_HImode
7013 : || !
7014 : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7015 : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
7016 : return -1;
7017 : return 108; /* *movabshi_2 */
7018 :
7019 : case E_SImode:
7020 : if (!register_operand (operands[0], E_SImode)
7021 : || GET_MODE (x3) != E_SImode
7022 : || !
7023 : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7024 : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
7025 : return -1;
7026 : return 109; /* *movabssi_2 */
7027 :
7028 : case E_DImode:
7029 : if (!register_operand (operands[0], E_DImode)
7030 : || GET_MODE (x3) != E_DImode
7031 : || !
7032 : #line 3336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7033 : (TARGET_LP64 && ix86_check_movabs (insn, 1)))
7034 : return -1;
7035 : return 110; /* *movabsdi_2 */
7036 :
7037 : default:
7038 : return -1;
7039 : }
7040 :
7041 : case SUBREG:
7042 : if (maybe_ne (SUBREG_BYTE (x3), 0))
7043 : return -1;
7044 : x4 = XEXP (x3, 0);
7045 : switch (GET_CODE (x4))
7046 : {
7047 : case ASHIFTRT:
7048 : case LSHIFTRT:
7049 : case SIGN_EXTRACT:
7050 : case ZERO_EXTRACT:
7051 : operands[2] = x4;
7052 : res = recog_20 (x1, insn, pnum_clobbers);
7053 : if (res >= 0)
7054 : return res;
7055 : if (pnum_clobbers == NULL
7056 : || pattern425 (x1) != 0
7057 : || GET_MODE (x4) != E_QImode)
7058 : return -1;
7059 : x5 = XEXP (x4, 0);
7060 : x6 = XEXP (x5, 0);
7061 : x7 = XEXP (x6, 0);
7062 : operands[1] = x7;
7063 : if (!int248_register_operand (operands[1], E_VOIDmode))
7064 : return -1;
7065 : x8 = XEXP (x4, 1);
7066 : operands[2] = x8;
7067 : if (!nonmemory_operand (operands[2], E_QImode))
7068 : return -1;
7069 : switch (GET_CODE (x4))
7070 : {
7071 : case LSHIFTRT:
7072 : switch (pattern1715 (x1))
7073 : {
7074 : case 0:
7075 : *pnum_clobbers = 1;
7076 : return 1270; /* *lshrqi_exthi_1 */
7077 :
7078 : case 1:
7079 : *pnum_clobbers = 1;
7080 : return 1272; /* *lshrqi_extsi_1 */
7081 :
7082 : case 2:
7083 : if (!
7084 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7085 : (TARGET_64BIT))
7086 : return -1;
7087 : *pnum_clobbers = 1;
7088 : return 1274; /* *lshrqi_extdi_1 */
7089 :
7090 : default:
7091 : return -1;
7092 : }
7093 :
7094 : case ASHIFTRT:
7095 : switch (pattern1715 (x1))
7096 : {
7097 : case 0:
7098 : *pnum_clobbers = 1;
7099 : return 1271; /* *ashrqi_exthi_1 */
7100 :
7101 : case 1:
7102 : *pnum_clobbers = 1;
7103 : return 1273; /* *ashrqi_extsi_1 */
7104 :
7105 : case 2:
7106 : if (!
7107 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7108 : (TARGET_64BIT))
7109 : return -1;
7110 : *pnum_clobbers = 1;
7111 : return 1275; /* *ashrqi_extdi_1 */
7112 :
7113 : default:
7114 : return -1;
7115 : }
7116 :
7117 : default:
7118 : return -1;
7119 : }
7120 :
7121 : case CONST_INT:
7122 : case CONST_WIDE_INT:
7123 : case CONST_POLY_INT:
7124 : case CONST_FIXED:
7125 : case CONST_DOUBLE:
7126 : case CONST_VECTOR:
7127 : case CONST:
7128 : case REG:
7129 : case SUBREG:
7130 : case MEM:
7131 : case LABEL_REF:
7132 : case SYMBOL_REF:
7133 : case HIGH:
7134 : operands[1] = x4;
7135 : if (!general_operand (operands[1], E_QImode)
7136 : || pattern424 (x2) != 0)
7137 : return -1;
7138 : switch (GET_MODE (x2))
7139 : {
7140 : case E_HImode:
7141 : if (GET_MODE (x3) != E_HImode)
7142 : return -1;
7143 : return 135; /* *insvqi_1 */
7144 :
7145 : case E_SImode:
7146 : if (GET_MODE (x3) != E_SImode)
7147 : return -1;
7148 : return 136; /* *insvqi_1 */
7149 :
7150 : case E_DImode:
7151 : if (GET_MODE (x3) != E_DImode
7152 : || !
7153 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7154 : (TARGET_64BIT))
7155 : return -1;
7156 : return 137; /* *insvqi_1 */
7157 :
7158 : default:
7159 : return -1;
7160 : }
7161 :
7162 : case PLUS:
7163 : if (pattern257 (x1, pnum_clobbers) != 0)
7164 : return -1;
7165 : x8 = XEXP (x4, 1);
7166 : operands[2] = x8;
7167 : if (general_operand (operands[2], E_QImode))
7168 : {
7169 : switch (pattern1715 (x1))
7170 : {
7171 : case 0:
7172 : *pnum_clobbers = 1;
7173 : return 337; /* *addqi_exthi_1 */
7174 :
7175 : case 1:
7176 : *pnum_clobbers = 1;
7177 : return 338; /* *addqi_extsi_1 */
7178 :
7179 : case 2:
7180 : if (
7181 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7182 : (TARGET_64BIT))
7183 : {
7184 : *pnum_clobbers = 1;
7185 : return 339; /* *addqi_extdi_1 */
7186 : }
7187 : break;
7188 :
7189 : default:
7190 : break;
7191 : }
7192 : }
7193 : if (GET_CODE (x8) != SUBREG)
7194 : return -1;
7195 : switch (pattern1685 (x1))
7196 : {
7197 : case 0:
7198 : *pnum_clobbers = 1;
7199 : return 340; /* *addqi_exthi_2 */
7200 :
7201 : case 1:
7202 : *pnum_clobbers = 1;
7203 : return 342; /* *addqi_extsi_2 */
7204 :
7205 : case 2:
7206 : if (!
7207 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7208 : (TARGET_64BIT))
7209 : return -1;
7210 : *pnum_clobbers = 1;
7211 : return 344; /* *addqi_extdi_2 */
7212 :
7213 : default:
7214 : return -1;
7215 : }
7216 :
7217 : case MINUS:
7218 : if (pattern257 (x1, pnum_clobbers) != 0)
7219 : return -1;
7220 : x8 = XEXP (x4, 1);
7221 : if (GET_CODE (x8) == SUBREG)
7222 : {
7223 : switch (pattern1685 (x1))
7224 : {
7225 : case 0:
7226 : *pnum_clobbers = 1;
7227 : return 341; /* *subqi_exthi_2 */
7228 :
7229 : case 1:
7230 : *pnum_clobbers = 1;
7231 : return 343; /* *subqi_extsi_2 */
7232 :
7233 : case 2:
7234 : if (
7235 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7236 : (TARGET_64BIT))
7237 : {
7238 : *pnum_clobbers = 1;
7239 : return 345; /* *subqi_extdi_2 */
7240 : }
7241 : break;
7242 :
7243 : default:
7244 : break;
7245 : }
7246 : }
7247 : operands[2] = x8;
7248 : if (!general_operand (operands[2], E_QImode))
7249 : return -1;
7250 : switch (pattern1715 (x1))
7251 : {
7252 : case 0:
7253 : *pnum_clobbers = 1;
7254 : return 426; /* *subqi_exthi_1 */
7255 :
7256 : case 1:
7257 : *pnum_clobbers = 1;
7258 : return 427; /* *subqi_extsi_1 */
7259 :
7260 : case 2:
7261 : if (!
7262 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7263 : (TARGET_64BIT))
7264 : return -1;
7265 : *pnum_clobbers = 1;
7266 : return 428; /* *subqi_extdi_1 */
7267 :
7268 : default:
7269 : return -1;
7270 : }
7271 :
7272 : case AND:
7273 : if (pattern257 (x1, pnum_clobbers) != 0)
7274 : return -1;
7275 : x8 = XEXP (x4, 1);
7276 : operands[2] = x8;
7277 : if (general_operand (operands[2], E_QImode))
7278 : {
7279 : switch (pattern1715 (x1))
7280 : {
7281 : case 0:
7282 : *pnum_clobbers = 1;
7283 : return 801; /* *andqi_exthi_1 */
7284 :
7285 : case 1:
7286 : *pnum_clobbers = 1;
7287 : return 804; /* *andqi_extsi_1 */
7288 :
7289 : case 2:
7290 : if (
7291 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7292 : (TARGET_64BIT))
7293 : {
7294 : *pnum_clobbers = 1;
7295 : return 807; /* *andqi_extdi_1 */
7296 : }
7297 : break;
7298 :
7299 : default:
7300 : break;
7301 : }
7302 : }
7303 : if (GET_CODE (x8) != SUBREG)
7304 : return -1;
7305 : switch (pattern1685 (x1))
7306 : {
7307 : case 0:
7308 : *pnum_clobbers = 1;
7309 : return 819; /* *andqi_exthi_2 */
7310 :
7311 : case 1:
7312 : *pnum_clobbers = 1;
7313 : return 822; /* *andqi_extsi_2 */
7314 :
7315 : case 2:
7316 : if (!
7317 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7318 : (TARGET_64BIT))
7319 : return -1;
7320 : *pnum_clobbers = 1;
7321 : return 825; /* *andqi_extdi_2 */
7322 :
7323 : default:
7324 : return -1;
7325 : }
7326 :
7327 : case IOR:
7328 : if (pattern257 (x1, pnum_clobbers) != 0)
7329 : return -1;
7330 : x8 = XEXP (x4, 1);
7331 : operands[2] = x8;
7332 : if (general_operand (operands[2], E_QImode))
7333 : {
7334 : switch (pattern1715 (x1))
7335 : {
7336 : case 0:
7337 : *pnum_clobbers = 1;
7338 : return 802; /* *iorqi_exthi_1 */
7339 :
7340 : case 1:
7341 : *pnum_clobbers = 1;
7342 : return 805; /* *iorqi_extsi_1 */
7343 :
7344 : case 2:
7345 : if (
7346 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7347 : (TARGET_64BIT))
7348 : {
7349 : *pnum_clobbers = 1;
7350 : return 808; /* *iorqi_extdi_1 */
7351 : }
7352 : break;
7353 :
7354 : default:
7355 : break;
7356 : }
7357 : }
7358 : if (GET_CODE (x8) != SUBREG)
7359 : return -1;
7360 : switch (pattern1685 (x1))
7361 : {
7362 : case 0:
7363 : *pnum_clobbers = 1;
7364 : return 820; /* *iorqi_exthi_2 */
7365 :
7366 : case 1:
7367 : *pnum_clobbers = 1;
7368 : return 823; /* *iorqi_extsi_2 */
7369 :
7370 : case 2:
7371 : if (!
7372 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7373 : (TARGET_64BIT))
7374 : return -1;
7375 : *pnum_clobbers = 1;
7376 : return 826; /* *iorqi_extdi_2 */
7377 :
7378 : default:
7379 : return -1;
7380 : }
7381 :
7382 : case XOR:
7383 : if (pattern257 (x1, pnum_clobbers) != 0)
7384 : return -1;
7385 : x8 = XEXP (x4, 1);
7386 : operands[2] = x8;
7387 : if (general_operand (operands[2], E_QImode))
7388 : {
7389 : switch (pattern1715 (x1))
7390 : {
7391 : case 0:
7392 : *pnum_clobbers = 1;
7393 : return 803; /* *xorqi_exthi_1 */
7394 :
7395 : case 1:
7396 : *pnum_clobbers = 1;
7397 : return 806; /* *xorqi_extsi_1 */
7398 :
7399 : case 2:
7400 : if (
7401 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7402 : (TARGET_64BIT))
7403 : {
7404 : *pnum_clobbers = 1;
7405 : return 809; /* *xorqi_extdi_1 */
7406 : }
7407 : break;
7408 :
7409 : default:
7410 : break;
7411 : }
7412 : }
7413 : if (GET_CODE (x8) != SUBREG)
7414 : return -1;
7415 : switch (pattern1685 (x1))
7416 : {
7417 : case 0:
7418 : *pnum_clobbers = 1;
7419 : return 821; /* *xorqi_exthi_2 */
7420 :
7421 : case 1:
7422 : *pnum_clobbers = 1;
7423 : return 824; /* *xorqi_extsi_2 */
7424 :
7425 : case 2:
7426 : if (!
7427 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7428 : (TARGET_64BIT))
7429 : return -1;
7430 : *pnum_clobbers = 1;
7431 : return 827; /* *xorqi_extdi_2 */
7432 :
7433 : default:
7434 : return -1;
7435 : }
7436 :
7437 : case NEG:
7438 : if (pnum_clobbers == NULL
7439 : || GET_MODE (x4) != E_QImode)
7440 : return -1;
7441 : x5 = XEXP (x4, 0);
7442 : if (GET_CODE (x5) != SUBREG
7443 : || maybe_ne (SUBREG_BYTE (x5), 0)
7444 : || GET_MODE (x5) != E_QImode)
7445 : return -1;
7446 : x6 = XEXP (x5, 0);
7447 : switch (GET_CODE (x6))
7448 : {
7449 : case ASHIFTRT:
7450 : case LSHIFTRT:
7451 : case SIGN_EXTRACT:
7452 : case ZERO_EXTRACT:
7453 : operands[2] = x6;
7454 : if (pattern256 (x1) != 0)
7455 : return -1;
7456 : switch (GET_MODE (x2))
7457 : {
7458 : case E_HImode:
7459 : if (GET_MODE (x3) != E_HImode
7460 : || !extract_high_operator (operands[2], E_HImode))
7461 : return -1;
7462 : *pnum_clobbers = 1;
7463 : return 1020; /* *negqi_exthi_1 */
7464 :
7465 : case E_SImode:
7466 : if (GET_MODE (x3) != E_SImode
7467 : || !extract_high_operator (operands[2], E_SImode))
7468 : return -1;
7469 : *pnum_clobbers = 1;
7470 : return 1021; /* *negqi_extsi_1 */
7471 :
7472 : case E_DImode:
7473 : if (GET_MODE (x3) != E_DImode
7474 : || !extract_high_operator (operands[2], E_DImode)
7475 : || !
7476 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7477 : (TARGET_64BIT))
7478 : return -1;
7479 : *pnum_clobbers = 1;
7480 : return 1022; /* *negqi_extdi_1 */
7481 :
7482 : default:
7483 : return -1;
7484 : }
7485 :
7486 : default:
7487 : return -1;
7488 : }
7489 :
7490 : case ASHIFT:
7491 : if (pnum_clobbers == NULL
7492 : || GET_MODE (x4) != E_QImode
7493 : || pattern425 (x1) != 0)
7494 : return -1;
7495 : x5 = XEXP (x4, 0);
7496 : x6 = XEXP (x5, 0);
7497 : x7 = XEXP (x6, 0);
7498 : operands[1] = x7;
7499 : if (!int248_register_operand (operands[1], E_VOIDmode))
7500 : return -1;
7501 : x8 = XEXP (x4, 1);
7502 : operands[2] = x8;
7503 : if (!nonmemory_operand (operands[2], E_QImode))
7504 : return -1;
7505 : switch (pattern1715 (x1))
7506 : {
7507 : case 0:
7508 : *pnum_clobbers = 1;
7509 : return 1151; /* *ashlqi_exthi_1 */
7510 :
7511 : case 1:
7512 : *pnum_clobbers = 1;
7513 : return 1152; /* *ashlqi_extsi_1 */
7514 :
7515 : case 2:
7516 : if (!
7517 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7518 : (TARGET_64BIT))
7519 : return -1;
7520 : *pnum_clobbers = 1;
7521 : return 1153; /* *ashlqi_extdi_1 */
7522 :
7523 : default:
7524 : return -1;
7525 : }
7526 :
7527 : case SS_TRUNCATE:
7528 : if (pattern258 (x1) != 0
7529 : || !
7530 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7531 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7532 : return -1;
7533 : return 7334; /* *avx512vl_ss_truncatev2div2qi2_store_2 */
7534 :
7535 : case TRUNCATE:
7536 : if (pattern258 (x1) != 0
7537 : || !
7538 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7539 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7540 : return -1;
7541 : return 7335; /* *avx512vl_truncatev2div2qi2_store_2 */
7542 :
7543 : case US_TRUNCATE:
7544 : if (pattern258 (x1) != 0
7545 : || !
7546 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7547 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
7548 : return -1;
7549 : return 7336; /* *avx512vl_us_truncatev2div2qi2_store_2 */
7550 :
7551 : default:
7552 : return -1;
7553 : }
7554 :
7555 : case REG:
7556 : if (REGNO (x3) != 17
7557 : || pattern59 (x1,
7558 : E_CCCmode) != 0
7559 : || !
7560 : #line 10226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7561 : (ix86_pre_reload_split ()))
7562 : return -1;
7563 : return 557; /* *setccc */
7564 :
7565 : case CONST_INT:
7566 : if (pnum_clobbers == NULL
7567 : || GET_CODE (x2) != ZERO_EXTRACT)
7568 : return -1;
7569 : x9 = XEXP (x2, 1);
7570 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
7571 : return -1;
7572 : x10 = XEXP (x2, 0);
7573 : operands[0] = x10;
7574 : x11 = XEXP (x2, 2);
7575 : operands[1] = x11;
7576 : switch (XWINT (x3, 0))
7577 : {
7578 : case 0L:
7579 : switch (GET_CODE (operands[1]))
7580 : {
7581 : case REG:
7582 : case SUBREG:
7583 : if (!register_operand (operands[1], E_QImode)
7584 : || GET_MODE (x2) != E_HImode)
7585 : return -1;
7586 : switch (GET_MODE (operands[0]))
7587 : {
7588 : case E_QImode:
7589 : if (!nonimmediate_operand (operands[0], E_QImode)
7590 : || !
7591 : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7592 : (TARGET_USE_BT && ix86_pre_reload_split ()))
7593 : return -1;
7594 : *pnum_clobbers = 1;
7595 : return 1443; /* *btrqi_2 */
7596 :
7597 : case E_HImode:
7598 : if (!nonimmediate_operand (operands[0], E_HImode)
7599 : || !
7600 : #line 19323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7601 : (TARGET_USE_BT && ix86_pre_reload_split ()))
7602 : return -1;
7603 : *pnum_clobbers = 1;
7604 : return 1444; /* *btrhi_2 */
7605 :
7606 : default:
7607 : return -1;
7608 : }
7609 :
7610 : case CONST_INT:
7611 : if (!const_0_to_63_operand (operands[1], E_QImode)
7612 : || GET_MODE (x2) != E_DImode
7613 : || !nonimmediate_operand (operands[0], E_DImode)
7614 : || !
7615 : #line 19387 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7616 : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
7617 : return -1;
7618 : *pnum_clobbers = 1;
7619 : return 1446; /* *btrq_imm */
7620 :
7621 : default:
7622 : return -1;
7623 : }
7624 :
7625 : case 1L:
7626 : if (GET_MODE (x2) != E_DImode
7627 : || !nonimmediate_operand (operands[0], E_DImode)
7628 : || !const_0_to_63_operand (operands[1], E_QImode)
7629 : || !
7630 : #line 19374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7631 : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
7632 : return -1;
7633 : *pnum_clobbers = 1;
7634 : return 1445; /* *btsq_imm */
7635 :
7636 : default:
7637 : return -1;
7638 : }
7639 :
7640 : case LABEL_REF:
7641 : if (GET_CODE (x2) != PC)
7642 : return -1;
7643 : x4 = XEXP (x3, 0);
7644 : operands[0] = x4;
7645 : return 1491; /* jump */
7646 :
7647 : default:
7648 : return -1;
7649 : }
7650 : }
7651 :
7652 : int
7653 : recog_33 (rtx x1 ATTRIBUTE_UNUSED,
7654 : rtx_insn *insn ATTRIBUTE_UNUSED,
7655 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7656 : {
7657 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7658 : rtx x2, x3, x4;
7659 : int res ATTRIBUTE_UNUSED;
7660 : x2 = XEXP (x1, 0);
7661 : operands[0] = x2;
7662 : x3 = XEXP (x1, 1);
7663 : x4 = XEXP (x3, 0);
7664 : operands[1] = x4;
7665 : switch (GET_MODE (operands[0]))
7666 : {
7667 : case E_SFmode:
7668 : if (GET_MODE (x3) != E_SFmode)
7669 : return -1;
7670 : if (nonimm_ssenomem_operand (operands[0], E_SFmode)
7671 : && register_ssemem_operand (operands[1], E_DFmode)
7672 : &&
7673 : #line 5539 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7674 : (TARGET_80387 || (TARGET_SSE2 && TARGET_SSE_MATH)))
7675 : return 210; /* truncdfsf2 */
7676 : if (!nonimmediate_operand (operands[0], E_SFmode)
7677 : || !register_operand (operands[1], E_XFmode)
7678 : || !
7679 : #line 5667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7680 : (TARGET_80387))
7681 : return -1;
7682 : return 211; /* truncxfsf2 */
7683 :
7684 : case E_DFmode:
7685 : if (!nonimmediate_operand (operands[0], E_DFmode)
7686 : || GET_MODE (x3) != E_DFmode
7687 : || !register_operand (operands[1], E_XFmode)
7688 : || !
7689 : #line 5667 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7690 : (TARGET_80387))
7691 : return -1;
7692 : return 212; /* truncxfdf2 */
7693 :
7694 : case E_HFmode:
7695 : if (!register_operand (operands[0], E_HFmode))
7696 : return -1;
7697 : switch (pattern428 (x3,
7698 : E_HFmode))
7699 : {
7700 : case 0:
7701 : if (!
7702 : #line 5708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7703 : (TARGET_AVX512FP16))
7704 : return -1;
7705 : return 213; /* *truncsfhf2 */
7706 :
7707 : case 1:
7708 : if (!
7709 : #line 5708 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7710 : (TARGET_AVX512FP16))
7711 : return -1;
7712 : return 214; /* *truncdfhf2 */
7713 :
7714 : default:
7715 : return -1;
7716 : }
7717 :
7718 : case E_BFmode:
7719 : if (!register_operand (operands[0], E_BFmode)
7720 : || GET_MODE (x3) != E_BFmode
7721 : || !register_operand (operands[1], E_SFmode)
7722 : || !
7723 : #line 5724 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7724 : (TARGET_SSE2 && !HONOR_NANS (BFmode) && !flag_rounding_math
7725 : && (flag_unsafe_math_optimizations
7726 : || TARGET_AVXNECONVERT
7727 : || (TARGET_AVX512BF16 && TARGET_AVX512VL))))
7728 : return -1;
7729 : return 215; /* truncsfbf2 */
7730 :
7731 : case E_V2SFmode:
7732 : if (!register_operand (operands[0], E_V2SFmode)
7733 : || GET_MODE (x3) != E_V2SFmode
7734 : || !vector_operand (operands[1], E_V2DFmode)
7735 : || !
7736 : #line 10481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7737 : (TARGET_MMX_WITH_SSE))
7738 : return -1;
7739 : return 5197; /* truncv2dfv2sf2 */
7740 :
7741 : default:
7742 : return -1;
7743 : }
7744 : }
7745 :
7746 : int
7747 : recog_36 (rtx x1 ATTRIBUTE_UNUSED,
7748 : rtx_insn *insn ATTRIBUTE_UNUSED,
7749 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7750 : {
7751 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7752 : rtx x2, x3, x4, x5, x6;
7753 : int res ATTRIBUTE_UNUSED;
7754 : x2 = XEXP (x1, 0);
7755 : operands[0] = x2;
7756 : x3 = XEXP (x1, 1);
7757 : x4 = XEXP (x3, 0);
7758 : switch (GET_CODE (x4))
7759 : {
7760 : case REG:
7761 : case SUBREG:
7762 : case MEM:
7763 : operands[1] = x4;
7764 : switch (GET_MODE (operands[0]))
7765 : {
7766 : case E_SFmode:
7767 : switch (pattern429 (x3,
7768 : E_SFmode))
7769 : {
7770 : case 0:
7771 : if (!
7772 : #line 6071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7773 : (TARGET_80387
7774 : && (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
7775 : || TARGET_MIX_SSE_I387)))
7776 : return -1;
7777 : return 243; /* floathisf2 */
7778 :
7779 : case 1:
7780 : if (!
7781 : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7782 : ((TARGET_80387 && X87_ENABLE_FLOAT (SFmode, SImode))
7783 : || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
7784 : return -1;
7785 : return 248; /* *floatsisf2 */
7786 :
7787 : case 2:
7788 : if ((
7789 : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7790 : ((TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode))
7791 : || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)) &&
7792 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7793 : (TARGET_64BIT)))
7794 : return 249; /* *floatdisf2 */
7795 : if (!
7796 : #line 6154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7797 : (!TARGET_64BIT
7798 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)))
7799 : return -1;
7800 : return 256; /* *floatdisf2_i387 */
7801 :
7802 : default:
7803 : return -1;
7804 : }
7805 :
7806 : case E_DFmode:
7807 : switch (pattern429 (x3,
7808 : E_DFmode))
7809 : {
7810 : case 0:
7811 : if (!
7812 : #line 6071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7813 : (TARGET_80387
7814 : && (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
7815 : || TARGET_MIX_SSE_I387)))
7816 : return -1;
7817 : return 244; /* floathidf2 */
7818 :
7819 : case 1:
7820 : if (!
7821 : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7822 : ((TARGET_80387 && X87_ENABLE_FLOAT (DFmode, SImode))
7823 : || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
7824 : return -1;
7825 : return 250; /* *floatsidf2 */
7826 :
7827 : case 2:
7828 : if ((
7829 : #line 6101 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7830 : ((TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode))
7831 : || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)) &&
7832 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7833 : (TARGET_64BIT)))
7834 : return 251; /* *floatdidf2 */
7835 : if (!
7836 : #line 6154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7837 : (!TARGET_64BIT
7838 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)))
7839 : return -1;
7840 : return 257; /* *floatdidf2_i387 */
7841 :
7842 : default:
7843 : return -1;
7844 : }
7845 :
7846 : case E_XFmode:
7847 : switch (pattern429 (x3,
7848 : E_XFmode))
7849 : {
7850 : case 0:
7851 : if (!
7852 : #line 6071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7853 : (TARGET_80387
7854 : && (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)
7855 : || TARGET_MIX_SSE_I387)))
7856 : return -1;
7857 : return 245; /* floathixf2 */
7858 :
7859 : case 1:
7860 : if (!
7861 : #line 6083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7862 : (TARGET_80387))
7863 : return -1;
7864 : return 246; /* floatsixf2 */
7865 :
7866 : case 2:
7867 : if (!
7868 : #line 6083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7869 : (TARGET_80387))
7870 : return -1;
7871 : return 247; /* floatdixf2 */
7872 :
7873 : default:
7874 : return -1;
7875 : }
7876 :
7877 : case E_HFmode:
7878 : switch (pattern264 (x3,
7879 : E_HFmode))
7880 : {
7881 : case 0:
7882 : if (!
7883 : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7884 : (TARGET_AVX512FP16))
7885 : return -1;
7886 : return 252; /* floatsihf2 */
7887 :
7888 : case 1:
7889 : if (!(
7890 : #line 6145 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7891 : (TARGET_AVX512FP16) &&
7892 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7893 : (TARGET_64BIT)))
7894 : return -1;
7895 : return 254; /* floatdihf2 */
7896 :
7897 : default:
7898 : return -1;
7899 : }
7900 :
7901 : default:
7902 : return -1;
7903 : }
7904 :
7905 : case SIGN_EXTEND:
7906 : if (GET_MODE (x4) != E_V2SImode)
7907 : return -1;
7908 : x5 = XEXP (x4, 0);
7909 : if (GET_CODE (x5) != TRUNCATE
7910 : || GET_MODE (x5) != E_V2HImode
7911 : || !register_operand (operands[0], E_V2SFmode)
7912 : || GET_MODE (x3) != E_V2SFmode)
7913 : return -1;
7914 : x6 = XEXP (x5, 0);
7915 : operands[1] = x6;
7916 : if (!nonimmediate_operand (operands[1], E_V2SImode)
7917 : || !
7918 : #line 1647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7919 : (TARGET_3DNOW_A))
7920 : return -1;
7921 : return 2139; /* mmx_pi2fw */
7922 :
7923 : default:
7924 : return -1;
7925 : }
7926 : }
7927 :
7928 : int
7929 : recog_44 (rtx x1 ATTRIBUTE_UNUSED,
7930 : rtx_insn *insn ATTRIBUTE_UNUSED,
7931 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7932 : {
7933 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7934 : rtx x2, x3, x4, x5, x6;
7935 : int res ATTRIBUTE_UNUSED;
7936 : x2 = XEXP (x1, 1);
7937 : x3 = XEXP (x2, 0);
7938 : switch (GET_CODE (x3))
7939 : {
7940 : case REG:
7941 : case SUBREG:
7942 : case MEM:
7943 : operands[1] = x3;
7944 : x4 = XEXP (x1, 0);
7945 : switch (GET_CODE (x4))
7946 : {
7947 : case REG:
7948 : case SUBREG:
7949 : case MEM:
7950 : operands[0] = x4;
7951 : switch (GET_MODE (operands[0]))
7952 : {
7953 : case E_TImode:
7954 : if (pnum_clobbers == NULL
7955 : || !nonimmediate_operand (operands[0], E_TImode)
7956 : || GET_MODE (x2) != E_TImode
7957 : || !nonimmediate_operand (operands[1], E_TImode)
7958 : || !(
7959 : #line 14573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7960 : (ix86_unary_operator_ok (NEG, TImode, operands, TARGET_APX_NDD)) &&
7961 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7962 : (TARGET_64BIT)))
7963 : return -1;
7964 : *pnum_clobbers = 1;
7965 : return 985; /* *negti2_doubleword */
7966 :
7967 : case E_QImode:
7968 : if (!nonimmediate_operand (operands[0], E_QImode)
7969 : || GET_MODE (x2) != E_QImode
7970 : || !nonimmediate_operand (operands[1], E_QImode))
7971 : return -1;
7972 : if (
7973 : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7974 : (ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)
7975 : && TARGET_APX_NF))
7976 : return 986; /* *negqi_1_nf */
7977 : if (pnum_clobbers == NULL
7978 : || !
7979 : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7980 : (ix86_unary_operator_ok (NEG, QImode, operands, TARGET_APX_NDD)
7981 : && true))
7982 : return -1;
7983 : *pnum_clobbers = 1;
7984 : return 987; /* *negqi_1 */
7985 :
7986 : case E_HImode:
7987 : if (!nonimmediate_operand (operands[0], E_HImode)
7988 : || GET_MODE (x2) != E_HImode
7989 : || !nonimmediate_operand (operands[1], E_HImode))
7990 : return -1;
7991 : if (
7992 : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7993 : (ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)
7994 : && TARGET_APX_NF))
7995 : return 988; /* *neghi_1_nf */
7996 : if (pnum_clobbers == NULL
7997 : || !
7998 : #line 14682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7999 : (ix86_unary_operator_ok (NEG, HImode, operands, TARGET_APX_NDD)
8000 : && true))
8001 : return -1;
8002 : *pnum_clobbers = 1;
8003 : return 989; /* *neghi_1 */
8004 :
8005 : case E_SFmode:
8006 : if (!register_operand (operands[0], E_SFmode)
8007 : || GET_MODE (x2) != E_SFmode
8008 : || !register_operand (operands[1], E_SFmode))
8009 : return -1;
8010 : if (pnum_clobbers != NULL
8011 : &&
8012 : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8013 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
8014 : {
8015 : *pnum_clobbers = 1;
8016 : return 1043; /* *negsf2_i387_1 */
8017 : }
8018 : if (!
8019 : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8020 : (TARGET_80387 && reload_completed))
8021 : return -1;
8022 : return 1057; /* *negsf2_i387 */
8023 :
8024 : case E_DFmode:
8025 : if (!register_operand (operands[0], E_DFmode)
8026 : || GET_MODE (x2) != E_DFmode
8027 : || !register_operand (operands[1], E_DFmode))
8028 : return -1;
8029 : if (pnum_clobbers != NULL
8030 : &&
8031 : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8032 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
8033 : {
8034 : *pnum_clobbers = 1;
8035 : return 1045; /* *negdf2_i387_1 */
8036 : }
8037 : if (!
8038 : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8039 : (TARGET_80387 && reload_completed))
8040 : return -1;
8041 : return 1059; /* *negdf2_i387 */
8042 :
8043 : case E_XFmode:
8044 : if (!register_operand (operands[0], E_XFmode)
8045 : || GET_MODE (x2) != E_XFmode
8046 : || !register_operand (operands[1], E_XFmode))
8047 : return -1;
8048 : if (pnum_clobbers != NULL
8049 : &&
8050 : #line 15155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8051 : (TARGET_80387 && !(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH)))
8052 : {
8053 : *pnum_clobbers = 1;
8054 : return 1047; /* *negxf2_i387_1 */
8055 : }
8056 : if (!
8057 : #line 15277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8058 : (TARGET_80387 && reload_completed))
8059 : return -1;
8060 : return 1061; /* *negxf2_i387 */
8061 :
8062 : case E_V2QImode:
8063 : if (pattern624 (x2, pnum_clobbers,
8064 : E_V2QImode) != 0
8065 : || !
8066 : #line 3162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8067 : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
8068 : return -1;
8069 : *pnum_clobbers = 1;
8070 : return 2179; /* negv2qi2 */
8071 :
8072 : default:
8073 : return -1;
8074 : }
8075 :
8076 : case STRICT_LOW_PART:
8077 : switch (pattern265 (x1, pnum_clobbers))
8078 : {
8079 : case 0:
8080 : if (!
8081 : #line 14731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8082 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8083 : return -1;
8084 : *pnum_clobbers = 1;
8085 : return 1005; /* *negqi_1_slp */
8086 :
8087 : case 1:
8088 : if (!
8089 : #line 14731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8090 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8091 : return -1;
8092 : *pnum_clobbers = 1;
8093 : return 1006; /* *neghi_1_slp */
8094 :
8095 : default:
8096 : return -1;
8097 : }
8098 :
8099 : default:
8100 : return -1;
8101 : }
8102 :
8103 : case ABS:
8104 : if (pnum_clobbers == NULL)
8105 : return -1;
8106 : x4 = XEXP (x1, 0);
8107 : operands[0] = x4;
8108 : x5 = XEXP (x3, 0);
8109 : operands[1] = x5;
8110 : switch (GET_MODE (operands[0]))
8111 : {
8112 : case E_TImode:
8113 : if (pattern625 (x2,
8114 : E_TImode) != 0
8115 : || !(
8116 : #line 14989 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8117 : (TARGET_CMOVE
8118 : && ix86_pre_reload_split ()) &&
8119 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8120 : (TARGET_64BIT)))
8121 : return -1;
8122 : *pnum_clobbers = 1;
8123 : return 1030; /* *nabsti2_doubleword */
8124 :
8125 : case E_QImode:
8126 : if (pattern625 (x2,
8127 : E_QImode) != 0
8128 : || !
8129 : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8130 : (TARGET_CMOVE
8131 : && (QImode != QImode || !TARGET_PARTIAL_REG_STALL)
8132 : && ix86_pre_reload_split ()))
8133 : return -1;
8134 : *pnum_clobbers = 1;
8135 : return 1035; /* *nabsqi2_1 */
8136 :
8137 : case E_HImode:
8138 : if (pattern625 (x2,
8139 : E_HImode) != 0
8140 : || !
8141 : #line 15060 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8142 : (TARGET_CMOVE
8143 : && (HImode != QImode || !TARGET_PARTIAL_REG_STALL)
8144 : && ix86_pre_reload_split ()))
8145 : return -1;
8146 : *pnum_clobbers = 1;
8147 : return 1036; /* *nabshi2_1 */
8148 :
8149 : default:
8150 : return -1;
8151 : }
8152 :
8153 : case LTU:
8154 : case UNLT:
8155 : if (pnum_clobbers == NULL)
8156 : return -1;
8157 : operands[1] = x3;
8158 : if (!ix86_carry_flag_operator (operands[1], E_VOIDmode))
8159 : return -1;
8160 : x5 = XEXP (x3, 0);
8161 : if (GET_CODE (x5) != REG
8162 : || REGNO (x5) != 17)
8163 : return -1;
8164 : x6 = XEXP (x3, 1);
8165 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
8166 : return -1;
8167 : x4 = XEXP (x1, 0);
8168 : operands[0] = x4;
8169 : switch (pattern967 (x2))
8170 : {
8171 : case 0:
8172 : *pnum_clobbers = 1;
8173 : return 1833; /* *x86_movqicc_0_m1_neg */
8174 :
8175 : case 1:
8176 : *pnum_clobbers = 1;
8177 : return 1834; /* *x86_movhicc_0_m1_neg */
8178 :
8179 : default:
8180 : return -1;
8181 : }
8182 :
8183 : default:
8184 : return -1;
8185 : }
8186 : }
8187 :
8188 : int
8189 : recog_50 (rtx x1 ATTRIBUTE_UNUSED,
8190 : rtx_insn *insn ATTRIBUTE_UNUSED,
8191 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8192 : {
8193 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8194 : rtx x2, x3, x4;
8195 : int res ATTRIBUTE_UNUSED;
8196 : x2 = XEXP (x1, 1);
8197 : if (GET_CODE (x2) == EQ)
8198 : {
8199 : res = recog_49 (x1, insn, pnum_clobbers);
8200 : if (res >= 0)
8201 : return res;
8202 : }
8203 : if (pnum_clobbers == NULL)
8204 : return -1;
8205 : operands[1] = x2;
8206 : if (!bt_comparison_operator (operands[1], E_QImode))
8207 : return -1;
8208 : x3 = XEXP (x2, 1);
8209 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
8210 : || !nonimmediate_operand (operands[0], E_QImode))
8211 : return -1;
8212 : x4 = XEXP (x2, 0);
8213 : operands[2] = x4;
8214 : switch (GET_MODE (operands[2]))
8215 : {
8216 : case E_QImode:
8217 : if (!register_operand (operands[2], E_QImode)
8218 : || !(
8219 : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8220 : (TARGET_AVX512BW) &&
8221 : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8222 : (TARGET_AVX512DQ)))
8223 : return -1;
8224 : *pnum_clobbers = 1;
8225 : return 2688; /* *kortest_cmpqi_setcc */
8226 :
8227 : case E_HImode:
8228 : if (!register_operand (operands[2], E_HImode)
8229 : || !
8230 : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8231 : (TARGET_AVX512BW))
8232 : return -1;
8233 : *pnum_clobbers = 1;
8234 : return 2689; /* *kortest_cmphi_setcc */
8235 :
8236 : case E_SImode:
8237 : if (!register_operand (operands[2], E_SImode)
8238 : || !
8239 : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8240 : (TARGET_AVX512BW))
8241 : return -1;
8242 : *pnum_clobbers = 1;
8243 : return 2690; /* *kortest_cmpsi_setcc */
8244 :
8245 : case E_DImode:
8246 : if (!register_operand (operands[2], E_DImode)
8247 : || !(
8248 : #line 2407 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8249 : (TARGET_AVX512BW) &&
8250 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8251 : (TARGET_AVX512BW && TARGET_64BIT)))
8252 : return -1;
8253 : *pnum_clobbers = 1;
8254 : return 2691; /* *kortest_cmpdi_setcc */
8255 :
8256 : default:
8257 : return -1;
8258 : }
8259 : }
8260 :
8261 : int
8262 : recog_51 (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, 1);
8270 : switch (GET_CODE (x2))
8271 : {
8272 : case NE:
8273 : case EQ:
8274 : res = recog_50 (x1, insn, pnum_clobbers);
8275 : if (res >= 0)
8276 : return res;
8277 : break;
8278 :
8279 : case LT:
8280 : switch (pattern240 (x2))
8281 : {
8282 : case 0:
8283 : if (
8284 : #line 3901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8285 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
8286 : return 2256; /* *mmx_ashrv4hi3_1 */
8287 : break;
8288 :
8289 : case 1:
8290 : if (
8291 : #line 3901 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8292 : (TARGET_MMX_WITH_SSE && ix86_pre_reload_split ()))
8293 : return 2257; /* *mmx_ashrv2si3_1 */
8294 : break;
8295 :
8296 : case 2:
8297 : if (
8298 : #line 3990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8299 : (TARGET_SSE2 && ix86_pre_reload_split ()))
8300 : return 2269; /* *mmx_ashrv2hi3_1 */
8301 : break;
8302 :
8303 : default:
8304 : break;
8305 : }
8306 : break;
8307 :
8308 : case GT:
8309 : x3 = XEXP (x2, 0);
8310 : operands[1] = x3;
8311 : x4 = XEXP (x2, 1);
8312 : operands[2] = x4;
8313 : switch (GET_MODE (operands[0]))
8314 : {
8315 : case E_V8QImode:
8316 : if (pattern859 (x2,
8317 : E_V8QImode) == 0
8318 : &&
8319 : #line 4198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8320 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8321 : return 2279; /* mmx_gtv8qi3 */
8322 : break;
8323 :
8324 : case E_V4HImode:
8325 : if (pattern859 (x2,
8326 : E_V4HImode) == 0
8327 : &&
8328 : #line 4198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8329 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8330 : return 2280; /* mmx_gtv4hi3 */
8331 : break;
8332 :
8333 : case E_V2SImode:
8334 : if (pattern859 (x2,
8335 : E_V2SImode) == 0
8336 : &&
8337 : #line 4198 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8338 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8339 : return 2281; /* mmx_gtv2si3 */
8340 : break;
8341 :
8342 : case E_V4QImode:
8343 : if (pattern5 (x2,
8344 : E_V4QImode) == 0
8345 : &&
8346 : #line 4213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8347 : (TARGET_SSE2))
8348 : return 2282; /* *gtv4qi3 */
8349 : break;
8350 :
8351 : case E_V2QImode:
8352 : if (pattern5 (x2,
8353 : E_V2QImode) == 0
8354 : &&
8355 : #line 4213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8356 : (TARGET_SSE2))
8357 : return 2283; /* *gtv2qi3 */
8358 : break;
8359 :
8360 : case E_V2HImode:
8361 : if (pattern5 (x2,
8362 : E_V2HImode) == 0
8363 : &&
8364 : #line 4213 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8365 : (TARGET_SSE2))
8366 : return 2284; /* *gtv2hi3 */
8367 : break;
8368 :
8369 : default:
8370 : break;
8371 : }
8372 : break;
8373 :
8374 : default:
8375 : break;
8376 : }
8377 : operands[1] = x2;
8378 : x3 = XEXP (x2, 0);
8379 : operands[2] = x3;
8380 : x4 = XEXP (x2, 1);
8381 : operands[3] = x4;
8382 : switch (GET_MODE (operands[0]))
8383 : {
8384 : case E_V8QImode:
8385 : if (pattern860 (
8386 : E_V8QImode) != 0
8387 : || !
8388 : #line 4226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8389 : (TARGET_XOP))
8390 : return -1;
8391 : return 2285; /* *xop_maskcmpv8qi3 */
8392 :
8393 : case E_V4HImode:
8394 : if (pattern860 (
8395 : E_V4HImode) != 0
8396 : || !
8397 : #line 4226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8398 : (TARGET_XOP))
8399 : return -1;
8400 : return 2286; /* *xop_maskcmpv4hi3 */
8401 :
8402 : case E_V2SImode:
8403 : if (pattern860 (
8404 : E_V2SImode) != 0
8405 : || !
8406 : #line 4226 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8407 : (TARGET_XOP))
8408 : return -1;
8409 : return 2287; /* *xop_maskcmpv2si3 */
8410 :
8411 : case E_V4QImode:
8412 : if (pattern860 (
8413 : E_V4QImode) != 0
8414 : || !
8415 : #line 4236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8416 : (TARGET_XOP))
8417 : return -1;
8418 : return 2288; /* *xop_maskcmpv4qi3 */
8419 :
8420 : case E_V2QImode:
8421 : if (pattern860 (
8422 : E_V2QImode) != 0
8423 : || !
8424 : #line 4236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8425 : (TARGET_XOP))
8426 : return -1;
8427 : return 2289; /* *xop_maskcmpv2qi3 */
8428 :
8429 : case E_V2HImode:
8430 : if (pattern860 (
8431 : E_V2HImode) != 0
8432 : || !
8433 : #line 4236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8434 : (TARGET_XOP))
8435 : return -1;
8436 : return 2290; /* *xop_maskcmpv2hi3 */
8437 :
8438 : default:
8439 : return -1;
8440 : }
8441 : }
8442 :
8443 : int
8444 : recog_60 (rtx x1 ATTRIBUTE_UNUSED,
8445 : rtx_insn *insn ATTRIBUTE_UNUSED,
8446 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8447 : {
8448 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8449 : rtx x2, x3, x4, x5, x6, x7;
8450 : int res ATTRIBUTE_UNUSED;
8451 : x2 = XEXP (x1, 1);
8452 : x3 = XEXP (x2, 0);
8453 : switch (GET_CODE (x3))
8454 : {
8455 : case CONST_INT:
8456 : case CONST_WIDE_INT:
8457 : case CONST_POLY_INT:
8458 : case CONST_FIXED:
8459 : case CONST_DOUBLE:
8460 : case CONST_VECTOR:
8461 : case CONST:
8462 : case REG:
8463 : case SUBREG:
8464 : case MEM:
8465 : case LABEL_REF:
8466 : case SYMBOL_REF:
8467 : case HIGH:
8468 : operands[1] = x3;
8469 : res = recog_59 (x1, insn, pnum_clobbers);
8470 : if (res >= 0)
8471 : return res;
8472 : if (pnum_clobbers == NULL
8473 : || GET_CODE (x3) != SUBREG
8474 : || maybe_ne (SUBREG_BYTE (x3), 0)
8475 : || GET_MODE (x3) != E_QImode)
8476 : return -1;
8477 : x4 = XEXP (x3, 0);
8478 : switch (GET_CODE (x4))
8479 : {
8480 : case ASHIFTRT:
8481 : case LSHIFTRT:
8482 : case SIGN_EXTRACT:
8483 : case ZERO_EXTRACT:
8484 : operands[3] = x4;
8485 : x5 = XEXP (x2, 1);
8486 : if (pattern609 (x5) != 0)
8487 : return -1;
8488 : x6 = XEXP (x5, 0);
8489 : operands[4] = x6;
8490 : if (GET_MODE (x2) != E_QImode)
8491 : return -1;
8492 : switch (pattern1082 (x1))
8493 : {
8494 : case 0:
8495 : if (!
8496 : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8497 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8498 : return -1;
8499 : *pnum_clobbers = 1;
8500 : return 412; /* *subqi_exthi_2_slp */
8501 :
8502 : case 1:
8503 : if (!
8504 : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8505 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
8506 : return -1;
8507 : *pnum_clobbers = 1;
8508 : return 413; /* *subqi_extsi_2_slp */
8509 :
8510 : case 2:
8511 : if (!(
8512 : #line 8275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8513 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
8514 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8515 : (TARGET_64BIT)))
8516 : return -1;
8517 : *pnum_clobbers = 1;
8518 : return 414; /* *subqi_extdi_2_slp */
8519 :
8520 : case 3:
8521 : *pnum_clobbers = 1;
8522 : return 423; /* *subqi_ext2hi_0 */
8523 :
8524 : case 4:
8525 : *pnum_clobbers = 1;
8526 : return 424; /* *subqi_ext2si_0 */
8527 :
8528 : case 5:
8529 : if (!
8530 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8531 : (TARGET_64BIT))
8532 : return -1;
8533 : *pnum_clobbers = 1;
8534 : return 425; /* *subqi_ext2di_0 */
8535 :
8536 : default:
8537 : return -1;
8538 : }
8539 :
8540 : default:
8541 : return -1;
8542 : }
8543 :
8544 : case MINUS:
8545 : if (pnum_clobbers == NULL)
8546 : return -1;
8547 : x7 = XEXP (x1, 0);
8548 : operands[0] = x7;
8549 : switch (pattern290 (x2))
8550 : {
8551 : case 0:
8552 : switch (GET_MODE (operands[0]))
8553 : {
8554 : case E_QImode:
8555 : if (pattern1369 (x2,
8556 : E_QImode) != 0
8557 : || !
8558 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8559 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
8560 : return -1;
8561 : *pnum_clobbers = 1;
8562 : return 503; /* subqi3_carry */
8563 :
8564 : case E_HImode:
8565 : if (pattern1369 (x2,
8566 : E_HImode) != 0
8567 : || !
8568 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8569 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
8570 : return -1;
8571 : *pnum_clobbers = 1;
8572 : return 504; /* subhi3_carry */
8573 :
8574 : default:
8575 : return -1;
8576 : }
8577 :
8578 : case 1:
8579 : switch (GET_MODE (operands[0]))
8580 : {
8581 : case E_QImode:
8582 : if (pattern1276 (x2,
8583 : E_QImode) != 0
8584 : || !
8585 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8586 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
8587 : && ix86_pre_reload_split ()))
8588 : return -1;
8589 : *pnum_clobbers = 1;
8590 : return 598; /* *subqi3_eq */
8591 :
8592 : case E_HImode:
8593 : if (pattern1276 (x2,
8594 : E_HImode) != 0
8595 : || !
8596 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8597 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
8598 : && ix86_pre_reload_split ()))
8599 : return -1;
8600 : *pnum_clobbers = 1;
8601 : return 599; /* *subhi3_eq */
8602 :
8603 : default:
8604 : return -1;
8605 : }
8606 :
8607 : default:
8608 : return -1;
8609 : }
8610 :
8611 : case VEC_SELECT:
8612 : switch (pattern98 (x1))
8613 : {
8614 : case 0:
8615 : x4 = XEXP (x3, 0);
8616 : operands[1] = x4;
8617 : if (pattern976 (x2) != 0)
8618 : return -1;
8619 : x5 = XEXP (x2, 1);
8620 : x6 = XEXP (x5, 0);
8621 : if (!rtx_equal_p (x6, operands[1]))
8622 : return -1;
8623 : switch (GET_MODE (operands[0]))
8624 : {
8625 : case E_SFmode:
8626 : if (pattern1521 (x2,
8627 : E_SFmode,
8628 : E_V2SFmode) != 0
8629 : || !
8630 : #line 1081 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8631 : (TARGET_SSE3 && TARGET_MMX_WITH_SSE && ix86_partial_vec_fp_math
8632 : && ix86_pre_reload_split ()))
8633 : return -1;
8634 : return 2123; /* *mmx_hsubv2sf3_low */
8635 :
8636 : case E_DFmode:
8637 : if (pattern1521 (x2,
8638 : E_DFmode,
8639 : E_V2DFmode) != 0
8640 : || !
8641 : #line 3838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8642 : (TARGET_SSE3 && TARGET_V2DF_REDUCTION_PREFER_HADDPD))
8643 : return -1;
8644 : return 3224; /* *sse3_hsubv2df3_low */
8645 :
8646 : default:
8647 : return -1;
8648 : }
8649 :
8650 : case 1:
8651 : switch (pattern864 (x2))
8652 : {
8653 : case 0:
8654 : if (!
8655 : #line 22970 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8656 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8657 : return -1;
8658 : return 8641; /* ssse3_phsubwv4hi3 */
8659 :
8660 : case 1:
8661 : if (!
8662 : #line 23057 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8663 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSSE3))
8664 : return -1;
8665 : return 8648; /* ssse3_phsubdv2si3 */
8666 :
8667 : default:
8668 : return -1;
8669 : }
8670 :
8671 : default:
8672 : return -1;
8673 : }
8674 :
8675 : default:
8676 : return -1;
8677 : }
8678 : }
8679 :
8680 : int
8681 : recog_67 (rtx x1 ATTRIBUTE_UNUSED,
8682 : rtx_insn *insn ATTRIBUTE_UNUSED,
8683 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8684 : {
8685 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8686 : rtx x2, x3, x4, x5, x6, x7;
8687 : int res ATTRIBUTE_UNUSED;
8688 : x2 = XEXP (x1, 1);
8689 : x3 = XEXP (x2, 1);
8690 : if (GET_CODE (x3) != PARALLEL)
8691 : return -1;
8692 : x4 = XEXP (x1, 0);
8693 : operands[0] = x4;
8694 : x5 = XEXP (x2, 0);
8695 : switch (GET_CODE (x5))
8696 : {
8697 : case REG:
8698 : case SUBREG:
8699 : case MEM:
8700 : return recog_66 (x1, insn, pnum_clobbers);
8701 :
8702 : case VEC_CONCAT:
8703 : switch (pattern274 (x2))
8704 : {
8705 : case 0:
8706 : x6 = XVECEXP (x3, 0, 1);
8707 : if (GET_CODE (x6) == CONST_INT)
8708 : {
8709 : switch (pattern980 (x2))
8710 : {
8711 : case 0:
8712 : if (
8713 : #line 1714 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8714 : (TARGET_MMX_WITH_SSE))
8715 : return 2143; /* *vec_interleave_lowv2sf */
8716 : break;
8717 :
8718 : case 1:
8719 : if (
8720 : #line 5019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8721 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8722 : return 2359; /* mmx_punpckldq */
8723 : break;
8724 :
8725 : case 2:
8726 : if (
8727 : #line 1731 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8728 : (TARGET_MMX_WITH_SSE))
8729 : return 2144; /* *vec_interleave_highv2sf */
8730 : break;
8731 :
8732 : case 3:
8733 : if (
8734 : #line 4998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8735 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8736 : return 2358; /* mmx_punpckhdq */
8737 : break;
8738 :
8739 : default:
8740 : break;
8741 : }
8742 : }
8743 : x7 = XVECEXP (x3, 0, 0);
8744 : operands[3] = x7;
8745 : switch (pattern981 (x2))
8746 : {
8747 : case 0:
8748 : if (!
8749 : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8750 : (TARGET_SSE2))
8751 : return -1;
8752 : return 2424; /* *punpckwd */
8753 :
8754 : case 1:
8755 : if (!
8756 : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8757 : (TARGET_SSE2))
8758 : return -1;
8759 : return 2425; /* *punpckwd */
8760 :
8761 : case 2:
8762 : if (!
8763 : #line 6225 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8764 : (TARGET_SSE2))
8765 : return -1;
8766 : return 2426; /* *punpckwd */
8767 :
8768 : default:
8769 : return -1;
8770 : }
8771 :
8772 : case 1:
8773 : if (!
8774 : #line 4878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8775 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8776 : return -1;
8777 : return 2352; /* mmx_punpckhbw */
8778 :
8779 : case 2:
8780 : if (!
8781 : #line 4918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8782 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8783 : return -1;
8784 : return 2354; /* mmx_punpcklbw */
8785 :
8786 : case 3:
8787 : if (!
8788 : #line 4899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8789 : (TARGET_SSE2))
8790 : return -1;
8791 : return 2353; /* mmx_punpckhbw_low */
8792 :
8793 : case 4:
8794 : if (!
8795 : #line 4956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8796 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8797 : return -1;
8798 : return 2356; /* mmx_punpckhwd */
8799 :
8800 : case 5:
8801 : if (!
8802 : #line 4939 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8803 : (TARGET_SSE2))
8804 : return -1;
8805 : return 2355; /* mmx_punpcklbw_low */
8806 :
8807 : case 6:
8808 : if (!
8809 : #line 4977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8810 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
8811 : return -1;
8812 : return 2357; /* mmx_punpcklwd */
8813 :
8814 : default:
8815 : return -1;
8816 : }
8817 :
8818 : case UNSPEC:
8819 : if (pattern275 (x2) != 0
8820 : || !
8821 : #line 8752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8822 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
8823 : return -1;
8824 : return 4825; /* sse_cvtps2pi */
8825 :
8826 : case FIX:
8827 : if (pattern277 (x2) != 0
8828 : || !
8829 : #line 8816 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8830 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE))
8831 : return -1;
8832 : return 4827; /* sse_cvttps2pi */
8833 :
8834 : default:
8835 : return -1;
8836 : }
8837 : }
8838 :
8839 : int
8840 : recog_71 (rtx x1 ATTRIBUTE_UNUSED,
8841 : rtx_insn *insn ATTRIBUTE_UNUSED,
8842 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8843 : {
8844 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8845 : rtx x2, x3, x4, x5, x6, x7, x8;
8846 : int res ATTRIBUTE_UNUSED;
8847 : x2 = XEXP (x1, 0);
8848 : operands[0] = x2;
8849 : x3 = XEXP (x1, 1);
8850 : x4 = XEXP (x3, 1);
8851 : operands[2] = x4;
8852 : x5 = XEXP (x3, 0);
8853 : switch (GET_CODE (x5))
8854 : {
8855 : case REG:
8856 : case SUBREG:
8857 : case MEM:
8858 : case VEC_DUPLICATE:
8859 : operands[1] = x5;
8860 : x6 = XEXP (x3, 2);
8861 : switch (GET_CODE (x6))
8862 : {
8863 : case REG:
8864 : case SUBREG:
8865 : case MEM:
8866 : case VEC_DUPLICATE:
8867 : operands[3] = x6;
8868 : switch (GET_MODE (operands[0]))
8869 : {
8870 : case E_SFmode:
8871 : if (!register_operand (operands[0], E_SFmode)
8872 : || GET_MODE (x3) != E_SFmode)
8873 : return -1;
8874 : if (nonimmediate_operand (operands[1], E_SFmode)
8875 : && nonimmediate_operand (operands[2], E_SFmode)
8876 : && nonimmediate_operand (operands[3], E_SFmode)
8877 : &&
8878 : #line 6263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8879 : (TARGET_FMA || TARGET_FMA4))
8880 : return 3869; /* *fma_fmadd_sf */
8881 : if (!bcst_vector_operand (operands[1], E_SFmode)
8882 : || !bcst_vector_operand (operands[2], E_SFmode)
8883 : || !bcst_vector_operand (operands[3], E_SFmode)
8884 : || !
8885 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8886 : (TARGET_AVX512F && 1 && 1))
8887 : return -1;
8888 : return 3884; /* *fma_fmadd_sf */
8889 :
8890 : case E_DFmode:
8891 : if (!register_operand (operands[0], E_DFmode)
8892 : || GET_MODE (x3) != E_DFmode)
8893 : return -1;
8894 : if (nonimmediate_operand (operands[1], E_DFmode)
8895 : && nonimmediate_operand (operands[2], E_DFmode)
8896 : && nonimmediate_operand (operands[3], E_DFmode)
8897 : &&
8898 : #line 6263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8899 : (TARGET_FMA || TARGET_FMA4))
8900 : return 3870; /* *fma_fmadd_df */
8901 : if (!bcst_vector_operand (operands[1], E_DFmode)
8902 : || !bcst_vector_operand (operands[2], E_DFmode)
8903 : || !bcst_vector_operand (operands[3], E_DFmode)
8904 : || !
8905 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8906 : (TARGET_AVX512F && 1 && 1))
8907 : return -1;
8908 : return 3893; /* *fma_fmadd_df */
8909 :
8910 : case E_HFmode:
8911 : if (pattern874 (x3,
8912 : E_HFmode) != 0
8913 : || !(
8914 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8915 : (TARGET_AVX512F && 1 && 1) &&
8916 : #line 6279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8917 : (TARGET_AVX512FP16)))
8918 : return -1;
8919 : return 3883; /* *fma_fmadd_hf */
8920 :
8921 : default:
8922 : return -1;
8923 : }
8924 :
8925 : case NEG:
8926 : x7 = XEXP (x6, 0);
8927 : operands[3] = x7;
8928 : switch (GET_MODE (operands[0]))
8929 : {
8930 : case E_SFmode:
8931 : if (!register_operand (operands[0], E_SFmode)
8932 : || GET_MODE (x3) != E_SFmode
8933 : || GET_MODE (x6) != E_SFmode)
8934 : return -1;
8935 : if (nonimmediate_operand (operands[1], E_SFmode)
8936 : && nonimmediate_operand (operands[2], E_SFmode)
8937 : && nonimmediate_operand (operands[3], E_SFmode)
8938 : &&
8939 : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8940 : (TARGET_FMA || TARGET_FMA4))
8941 : return 3932; /* *fma_fmsub_sf */
8942 : if (!bcst_vector_operand (operands[1], E_SFmode)
8943 : || !bcst_vector_operand (operands[2], E_SFmode)
8944 : || !bcst_vector_operand (operands[3], E_SFmode)
8945 : || !
8946 : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8947 : (TARGET_AVX512F && 1 && 1))
8948 : return -1;
8949 : return 3947; /* *fma_fmsub_sf */
8950 :
8951 : case E_DFmode:
8952 : if (!register_operand (operands[0], E_DFmode)
8953 : || GET_MODE (x3) != E_DFmode
8954 : || GET_MODE (x6) != E_DFmode)
8955 : return -1;
8956 : if (nonimmediate_operand (operands[1], E_DFmode)
8957 : && nonimmediate_operand (operands[2], E_DFmode)
8958 : && nonimmediate_operand (operands[3], E_DFmode)
8959 : &&
8960 : #line 6360 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8961 : (TARGET_FMA || TARGET_FMA4))
8962 : return 3933; /* *fma_fmsub_df */
8963 : if (!bcst_vector_operand (operands[1], E_DFmode)
8964 : || !bcst_vector_operand (operands[2], E_DFmode)
8965 : || !bcst_vector_operand (operands[3], E_DFmode)
8966 : || !
8967 : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8968 : (TARGET_AVX512F && 1 && 1))
8969 : return -1;
8970 : return 3956; /* *fma_fmsub_df */
8971 :
8972 : case E_HFmode:
8973 : if (pattern875 (x3,
8974 : E_HFmode) != 0
8975 : || !(
8976 : #line 6392 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8977 : (TARGET_AVX512F && 1 && 1) &&
8978 : #line 6279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8979 : (TARGET_AVX512FP16)))
8980 : return -1;
8981 : return 3946; /* *fma_fmsub_hf */
8982 :
8983 : default:
8984 : return -1;
8985 : }
8986 :
8987 : default:
8988 : return -1;
8989 : }
8990 :
8991 : case NEG:
8992 : x8 = XEXP (x5, 0);
8993 : operands[1] = x8;
8994 : x6 = XEXP (x3, 2);
8995 : switch (GET_CODE (x6))
8996 : {
8997 : case REG:
8998 : case SUBREG:
8999 : case MEM:
9000 : case VEC_DUPLICATE:
9001 : operands[3] = x6;
9002 : switch (GET_MODE (operands[0]))
9003 : {
9004 : case E_SFmode:
9005 : if (!register_operand (operands[0], E_SFmode)
9006 : || GET_MODE (x3) != E_SFmode
9007 : || GET_MODE (x5) != E_SFmode)
9008 : return -1;
9009 : if (nonimmediate_operand (operands[1], E_SFmode)
9010 : && nonimmediate_operand (operands[2], E_SFmode)
9011 : && nonimmediate_operand (operands[3], E_SFmode)
9012 : &&
9013 : #line 6466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9014 : (TARGET_FMA || TARGET_FMA4))
9015 : return 3995; /* *fma_fnmadd_sf */
9016 : if (!bcst_vector_operand (operands[1], E_SFmode)
9017 : || !bcst_vector_operand (operands[2], E_SFmode)
9018 : || !bcst_vector_operand (operands[3], E_SFmode)
9019 : || !
9020 : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9021 : (TARGET_AVX512F && 1 && 1))
9022 : return -1;
9023 : return 4010; /* *fma_fnmadd_sf */
9024 :
9025 : case E_DFmode:
9026 : if (!register_operand (operands[0], E_DFmode)
9027 : || GET_MODE (x3) != E_DFmode
9028 : || GET_MODE (x5) != E_DFmode)
9029 : return -1;
9030 : if (nonimmediate_operand (operands[1], E_DFmode)
9031 : && nonimmediate_operand (operands[2], E_DFmode)
9032 : && nonimmediate_operand (operands[3], E_DFmode)
9033 : &&
9034 : #line 6466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9035 : (TARGET_FMA || TARGET_FMA4))
9036 : return 3996; /* *fma_fnmadd_df */
9037 : if (!bcst_vector_operand (operands[1], E_DFmode)
9038 : || !bcst_vector_operand (operands[2], E_DFmode)
9039 : || !bcst_vector_operand (operands[3], E_DFmode)
9040 : || !
9041 : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9042 : (TARGET_AVX512F && 1 && 1))
9043 : return -1;
9044 : return 4019; /* *fma_fnmadd_df */
9045 :
9046 : case E_HFmode:
9047 : if (pattern876 (x3,
9048 : E_HFmode) != 0
9049 : || !(
9050 : #line 6498 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9051 : (TARGET_AVX512F && 1 && 1) &&
9052 : #line 6279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9053 : (TARGET_AVX512FP16)))
9054 : return -1;
9055 : return 4009; /* *fma_fnmadd_hf */
9056 :
9057 : default:
9058 : return -1;
9059 : }
9060 :
9061 : case NEG:
9062 : x7 = XEXP (x6, 0);
9063 : operands[3] = x7;
9064 : switch (GET_MODE (operands[0]))
9065 : {
9066 : case E_SFmode:
9067 : if (pattern877 (x3,
9068 : E_SFmode) != 0)
9069 : return -1;
9070 : if (nonimmediate_operand (operands[1], E_SFmode)
9071 : && nonimmediate_operand (operands[2], E_SFmode)
9072 : && nonimmediate_operand (operands[3], E_SFmode)
9073 : &&
9074 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9075 : (TARGET_FMA || TARGET_FMA4))
9076 : return 4052; /* *fma_fnmsub_sf */
9077 : if (!bcst_vector_operand (operands[1], E_SFmode)
9078 : || !bcst_vector_operand (operands[2], E_SFmode)
9079 : || !bcst_vector_operand (operands[3], E_SFmode)
9080 : || !
9081 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9082 : (TARGET_AVX512F && 1 && 1))
9083 : return -1;
9084 : return 4081; /* *fma_fnmsub_sf */
9085 :
9086 : case E_DFmode:
9087 : if (pattern877 (x3,
9088 : E_DFmode) != 0)
9089 : return -1;
9090 : if (nonimmediate_operand (operands[1], E_DFmode)
9091 : && nonimmediate_operand (operands[2], E_DFmode)
9092 : && nonimmediate_operand (operands[3], E_DFmode)
9093 : &&
9094 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9095 : (TARGET_FMA || TARGET_FMA4))
9096 : return 4054; /* *fma_fnmsub_df */
9097 : if (!bcst_vector_operand (operands[1], E_DFmode)
9098 : || !bcst_vector_operand (operands[2], E_DFmode)
9099 : || !bcst_vector_operand (operands[3], E_DFmode)
9100 : || !
9101 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9102 : (TARGET_AVX512F && 1 && 1))
9103 : return -1;
9104 : return 4090; /* *fma_fnmsub_df */
9105 :
9106 : case E_HFmode:
9107 : if (pattern878 (x3,
9108 : E_HFmode) != 0
9109 : || !(
9110 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9111 : (TARGET_AVX512F && 1 && 1) &&
9112 : #line 6279 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9113 : (TARGET_AVX512FP16)))
9114 : return -1;
9115 : return 4080; /* *fma_fnmsub_hf */
9116 :
9117 : default:
9118 : return -1;
9119 : }
9120 :
9121 : default:
9122 : return -1;
9123 : }
9124 :
9125 : default:
9126 : return -1;
9127 : }
9128 : }
9129 :
9130 : int
9131 : recog_78 (rtx x1 ATTRIBUTE_UNUSED,
9132 : rtx_insn *insn ATTRIBUTE_UNUSED,
9133 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9134 : {
9135 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9136 : rtx x2, x3, x4, x5, x6;
9137 : int res ATTRIBUTE_UNUSED;
9138 : x2 = XEXP (x1, 1);
9139 : x3 = XEXP (x2, 0);
9140 : x4 = XEXP (x3, 1);
9141 : if (GET_CODE (x4) != PARALLEL
9142 : || XVECLEN (x4, 0) != 1)
9143 : return -1;
9144 : x5 = XVECEXP (x4, 0, 0);
9145 : if (GET_CODE (x5) != CONST_INT)
9146 : return -1;
9147 : operands[2] = x5;
9148 : x6 = XEXP (x3, 0);
9149 : operands[1] = x6;
9150 : switch (GET_MODE (operands[0]))
9151 : {
9152 : case E_SImode:
9153 : switch (pattern989 (x2,
9154 : E_SImode))
9155 : {
9156 : case 0:
9157 : if (
9158 : #line 5465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9159 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9160 : && (TARGET_SSE || TARGET_3DNOW_A)))
9161 : return 2380; /* *mmx_pextrw_zext */
9162 : break;
9163 :
9164 : case 1:
9165 : if (
9166 : #line 6126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9167 : (TARGET_SSE2))
9168 : return 2418; /* *pextrw_zext */
9169 : break;
9170 :
9171 : case 2:
9172 : if (
9173 : #line 21454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9174 : (TARGET_SSE2))
9175 : return 8506; /* *vec_extractv8hi_zext */
9176 : break;
9177 :
9178 : case 3:
9179 : if (
9180 : #line 5502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9181 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
9182 : return 2384; /* *mmx_pextrb_zext */
9183 : break;
9184 :
9185 : case 4:
9186 : if (
9187 : #line 6158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9188 : (TARGET_SSE4_1))
9189 : return 2422; /* *pextrb_zext */
9190 : break;
9191 :
9192 : case 5:
9193 : if ((
9194 : #line 21454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9195 : (TARGET_SSE2) &&
9196 : #line 21397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9197 : (TARGET_SSE4_1)))
9198 : return 8504; /* *vec_extractv16qi_zext */
9199 : break;
9200 :
9201 : default:
9202 : break;
9203 : }
9204 : break;
9205 :
9206 : case E_DImode:
9207 : switch (pattern989 (x2,
9208 : E_DImode))
9209 : {
9210 : case 0:
9211 : if ((
9212 : #line 5465 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9213 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9214 : && (TARGET_SSE || TARGET_3DNOW_A)) &&
9215 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9216 : (TARGET_64BIT)))
9217 : return 2381; /* *mmx_pextrw_zext */
9218 : break;
9219 :
9220 : case 1:
9221 : if ((
9222 : #line 6126 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9223 : (TARGET_SSE2) &&
9224 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9225 : (TARGET_64BIT)))
9226 : return 2419; /* *pextrw_zext */
9227 : break;
9228 :
9229 : case 2:
9230 : if ((
9231 : #line 21454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9232 : (TARGET_SSE2) &&
9233 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9234 : (TARGET_64BIT)))
9235 : return 8507; /* *vec_extractv8hi_zext */
9236 : break;
9237 :
9238 : case 3:
9239 : if ((
9240 : #line 5502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9241 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE) &&
9242 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9243 : (TARGET_64BIT)))
9244 : return 2385; /* *mmx_pextrb_zext */
9245 : break;
9246 :
9247 : case 4:
9248 : if ((
9249 : #line 6158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9250 : (TARGET_SSE4_1) &&
9251 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9252 : (TARGET_64BIT)))
9253 : return 2423; /* *pextrb_zext */
9254 : break;
9255 :
9256 : case 5:
9257 : if ((
9258 : #line 21454 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9259 : (TARGET_SSE2) && (
9260 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9261 : (TARGET_64BIT) &&
9262 : #line 21397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9263 : (TARGET_SSE4_1))))
9264 : return 8505; /* *vec_extractv16qi_zext */
9265 : break;
9266 :
9267 : default:
9268 : break;
9269 : }
9270 : break;
9271 :
9272 : default:
9273 : break;
9274 : }
9275 : if (!register_operand (operands[0], E_DImode)
9276 : || GET_MODE (x2) != E_DImode
9277 : || GET_MODE (x3) != E_SImode)
9278 : return -1;
9279 : operands[1] = x6;
9280 : switch (XWINT (x5, 0))
9281 : {
9282 : case 0L:
9283 : switch (GET_MODE (operands[1]))
9284 : {
9285 : case E_V2SImode:
9286 : if (register_operand (operands[1], E_V2SImode))
9287 : {
9288 : if (
9289 : #line 5777 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9290 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_SSE4_1))
9291 : return 2406; /* *vec_extractv2si_0_zext_sse4 */
9292 : if (
9293 : #line 5792 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9294 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9295 : && TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_FROM_VEC))
9296 : return 2407; /* *vec_extractv2si_0_zext */
9297 : }
9298 : break;
9299 :
9300 : case E_V4SImode:
9301 : if (register_operand (operands[1], E_V4SImode))
9302 : {
9303 : if (
9304 : #line 21554 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9305 : (TARGET_64BIT && TARGET_SSE4_1))
9306 : return 8514; /* *vec_extractv4si_0_zext_sse4 */
9307 : if (
9308 : #line 21569 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9309 : (TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_FROM_VEC))
9310 : return 8515; /* *vec_extractv4si_0_zext */
9311 : }
9312 : break;
9313 :
9314 : default:
9315 : break;
9316 : }
9317 : break;
9318 :
9319 : case 1L:
9320 : if (register_operand (operands[1], E_V2SImode)
9321 : &&
9322 : #line 5854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9323 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
9324 : && TARGET_64BIT && TARGET_SSE4_1))
9325 : return 2409; /* *vec_extractv2si_1_zext */
9326 : break;
9327 :
9328 : default:
9329 : break;
9330 : }
9331 : operands[2] = x5;
9332 : switch (GET_MODE (operands[1]))
9333 : {
9334 : case E_V2SImode:
9335 : if (!memory_operand (operands[1], E_V2SImode)
9336 : || !const_0_to_1_operand (operands[2], E_SImode)
9337 : || !
9338 : #line 5870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
9339 : ((TARGET_MMX || TARGET_MMX_WITH_SSE) && TARGET_64BIT))
9340 : return -1;
9341 : return 2410; /* *vec_extractv2si_zext_mem */
9342 :
9343 : case E_V4SImode:
9344 : if (!const_0_to_3_operand (operands[2], E_SImode))
9345 : return -1;
9346 : if (register_operand (operands[1], E_V4SImode)
9347 : &&
9348 : #line 21630 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9349 : (TARGET_64BIT && TARGET_SSE4_1))
9350 : return 8517; /* *vec_extractv4si_zext */
9351 : if (!memory_operand (operands[1], E_V4SImode)
9352 : || !
9353 : #line 21653 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9354 : (TARGET_64BIT && TARGET_SSE))
9355 : return -1;
9356 : return 8519; /* *vec_extractv4si_zext_mem */
9357 :
9358 : default:
9359 : return -1;
9360 : }
9361 : }
9362 :
9363 : int
9364 : recog_83 (rtx x1 ATTRIBUTE_UNUSED,
9365 : rtx_insn *insn ATTRIBUTE_UNUSED,
9366 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9367 : {
9368 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9369 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9370 : rtx x10, x11;
9371 : int res ATTRIBUTE_UNUSED;
9372 : x2 = XEXP (x1, 1);
9373 : x3 = XEXP (x2, 0);
9374 : x4 = XEXP (x3, 1);
9375 : x5 = XEXP (x4, 0);
9376 : operands[2] = x5;
9377 : x6 = XEXP (x3, 0);
9378 : if (!rtx_equal_p (x6, operands[0]))
9379 : return -1;
9380 : x7 = XEXP (x2, 1);
9381 : x8 = XEXP (x7, 0);
9382 : x9 = XEXP (x8, 1);
9383 : x10 = XEXP (x9, 1);
9384 : x11 = XEXP (x10, 0);
9385 : if (!rtx_equal_p (x11, operands[2]))
9386 : return -1;
9387 : if (
9388 : #line 17122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9389 : (TARGET_64BIT && TARGET_APX_NF))
9390 : return 1174; /* x86_64_shrd_nf */
9391 : if (pnum_clobbers == NULL
9392 : || !
9393 : #line 17122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9394 : (TARGET_64BIT && true))
9395 : return -1;
9396 : *pnum_clobbers = 1;
9397 : return 1175; /* x86_64_shrd */
9398 : }
9399 :
9400 : int
9401 : recog_85 (rtx x1 ATTRIBUTE_UNUSED,
9402 : rtx_insn *insn ATTRIBUTE_UNUSED,
9403 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9404 : {
9405 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9406 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9407 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
9408 : rtx x18;
9409 : int res ATTRIBUTE_UNUSED;
9410 : x2 = XEXP (x1, 0);
9411 : operands[0] = x2;
9412 : x3 = XEXP (x1, 1);
9413 : x4 = XEXP (x3, 0);
9414 : switch (GET_CODE (x4))
9415 : {
9416 : case ASHIFT:
9417 : return recog_84 (x1, insn, pnum_clobbers);
9418 :
9419 : case REG:
9420 : case SUBREG:
9421 : case MEM:
9422 : operands[1] = x4;
9423 : x5 = XEXP (x3, 1);
9424 : operands[2] = x5;
9425 : switch (pattern439 (x3))
9426 : {
9427 : case 0:
9428 : if (pnum_clobbers != NULL
9429 : && x86_64_hilo_general_operand (operands[2], E_DImode)
9430 : && (
9431 : #line 13847 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9432 : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
9433 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9434 : (!TARGET_64BIT)))
9435 : {
9436 : *pnum_clobbers = 1;
9437 : return 847; /* *iordi3_doubleword */
9438 : }
9439 : if (x86_64_general_operand (operands[2], E_DImode))
9440 : {
9441 : if ((
9442 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9443 : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
9444 : && TARGET_APX_NF) &&
9445 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9446 : (TARGET_64BIT)))
9447 : return 859; /* *iordi_1_nf */
9448 : if (pnum_clobbers != NULL
9449 : && (
9450 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9451 : (ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)
9452 : && true) &&
9453 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9454 : (TARGET_64BIT)))
9455 : {
9456 : *pnum_clobbers = 1;
9457 : return 860; /* *iordi_1 */
9458 : }
9459 : }
9460 : if (pnum_clobbers == NULL
9461 : || !const_int_operand (operands[2], E_DImode)
9462 : || !
9463 : #line 13953 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9464 : (TARGET_64BIT && TARGET_USE_BT
9465 : && ix86_binary_operator_ok (IOR, DImode, operands)
9466 : && IN_RANGE (exact_log2 (INTVAL (operands[2])), 31, 63)))
9467 : return -1;
9468 : *pnum_clobbers = 1;
9469 : return 866; /* *iordi_1_bts */
9470 :
9471 : case 1:
9472 : if (
9473 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9474 : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
9475 : && TARGET_APX_NF))
9476 : return 855; /* *iorsi_1_nf */
9477 : if (pnum_clobbers == NULL
9478 : || !
9479 : #line 13905 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9480 : (ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)
9481 : && true))
9482 : return -1;
9483 : *pnum_clobbers = 1;
9484 : return 856; /* *iorsi_1 */
9485 :
9486 : default:
9487 : return -1;
9488 : }
9489 :
9490 : case ZERO_EXTEND:
9491 : if (GET_MODE (x4) != E_DImode
9492 : || GET_MODE (x3) != E_DImode)
9493 : return -1;
9494 : switch (pattern443 (x3))
9495 : {
9496 : case 0:
9497 : if (pnum_clobbers != NULL)
9498 : {
9499 : x5 = XEXP (x3, 1);
9500 : operands[2] = x5;
9501 : if (x86_64_zext_immediate_operand (operands[2], E_DImode)
9502 : && register_operand (operands[0], E_DImode)
9503 : &&
9504 : #line 14082 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9505 : (TARGET_64BIT
9506 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
9507 : {
9508 : *pnum_clobbers = 1;
9509 : return 893; /* *iorsi_1_zext_imm */
9510 : }
9511 : }
9512 : x5 = XEXP (x3, 1);
9513 : operands[2] = x5;
9514 : if (!const_scalar_int_operand (operands[2], E_DImode)
9515 : || !nonimmediate_operand (operands[0], E_DImode)
9516 : || !(
9517 : #line 14534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9518 : (DImode == DImode
9519 : ? CONST_INT_P (operands[2])
9520 : && (UINTVAL (operands[2]) & GET_MODE_MASK (SImode)) == 0
9521 : && !ix86_endbr_immediate_operand (operands[2], VOIDmode)
9522 : : CONST_WIDE_INT_P (operands[2])
9523 : && CONST_WIDE_INT_NUNITS (operands[2]) == 2
9524 : && CONST_WIDE_INT_ELT (operands[2], 0) == 0
9525 : && !ix86_endbr_immediate_operand (GEN_INT (CONST_WIDE_INT_ELT (operands[2],
9526 : 1)),
9527 : VOIDmode)) &&
9528 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9529 : (!TARGET_64BIT)))
9530 : return -1;
9531 : return 979; /* *concatsidi3_7 */
9532 :
9533 : case 1:
9534 : if (!(
9535 : #line 14413 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9536 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9537 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9538 : (!TARGET_64BIT)))
9539 : return -1;
9540 : return 931; /* *concatsidi3_2 */
9541 :
9542 : case 2:
9543 : if (!(
9544 : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9545 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9546 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9547 : (!TARGET_64BIT)))
9548 : return -1;
9549 : return 949; /* *concatsidi3_4 */
9550 :
9551 : case 3:
9552 : if (!(
9553 : #line 14457 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9554 : (INTVAL (operands[3]) == 4 * BITS_PER_UNIT) &&
9555 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9556 : (!TARGET_64BIT)))
9557 : return -1;
9558 : return 952; /* *concatsidi3_4 */
9559 :
9560 : default:
9561 : return -1;
9562 : }
9563 :
9564 : case LSHIFTRT:
9565 : x6 = XEXP (x4, 1);
9566 : switch (GET_CODE (x6))
9567 : {
9568 : case AND:
9569 : switch (pattern289 (x3,
9570 : ASHIFT))
9571 : {
9572 : case 0:
9573 : x5 = XEXP (x3, 1);
9574 : x7 = XEXP (x5, 0);
9575 : x8 = XEXP (x7, 0);
9576 : x9 = XEXP (x8, 0);
9577 : operands[1] = x9;
9578 : if (nonimmediate_operand (operands[0], E_DImode))
9579 : {
9580 : res = recog_83 (x1, insn, pnum_clobbers);
9581 : if (res >= 0)
9582 : return res;
9583 : }
9584 : operands[2] = x9;
9585 : if (!register_operand (operands[0], E_DImode))
9586 : return -1;
9587 : x10 = XEXP (x4, 0);
9588 : operands[1] = x10;
9589 : if (!nonimmediate_operand (operands[1], E_DImode))
9590 : return -1;
9591 : x11 = XEXP (x6, 0);
9592 : operands[3] = x11;
9593 : x12 = XEXP (x7, 1);
9594 : x13 = XEXP (x12, 1);
9595 : x14 = XEXP (x13, 0);
9596 : if (!rtx_equal_p (x14, operands[3]))
9597 : return -1;
9598 : if (
9599 : #line 17143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9600 : (TARGET_APX_NDD && TARGET_APX_NF))
9601 : return 1176; /* x86_64_shrd_ndd_nf */
9602 : if (pnum_clobbers == NULL
9603 : || !
9604 : #line 17143 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9605 : (TARGET_APX_NDD && true))
9606 : return -1;
9607 : *pnum_clobbers = 1;
9608 : return 1177; /* x86_64_shrd_ndd */
9609 :
9610 : case 1:
9611 : if (pattern288 (x3,
9612 : E_SImode,
9613 : E_DImode) != 0)
9614 : return -1;
9615 : x5 = XEXP (x3, 1);
9616 : x7 = XEXP (x5, 0);
9617 : x8 = XEXP (x7, 0);
9618 : x9 = XEXP (x8, 0);
9619 : operands[1] = x9;
9620 : if (nonimmediate_operand (operands[0], E_SImode))
9621 : {
9622 : x11 = XEXP (x6, 0);
9623 : operands[2] = x11;
9624 : x10 = XEXP (x4, 0);
9625 : if (rtx_equal_p (x10, operands[0]))
9626 : {
9627 : x12 = XEXP (x7, 1);
9628 : x13 = XEXP (x12, 1);
9629 : x14 = XEXP (x13, 0);
9630 : if (rtx_equal_p (x14, operands[2]))
9631 : {
9632 : if (
9633 : #line 17352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9634 : (TARGET_APX_NF))
9635 : return 1186; /* x86_shrd_nf */
9636 : if (pnum_clobbers != NULL)
9637 : {
9638 : *pnum_clobbers = 1;
9639 : return 1187; /* x86_shrd */
9640 : }
9641 : }
9642 : }
9643 : }
9644 : operands[2] = x9;
9645 : if (!register_operand (operands[0], E_SImode))
9646 : return -1;
9647 : x10 = XEXP (x4, 0);
9648 : operands[1] = x10;
9649 : if (!nonimmediate_operand (operands[1], E_SImode))
9650 : return -1;
9651 : x11 = XEXP (x6, 0);
9652 : operands[3] = x11;
9653 : x12 = XEXP (x7, 1);
9654 : x13 = XEXP (x12, 1);
9655 : x14 = XEXP (x13, 0);
9656 : if (!rtx_equal_p (x14, operands[3]))
9657 : return -1;
9658 : if (
9659 : #line 17374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9660 : (TARGET_APX_NDD && TARGET_APX_NF))
9661 : return 1188; /* x86_shrd_ndd_nf */
9662 : if (pnum_clobbers == NULL
9663 : || !
9664 : #line 17374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9665 : (TARGET_APX_NDD && true))
9666 : return -1;
9667 : *pnum_clobbers = 1;
9668 : return 1189; /* x86_shrd_ndd */
9669 :
9670 : default:
9671 : return -1;
9672 : }
9673 :
9674 : case CONST_INT:
9675 : case CONST_WIDE_INT:
9676 : case CONST_POLY_INT:
9677 : case CONST_FIXED:
9678 : case CONST_DOUBLE:
9679 : case CONST_VECTOR:
9680 : case CONST:
9681 : case REG:
9682 : case SUBREG:
9683 : case LABEL_REF:
9684 : case SYMBOL_REF:
9685 : case HIGH:
9686 : x5 = XEXP (x3, 1);
9687 : switch (GET_CODE (x5))
9688 : {
9689 : case SUBREG:
9690 : switch (pattern444 (x3,
9691 : ASHIFT))
9692 : {
9693 : case 0:
9694 : operands[2] = x6;
9695 : if (pattern1371 (x3) == 0)
9696 : {
9697 : if (
9698 : #line 17158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9699 : (TARGET_64BIT
9700 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9701 : && TARGET_APX_NF))
9702 : return 1178; /* x86_64_shrd_1_nf */
9703 : if (pnum_clobbers != NULL
9704 : &&
9705 : #line 17158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9706 : (TARGET_64BIT
9707 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9708 : && true))
9709 : {
9710 : *pnum_clobbers = 1;
9711 : return 1179; /* x86_64_shrd_1 */
9712 : }
9713 : }
9714 : operands[3] = x6;
9715 : if (pattern1372 (x3) != 0)
9716 : return -1;
9717 : if (
9718 : #line 17180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9719 : (TARGET_APX_NDD
9720 : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
9721 : && TARGET_APX_NF))
9722 : return 1180; /* x86_64_shrd_ndd_1_nf */
9723 : if (pnum_clobbers == NULL
9724 : || !
9725 : #line 17180 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9726 : (TARGET_APX_NDD
9727 : && INTVAL (operands[4]) == 64 - INTVAL (operands[3])
9728 : && true))
9729 : return -1;
9730 : *pnum_clobbers = 1;
9731 : return 1181; /* x86_64_shrd_ndd_1 */
9732 :
9733 : case 1:
9734 : operands[2] = x6;
9735 : if (pattern1373 (x3) == 0)
9736 : {
9737 : if (
9738 : #line 17389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9739 : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9740 : && TARGET_APX_NF))
9741 : return 1190; /* x86_shrd_1_nf */
9742 : if (pnum_clobbers != NULL
9743 : &&
9744 : #line 17389 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9745 : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9746 : && true))
9747 : {
9748 : *pnum_clobbers = 1;
9749 : return 1191; /* x86_shrd_1 */
9750 : }
9751 : }
9752 : operands[3] = x6;
9753 : if (pattern1374 (x3) != 0)
9754 : return -1;
9755 : if (
9756 : #line 17411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9757 : (TARGET_APX_NDD
9758 : && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
9759 : && TARGET_APX_NF))
9760 : return 1192; /* x86_shrd_ndd_1_nf */
9761 : if (pnum_clobbers == NULL
9762 : || !
9763 : #line 17411 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9764 : (TARGET_APX_NDD
9765 : && (INTVAL (operands[4]) == 32 - INTVAL (operands[3]))
9766 : && true))
9767 : return -1;
9768 : *pnum_clobbers = 1;
9769 : return 1193; /* x86_shrd_ndd_1 */
9770 :
9771 : default:
9772 : return -1;
9773 : }
9774 :
9775 : case ASHIFT:
9776 : switch (pattern447 (x3, pnum_clobbers))
9777 : {
9778 : case 0:
9779 : if (
9780 : #line 17196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9781 : (TARGET_64BIT && TARGET_APX_NF
9782 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9783 : && ix86_pre_reload_split ()))
9784 : return 1182; /* *x86_64_shrd_shld_1_nozext_nf */
9785 : if (pnum_clobbers == NULL
9786 : || !
9787 : #line 17252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9788 : (TARGET_64BIT
9789 : && INTVAL (operands[3]) == 64 - INTVAL (operands[2])
9790 : && ix86_pre_reload_split ()))
9791 : return -1;
9792 : *pnum_clobbers = 1;
9793 : return 1183; /* *x86_64_shrd_shld_1_nozext */
9794 :
9795 : case 1:
9796 : if (
9797 : #line 17427 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9798 : (TARGET_APX_NF
9799 : && INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9800 : && ix86_pre_reload_split ()))
9801 : return 1194; /* *x86_shrd_shld_1_nozext_nf */
9802 : if (pnum_clobbers == NULL
9803 : || !
9804 : #line 17483 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9805 : (INTVAL (operands[3]) == 32 - INTVAL (operands[2])
9806 : && ix86_pre_reload_split ()))
9807 : return -1;
9808 : *pnum_clobbers = 1;
9809 : return 1195; /* *x86_shrd_shld_1_nozext */
9810 :
9811 : case 2:
9812 : x7 = XEXP (x5, 0);
9813 : operands[1] = x7;
9814 : if (nonimmediate_operand (operands[0], E_DImode))
9815 : {
9816 : operands[2] = x6;
9817 : x10 = XEXP (x4, 0);
9818 : if (rtx_equal_p (x10, operands[0]))
9819 : {
9820 : x15 = XEXP (x5, 1);
9821 : x16 = XEXP (x15, 1);
9822 : if (rtx_equal_p (x16, operands[2])
9823 : &&
9824 : #line 17305 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9825 : (TARGET_64BIT && ix86_pre_reload_split ()))
9826 : {
9827 : *pnum_clobbers = 1;
9828 : return 1184; /* *x86_64_shrd_2 */
9829 : }
9830 : }
9831 : }
9832 : operands[2] = x7;
9833 : if (!register_operand (operands[0], E_DImode))
9834 : return -1;
9835 : x10 = XEXP (x4, 0);
9836 : operands[1] = x10;
9837 : if (!nonimmediate_operand (operands[1], E_DImode))
9838 : return -1;
9839 : operands[3] = x6;
9840 : x15 = XEXP (x5, 1);
9841 : x16 = XEXP (x15, 1);
9842 : if (!rtx_equal_p (x16, operands[2])
9843 : || !
9844 : #line 17326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9845 : (TARGET_APX_NDD
9846 : && ix86_pre_reload_split ()))
9847 : return -1;
9848 : *pnum_clobbers = 1;
9849 : return 1185; /* *x86_64_shrd_ndd_2 */
9850 :
9851 : case 3:
9852 : x7 = XEXP (x5, 0);
9853 : operands[1] = x7;
9854 : if (nonimmediate_operand (operands[0], E_SImode))
9855 : {
9856 : operands[2] = x6;
9857 : x10 = XEXP (x4, 0);
9858 : if (rtx_equal_p (x10, operands[0]))
9859 : {
9860 : x15 = XEXP (x5, 1);
9861 : x16 = XEXP (x15, 1);
9862 : if (rtx_equal_p (x16, operands[2])
9863 : &&
9864 : #line 17535 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9865 : (TARGET_64BIT && ix86_pre_reload_split ()))
9866 : {
9867 : *pnum_clobbers = 1;
9868 : return 1196; /* *x86_shrd_2 */
9869 : }
9870 : }
9871 : }
9872 : operands[2] = x7;
9873 : if (!register_operand (operands[0], E_SImode))
9874 : return -1;
9875 : x10 = XEXP (x4, 0);
9876 : operands[1] = x10;
9877 : if (!nonimmediate_operand (operands[1], E_SImode))
9878 : return -1;
9879 : operands[3] = x6;
9880 : x15 = XEXP (x5, 1);
9881 : x16 = XEXP (x15, 1);
9882 : if (!rtx_equal_p (x16, operands[3])
9883 : || !
9884 : #line 17556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9885 : (TARGET_APX_NDD
9886 : && ix86_pre_reload_split ()))
9887 : return -1;
9888 : *pnum_clobbers = 1;
9889 : return 1197; /* *x86_shrd_ndd_2 */
9890 :
9891 : default:
9892 : return -1;
9893 : }
9894 :
9895 : default:
9896 : return -1;
9897 : }
9898 :
9899 : default:
9900 : return -1;
9901 : }
9902 :
9903 : case NOT:
9904 : if (pnum_clobbers == NULL)
9905 : return -1;
9906 : x10 = XEXP (x4, 0);
9907 : if (GET_CODE (x10) != PLUS)
9908 : return -1;
9909 : x17 = XEXP (x10, 1);
9910 : if (x17 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
9911 : return -1;
9912 : x18 = XEXP (x10, 0);
9913 : operands[1] = x18;
9914 : x5 = XEXP (x3, 1);
9915 : if (!rtx_equal_p (x5, operands[1]))
9916 : return -1;
9917 : switch (GET_MODE (operands[0]))
9918 : {
9919 : case E_SImode:
9920 : if (pattern990 (x3,
9921 : E_SImode) != 0
9922 : || !
9923 : #line 22556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9924 : (TARGET_TBM))
9925 : return -1;
9926 : *pnum_clobbers = 1;
9927 : return 1642; /* *tbm_blci_si */
9928 :
9929 : case E_DImode:
9930 : if (pattern990 (x3,
9931 : E_DImode) != 0
9932 : || !(
9933 : #line 22556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9934 : (TARGET_TBM) &&
9935 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9936 : (TARGET_64BIT)))
9937 : return -1;
9938 : *pnum_clobbers = 1;
9939 : return 1643; /* *tbm_blci_di */
9940 :
9941 : default:
9942 : return -1;
9943 : }
9944 :
9945 : case PLUS:
9946 : if (pnum_clobbers == NULL)
9947 : return -1;
9948 : x6 = XEXP (x4, 1);
9949 : if (GET_CODE (x6) != CONST_INT)
9950 : return -1;
9951 : x10 = XEXP (x4, 0);
9952 : operands[1] = x10;
9953 : switch (XWINT (x6, 0))
9954 : {
9955 : case 1L:
9956 : switch (pattern764 (x3))
9957 : {
9958 : case 0:
9959 : if (!
9960 : #line 22596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9961 : (TARGET_TBM))
9962 : return -1;
9963 : *pnum_clobbers = 1;
9964 : return 1648; /* *tbm_blcs_si */
9965 :
9966 : case 1:
9967 : if (!(
9968 : #line 22596 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9969 : (TARGET_TBM) &&
9970 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9971 : (TARGET_64BIT)))
9972 : return -1;
9973 : *pnum_clobbers = 1;
9974 : return 1649; /* *tbm_blcs_di */
9975 :
9976 : case 2:
9977 : if (!
9978 : #line 22637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9979 : (TARGET_TBM))
9980 : return -1;
9981 : *pnum_clobbers = 1;
9982 : return 1654; /* *tbm_t1mskc_si */
9983 :
9984 : case 3:
9985 : if (!(
9986 : #line 22637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9987 : (TARGET_TBM) &&
9988 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9989 : (TARGET_64BIT)))
9990 : return -1;
9991 : *pnum_clobbers = 1;
9992 : return 1655; /* *tbm_t1mskc_di */
9993 :
9994 : default:
9995 : return -1;
9996 : }
9997 :
9998 : case -1L:
9999 : switch (pattern764 (x3))
10000 : {
10001 : case 0:
10002 : if (!
10003 : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10004 : (TARGET_TBM))
10005 : return -1;
10006 : *pnum_clobbers = 1;
10007 : return 1650; /* *tbm_blsfill_si */
10008 :
10009 : case 1:
10010 : if (!(
10011 : #line 22609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10012 : (TARGET_TBM) &&
10013 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10014 : (TARGET_64BIT)))
10015 : return -1;
10016 : *pnum_clobbers = 1;
10017 : return 1651; /* *tbm_blsfill_di */
10018 :
10019 : case 2:
10020 : if (!
10021 : #line 22623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10022 : (TARGET_TBM))
10023 : return -1;
10024 : *pnum_clobbers = 1;
10025 : return 1652; /* *tbm_blsic_si */
10026 :
10027 : case 3:
10028 : if (!(
10029 : #line 22623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10030 : (TARGET_TBM) &&
10031 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10032 : (TARGET_64BIT)))
10033 : return -1;
10034 : *pnum_clobbers = 1;
10035 : return 1653; /* *tbm_blsic_di */
10036 :
10037 : default:
10038 : return -1;
10039 : }
10040 :
10041 : default:
10042 : return -1;
10043 : }
10044 :
10045 : case AND:
10046 : if (pattern119 (x3) != 0
10047 : || !register_operand (operands[0], E_SImode)
10048 : || GET_MODE (x3) != E_SImode)
10049 : return -1;
10050 : x10 = XEXP (x4, 0);
10051 : operands[1] = x10;
10052 : if (!register_operand (operands[1], E_SImode))
10053 : return -1;
10054 : x5 = XEXP (x3, 1);
10055 : x7 = XEXP (x5, 0);
10056 : x8 = XEXP (x7, 0);
10057 : if (!rtx_equal_p (x8, operands[1]))
10058 : return -1;
10059 : return 1680; /* bswaphisi2_lowpart */
10060 :
10061 : default:
10062 : return -1;
10063 : }
10064 : }
10065 :
10066 : int
10067 : recog_104 (rtx x1 ATTRIBUTE_UNUSED,
10068 : rtx_insn *insn ATTRIBUTE_UNUSED,
10069 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10070 : {
10071 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10072 : rtx x2, x3, x4, x5;
10073 : int res ATTRIBUTE_UNUSED;
10074 : x2 = XEXP (x1, 0);
10075 : operands[0] = x2;
10076 : x3 = XEXP (x1, 1);
10077 : x4 = XEXP (x3, 0);
10078 : switch (GET_CODE (x4))
10079 : {
10080 : case REG:
10081 : case SUBREG:
10082 : case MEM:
10083 : switch (pattern124 (x3, pnum_clobbers))
10084 : {
10085 : case 0:
10086 : x5 = XEXP (x3, 1);
10087 : switch (GET_CODE (x5))
10088 : {
10089 : case REG:
10090 : case SUBREG:
10091 : if (pnum_clobbers != NULL
10092 : && pattern633 (x3) == 0
10093 : && (
10094 : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10095 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
10096 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
10097 : == (2 * 4 * BITS_PER_UNIT - 1)))
10098 : && ix86_pre_reload_split ()) &&
10099 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10100 : (!TARGET_64BIT)))
10101 : {
10102 : *pnum_clobbers = 1;
10103 : return 1155; /* *ashrdi3_doubleword_mask */
10104 : }
10105 : operands[2] = x5;
10106 : if (register_operand (operands[2], E_SImode)
10107 : && register_operand (operands[0], E_SImode)
10108 : && GET_MODE (x3) == E_SImode
10109 : && nonimmediate_operand (operands[1], E_SImode)
10110 : &&
10111 : #line 17649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10112 : (TARGET_BMI2))
10113 : return 1204; /* *bmi2_ashrsi3_1 */
10114 : break;
10115 :
10116 : case CONST_INT:
10117 : operands[2] = x5;
10118 : if (const_int_operand (operands[2], E_QImode)
10119 : && nonimmediate_operand (operands[0], E_SImode)
10120 : && GET_MODE (x3) == E_SImode
10121 : && nonimmediate_operand (operands[1], E_SImode))
10122 : {
10123 : if (
10124 : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10125 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)-1
10126 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
10127 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
10128 : && TARGET_APX_NF))
10129 : return 1198; /* ashrsi3_cvt_nf */
10130 : if (pnum_clobbers != NULL
10131 : &&
10132 : #line 17580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10133 : (INTVAL (operands[2]) == GET_MODE_BITSIZE (SImode)-1
10134 : && (TARGET_USE_CLTD || optimize_function_for_size_p (cfun))
10135 : && ix86_binary_operator_ok (ASHIFTRT, SImode, operands, TARGET_APX_NDD)
10136 : && true))
10137 : {
10138 : *pnum_clobbers = 1;
10139 : return 1199; /* ashrsi3_cvt */
10140 : }
10141 : }
10142 : break;
10143 :
10144 : default:
10145 : break;
10146 : }
10147 : operands[2] = x5;
10148 : res = recog_103 (x1, insn, pnum_clobbers);
10149 : if (res >= 0)
10150 : return res;
10151 : if (pnum_clobbers == NULL)
10152 : return -1;
10153 : switch (pattern634 (x3))
10154 : {
10155 : case 0:
10156 : if (!
10157 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10158 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
10159 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
10160 : == 4 * BITS_PER_UNIT - 1
10161 : && ix86_pre_reload_split ()))
10162 : return -1;
10163 : *pnum_clobbers = 1;
10164 : return 1278; /* *ashrsi3_mask */
10165 :
10166 : case 1:
10167 : if (!(
10168 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10169 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
10170 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
10171 : == 8 * BITS_PER_UNIT - 1
10172 : && ix86_pre_reload_split ()) &&
10173 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10174 : (TARGET_64BIT)))
10175 : return -1;
10176 : *pnum_clobbers = 1;
10177 : return 1281; /* *ashrdi3_mask */
10178 :
10179 : case 2:
10180 : if (!
10181 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10182 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
10183 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10184 : && ix86_pre_reload_split ()))
10185 : return -1;
10186 : *pnum_clobbers = 1;
10187 : return 1290; /* *ashrsi3_add */
10188 :
10189 : case 3:
10190 : if (!(
10191 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10192 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
10193 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10194 : && ix86_pre_reload_split ()) &&
10195 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10196 : (TARGET_64BIT)))
10197 : return -1;
10198 : *pnum_clobbers = 1;
10199 : return 1293; /* *ashrdi3_add */
10200 :
10201 : case 4:
10202 : if (!
10203 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10204 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
10205 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10206 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
10207 : == 4 * BITS_PER_UNIT - 1)
10208 : && ix86_pre_reload_split ()))
10209 : return -1;
10210 : *pnum_clobbers = 1;
10211 : return 1302; /* *ashrsi3_sub */
10212 :
10213 : case 5:
10214 : if (!(
10215 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10216 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
10217 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10218 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
10219 : == 8 * BITS_PER_UNIT - 1)
10220 : && ix86_pre_reload_split ()) &&
10221 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10222 : (TARGET_64BIT)))
10223 : return -1;
10224 : *pnum_clobbers = 1;
10225 : return 1305; /* *ashrdi3_sub */
10226 :
10227 : default:
10228 : return -1;
10229 : }
10230 :
10231 : case 1:
10232 : if (register_operand (operands[0], E_DImode)
10233 : && register_operand (operands[1], E_DImode)
10234 : && (
10235 : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10236 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
10237 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
10238 : == (2 * 4 * BITS_PER_UNIT - 1)))
10239 : && ix86_pre_reload_split ()) &&
10240 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10241 : (!TARGET_64BIT)))
10242 : {
10243 : *pnum_clobbers = 1;
10244 : return 1159; /* *ashrdi3_doubleword_mask_1 */
10245 : }
10246 : if (!nonimmediate_operand (operands[0], E_DImode)
10247 : || !nonimmediate_operand (operands[1], E_DImode)
10248 : || !(
10249 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10250 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
10251 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
10252 : == 8 * BITS_PER_UNIT - 1
10253 : && ix86_pre_reload_split ()) &&
10254 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10255 : (TARGET_64BIT)))
10256 : return -1;
10257 : *pnum_clobbers = 1;
10258 : return 1287; /* *ashrdi3_mask_1 */
10259 :
10260 : case 2:
10261 : if (!
10262 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10263 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
10264 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
10265 : == 4 * BITS_PER_UNIT - 1
10266 : && ix86_pre_reload_split ()))
10267 : return -1;
10268 : *pnum_clobbers = 1;
10269 : return 1284; /* *ashrsi3_mask_1 */
10270 :
10271 : case 3:
10272 : if (!
10273 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10274 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
10275 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10276 : && ix86_pre_reload_split ()))
10277 : return -1;
10278 : *pnum_clobbers = 1;
10279 : return 1296; /* *ashrsi3_add_1 */
10280 :
10281 : case 4:
10282 : if (!(
10283 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10284 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
10285 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10286 : && ix86_pre_reload_split ()) &&
10287 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10288 : (TARGET_64BIT)))
10289 : return -1;
10290 : *pnum_clobbers = 1;
10291 : return 1299; /* *ashrdi3_add_1 */
10292 :
10293 : case 5:
10294 : if (!
10295 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10296 : (ix86_binary_operator_ok (ASHIFTRT, SImode, operands)
10297 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
10298 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
10299 : == 4 * BITS_PER_UNIT - 1)
10300 : && ix86_pre_reload_split ()))
10301 : return -1;
10302 : *pnum_clobbers = 1;
10303 : return 1308; /* *ashrsi3_sub_1 */
10304 :
10305 : case 6:
10306 : if (!(
10307 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10308 : (ix86_binary_operator_ok (ASHIFTRT, DImode, operands)
10309 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
10310 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
10311 : == 8 * BITS_PER_UNIT - 1)
10312 : && ix86_pre_reload_split ()) &&
10313 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10314 : (TARGET_64BIT)))
10315 : return -1;
10316 : *pnum_clobbers = 1;
10317 : return 1311; /* *ashrdi3_sub_1 */
10318 :
10319 : default:
10320 : return -1;
10321 : }
10322 :
10323 : case ASHIFT:
10324 : if (pnum_clobbers == NULL
10325 : || pattern293 (x3,
10326 : E_DImode) != 0
10327 : || !(
10328 : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10329 : (INTVAL (operands[2]) == INTVAL (operands[3])
10330 : && UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
10331 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10332 : (!TARGET_64BIT)))
10333 : return -1;
10334 : *pnum_clobbers = 1;
10335 : return 1312; /* *extenddi2_doubleword_highpart */
10336 :
10337 : default:
10338 : return -1;
10339 : }
10340 : }
10341 :
10342 : int
10343 : recog_116 (rtx x1 ATTRIBUTE_UNUSED,
10344 : rtx_insn *insn ATTRIBUTE_UNUSED,
10345 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10346 : {
10347 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10348 : rtx x2, x3, x4;
10349 : int res ATTRIBUTE_UNUSED;
10350 : if (pnum_clobbers == NULL)
10351 : return -1;
10352 : x2 = XEXP (x1, 0);
10353 : operands[0] = x2;
10354 : x3 = XEXP (x1, 1);
10355 : x4 = XEXP (x3, 0);
10356 : operands[1] = x4;
10357 : switch (pattern132 (x3))
10358 : {
10359 : case 0:
10360 : *pnum_clobbers = 1;
10361 : return 1546; /* ctzsi2 */
10362 :
10363 : case 1:
10364 : if (!
10365 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10366 : (TARGET_64BIT))
10367 : return -1;
10368 : *pnum_clobbers = 1;
10369 : return 1547; /* ctzdi2 */
10370 :
10371 : default:
10372 : return -1;
10373 : }
10374 : }
10375 :
10376 : int
10377 : recog_117 (rtx x1 ATTRIBUTE_UNUSED,
10378 : rtx_insn *insn ATTRIBUTE_UNUSED,
10379 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10380 : {
10381 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10382 : rtx x2, x3, x4, x5, x6, x7, x8;
10383 : int res ATTRIBUTE_UNUSED;
10384 : x2 = XEXP (x1, 1);
10385 : if (GET_MODE (x2) != E_DImode)
10386 : return -1;
10387 : x3 = XEXP (x1, 0);
10388 : operands[0] = x3;
10389 : if (!register_operand (operands[0], E_DImode))
10390 : return -1;
10391 : x4 = XEXP (x2, 0);
10392 : if (GET_MODE (x4) != E_SImode)
10393 : return -1;
10394 : switch (GET_CODE (x4))
10395 : {
10396 : case CTZ:
10397 : if (pnum_clobbers == NULL)
10398 : return -1;
10399 : x5 = XEXP (x4, 0);
10400 : operands[1] = x5;
10401 : if (!nonimmediate_operand (operands[1], E_SImode)
10402 : || !
10403 : #line 21532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10404 : (TARGET_64BIT))
10405 : return -1;
10406 : *pnum_clobbers = 1;
10407 : return 1552; /* *ctzsidi2_sext */
10408 :
10409 : case XOR:
10410 : if (pnum_clobbers == NULL)
10411 : return -1;
10412 : x5 = XEXP (x4, 0);
10413 : if (GET_CODE (x5) != MINUS
10414 : || pattern442 (x4) != 0)
10415 : return -1;
10416 : x6 = XEXP (x5, 1);
10417 : x7 = XEXP (x6, 0);
10418 : operands[1] = x7;
10419 : if (!nonimmediate_operand (operands[1], E_SImode)
10420 : || !
10421 : #line 21705 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10422 : (!TARGET_LZCNT && TARGET_64BIT && ix86_pre_reload_split ()))
10423 : return -1;
10424 : *pnum_clobbers = 1;
10425 : return 1564; /* *bsr_2 */
10426 :
10427 : case UNSPEC:
10428 : if (XVECLEN (x4, 0) != 1
10429 : || XINT (x4, 1) != 50)
10430 : return -1;
10431 : x8 = XVECEXP (x4, 0, 0);
10432 : switch (GET_CODE (x8))
10433 : {
10434 : case REG:
10435 : case SUBREG:
10436 : operands[1] = x8;
10437 : switch (GET_MODE (operands[1]))
10438 : {
10439 : case E_V8SFmode:
10440 : if (register_operand (operands[1], E_V8SFmode)
10441 : && (
10442 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10443 : (TARGET_64BIT && TARGET_SSE) &&
10444 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10445 : (TARGET_AVX)))
10446 : return 8556; /* *avx_movmskps256_ext */
10447 : break;
10448 :
10449 : case E_V4SFmode:
10450 : if (register_operand (operands[1], E_V4SFmode)
10451 : &&
10452 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10453 : (TARGET_64BIT && TARGET_SSE))
10454 : return 8558; /* *sse_movmskps_ext */
10455 : break;
10456 :
10457 : case E_V4DFmode:
10458 : if (register_operand (operands[1], E_V4DFmode)
10459 : && (
10460 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10461 : (TARGET_64BIT && TARGET_SSE) &&
10462 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10463 : (TARGET_AVX)))
10464 : return 8560; /* *avx_movmskpd256_ext */
10465 : break;
10466 :
10467 : case E_V2DFmode:
10468 : if (register_operand (operands[1], E_V2DFmode)
10469 : && (
10470 : #line 22299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10471 : (TARGET_64BIT && TARGET_SSE) &&
10472 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10473 : (TARGET_SSE2)))
10474 : return 8562; /* *sse2_movmskpd_ext */
10475 : break;
10476 :
10477 : case E_V16QImode:
10478 : if (register_operand (operands[1], E_V16QImode)
10479 : &&
10480 : #line 22472 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10481 : (TARGET_64BIT && TARGET_SSE2))
10482 : return 8604; /* *sse2_pmovmskb_ext */
10483 : break;
10484 :
10485 : default:
10486 : break;
10487 : }
10488 : if (GET_CODE (x8) != SUBREG)
10489 : return -1;
10490 : switch (pattern1098 (x8))
10491 : {
10492 : case 0:
10493 : if (!(
10494 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10495 : (TARGET_64BIT && TARGET_SSE) &&
10496 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10497 : (TARGET_AVX)))
10498 : return -1;
10499 : return 8580; /* *avx_movmskps256_ext_lt_avx512 */
10500 :
10501 : case 1:
10502 : if (!
10503 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10504 : (TARGET_64BIT && TARGET_SSE))
10505 : return -1;
10506 : return 8582; /* *sse_movmskps_ext_lt_avx512 */
10507 :
10508 : case 2:
10509 : if (!(
10510 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10511 : (TARGET_64BIT && TARGET_SSE) &&
10512 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10513 : (TARGET_AVX)))
10514 : return -1;
10515 : return 8584; /* *avx_movmskpd256_ext_lt_avx512 */
10516 :
10517 : case 3:
10518 : if (!(
10519 : #line 22381 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10520 : (TARGET_64BIT && TARGET_SSE) &&
10521 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10522 : (TARGET_SSE2)))
10523 : return -1;
10524 : return 8586; /* *sse2_movmskpd_ext_lt_avx512 */
10525 :
10526 : case 4:
10527 : if (!(
10528 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10529 : (TARGET_64BIT && TARGET_SSE) &&
10530 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10531 : (TARGET_AVX)))
10532 : return -1;
10533 : return 8592; /* *avx_movmskps256_ext_shift */
10534 :
10535 : case 5:
10536 : if (!
10537 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10538 : (TARGET_64BIT && TARGET_SSE))
10539 : return -1;
10540 : return 8594; /* *sse_movmskps_ext_shift */
10541 :
10542 : case 6:
10543 : if (!(
10544 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10545 : (TARGET_64BIT && TARGET_SSE) &&
10546 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10547 : (TARGET_AVX)))
10548 : return -1;
10549 : return 8596; /* *avx_movmskpd256_ext_shift */
10550 :
10551 : case 7:
10552 : if (!(
10553 : #line 22420 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10554 : (TARGET_64BIT && TARGET_SSE) &&
10555 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10556 : (TARGET_SSE2)))
10557 : return -1;
10558 : return 8598; /* *sse2_movmskpd_ext_shift */
10559 :
10560 : default:
10561 : return -1;
10562 : }
10563 :
10564 : case LT:
10565 : switch (pattern995 (x8))
10566 : {
10567 : case 0:
10568 : if (!(
10569 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10570 : (TARGET_64BIT && TARGET_SSE) &&
10571 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10572 : (TARGET_AVX)))
10573 : return -1;
10574 : return 8572; /* *avx_movmskps256_ext_lt */
10575 :
10576 : case 1:
10577 : if (!
10578 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10579 : (TARGET_64BIT && TARGET_SSE))
10580 : return -1;
10581 : return 8574; /* *sse_movmskps_ext_lt */
10582 :
10583 : case 2:
10584 : if (!(
10585 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10586 : (TARGET_64BIT && TARGET_SSE) &&
10587 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10588 : (TARGET_AVX)))
10589 : return -1;
10590 : return 8576; /* *avx_movmskpd256_ext_lt */
10591 :
10592 : case 3:
10593 : if (!(
10594 : #line 22356 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10595 : (TARGET_64BIT && TARGET_SSE) &&
10596 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10597 : (TARGET_SSE2)))
10598 : return -1;
10599 : return 8578; /* *sse2_movmskpd_ext_lt */
10600 :
10601 : case 4:
10602 : if (!
10603 : #line 22668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10604 : (TARGET_64BIT && TARGET_SSE2))
10605 : return -1;
10606 : return 8614; /* *sse2_pmovmskb_ext_lt */
10607 :
10608 : default:
10609 : return -1;
10610 : }
10611 :
10612 : case VEC_MERGE:
10613 : switch (pattern985 (x8))
10614 : {
10615 : case 0:
10616 : if (!(
10617 : #line 22697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10618 : (TARGET_64BIT && TARGET_SSE2) &&
10619 : #line 623 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10620 : (TARGET_AVX2)))
10621 : return -1;
10622 : return 8615; /* *sse2_pmovmskb_ext_lt_avx512 */
10623 :
10624 : case 1:
10625 : if (!
10626 : #line 22697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10627 : (TARGET_64BIT && TARGET_SSE2))
10628 : return -1;
10629 : return 8616; /* *sse2_pmovmskb_ext_lt_avx512 */
10630 :
10631 : default:
10632 : return -1;
10633 : }
10634 :
10635 : default:
10636 : return -1;
10637 : }
10638 :
10639 : default:
10640 : return -1;
10641 : }
10642 : }
10643 :
10644 : int
10645 : recog_128 (rtx x1 ATTRIBUTE_UNUSED,
10646 : rtx_insn *insn ATTRIBUTE_UNUSED,
10647 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10648 : {
10649 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10650 : rtx x2, x3, x4, x5;
10651 : int res ATTRIBUTE_UNUSED;
10652 : x2 = XEXP (x1, 1);
10653 : x3 = XEXP (x2, 0);
10654 : x4 = XVECEXP (x3, 0, 0);
10655 : operands[1] = x4;
10656 : x5 = XEXP (x2, 2);
10657 : operands[3] = x5;
10658 : switch (GET_MODE (operands[0]))
10659 : {
10660 : case E_V8HImode:
10661 : if (pattern644 (x2,
10662 : E_V8HImode,
10663 : E_QImode,
10664 : E_V8HFmode) != 0
10665 : || !(
10666 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10667 : (TARGET_AVX512F) && (
10668 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10669 : (TARGET_AVX512FP16) &&
10670 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10671 : (TARGET_AVX512VL))))
10672 : return -1;
10673 : return 4605; /* unspec_avx512fp16_fix_truncv8hi2_mask */
10674 :
10675 : case E_V16HImode:
10676 : if (pattern644 (x2,
10677 : E_V16HImode,
10678 : E_HImode,
10679 : E_V16HFmode) != 0
10680 : || !(
10681 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10682 : (TARGET_AVX512F) && (
10683 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10684 : (TARGET_AVX512FP16) &&
10685 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10686 : (TARGET_AVX512VL))))
10687 : return -1;
10688 : return 4613; /* unspec_avx512fp16_fix_truncv16hi2_mask */
10689 :
10690 : case E_V32HImode:
10691 : if (pattern644 (x2,
10692 : E_V32HImode,
10693 : E_SImode,
10694 : E_V32HFmode) != 0
10695 : || !(
10696 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10697 : (TARGET_AVX512F) &&
10698 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10699 : (TARGET_AVX512FP16)))
10700 : return -1;
10701 : return 4621; /* unspec_avx512fp16_fix_truncv32hi2_mask */
10702 :
10703 : case E_V8SImode:
10704 : switch (pattern996 (x2,
10705 : E_V8SImode))
10706 : {
10707 : case 0:
10708 : if (!(
10709 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10710 : (TARGET_AVX512F) && (
10711 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10712 : (TARGET_AVX512FP16) &&
10713 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10714 : (TARGET_AVX512VL))))
10715 : return -1;
10716 : return 4629; /* unspec_avx512fp16_fix_truncv8si2_mask */
10717 :
10718 : case 1:
10719 : if (!(
10720 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10721 : (TARGET_AVX512F) &&
10722 : #line 9117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10723 : (TARGET_AVX && TARGET_AVX512VL)))
10724 : return -1;
10725 : return 4926; /* unspec_fix_truncv8sfv8si2_mask */
10726 :
10727 : case 2:
10728 : if (!
10729 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10730 : (TARGET_AVX512F))
10731 : return -1;
10732 : return 5060; /* unspec_fix_truncv8dfv8si2_mask */
10733 :
10734 : default:
10735 : return -1;
10736 : }
10737 :
10738 : case E_V16SImode:
10739 : switch (pattern997 (x2))
10740 : {
10741 : case 0:
10742 : if (!(
10743 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10744 : (TARGET_AVX512F) &&
10745 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10746 : (TARGET_AVX512FP16)))
10747 : return -1;
10748 : return 4637; /* unspec_avx512fp16_fix_truncv16si2_mask */
10749 :
10750 : case 1:
10751 : if (!
10752 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10753 : (TARGET_AVX512F))
10754 : return -1;
10755 : return 4911; /* unspec_fix_truncv16sfv16si2_mask */
10756 :
10757 : default:
10758 : return -1;
10759 : }
10760 :
10761 : case E_V8DImode:
10762 : switch (pattern998 (x2))
10763 : {
10764 : case 0:
10765 : if (!(
10766 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10767 : (TARGET_AVX512F) &&
10768 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10769 : (TARGET_AVX512FP16)))
10770 : return -1;
10771 : return 4645; /* unspec_avx512fp16_fix_truncv8di2_mask */
10772 :
10773 : case 1:
10774 : if (!(
10775 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10776 : (TARGET_AVX512F) &&
10777 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10778 : (TARGET_AVX512DQ && 1)))
10779 : return -1;
10780 : return 5089; /* unspec_fix_truncv8dfv8di2_mask */
10781 :
10782 : case 2:
10783 : if (!(
10784 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10785 : (TARGET_AVX512F) &&
10786 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10787 : (TARGET_AVX512DQ && 1)))
10788 : return -1;
10789 : return 5137; /* unspec_fix_truncv8sfv8di2_mask */
10790 :
10791 : default:
10792 : return -1;
10793 : }
10794 :
10795 : case E_V4SImode:
10796 : if (pattern142 (x2,
10797 : E_V4SImode,
10798 : E_QImode) != 0)
10799 : return -1;
10800 : switch (GET_MODE (operands[1]))
10801 : {
10802 : case E_V8HFmode:
10803 : if (!register_operand (operands[1], E_V8HFmode)
10804 : || !(
10805 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10806 : (TARGET_AVX512F) &&
10807 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10808 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10809 : return -1;
10810 : return 4700; /* unspec_avx512fp16_fix_truncv4si2_mask */
10811 :
10812 : case E_V4SFmode:
10813 : if (!vector_operand (operands[1], E_V4SFmode)
10814 : || !(
10815 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10816 : (TARGET_AVX512F) &&
10817 : #line 9136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10818 : (TARGET_SSE2 && TARGET_AVX512VL)))
10819 : return -1;
10820 : return 4930; /* unspec_fix_truncv4sfv4si2_mask */
10821 :
10822 : case E_V4DFmode:
10823 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
10824 : || !(
10825 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10826 : (TARGET_AVX512F) &&
10827 : #line 9980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10828 : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F))))
10829 : return -1;
10830 : return 5080; /* unspec_fix_truncv4dfv4si2_mask */
10831 :
10832 : case E_V2DFmode:
10833 : if (!vector_operand (operands[1], E_V2DFmode)
10834 : || !(
10835 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10836 : (TARGET_AVX512F) &&
10837 : #line 10262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10838 : (TARGET_SSE2 && TARGET_AVX512VL)))
10839 : return -1;
10840 : return 5176; /* unspec_sse2_cvttpd2dq_mask */
10841 :
10842 : default:
10843 : return -1;
10844 : }
10845 :
10846 : case E_V4DImode:
10847 : switch (pattern999 (x2))
10848 : {
10849 : case 0:
10850 : if (!(
10851 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10852 : (TARGET_AVX512F) &&
10853 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10854 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10855 : return -1;
10856 : return 4704; /* unspec_avx512fp16_fix_truncv4di2_mask */
10857 :
10858 : case 1:
10859 : if (!(
10860 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10861 : (TARGET_AVX512F) && (
10862 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10863 : (TARGET_AVX512DQ && 1) &&
10864 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10865 : (TARGET_AVX512VL))))
10866 : return -1;
10867 : return 5096; /* unspec_fix_truncv4dfv4di2_mask */
10868 :
10869 : case 2:
10870 : if (!(
10871 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10872 : (TARGET_AVX512F) && (
10873 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10874 : (TARGET_AVX512DQ && 1) &&
10875 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10876 : (TARGET_AVX512VL))))
10877 : return -1;
10878 : return 5144; /* unspec_fix_truncv4sfv4di2_mask */
10879 :
10880 : default:
10881 : return -1;
10882 : }
10883 :
10884 : case E_V2DImode:
10885 : switch (pattern1000 (x2))
10886 : {
10887 : case 0:
10888 : if (!(
10889 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10890 : (TARGET_AVX512F) &&
10891 : #line 8290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10892 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10893 : return -1;
10894 : return 4724; /* unspec_avx512fp16_fix_truncv2di2_mask */
10895 :
10896 : case 1:
10897 : if (!(
10898 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10899 : (TARGET_AVX512F) && (
10900 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10901 : (TARGET_AVX512DQ && 1) &&
10902 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10903 : (TARGET_AVX512VL))))
10904 : return -1;
10905 : return 5100; /* unspec_fix_truncv2dfv2di2_mask */
10906 :
10907 : case 2:
10908 : if (!(
10909 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10910 : (TARGET_AVX512F) &&
10911 : #line 10083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10912 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10913 : return -1;
10914 : return 5160; /* unspec_avx512dq_fix_truncv2sfv2di2_mask */
10915 :
10916 : default:
10917 : return -1;
10918 : }
10919 :
10920 : default:
10921 : return -1;
10922 : }
10923 : }
10924 :
10925 : int
10926 : recog_136 (rtx x1 ATTRIBUTE_UNUSED,
10927 : rtx_insn *insn ATTRIBUTE_UNUSED,
10928 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10929 : {
10930 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10931 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10932 : int res ATTRIBUTE_UNUSED;
10933 : x2 = XEXP (x1, 1);
10934 : x3 = XEXP (x2, 0);
10935 : x4 = XVECEXP (x3, 0, 2);
10936 : operands[3] = x4;
10937 : x5 = XEXP (x2, 1);
10938 : switch (GET_CODE (x5))
10939 : {
10940 : case REG:
10941 : case SUBREG:
10942 : x6 = XEXP (x2, 2);
10943 : operands[4] = x6;
10944 : switch (GET_MODE (operands[0]))
10945 : {
10946 : case E_V16SImode:
10947 : if (pattern1006 (x2,
10948 : E_V16SImode) == 0)
10949 : {
10950 : x7 = XVECEXP (x3, 0, 1);
10951 : operands[1] = x7;
10952 : x8 = XVECEXP (x3, 0, 0);
10953 : operands[2] = x8;
10954 : if (nonimmediate_operand (operands[3], E_V16SImode)
10955 : && register_operand (operands[4], E_HImode)
10956 : && rtx_equal_p (x5, operands[2])
10957 : &&
10958 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10959 : (TARGET_AVX512F))
10960 : return 9437; /* *avx512f_vpermi2varv16si3_mask */
10961 : operands[2] = x7;
10962 : operands[1] = x8;
10963 : if (nonimmediate_operand (operands[3], E_V16SImode)
10964 : && register_operand (operands[4], E_HImode)
10965 : && rtx_equal_p (x5, operands[2])
10966 : &&
10967 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10968 : (TARGET_AVX512F))
10969 : return 9503; /* avx512f_vpermt2varv16si3_mask */
10970 : }
10971 : break;
10972 :
10973 : case E_V8DImode:
10974 : if (pattern1006 (x2,
10975 : E_V8DImode) == 0)
10976 : {
10977 : x7 = XVECEXP (x3, 0, 1);
10978 : operands[1] = x7;
10979 : x8 = XVECEXP (x3, 0, 0);
10980 : operands[2] = x8;
10981 : if (nonimmediate_operand (operands[3], E_V8DImode)
10982 : && register_operand (operands[4], E_QImode)
10983 : && rtx_equal_p (x5, operands[2])
10984 : &&
10985 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10986 : (TARGET_AVX512F))
10987 : return 9438; /* *avx512f_vpermi2varv8di3_mask */
10988 : operands[2] = x7;
10989 : operands[1] = x8;
10990 : if (nonimmediate_operand (operands[3], E_V8DImode)
10991 : && register_operand (operands[4], E_QImode)
10992 : && rtx_equal_p (x5, operands[2])
10993 : &&
10994 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10995 : (TARGET_AVX512F))
10996 : return 9505; /* avx512f_vpermt2varv8di3_mask */
10997 : }
10998 : break;
10999 :
11000 : case E_V8SImode:
11001 : if (pattern1006 (x2,
11002 : E_V8SImode) == 0)
11003 : {
11004 : x7 = XVECEXP (x3, 0, 1);
11005 : operands[1] = x7;
11006 : x8 = XVECEXP (x3, 0, 0);
11007 : operands[2] = x8;
11008 : if (nonimmediate_operand (operands[3], E_V8SImode)
11009 : && register_operand (operands[4], E_QImode)
11010 : && rtx_equal_p (x5, operands[2])
11011 : && (
11012 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11013 : (TARGET_AVX512F) &&
11014 : #line 28848 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11015 : (TARGET_AVX512VL)))
11016 : return 9439; /* *avx512vl_vpermi2varv8si3_mask */
11017 : operands[2] = x7;
11018 : operands[1] = x8;
11019 : if (nonimmediate_operand (operands[3], E_V8SImode)
11020 : && register_operand (operands[4], E_QImode)
11021 : && rtx_equal_p (x5, operands[2])
11022 : && (
11023 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11024 : (TARGET_AVX512F) &&
11025 : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11026 : (TARGET_AVX512VL)))
11027 : return 9507; /* avx512vl_vpermt2varv8si3_mask */
11028 : }
11029 : break;
11030 :
11031 : case E_V4SImode:
11032 : if (pattern1006 (x2,
11033 : E_V4SImode) == 0)
11034 : {
11035 : x7 = XVECEXP (x3, 0, 1);
11036 : operands[1] = x7;
11037 : x8 = XVECEXP (x3, 0, 0);
11038 : operands[2] = x8;
11039 : if (nonimmediate_operand (operands[3], E_V4SImode)
11040 : && register_operand (operands[4], E_QImode)
11041 : && rtx_equal_p (x5, operands[2])
11042 : && (
11043 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11044 : (TARGET_AVX512F) &&
11045 : #line 28848 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11046 : (TARGET_AVX512VL)))
11047 : return 9440; /* *avx512vl_vpermi2varv4si3_mask */
11048 : operands[2] = x7;
11049 : operands[1] = x8;
11050 : if (nonimmediate_operand (operands[3], E_V4SImode)
11051 : && register_operand (operands[4], E_QImode)
11052 : && rtx_equal_p (x5, operands[2])
11053 : && (
11054 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11055 : (TARGET_AVX512F) &&
11056 : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11057 : (TARGET_AVX512VL)))
11058 : return 9511; /* avx512vl_vpermt2varv4si3_mask */
11059 : }
11060 : break;
11061 :
11062 : case E_V4DImode:
11063 : if (pattern1006 (x2,
11064 : E_V4DImode) == 0)
11065 : {
11066 : x7 = XVECEXP (x3, 0, 1);
11067 : operands[1] = x7;
11068 : x8 = XVECEXP (x3, 0, 0);
11069 : operands[2] = x8;
11070 : if (nonimmediate_operand (operands[3], E_V4DImode)
11071 : && register_operand (operands[4], E_QImode)
11072 : && rtx_equal_p (x5, operands[2])
11073 : && (
11074 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11075 : (TARGET_AVX512F) &&
11076 : #line 28849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11077 : (TARGET_AVX512VL)))
11078 : return 9441; /* *avx512vl_vpermi2varv4di3_mask */
11079 : operands[2] = x7;
11080 : operands[1] = x8;
11081 : if (nonimmediate_operand (operands[3], E_V4DImode)
11082 : && register_operand (operands[4], E_QImode)
11083 : && rtx_equal_p (x5, operands[2])
11084 : && (
11085 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11086 : (TARGET_AVX512F) &&
11087 : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11088 : (TARGET_AVX512VL)))
11089 : return 9509; /* avx512vl_vpermt2varv4di3_mask */
11090 : }
11091 : break;
11092 :
11093 : case E_V2DImode:
11094 : if (pattern1006 (x2,
11095 : E_V2DImode) == 0)
11096 : {
11097 : x7 = XVECEXP (x3, 0, 1);
11098 : operands[1] = x7;
11099 : x8 = XVECEXP (x3, 0, 0);
11100 : operands[2] = x8;
11101 : if (nonimmediate_operand (operands[3], E_V2DImode)
11102 : && register_operand (operands[4], E_QImode)
11103 : && rtx_equal_p (x5, operands[2])
11104 : && (
11105 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11106 : (TARGET_AVX512F) &&
11107 : #line 28849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11108 : (TARGET_AVX512VL)))
11109 : return 9442; /* *avx512vl_vpermi2varv2di3_mask */
11110 : operands[2] = x7;
11111 : operands[1] = x8;
11112 : if (nonimmediate_operand (operands[3], E_V2DImode)
11113 : && register_operand (operands[4], E_QImode)
11114 : && rtx_equal_p (x5, operands[2])
11115 : && (
11116 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11117 : (TARGET_AVX512F) &&
11118 : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11119 : (TARGET_AVX512VL)))
11120 : return 9513; /* avx512vl_vpermt2varv2di3_mask */
11121 : }
11122 : break;
11123 :
11124 : case E_V32HImode:
11125 : if (pattern1006 (x2,
11126 : E_V32HImode) == 0)
11127 : {
11128 : x7 = XVECEXP (x3, 0, 1);
11129 : operands[1] = x7;
11130 : x8 = XVECEXP (x3, 0, 0);
11131 : operands[2] = x8;
11132 : if (nonimmediate_operand (operands[3], E_V32HImode)
11133 : && register_operand (operands[4], E_SImode)
11134 : && rtx_equal_p (x5, operands[2])
11135 : && (
11136 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11137 : (TARGET_AVX512F) &&
11138 : #line 28850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11139 : (TARGET_AVX512BW)))
11140 : return 9443; /* *avx512bw_vpermi2varv32hi3_mask */
11141 : operands[2] = x7;
11142 : operands[1] = x8;
11143 : if (nonimmediate_operand (operands[3], E_V32HImode)
11144 : && register_operand (operands[4], E_SImode)
11145 : && rtx_equal_p (x5, operands[2])
11146 : && (
11147 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11148 : (TARGET_AVX512F) &&
11149 : #line 28839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11150 : (TARGET_AVX512BW)))
11151 : return 9515; /* avx512bw_vpermt2varv32hi3_mask */
11152 : }
11153 : break;
11154 :
11155 : case E_V16HImode:
11156 : if (pattern1006 (x2,
11157 : E_V16HImode) == 0)
11158 : {
11159 : x7 = XVECEXP (x3, 0, 1);
11160 : operands[1] = x7;
11161 : x8 = XVECEXP (x3, 0, 0);
11162 : operands[2] = x8;
11163 : if (nonimmediate_operand (operands[3], E_V16HImode)
11164 : && register_operand (operands[4], E_HImode)
11165 : && rtx_equal_p (x5, operands[2])
11166 : && (
11167 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11168 : (TARGET_AVX512F) &&
11169 : #line 28851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11170 : (TARGET_AVX512BW && TARGET_AVX512VL)))
11171 : return 9444; /* *avx512vl_vpermi2varv16hi3_mask */
11172 : operands[2] = x7;
11173 : operands[1] = x8;
11174 : if (nonimmediate_operand (operands[3], E_V16HImode)
11175 : && register_operand (operands[4], E_HImode)
11176 : && rtx_equal_p (x5, operands[2])
11177 : && (
11178 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11179 : (TARGET_AVX512F) &&
11180 : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11181 : (TARGET_AVX512BW && TARGET_AVX512VL)))
11182 : return 9516; /* avx512vl_vpermt2varv16hi3_mask */
11183 : }
11184 : break;
11185 :
11186 : case E_V8HImode:
11187 : if (pattern1006 (x2,
11188 : E_V8HImode) == 0)
11189 : {
11190 : x7 = XVECEXP (x3, 0, 1);
11191 : operands[1] = x7;
11192 : x8 = XVECEXP (x3, 0, 0);
11193 : operands[2] = x8;
11194 : if (nonimmediate_operand (operands[3], E_V8HImode)
11195 : && register_operand (operands[4], E_QImode)
11196 : && rtx_equal_p (x5, operands[2])
11197 : && (
11198 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11199 : (TARGET_AVX512F) &&
11200 : #line 28852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11201 : (TARGET_AVX512BW && TARGET_AVX512VL)))
11202 : return 9445; /* *avx512vl_vpermi2varv8hi3_mask */
11203 : operands[2] = x7;
11204 : operands[1] = x8;
11205 : if (nonimmediate_operand (operands[3], E_V8HImode)
11206 : && register_operand (operands[4], E_QImode)
11207 : && rtx_equal_p (x5, operands[2])
11208 : && (
11209 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11210 : (TARGET_AVX512F) &&
11211 : #line 28841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11212 : (TARGET_AVX512BW && TARGET_AVX512VL)))
11213 : return 9517; /* avx512vl_vpermt2varv8hi3_mask */
11214 : }
11215 : break;
11216 :
11217 : case E_V64QImode:
11218 : if (pattern1006 (x2,
11219 : E_V64QImode) == 0)
11220 : {
11221 : x7 = XVECEXP (x3, 0, 1);
11222 : operands[1] = x7;
11223 : x8 = XVECEXP (x3, 0, 0);
11224 : operands[2] = x8;
11225 : if (nonimmediate_operand (operands[3], E_V64QImode)
11226 : && register_operand (operands[4], E_DImode)
11227 : && rtx_equal_p (x5, operands[2])
11228 : && (
11229 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11230 : (TARGET_AVX512F) &&
11231 : #line 28853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11232 : (TARGET_AVX512VBMI)))
11233 : return 9446; /* *avx512bw_vpermi2varv64qi3_mask */
11234 : operands[2] = x7;
11235 : operands[1] = x8;
11236 : if (nonimmediate_operand (operands[3], E_V64QImode)
11237 : && register_operand (operands[4], E_DImode)
11238 : && rtx_equal_p (x5, operands[2])
11239 : && (
11240 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11241 : (TARGET_AVX512F) &&
11242 : #line 28842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11243 : (TARGET_AVX512VBMI)))
11244 : return 9518; /* avx512bw_vpermt2varv64qi3_mask */
11245 : }
11246 : break;
11247 :
11248 : case E_V32QImode:
11249 : if (pattern1006 (x2,
11250 : E_V32QImode) == 0)
11251 : {
11252 : x7 = XVECEXP (x3, 0, 1);
11253 : operands[1] = x7;
11254 : x8 = XVECEXP (x3, 0, 0);
11255 : operands[2] = x8;
11256 : if (nonimmediate_operand (operands[3], E_V32QImode)
11257 : && register_operand (operands[4], E_SImode)
11258 : && rtx_equal_p (x5, operands[2])
11259 : && (
11260 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11261 : (TARGET_AVX512F) &&
11262 : #line 28854 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11263 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11264 : return 9447; /* *avx512vl_vpermi2varv32qi3_mask */
11265 : operands[2] = x7;
11266 : operands[1] = x8;
11267 : if (nonimmediate_operand (operands[3], E_V32QImode)
11268 : && register_operand (operands[4], E_SImode)
11269 : && rtx_equal_p (x5, operands[2])
11270 : && (
11271 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11272 : (TARGET_AVX512F) &&
11273 : #line 28843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11274 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11275 : return 9519; /* avx512vl_vpermt2varv32qi3_mask */
11276 : }
11277 : break;
11278 :
11279 : case E_V16QImode:
11280 : if (pattern1006 (x2,
11281 : E_V16QImode) == 0)
11282 : {
11283 : x7 = XVECEXP (x3, 0, 1);
11284 : operands[1] = x7;
11285 : x8 = XVECEXP (x3, 0, 0);
11286 : operands[2] = x8;
11287 : if (nonimmediate_operand (operands[3], E_V16QImode)
11288 : && register_operand (operands[4], E_HImode)
11289 : && rtx_equal_p (x5, operands[2])
11290 : && (
11291 : #line 28883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11292 : (TARGET_AVX512F) &&
11293 : #line 28855 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11294 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11295 : return 9448; /* *avx512vl_vpermi2varv16qi3_mask */
11296 : operands[2] = x7;
11297 : operands[1] = x8;
11298 : if (nonimmediate_operand (operands[3], E_V16QImode)
11299 : && register_operand (operands[4], E_HImode)
11300 : && rtx_equal_p (x5, operands[2])
11301 : && (
11302 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11303 : (TARGET_AVX512F) &&
11304 : #line 28844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11305 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11306 : return 9520; /* avx512vl_vpermt2varv16qi3_mask */
11307 : }
11308 : break;
11309 :
11310 : default:
11311 : break;
11312 : }
11313 : if (GET_CODE (x5) == SUBREG
11314 : && known_eq (SUBREG_BYTE (x5), 0))
11315 : {
11316 : x8 = XVECEXP (x3, 0, 0);
11317 : operands[2] = x8;
11318 : x7 = XVECEXP (x3, 0, 1);
11319 : operands[1] = x7;
11320 : x9 = XEXP (x5, 0);
11321 : if (rtx_equal_p (x9, operands[2]))
11322 : {
11323 : switch (GET_MODE (operands[0]))
11324 : {
11325 : case E_V16SFmode:
11326 : if (pattern1466 (x2,
11327 : E_V16SFmode,
11328 : E_V16SImode,
11329 : E_HImode) == 0
11330 : &&
11331 : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11332 : (TARGET_AVX512F))
11333 : return 9449; /* *avx512f_vpermi2varv16sf3_mask */
11334 : break;
11335 :
11336 : case E_V8SFmode:
11337 : if (pattern1466 (x2,
11338 : E_V8SFmode,
11339 : E_V8SImode,
11340 : E_QImode) == 0
11341 : && (
11342 : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11343 : (TARGET_AVX512F) &&
11344 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11345 : (TARGET_AVX512VL)))
11346 : return 9450; /* *avx512vl_vpermi2varv8sf3_mask */
11347 : break;
11348 :
11349 : case E_V4SFmode:
11350 : if (pattern1466 (x2,
11351 : E_V4SFmode,
11352 : E_V4SImode,
11353 : E_QImode) == 0
11354 : && (
11355 : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11356 : (TARGET_AVX512F) &&
11357 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11358 : (TARGET_AVX512VL)))
11359 : return 9451; /* *avx512vl_vpermi2varv4sf3_mask */
11360 : break;
11361 :
11362 : case E_V8DFmode:
11363 : if (pattern1466 (x2,
11364 : E_V8DFmode,
11365 : E_V8DImode,
11366 : E_QImode) == 0
11367 : &&
11368 : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11369 : (TARGET_AVX512F))
11370 : return 9452; /* *avx512f_vpermi2varv8df3_mask */
11371 : break;
11372 :
11373 : case E_V4DFmode:
11374 : if (pattern1466 (x2,
11375 : E_V4DFmode,
11376 : E_V4DImode,
11377 : E_QImode) == 0
11378 : && (
11379 : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11380 : (TARGET_AVX512F) &&
11381 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11382 : (TARGET_AVX512VL)))
11383 : return 9453; /* *avx512vl_vpermi2varv4df3_mask */
11384 : break;
11385 :
11386 : case E_V2DFmode:
11387 : if (pattern1466 (x2,
11388 : E_V2DFmode,
11389 : E_V2DImode,
11390 : E_QImode) == 0
11391 : && (
11392 : #line 28899 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11393 : (TARGET_AVX512F) &&
11394 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11395 : (TARGET_AVX512VL)))
11396 : return 9454; /* *avx512vl_vpermi2varv2df3_mask */
11397 : break;
11398 :
11399 : default:
11400 : break;
11401 : }
11402 : }
11403 : }
11404 : x8 = XVECEXP (x3, 0, 0);
11405 : operands[1] = x8;
11406 : x7 = XVECEXP (x3, 0, 1);
11407 : operands[2] = x7;
11408 : if (!rtx_equal_p (x5, operands[2]))
11409 : return -1;
11410 : switch (GET_MODE (operands[0]))
11411 : {
11412 : case E_V16SFmode:
11413 : if (pattern1282 (x2,
11414 : E_V16SFmode,
11415 : E_V16SImode,
11416 : E_HImode) != 0
11417 : || !
11418 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11419 : (TARGET_AVX512F))
11420 : return -1;
11421 : return 9504; /* avx512f_vpermt2varv16sf3_mask */
11422 :
11423 : case E_V8DFmode:
11424 : if (pattern1282 (x2,
11425 : E_V8DFmode,
11426 : E_V8DImode,
11427 : E_QImode) != 0
11428 : || !
11429 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11430 : (TARGET_AVX512F))
11431 : return -1;
11432 : return 9506; /* avx512f_vpermt2varv8df3_mask */
11433 :
11434 : case E_V8SFmode:
11435 : if (pattern1282 (x2,
11436 : E_V8SFmode,
11437 : E_V8SImode,
11438 : E_QImode) != 0
11439 : || !(
11440 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11441 : (TARGET_AVX512F) &&
11442 : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11443 : (TARGET_AVX512VL)))
11444 : return -1;
11445 : return 9508; /* avx512vl_vpermt2varv8sf3_mask */
11446 :
11447 : case E_V4DFmode:
11448 : if (pattern1282 (x2,
11449 : E_V4DFmode,
11450 : E_V4DImode,
11451 : E_QImode) != 0
11452 : || !(
11453 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11454 : (TARGET_AVX512F) &&
11455 : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11456 : (TARGET_AVX512VL)))
11457 : return -1;
11458 : return 9510; /* avx512vl_vpermt2varv4df3_mask */
11459 :
11460 : case E_V4SFmode:
11461 : if (pattern1282 (x2,
11462 : E_V4SFmode,
11463 : E_V4SImode,
11464 : E_QImode) != 0
11465 : || !(
11466 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11467 : (TARGET_AVX512F) &&
11468 : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11469 : (TARGET_AVX512VL)))
11470 : return -1;
11471 : return 9512; /* avx512vl_vpermt2varv4sf3_mask */
11472 :
11473 : case E_V2DFmode:
11474 : if (pattern1282 (x2,
11475 : E_V2DFmode,
11476 : E_V2DImode,
11477 : E_QImode) != 0
11478 : || !(
11479 : #line 28959 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11480 : (TARGET_AVX512F) &&
11481 : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11482 : (TARGET_AVX512VL)))
11483 : return -1;
11484 : return 9514; /* avx512vl_vpermt2varv2df3_mask */
11485 :
11486 : default:
11487 : return -1;
11488 : }
11489 :
11490 : case CONST_INT:
11491 : case CONST_DOUBLE:
11492 : case CONST_VECTOR:
11493 : operands[4] = x5;
11494 : x8 = XVECEXP (x3, 0, 0);
11495 : operands[1] = x8;
11496 : x7 = XVECEXP (x3, 0, 1);
11497 : operands[2] = x7;
11498 : x6 = XEXP (x2, 2);
11499 : operands[5] = x6;
11500 : switch (GET_MODE (operands[0]))
11501 : {
11502 : case E_V16SImode:
11503 : if (pattern484 (x2,
11504 : E_V16SImode,
11505 : E_HImode) != 0
11506 : || !
11507 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11508 : (TARGET_AVX512F))
11509 : return -1;
11510 : return 9456; /* avx512f_vpermt2varv16si3_maskz_1 */
11511 :
11512 : case E_V16SFmode:
11513 : if (pattern1283 (x2,
11514 : E_V16SFmode,
11515 : E_HImode,
11516 : E_V16SImode) != 0
11517 : || !
11518 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11519 : (TARGET_AVX512F))
11520 : return -1;
11521 : return 9458; /* avx512f_vpermt2varv16sf3_maskz_1 */
11522 :
11523 : case E_V8DImode:
11524 : if (pattern484 (x2,
11525 : E_V8DImode,
11526 : E_QImode) != 0
11527 : || !
11528 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11529 : (TARGET_AVX512F))
11530 : return -1;
11531 : return 9460; /* avx512f_vpermt2varv8di3_maskz_1 */
11532 :
11533 : case E_V8DFmode:
11534 : if (pattern1283 (x2,
11535 : E_V8DFmode,
11536 : E_QImode,
11537 : E_V8DImode) != 0
11538 : || !
11539 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11540 : (TARGET_AVX512F))
11541 : return -1;
11542 : return 9462; /* avx512f_vpermt2varv8df3_maskz_1 */
11543 :
11544 : case E_V8SImode:
11545 : if (pattern484 (x2,
11546 : E_V8SImode,
11547 : E_QImode) != 0
11548 : || !(
11549 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11550 : (TARGET_AVX512F) &&
11551 : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11552 : (TARGET_AVX512VL)))
11553 : return -1;
11554 : return 9464; /* avx512vl_vpermt2varv8si3_maskz_1 */
11555 :
11556 : case E_V8SFmode:
11557 : if (pattern1283 (x2,
11558 : E_V8SFmode,
11559 : E_QImode,
11560 : E_V8SImode) != 0
11561 : || !(
11562 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11563 : (TARGET_AVX512F) &&
11564 : #line 28835 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11565 : (TARGET_AVX512VL)))
11566 : return -1;
11567 : return 9466; /* avx512vl_vpermt2varv8sf3_maskz_1 */
11568 :
11569 : case E_V4DImode:
11570 : if (pattern484 (x2,
11571 : E_V4DImode,
11572 : E_QImode) != 0
11573 : || !(
11574 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11575 : (TARGET_AVX512F) &&
11576 : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11577 : (TARGET_AVX512VL)))
11578 : return -1;
11579 : return 9468; /* avx512vl_vpermt2varv4di3_maskz_1 */
11580 :
11581 : case E_V4DFmode:
11582 : if (pattern1283 (x2,
11583 : E_V4DFmode,
11584 : E_QImode,
11585 : E_V4DImode) != 0
11586 : || !(
11587 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11588 : (TARGET_AVX512F) &&
11589 : #line 28836 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11590 : (TARGET_AVX512VL)))
11591 : return -1;
11592 : return 9470; /* avx512vl_vpermt2varv4df3_maskz_1 */
11593 :
11594 : case E_V4SImode:
11595 : if (pattern484 (x2,
11596 : E_V4SImode,
11597 : E_QImode) != 0
11598 : || !(
11599 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11600 : (TARGET_AVX512F) &&
11601 : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11602 : (TARGET_AVX512VL)))
11603 : return -1;
11604 : return 9472; /* avx512vl_vpermt2varv4si3_maskz_1 */
11605 :
11606 : case E_V4SFmode:
11607 : if (pattern1283 (x2,
11608 : E_V4SFmode,
11609 : E_QImode,
11610 : E_V4SImode) != 0
11611 : || !(
11612 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11613 : (TARGET_AVX512F) &&
11614 : #line 28837 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11615 : (TARGET_AVX512VL)))
11616 : return -1;
11617 : return 9474; /* avx512vl_vpermt2varv4sf3_maskz_1 */
11618 :
11619 : case E_V2DImode:
11620 : if (pattern484 (x2,
11621 : E_V2DImode,
11622 : E_QImode) != 0
11623 : || !(
11624 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11625 : (TARGET_AVX512F) &&
11626 : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11627 : (TARGET_AVX512VL)))
11628 : return -1;
11629 : return 9476; /* avx512vl_vpermt2varv2di3_maskz_1 */
11630 :
11631 : case E_V2DFmode:
11632 : if (pattern1283 (x2,
11633 : E_V2DFmode,
11634 : E_QImode,
11635 : E_V2DImode) != 0
11636 : || !(
11637 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11638 : (TARGET_AVX512F) &&
11639 : #line 28838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11640 : (TARGET_AVX512VL)))
11641 : return -1;
11642 : return 9478; /* avx512vl_vpermt2varv2df3_maskz_1 */
11643 :
11644 : case E_V32HImode:
11645 : if (pattern484 (x2,
11646 : E_V32HImode,
11647 : E_SImode) != 0
11648 : || !(
11649 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11650 : (TARGET_AVX512F) &&
11651 : #line 28839 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11652 : (TARGET_AVX512BW)))
11653 : return -1;
11654 : return 9480; /* avx512bw_vpermt2varv32hi3_maskz_1 */
11655 :
11656 : case E_V16HImode:
11657 : if (pattern484 (x2,
11658 : E_V16HImode,
11659 : E_HImode) != 0
11660 : || !(
11661 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11662 : (TARGET_AVX512F) &&
11663 : #line 28840 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11664 : (TARGET_AVX512BW && TARGET_AVX512VL)))
11665 : return -1;
11666 : return 9482; /* avx512vl_vpermt2varv16hi3_maskz_1 */
11667 :
11668 : case E_V8HImode:
11669 : if (pattern484 (x2,
11670 : E_V8HImode,
11671 : E_QImode) != 0
11672 : || !(
11673 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11674 : (TARGET_AVX512F) &&
11675 : #line 28841 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11676 : (TARGET_AVX512BW && TARGET_AVX512VL)))
11677 : return -1;
11678 : return 9484; /* avx512vl_vpermt2varv8hi3_maskz_1 */
11679 :
11680 : case E_V64QImode:
11681 : if (pattern484 (x2,
11682 : E_V64QImode,
11683 : E_DImode) != 0
11684 : || !(
11685 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11686 : (TARGET_AVX512F) &&
11687 : #line 28842 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11688 : (TARGET_AVX512VBMI)))
11689 : return -1;
11690 : return 9486; /* avx512bw_vpermt2varv64qi3_maskz_1 */
11691 :
11692 : case E_V32QImode:
11693 : if (pattern484 (x2,
11694 : E_V32QImode,
11695 : E_SImode) != 0
11696 : || !(
11697 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11698 : (TARGET_AVX512F) &&
11699 : #line 28843 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11700 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11701 : return -1;
11702 : return 9488; /* avx512vl_vpermt2varv32qi3_maskz_1 */
11703 :
11704 : case E_V16QImode:
11705 : if (pattern484 (x2,
11706 : E_V16QImode,
11707 : E_HImode) != 0
11708 : || !(
11709 : #line 28926 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11710 : (TARGET_AVX512F) &&
11711 : #line 28844 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11712 : (TARGET_AVX512VBMI && TARGET_AVX512VL)))
11713 : return -1;
11714 : return 9490; /* avx512vl_vpermt2varv16qi3_maskz_1 */
11715 :
11716 : case E_V32HFmode:
11717 : if (pattern1283 (x2,
11718 : E_V32HFmode,
11719 : E_SImode,
11720 : E_V32HImode) != 0
11721 : || !
11722 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11723 : (TARGET_AVX512BW))
11724 : return -1;
11725 : return 9492; /* avx512bw_vpermt2varv32hf3_maskz_1 */
11726 :
11727 : case E_V16HFmode:
11728 : if (pattern1283 (x2,
11729 : E_V16HFmode,
11730 : E_HImode,
11731 : E_V16HImode) != 0
11732 : || !(
11733 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11734 : (TARGET_AVX512BW) &&
11735 : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11736 : (TARGET_AVX512VL)))
11737 : return -1;
11738 : return 9494; /* avx512vl_vpermt2varv16hf3_maskz_1 */
11739 :
11740 : case E_V8HFmode:
11741 : if (pattern1283 (x2,
11742 : E_V8HFmode,
11743 : E_QImode,
11744 : E_V8HImode) != 0
11745 : || !(
11746 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11747 : (TARGET_AVX512BW) &&
11748 : #line 548 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11749 : (TARGET_AVX512VL)))
11750 : return -1;
11751 : return 9496; /* avx512fp16_vpermt2varv8hf3_maskz_1 */
11752 :
11753 : case E_V32BFmode:
11754 : if (pattern1283 (x2,
11755 : E_V32BFmode,
11756 : E_SImode,
11757 : E_V32HImode) != 0
11758 : || !
11759 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11760 : (TARGET_AVX512BW))
11761 : return -1;
11762 : return 9498; /* avx512bw_vpermt2varv32bf3_maskz_1 */
11763 :
11764 : case E_V16BFmode:
11765 : if (pattern1283 (x2,
11766 : E_V16BFmode,
11767 : E_HImode,
11768 : E_V16HImode) != 0
11769 : || !(
11770 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11771 : (TARGET_AVX512BW) &&
11772 : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11773 : (TARGET_AVX512VL)))
11774 : return -1;
11775 : return 9500; /* avx512vl_vpermt2varv16bf3_maskz_1 */
11776 :
11777 : case E_V8BFmode:
11778 : if (pattern1283 (x2,
11779 : E_V8BFmode,
11780 : E_QImode,
11781 : E_V8HImode) != 0
11782 : || !(
11783 : #line 28941 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11784 : (TARGET_AVX512BW) &&
11785 : #line 549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11786 : (TARGET_AVX512VL)))
11787 : return -1;
11788 : return 9502; /* avx512vl_vpermt2varv8bf3_maskz_1 */
11789 :
11790 : default:
11791 : return -1;
11792 : }
11793 :
11794 : default:
11795 : return -1;
11796 : }
11797 : }
11798 :
11799 : int
11800 : recog_163 (rtx x1 ATTRIBUTE_UNUSED,
11801 : rtx_insn *insn ATTRIBUTE_UNUSED,
11802 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11803 : {
11804 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11805 : rtx x2, x3, x4;
11806 : int res ATTRIBUTE_UNUSED;
11807 : x2 = XEXP (x1, 1);
11808 : x3 = XEXP (x2, 1);
11809 : switch (GET_CODE (x3))
11810 : {
11811 : case CONST_INT:
11812 : case CONST_DOUBLE:
11813 : case CONST_VECTOR:
11814 : operands[4] = x3;
11815 : x4 = XEXP (x2, 2);
11816 : switch (GET_CODE (x4))
11817 : {
11818 : case REG:
11819 : case SUBREG:
11820 : operands[5] = x4;
11821 : switch (GET_MODE (operands[0]))
11822 : {
11823 : case E_V4SFmode:
11824 : if (pattern1400 (x2,
11825 : E_V4SFmode) != 0)
11826 : return -1;
11827 : if (nonimmediate_operand (operands[1], E_V4SFmode)
11828 : && nonimmediate_operand (operands[2], E_V4SFmode)
11829 : && nonimmediate_operand (operands[3], E_V4SFmode)
11830 : &&
11831 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11832 : (TARGET_FMA || TARGET_FMA4))
11833 : return 4057; /* *fma_fnmsub_v4sf */
11834 : if (!bcst_vector_operand (operands[1], E_V4SFmode)
11835 : || !bcst_vector_operand (operands[2], E_V4SFmode)
11836 : || !bcst_vector_operand (operands[3], E_V4SFmode)
11837 : || !(
11838 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11839 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11840 : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11841 : (TARGET_AVX512VL)))
11842 : return -1;
11843 : return 4089; /* fma_fnmsub_v4sf_maskz_1 */
11844 :
11845 : case E_V2DFmode:
11846 : if (pattern1400 (x2,
11847 : E_V2DFmode) != 0)
11848 : return -1;
11849 : if (nonimmediate_operand (operands[1], E_V2DFmode)
11850 : && nonimmediate_operand (operands[2], E_V2DFmode)
11851 : && nonimmediate_operand (operands[3], E_V2DFmode)
11852 : &&
11853 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11854 : (TARGET_FMA || TARGET_FMA4))
11855 : return 4061; /* *fma_fnmsub_v2df */
11856 : if (!bcst_vector_operand (operands[1], E_V2DFmode)
11857 : || !bcst_vector_operand (operands[2], E_V2DFmode)
11858 : || !bcst_vector_operand (operands[3], E_V2DFmode)
11859 : || !(
11860 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11861 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11862 : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11863 : (TARGET_AVX512VL)))
11864 : return -1;
11865 : return 4098; /* fma_fnmsub_v2df_maskz_1 */
11866 :
11867 : case E_V8SFmode:
11868 : if (pattern1400 (x2,
11869 : E_V8SFmode) != 0)
11870 : return -1;
11871 : if (nonimmediate_operand (operands[1], E_V8SFmode)
11872 : && nonimmediate_operand (operands[2], E_V8SFmode)
11873 : && nonimmediate_operand (operands[3], E_V8SFmode)
11874 : &&
11875 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11876 : (TARGET_FMA || TARGET_FMA4))
11877 : return 4065; /* *fma_fnmsub_v8sf */
11878 : if (!bcst_vector_operand (operands[1], E_V8SFmode)
11879 : || !bcst_vector_operand (operands[2], E_V8SFmode)
11880 : || !bcst_vector_operand (operands[3], E_V8SFmode)
11881 : || !(
11882 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11883 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11884 : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11885 : (TARGET_AVX512VL)))
11886 : return -1;
11887 : return 4087; /* fma_fnmsub_v8sf_maskz_1 */
11888 :
11889 : case E_V4DFmode:
11890 : if (pattern1400 (x2,
11891 : E_V4DFmode) != 0)
11892 : return -1;
11893 : if (nonimmediate_operand (operands[1], E_V4DFmode)
11894 : && nonimmediate_operand (operands[2], E_V4DFmode)
11895 : && nonimmediate_operand (operands[3], E_V4DFmode)
11896 : &&
11897 : #line 6573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11898 : (TARGET_FMA || TARGET_FMA4))
11899 : return 4069; /* *fma_fnmsub_v4df */
11900 : if (!bcst_vector_operand (operands[1], E_V4DFmode)
11901 : || !bcst_vector_operand (operands[2], E_V4DFmode)
11902 : || !bcst_vector_operand (operands[3], E_V4DFmode)
11903 : || !(
11904 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11905 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11906 : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11907 : (TARGET_AVX512VL)))
11908 : return -1;
11909 : return 4096; /* fma_fnmsub_v4df_maskz_1 */
11910 :
11911 : case E_V32HFmode:
11912 : if (pattern1401 (x2,
11913 : E_SImode,
11914 : E_V32HFmode) != 0
11915 : || !(
11916 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11917 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11918 : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11919 : (TARGET_AVX512FP16)))
11920 : return -1;
11921 : return 4073; /* fma_fnmsub_v32hf_maskz_1 */
11922 :
11923 : case E_V16HFmode:
11924 : if (pattern1401 (x2,
11925 : E_HImode,
11926 : E_V16HFmode) != 0
11927 : || !(
11928 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11929 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11930 : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11931 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11932 : return -1;
11933 : return 4077; /* fma_fnmsub_v16hf_maskz_1 */
11934 :
11935 : case E_V8HFmode:
11936 : if (pattern1401 (x2,
11937 : E_QImode,
11938 : E_V8HFmode) != 0
11939 : || !(
11940 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11941 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11942 : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11943 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11944 : return -1;
11945 : return 4079; /* fma_fnmsub_v8hf_maskz_1 */
11946 :
11947 : case E_V16SFmode:
11948 : if (pattern1401 (x2,
11949 : E_HImode,
11950 : E_V16SFmode) != 0
11951 : || !
11952 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11953 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11954 : return -1;
11955 : return 4083; /* fma_fnmsub_v16sf_maskz_1 */
11956 :
11957 : case E_V8DFmode:
11958 : if (pattern1401 (x2,
11959 : E_QImode,
11960 : E_V8DFmode) != 0
11961 : || !
11962 : #line 6606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11963 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11964 : return -1;
11965 : return 4092; /* fma_fnmsub_v8df_maskz_1 */
11966 :
11967 : case E_V32BFmode:
11968 : if (pattern1402 (x2,
11969 : E_SImode,
11970 : E_V32BFmode) != 0
11971 : || !
11972 : #line 33050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11973 : (TARGET_AVX10_2))
11974 : return -1;
11975 : return 10738; /* avx10_2_fnmsubbf16_v32bf_maskz_1 */
11976 :
11977 : case E_V16BFmode:
11978 : if (pattern1402 (x2,
11979 : E_HImode,
11980 : E_V16BFmode) != 0
11981 : || !
11982 : #line 33050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11983 : (TARGET_AVX10_2))
11984 : return -1;
11985 : return 10740; /* avx10_2_fnmsubbf16_v16bf_maskz_1 */
11986 :
11987 : case E_V8BFmode:
11988 : if (pattern1402 (x2,
11989 : E_QImode,
11990 : E_V8BFmode) != 0
11991 : || !
11992 : #line 33050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11993 : (TARGET_AVX10_2))
11994 : return -1;
11995 : return 10742; /* avx10_2_fnmsubbf16_v8bf_maskz_1 */
11996 :
11997 : default:
11998 : return -1;
11999 : }
12000 :
12001 : case CONST_INT:
12002 : if (XWINT (x4, 0) != 1L)
12003 : return -1;
12004 : switch (GET_MODE (operands[0]))
12005 : {
12006 : case E_V4SFmode:
12007 : if (pattern1403 (x2,
12008 : E_V4SFmode) != 0
12009 : || !
12010 : #line 7351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12011 : (TARGET_FMA4))
12012 : return -1;
12013 : return 4359; /* *fma4i_vmfnmsub_v4sf */
12014 :
12015 : case E_V2DFmode:
12016 : if (pattern1403 (x2,
12017 : E_V2DFmode) != 0
12018 : || !(
12019 : #line 7351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12020 : (TARGET_FMA4) &&
12021 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12022 : (TARGET_SSE2)))
12023 : return -1;
12024 : return 4360; /* *fma4i_vmfnmsub_v2df */
12025 :
12026 : default:
12027 : return -1;
12028 : }
12029 :
12030 : default:
12031 : return -1;
12032 : }
12033 :
12034 : case REG:
12035 : case SUBREG:
12036 : case MEM:
12037 : switch (pattern648 (x2))
12038 : {
12039 : case 0:
12040 : if (pattern1303 (x2,
12041 : E_V32HFmode,
12042 : E_SImode) != 0)
12043 : return -1;
12044 : if (nonimmediate_operand (operands[1], E_V32HFmode)
12045 : && vector_operand (operands[3], E_V32HFmode)
12046 : && rtx_equal_p (x3, operands[1])
12047 : && (
12048 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12049 : (TARGET_AVX512F && 1) &&
12050 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12051 : (TARGET_AVX512FP16)))
12052 : return 4099; /* avx512bw_fnmsub_v32hf_mask */
12053 : if (!vector_operand (operands[1], E_V32HFmode)
12054 : || !nonimmediate_operand (operands[3], E_V32HFmode)
12055 : || !rtx_equal_p (x3, operands[3])
12056 : || !(
12057 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12058 : (TARGET_AVX512F) &&
12059 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12060 : (TARGET_AVX512FP16)))
12061 : return -1;
12062 : return 4111; /* avx512bw_fnmsub_v32hf_mask3 */
12063 :
12064 : case 1:
12065 : if (pattern1303 (x2,
12066 : E_V16HFmode,
12067 : E_HImode) != 0)
12068 : return -1;
12069 : if (nonimmediate_operand (operands[1], E_V16HFmode)
12070 : && vector_operand (operands[3], E_V16HFmode)
12071 : && rtx_equal_p (x3, operands[1])
12072 : && (
12073 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12074 : (TARGET_AVX512F && 1) &&
12075 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12076 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12077 : return 4101; /* avx512vl_fnmsub_v16hf_mask */
12078 : if (!vector_operand (operands[1], E_V16HFmode)
12079 : || !nonimmediate_operand (operands[3], E_V16HFmode)
12080 : || !rtx_equal_p (x3, operands[3])
12081 : || !(
12082 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12083 : (TARGET_AVX512F) &&
12084 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12085 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12086 : return -1;
12087 : return 4113; /* avx512vl_fnmsub_v16hf_mask3 */
12088 :
12089 : case 2:
12090 : if (pattern1303 (x2,
12091 : E_V8HFmode,
12092 : E_QImode) != 0)
12093 : return -1;
12094 : if (nonimmediate_operand (operands[1], E_V8HFmode)
12095 : && vector_operand (operands[3], E_V8HFmode)
12096 : && rtx_equal_p (x3, operands[1])
12097 : && (
12098 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12099 : (TARGET_AVX512F && 1) &&
12100 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12101 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12102 : return 4102; /* avx512fp16_fnmsub_v8hf_mask */
12103 : if (!vector_operand (operands[1], E_V8HFmode)
12104 : || !nonimmediate_operand (operands[3], E_V8HFmode)
12105 : || !rtx_equal_p (x3, operands[3])
12106 : || !(
12107 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12108 : (TARGET_AVX512F) &&
12109 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12110 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12111 : return -1;
12112 : return 4115; /* avx512fp16_fnmsub_v8hf_mask3 */
12113 :
12114 : case 3:
12115 : if (pattern1303 (x2,
12116 : E_V16SFmode,
12117 : E_HImode) != 0)
12118 : return -1;
12119 : if (nonimmediate_operand (operands[1], E_V16SFmode)
12120 : && vector_operand (operands[3], E_V16SFmode)
12121 : && rtx_equal_p (x3, operands[1])
12122 : &&
12123 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12124 : (TARGET_AVX512F && 1))
12125 : return 4103; /* avx512f_fnmsub_v16sf_mask */
12126 : if (!vector_operand (operands[1], E_V16SFmode)
12127 : || !nonimmediate_operand (operands[3], E_V16SFmode)
12128 : || !rtx_equal_p (x3, operands[3])
12129 : || !
12130 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12131 : (TARGET_AVX512F))
12132 : return -1;
12133 : return 4117; /* avx512f_fnmsub_v16sf_mask3 */
12134 :
12135 : case 4:
12136 : if (pattern1303 (x2,
12137 : E_V8SFmode,
12138 : E_QImode) != 0)
12139 : return -1;
12140 : if (nonimmediate_operand (operands[1], E_V8SFmode)
12141 : && vector_operand (operands[3], E_V8SFmode)
12142 : && rtx_equal_p (x3, operands[1])
12143 : && (
12144 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12145 : (TARGET_AVX512F && 1) &&
12146 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12147 : (TARGET_AVX512VL)))
12148 : return 4105; /* avx512vl_fnmsub_v8sf_mask */
12149 : if (!vector_operand (operands[1], E_V8SFmode)
12150 : || !nonimmediate_operand (operands[3], E_V8SFmode)
12151 : || !rtx_equal_p (x3, operands[3])
12152 : || !(
12153 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12154 : (TARGET_AVX512F) &&
12155 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12156 : (TARGET_AVX512VL)))
12157 : return -1;
12158 : return 4119; /* avx512vl_fnmsub_v8sf_mask3 */
12159 :
12160 : case 5:
12161 : if (pattern1303 (x2,
12162 : E_V4SFmode,
12163 : E_QImode) != 0)
12164 : return -1;
12165 : if (nonimmediate_operand (operands[1], E_V4SFmode)
12166 : && vector_operand (operands[3], E_V4SFmode)
12167 : && rtx_equal_p (x3, operands[1])
12168 : && (
12169 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12170 : (TARGET_AVX512F && 1) &&
12171 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12172 : (TARGET_AVX512VL)))
12173 : return 4106; /* avx512vl_fnmsub_v4sf_mask */
12174 : if (!vector_operand (operands[1], E_V4SFmode)
12175 : || !nonimmediate_operand (operands[3], E_V4SFmode)
12176 : || !rtx_equal_p (x3, operands[3])
12177 : || !(
12178 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12179 : (TARGET_AVX512F) &&
12180 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12181 : (TARGET_AVX512VL)))
12182 : return -1;
12183 : return 4121; /* avx512vl_fnmsub_v4sf_mask3 */
12184 :
12185 : case 6:
12186 : if (pattern1303 (x2,
12187 : E_V8DFmode,
12188 : E_QImode) != 0)
12189 : return -1;
12190 : if (nonimmediate_operand (operands[1], E_V8DFmode)
12191 : && vector_operand (operands[3], E_V8DFmode)
12192 : && rtx_equal_p (x3, operands[1])
12193 : &&
12194 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12195 : (TARGET_AVX512F && 1))
12196 : return 4107; /* avx512f_fnmsub_v8df_mask */
12197 : if (!vector_operand (operands[1], E_V8DFmode)
12198 : || !nonimmediate_operand (operands[3], E_V8DFmode)
12199 : || !rtx_equal_p (x3, operands[3])
12200 : || !
12201 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12202 : (TARGET_AVX512F))
12203 : return -1;
12204 : return 4123; /* avx512f_fnmsub_v8df_mask3 */
12205 :
12206 : case 7:
12207 : if (pattern1303 (x2,
12208 : E_V4DFmode,
12209 : E_QImode) != 0)
12210 : return -1;
12211 : if (nonimmediate_operand (operands[1], E_V4DFmode)
12212 : && vector_operand (operands[3], E_V4DFmode)
12213 : && rtx_equal_p (x3, operands[1])
12214 : && (
12215 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12216 : (TARGET_AVX512F && 1) &&
12217 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12218 : (TARGET_AVX512VL)))
12219 : return 4109; /* avx512vl_fnmsub_v4df_mask */
12220 : if (!vector_operand (operands[1], E_V4DFmode)
12221 : || !nonimmediate_operand (operands[3], E_V4DFmode)
12222 : || !rtx_equal_p (x3, operands[3])
12223 : || !(
12224 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12225 : (TARGET_AVX512F) &&
12226 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12227 : (TARGET_AVX512VL)))
12228 : return -1;
12229 : return 4125; /* avx512vl_fnmsub_v4df_mask3 */
12230 :
12231 : case 8:
12232 : if (pattern1303 (x2,
12233 : E_V2DFmode,
12234 : E_QImode) != 0)
12235 : return -1;
12236 : if (nonimmediate_operand (operands[1], E_V2DFmode)
12237 : && vector_operand (operands[3], E_V2DFmode)
12238 : && rtx_equal_p (x3, operands[1])
12239 : && (
12240 : #line 6651 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12241 : (TARGET_AVX512F && 1) &&
12242 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12243 : (TARGET_AVX512VL)))
12244 : return 4110; /* avx512vl_fnmsub_v2df_mask */
12245 : if (!vector_operand (operands[1], E_V2DFmode)
12246 : || !nonimmediate_operand (operands[3], E_V2DFmode)
12247 : || !rtx_equal_p (x3, operands[3])
12248 : || !(
12249 : #line 6670 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12250 : (TARGET_AVX512F) &&
12251 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12252 : (TARGET_AVX512VL)))
12253 : return -1;
12254 : return 4127; /* avx512vl_fnmsub_v2df_mask3 */
12255 :
12256 : case 9:
12257 : if (pattern1304 (x2,
12258 : E_SImode,
12259 : E_V32BFmode) != 0)
12260 : return -1;
12261 : if (rtx_equal_p (x3, operands[1])
12262 : &&
12263 : #line 33070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12264 : (TARGET_AVX10_2))
12265 : return 10743; /* avx10_2_fnmsubbf16_v32bf_mask */
12266 : if (!rtx_equal_p (x3, operands[3])
12267 : || !
12268 : #line 33089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12269 : (TARGET_AVX10_2))
12270 : return -1;
12271 : return 10746; /* avx10_2_fnmsubbf16_v32bf_mask3 */
12272 :
12273 : case 10:
12274 : if (pattern1304 (x2,
12275 : E_HImode,
12276 : E_V16BFmode) != 0)
12277 : return -1;
12278 : if (rtx_equal_p (x3, operands[1])
12279 : &&
12280 : #line 33070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12281 : (TARGET_AVX10_2))
12282 : return 10744; /* avx10_2_fnmsubbf16_v16bf_mask */
12283 : if (!rtx_equal_p (x3, operands[3])
12284 : || !
12285 : #line 33089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12286 : (TARGET_AVX10_2))
12287 : return -1;
12288 : return 10747; /* avx10_2_fnmsubbf16_v16bf_mask3 */
12289 :
12290 : case 11:
12291 : if (pattern1304 (x2,
12292 : E_QImode,
12293 : E_V8BFmode) != 0)
12294 : return -1;
12295 : if (rtx_equal_p (x3, operands[1])
12296 : &&
12297 : #line 33070 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12298 : (TARGET_AVX10_2))
12299 : return 10745; /* avx10_2_fnmsubbf16_v8bf_mask */
12300 : if (!rtx_equal_p (x3, operands[3])
12301 : || !
12302 : #line 33089 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12303 : (TARGET_AVX10_2))
12304 : return -1;
12305 : return 10748; /* avx10_2_fnmsubbf16_v8bf_mask3 */
12306 :
12307 : case 12:
12308 : if (pattern1404 (x2,
12309 : E_V8HFmode) != 0
12310 : || !(
12311 : #line 6998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12312 : (TARGET_FMA || TARGET_AVX512F) &&
12313 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12314 : (TARGET_AVX512FP16)))
12315 : return -1;
12316 : return 4275; /* *fmai_fnmsub_v8hf */
12317 :
12318 : case 13:
12319 : if (pattern1404 (x2,
12320 : E_V4SFmode) != 0
12321 : || !
12322 : #line 6998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12323 : (TARGET_FMA || TARGET_AVX512F))
12324 : return -1;
12325 : return 4277; /* *fmai_fnmsub_v4sf */
12326 :
12327 : case 14:
12328 : if (pattern1404 (x2,
12329 : E_V2DFmode) != 0
12330 : || !(
12331 : #line 6998 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12332 : (TARGET_FMA || TARGET_AVX512F) &&
12333 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12334 : (TARGET_SSE2)))
12335 : return -1;
12336 : return 4279; /* *fmai_fnmsub_v2df */
12337 :
12338 : default:
12339 : return -1;
12340 : }
12341 :
12342 : default:
12343 : return -1;
12344 : }
12345 : }
12346 :
12347 : int
12348 : recog_170 (rtx x1 ATTRIBUTE_UNUSED,
12349 : rtx_insn *insn ATTRIBUTE_UNUSED,
12350 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12351 : {
12352 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12353 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12354 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
12355 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
12356 : rtx x26, x27, x28, x29, x30, x31, x32, x33;
12357 : rtx x34, x35, x36, x37, x38, x39, x40, x41;
12358 : int res ATTRIBUTE_UNUSED;
12359 : x2 = XEXP (x1, 1);
12360 : x3 = XEXP (x2, 0);
12361 : x4 = XEXP (x3, 0);
12362 : x5 = XEXP (x4, 0);
12363 : operands[1] = x5;
12364 : x6 = XEXP (x3, 1);
12365 : switch (XVECLEN (x6, 0))
12366 : {
12367 : case 16:
12368 : x7 = XVECEXP (x6, 0, 0);
12369 : if (GET_CODE (x7) != CONST_INT)
12370 : return -1;
12371 : x8 = XVECEXP (x6, 0, 1);
12372 : if (GET_CODE (x8) == CONST_INT)
12373 : {
12374 : res = recog_165 (x1, insn, pnum_clobbers);
12375 : if (res >= 0)
12376 : return res;
12377 : }
12378 : operands[3] = x7;
12379 : x9 = XEXP (x4, 1);
12380 : operands[2] = x9;
12381 : operands[4] = x8;
12382 : x10 = XVECEXP (x6, 0, 2);
12383 : operands[5] = x10;
12384 : x11 = XVECEXP (x6, 0, 3);
12385 : operands[6] = x11;
12386 : x12 = XVECEXP (x6, 0, 4);
12387 : operands[7] = x12;
12388 : x13 = XVECEXP (x6, 0, 5);
12389 : operands[8] = x13;
12390 : x14 = XVECEXP (x6, 0, 6);
12391 : operands[9] = x14;
12392 : x15 = XVECEXP (x6, 0, 7);
12393 : operands[10] = x15;
12394 : x16 = XVECEXP (x6, 0, 8);
12395 : operands[11] = x16;
12396 : x17 = XVECEXP (x6, 0, 9);
12397 : operands[12] = x17;
12398 : x18 = XVECEXP (x6, 0, 10);
12399 : operands[13] = x18;
12400 : x19 = XVECEXP (x6, 0, 11);
12401 : operands[14] = x19;
12402 : x20 = XVECEXP (x6, 0, 12);
12403 : operands[15] = x20;
12404 : x21 = XVECEXP (x6, 0, 13);
12405 : operands[16] = x21;
12406 : x22 = XVECEXP (x6, 0, 14);
12407 : operands[17] = x22;
12408 : x23 = XVECEXP (x6, 0, 15);
12409 : operands[18] = x23;
12410 : x24 = XEXP (x2, 1);
12411 : operands[19] = x24;
12412 : x25 = XEXP (x2, 2);
12413 : operands[20] = x25;
12414 : if (!register_operand (operands[20], E_HImode))
12415 : return -1;
12416 : switch (GET_MODE (operands[0]))
12417 : {
12418 : case E_V16SFmode:
12419 : if (pattern1659 (x2,
12420 : E_V16SFmode,
12421 : E_V32SFmode) != 0
12422 : || !nonimm_or_0_operand (operands[19], E_V16SFmode))
12423 : return -1;
12424 : if (const_0_to_3_operand (operands[3], E_VOIDmode)
12425 : && const_0_to_3_operand (operands[4], E_VOIDmode)
12426 : && const_16_to_19_operand (operands[5], E_VOIDmode)
12427 : && const_16_to_19_operand (operands[6], E_VOIDmode)
12428 : && const_4_to_7_operand (operands[7], E_VOIDmode)
12429 : && const_4_to_7_operand (operands[8], E_VOIDmode)
12430 : && const_20_to_23_operand (operands[9], E_VOIDmode)
12431 : && const_20_to_23_operand (operands[10], E_VOIDmode)
12432 : && const_8_to_11_operand (operands[11], E_VOIDmode)
12433 : && const_8_to_11_operand (operands[12], E_VOIDmode)
12434 : && const_24_to_27_operand (operands[13], E_VOIDmode)
12435 : && const_24_to_27_operand (operands[14], E_VOIDmode)
12436 : && const_12_to_15_operand (operands[15], E_VOIDmode)
12437 : && const_12_to_15_operand (operands[16], E_VOIDmode)
12438 : && const_28_to_31_operand (operands[17], E_VOIDmode)
12439 : && const_28_to_31_operand (operands[18], E_VOIDmode)
12440 : && (
12441 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12442 : (TARGET_AVX512F) &&
12443 : #line 14609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12444 : (TARGET_AVX512F
12445 : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
12446 : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
12447 : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
12448 : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)
12449 : && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
12450 : && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
12451 : && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
12452 : && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
12453 : && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
12454 : && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
12455 : && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
12456 : && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12)))))
12457 : return 7226; /* avx512f_shufps512_1_mask */
12458 : if (!const_0_to_15_operand (operands[3], E_VOIDmode)
12459 : || pattern1900 () != 0
12460 : || !(
12461 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12462 : (TARGET_AVX512F) &&
12463 : #line 20753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12464 : (TARGET_AVX512F
12465 : && (INTVAL (operands[3]) & 3) == 0
12466 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12467 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12468 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12469 : && (INTVAL (operands[7]) & 3) == 0
12470 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12471 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12472 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
12473 : && (INTVAL (operands[11]) & 3) == 0
12474 : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
12475 : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
12476 : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
12477 : && (INTVAL (operands[15]) & 3) == 0
12478 : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
12479 : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
12480 : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3)))
12481 : return -1;
12482 : return 8474; /* avx512f_shuf_f32x4_1_mask */
12483 :
12484 : case E_V16SImode:
12485 : if (pattern1659 (x2,
12486 : E_V16SImode,
12487 : E_V32SImode) != 0
12488 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
12489 : || pattern1900 () != 0
12490 : || !nonimm_or_0_operand (operands[19], E_V16SImode)
12491 : || !(
12492 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12493 : (TARGET_AVX512F) &&
12494 : #line 20753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12495 : (TARGET_AVX512F
12496 : && (INTVAL (operands[3]) & 3) == 0
12497 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12498 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12499 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12500 : && (INTVAL (operands[7]) & 3) == 0
12501 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12502 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12503 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
12504 : && (INTVAL (operands[11]) & 3) == 0
12505 : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
12506 : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
12507 : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
12508 : && (INTVAL (operands[15]) & 3) == 0
12509 : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
12510 : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
12511 : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3)))
12512 : return -1;
12513 : return 8476; /* avx512f_shuf_i32x4_1_mask */
12514 :
12515 : default:
12516 : return -1;
12517 : }
12518 :
12519 : case 8:
12520 : x7 = XVECEXP (x6, 0, 0);
12521 : if (GET_CODE (x7) != CONST_INT)
12522 : return -1;
12523 : x8 = XVECEXP (x6, 0, 1);
12524 : if (GET_CODE (x8) == CONST_INT)
12525 : {
12526 : res = recog_166 (x1, insn, pnum_clobbers);
12527 : if (res >= 0)
12528 : return res;
12529 : }
12530 : operands[3] = x7;
12531 : x9 = XEXP (x4, 1);
12532 : operands[2] = x9;
12533 : operands[4] = x8;
12534 : x10 = XVECEXP (x6, 0, 2);
12535 : operands[5] = x10;
12536 : x11 = XVECEXP (x6, 0, 3);
12537 : operands[6] = x11;
12538 : x12 = XVECEXP (x6, 0, 4);
12539 : operands[7] = x12;
12540 : x13 = XVECEXP (x6, 0, 5);
12541 : operands[8] = x13;
12542 : x14 = XVECEXP (x6, 0, 6);
12543 : operands[9] = x14;
12544 : x15 = XVECEXP (x6, 0, 7);
12545 : operands[10] = x15;
12546 : x24 = XEXP (x2, 1);
12547 : operands[11] = x24;
12548 : x25 = XEXP (x2, 2);
12549 : operands[12] = x25;
12550 : if (!register_operand (operands[12], E_QImode))
12551 : return -1;
12552 : switch (GET_MODE (operands[0]))
12553 : {
12554 : case E_V8SFmode:
12555 : if (pattern1778 (x2,
12556 : E_V8SFmode,
12557 : E_V16SFmode) != 0)
12558 : return -1;
12559 : if (const_0_to_3_operand (operands[3], E_VOIDmode)
12560 : && const_0_to_3_operand (operands[4], E_VOIDmode)
12561 : && const_8_to_11_operand (operands[5], E_VOIDmode)
12562 : && const_8_to_11_operand (operands[6], E_VOIDmode)
12563 : && const_4_to_7_operand (operands[7], E_VOIDmode)
12564 : && const_4_to_7_operand (operands[8], E_VOIDmode)
12565 : && const_12_to_15_operand (operands[9], E_VOIDmode)
12566 : && const_12_to_15_operand (operands[10], E_VOIDmode)
12567 : && (
12568 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12569 : (TARGET_AVX512F) &&
12570 : #line 11806 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12571 : (TARGET_AVX
12572 : && TARGET_AVX512VL
12573 : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
12574 : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
12575 : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
12576 : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)))))
12577 : return 5284; /* avx_shufps256_1_mask */
12578 : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
12579 : || pattern1875 () != 0
12580 : || !(
12581 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12582 : (TARGET_AVX512F) &&
12583 : #line 20673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12584 : (TARGET_AVX512VL
12585 : && (INTVAL (operands[3]) & 3) == 0
12586 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12587 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12588 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12589 : && (INTVAL (operands[7]) & 3) == 0
12590 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12591 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12592 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3)))
12593 : return -1;
12594 : return 8472; /* avx512vl_shuf_f32x4_1_mask */
12595 :
12596 : case E_V8DFmode:
12597 : if (pattern1778 (x2,
12598 : E_V8DFmode,
12599 : E_V16DFmode) != 0)
12600 : return -1;
12601 : if (const_0_to_1_operand (operands[3], E_VOIDmode)
12602 : && const_8_to_9_operand (operands[4], E_VOIDmode)
12603 : && const_2_to_3_operand (operands[5], E_VOIDmode)
12604 : && const_10_to_11_operand (operands[6], E_VOIDmode)
12605 : && const_4_to_5_operand (operands[7], E_VOIDmode)
12606 : && const_12_to_13_operand (operands[8], E_VOIDmode)
12607 : && const_6_to_7_operand (operands[9], E_VOIDmode)
12608 : && const_14_to_15_operand (operands[10], E_VOIDmode)
12609 : &&
12610 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12611 : (TARGET_AVX512F))
12612 : return 7228; /* avx512f_shufpd512_1_mask */
12613 : if (!const_0_to_7_operand (operands[3], E_VOIDmode)
12614 : || pattern1875 () != 0
12615 : || !(
12616 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12617 : (TARGET_AVX512F) &&
12618 : #line 20575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12619 : (TARGET_AVX512F
12620 : && (INTVAL (operands[3]) & 1) == 0
12621 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12622 : && (INTVAL (operands[5]) & 1) == 0
12623 : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
12624 : && (INTVAL (operands[7]) & 1) == 0
12625 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12626 : && (INTVAL (operands[9]) & 1) == 0
12627 : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1)))
12628 : return -1;
12629 : return 8462; /* avx512f_shuf_f64x2_1_mask */
12630 :
12631 : case E_V8DImode:
12632 : if (pattern1779 (x2,
12633 : E_V8DImode,
12634 : E_V16DImode) != 0
12635 : || !(
12636 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12637 : (TARGET_AVX512F) &&
12638 : #line 20575 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12639 : (TARGET_AVX512F
12640 : && (INTVAL (operands[3]) & 1) == 0
12641 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12642 : && (INTVAL (operands[5]) & 1) == 0
12643 : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1
12644 : && (INTVAL (operands[7]) & 1) == 0
12645 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12646 : && (INTVAL (operands[9]) & 1) == 0
12647 : && INTVAL (operands[9]) == INTVAL (operands[10]) - 1)))
12648 : return -1;
12649 : return 8464; /* avx512f_shuf_i64x2_1_mask */
12650 :
12651 : case E_V8SImode:
12652 : if (pattern1779 (x2,
12653 : E_V8SImode,
12654 : E_V16SImode) != 0
12655 : || !(
12656 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12657 : (TARGET_AVX512F) &&
12658 : #line 20673 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12659 : (TARGET_AVX512VL
12660 : && (INTVAL (operands[3]) & 3) == 0
12661 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12662 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
12663 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
12664 : && (INTVAL (operands[7]) & 3) == 0
12665 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
12666 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
12667 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3)))
12668 : return -1;
12669 : return 8470; /* avx512vl_shuf_i32x4_1_mask */
12670 :
12671 : default:
12672 : return -1;
12673 : }
12674 :
12675 : case 4:
12676 : x7 = XVECEXP (x6, 0, 0);
12677 : if (GET_CODE (x7) != CONST_INT)
12678 : return -1;
12679 : x8 = XVECEXP (x6, 0, 1);
12680 : if (GET_CODE (x8) == CONST_INT)
12681 : {
12682 : res = recog_167 (x1, insn, pnum_clobbers);
12683 : if (res >= 0)
12684 : return res;
12685 : }
12686 : operands[3] = x7;
12687 : x9 = XEXP (x4, 1);
12688 : operands[2] = x9;
12689 : operands[4] = x8;
12690 : x10 = XVECEXP (x6, 0, 2);
12691 : operands[5] = x10;
12692 : x11 = XVECEXP (x6, 0, 3);
12693 : operands[6] = x11;
12694 : x24 = XEXP (x2, 1);
12695 : operands[7] = x24;
12696 : x25 = XEXP (x2, 2);
12697 : operands[8] = x25;
12698 : if (!register_operand (operands[8], E_QImode))
12699 : return -1;
12700 : switch (GET_MODE (operands[0]))
12701 : {
12702 : case E_V4SFmode:
12703 : if (pattern1658 (x2,
12704 : E_V4SFmode,
12705 : E_V8SFmode) != 0
12706 : || !
12707 : #line 11859 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12708 : (TARGET_AVX512VL))
12709 : return -1;
12710 : return 5285; /* sse_shufps_v4sf_mask */
12711 :
12712 : case E_V4DFmode:
12713 : if (pattern1659 (x2,
12714 : E_V4DFmode,
12715 : E_V8DFmode) != 0
12716 : || !nonimm_or_0_operand (operands[7], E_V4DFmode))
12717 : return -1;
12718 : if (const_0_to_1_operand (operands[3], E_VOIDmode)
12719 : && const_4_to_5_operand (operands[4], E_VOIDmode)
12720 : && const_2_to_3_operand (operands[5], E_VOIDmode)
12721 : && const_6_to_7_operand (operands[6], E_VOIDmode)
12722 : && (
12723 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12724 : (TARGET_AVX512F) &&
12725 : #line 14723 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12726 : (TARGET_AVX && TARGET_AVX512VL)))
12727 : return 7230; /* avx_shufpd256_1_mask */
12728 : if (!const_0_to_3_operand (operands[3], E_VOIDmode)
12729 : || !const_0_to_3_operand (operands[4], E_VOIDmode)
12730 : || !const_4_to_7_operand (operands[5], E_VOIDmode)
12731 : || !const_4_to_7_operand (operands[6], E_VOIDmode)
12732 : || !(
12733 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12734 : (TARGET_AVX512F) &&
12735 : #line 20517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12736 : (TARGET_AVX512VL
12737 : && (INTVAL (operands[3]) & 1) == 0
12738 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12739 : && (INTVAL (operands[5]) & 1) == 0
12740 : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1)))
12741 : return -1;
12742 : return 8460; /* avx512dq_shuf_f64x2_1_mask */
12743 :
12744 : case E_V4DImode:
12745 : if (pattern1658 (x2,
12746 : E_V4DImode,
12747 : E_V8DImode) != 0
12748 : || !(
12749 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12750 : (TARGET_AVX512F) &&
12751 : #line 20517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12752 : (TARGET_AVX512VL
12753 : && (INTVAL (operands[3]) & 1) == 0
12754 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
12755 : && (INTVAL (operands[5]) & 1) == 0
12756 : && INTVAL (operands[5]) == INTVAL (operands[6]) - 1)))
12757 : return -1;
12758 : return 8458; /* avx512dq_shuf_i64x2_1_mask */
12759 :
12760 : default:
12761 : return -1;
12762 : }
12763 :
12764 : case 2:
12765 : x7 = XVECEXP (x6, 0, 0);
12766 : if (GET_CODE (x7) != CONST_INT)
12767 : return -1;
12768 : x8 = XVECEXP (x6, 0, 1);
12769 : if (GET_CODE (x8) == CONST_INT)
12770 : {
12771 : res = recog_168 (x1, insn, pnum_clobbers);
12772 : if (res >= 0)
12773 : return res;
12774 : }
12775 : operands[3] = x7;
12776 : if (!const_0_to_1_operand (operands[3], E_VOIDmode)
12777 : || pattern1226 (x2,
12778 : E_V2DFmode,
12779 : E_V4DFmode) != 0)
12780 : return -1;
12781 : operands[4] = x8;
12782 : if (!const_2_to_3_operand (operands[4], E_VOIDmode))
12783 : return -1;
12784 : x24 = XEXP (x2, 1);
12785 : operands[5] = x24;
12786 : if (!nonimm_or_0_operand (operands[5], E_V2DFmode))
12787 : return -1;
12788 : x25 = XEXP (x2, 2);
12789 : operands[6] = x25;
12790 : if (!register_operand (operands[6], E_QImode)
12791 : || !
12792 : #line 14765 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12793 : (TARGET_AVX512VL))
12794 : return -1;
12795 : return 7231; /* sse2_shufpd_v2df_mask */
12796 :
12797 : case 64:
12798 : return recog_169 (x1, insn, pnum_clobbers);
12799 :
12800 : case 32:
12801 : if (pattern905 (x6) != 0)
12802 : return -1;
12803 : x9 = XEXP (x4, 1);
12804 : operands[2] = x9;
12805 : x24 = XEXP (x2, 1);
12806 : operands[3] = x24;
12807 : x25 = XEXP (x2, 2);
12808 : operands[4] = x25;
12809 : if (!register_operand (operands[4], E_SImode))
12810 : return -1;
12811 : x7 = XVECEXP (x6, 0, 0);
12812 : switch (XWINT (x7, 0))
12813 : {
12814 : case 8L:
12815 : x8 = XVECEXP (x6, 0, 1);
12816 : if (XWINT (x8, 0) != 40L)
12817 : return -1;
12818 : x10 = XVECEXP (x6, 0, 2);
12819 : if (XWINT (x10, 0) != 9L)
12820 : return -1;
12821 : x11 = XVECEXP (x6, 0, 3);
12822 : if (XWINT (x11, 0) != 41L)
12823 : return -1;
12824 : x12 = XVECEXP (x6, 0, 4);
12825 : if (XWINT (x12, 0) != 10L)
12826 : return -1;
12827 : x13 = XVECEXP (x6, 0, 5);
12828 : if (XWINT (x13, 0) != 42L)
12829 : return -1;
12830 : x14 = XVECEXP (x6, 0, 6);
12831 : if (XWINT (x14, 0) != 11L)
12832 : return -1;
12833 : x15 = XVECEXP (x6, 0, 7);
12834 : if (XWINT (x15, 0) != 43L
12835 : || pattern1915 (x6) != 0)
12836 : return -1;
12837 : x26 = XVECEXP (x6, 0, 16);
12838 : if (XWINT (x26, 0) != 24L)
12839 : return -1;
12840 : x27 = XVECEXP (x6, 0, 17);
12841 : if (XWINT (x27, 0) != 56L)
12842 : return -1;
12843 : x28 = XVECEXP (x6, 0, 18);
12844 : if (XWINT (x28, 0) != 25L)
12845 : return -1;
12846 : x29 = XVECEXP (x6, 0, 19);
12847 : if (XWINT (x29, 0) != 57L)
12848 : return -1;
12849 : x30 = XVECEXP (x6, 0, 20);
12850 : if (XWINT (x30, 0) != 26L)
12851 : return -1;
12852 : x31 = XVECEXP (x6, 0, 21);
12853 : if (XWINT (x31, 0) != 58L)
12854 : return -1;
12855 : x32 = XVECEXP (x6, 0, 22);
12856 : if (XWINT (x32, 0) != 27L)
12857 : return -1;
12858 : x33 = XVECEXP (x6, 0, 23);
12859 : if (XWINT (x33, 0) != 59L
12860 : || pattern1920 (x6) != 0
12861 : || pattern1593 (x2,
12862 : E_V32QImode,
12863 : E_V64QImode) != 0
12864 : || !(
12865 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12866 : (TARGET_AVX512F) &&
12867 : #line 19790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12868 : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12869 : return -1;
12870 : return 8366; /* avx2_interleave_highv32qi_mask */
12871 :
12872 : case 0L:
12873 : x8 = XVECEXP (x6, 0, 1);
12874 : if (XWINT (x8, 0) != 32L)
12875 : return -1;
12876 : x10 = XVECEXP (x6, 0, 2);
12877 : if (XWINT (x10, 0) != 1L)
12878 : return -1;
12879 : x11 = XVECEXP (x6, 0, 3);
12880 : if (XWINT (x11, 0) != 33L)
12881 : return -1;
12882 : x12 = XVECEXP (x6, 0, 4);
12883 : if (XWINT (x12, 0) != 2L)
12884 : return -1;
12885 : x13 = XVECEXP (x6, 0, 5);
12886 : if (XWINT (x13, 0) != 34L)
12887 : return -1;
12888 : x14 = XVECEXP (x6, 0, 6);
12889 : if (XWINT (x14, 0) != 3L)
12890 : return -1;
12891 : x15 = XVECEXP (x6, 0, 7);
12892 : if (XWINT (x15, 0) != 35L)
12893 : return -1;
12894 : x26 = XVECEXP (x6, 0, 16);
12895 : if (XWINT (x26, 0) != 16L)
12896 : return -1;
12897 : x27 = XVECEXP (x6, 0, 17);
12898 : if (XWINT (x27, 0) != 48L)
12899 : return -1;
12900 : x28 = XVECEXP (x6, 0, 18);
12901 : if (XWINT (x28, 0) != 17L)
12902 : return -1;
12903 : x29 = XVECEXP (x6, 0, 19);
12904 : if (XWINT (x29, 0) != 49L)
12905 : return -1;
12906 : x30 = XVECEXP (x6, 0, 20);
12907 : if (XWINT (x30, 0) != 18L)
12908 : return -1;
12909 : x31 = XVECEXP (x6, 0, 21);
12910 : if (XWINT (x31, 0) != 50L)
12911 : return -1;
12912 : x32 = XVECEXP (x6, 0, 22);
12913 : if (XWINT (x32, 0) != 19L)
12914 : return -1;
12915 : x33 = XVECEXP (x6, 0, 23);
12916 : if (XWINT (x33, 0) != 51L)
12917 : return -1;
12918 : x16 = XVECEXP (x6, 0, 8);
12919 : switch (XWINT (x16, 0))
12920 : {
12921 : case 4L:
12922 : x17 = XVECEXP (x6, 0, 9);
12923 : if (XWINT (x17, 0) != 36L)
12924 : return -1;
12925 : x18 = XVECEXP (x6, 0, 10);
12926 : if (XWINT (x18, 0) != 5L)
12927 : return -1;
12928 : x19 = XVECEXP (x6, 0, 11);
12929 : if (XWINT (x19, 0) != 37L)
12930 : return -1;
12931 : x20 = XVECEXP (x6, 0, 12);
12932 : if (XWINT (x20, 0) != 6L)
12933 : return -1;
12934 : x21 = XVECEXP (x6, 0, 13);
12935 : if (XWINT (x21, 0) != 38L)
12936 : return -1;
12937 : x22 = XVECEXP (x6, 0, 14);
12938 : if (XWINT (x22, 0) != 7L)
12939 : return -1;
12940 : x23 = XVECEXP (x6, 0, 15);
12941 : if (XWINT (x23, 0) != 39L)
12942 : return -1;
12943 : x34 = XVECEXP (x6, 0, 24);
12944 : if (XWINT (x34, 0) != 20L)
12945 : return -1;
12946 : x35 = XVECEXP (x6, 0, 25);
12947 : if (XWINT (x35, 0) != 52L)
12948 : return -1;
12949 : x36 = XVECEXP (x6, 0, 26);
12950 : if (XWINT (x36, 0) != 21L)
12951 : return -1;
12952 : x37 = XVECEXP (x6, 0, 27);
12953 : if (XWINT (x37, 0) != 53L)
12954 : return -1;
12955 : x38 = XVECEXP (x6, 0, 28);
12956 : if (XWINT (x38, 0) != 22L)
12957 : return -1;
12958 : x39 = XVECEXP (x6, 0, 29);
12959 : if (XWINT (x39, 0) != 54L)
12960 : return -1;
12961 : x40 = XVECEXP (x6, 0, 30);
12962 : if (XWINT (x40, 0) != 23L)
12963 : return -1;
12964 : x41 = XVECEXP (x6, 0, 31);
12965 : if (XWINT (x41, 0) != 55L
12966 : || pattern1593 (x2,
12967 : E_V32QImode,
12968 : E_V64QImode) != 0
12969 : || !(
12970 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12971 : (TARGET_AVX512F) &&
12972 : #line 19886 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12973 : (TARGET_AVX2 && TARGET_AVX512VL && TARGET_AVX512BW)))
12974 : return -1;
12975 : return 8372; /* avx2_interleave_lowv32qi_mask */
12976 :
12977 : case 8L:
12978 : x17 = XVECEXP (x6, 0, 9);
12979 : if (XWINT (x17, 0) != 40L)
12980 : return -1;
12981 : x18 = XVECEXP (x6, 0, 10);
12982 : if (XWINT (x18, 0) != 9L)
12983 : return -1;
12984 : x19 = XVECEXP (x6, 0, 11);
12985 : if (XWINT (x19, 0) != 41L)
12986 : return -1;
12987 : x20 = XVECEXP (x6, 0, 12);
12988 : if (XWINT (x20, 0) != 10L)
12989 : return -1;
12990 : x21 = XVECEXP (x6, 0, 13);
12991 : if (XWINT (x21, 0) != 42L)
12992 : return -1;
12993 : x22 = XVECEXP (x6, 0, 14);
12994 : if (XWINT (x22, 0) != 11L)
12995 : return -1;
12996 : x23 = XVECEXP (x6, 0, 15);
12997 : if (XWINT (x23, 0) != 43L)
12998 : return -1;
12999 : x34 = XVECEXP (x6, 0, 24);
13000 : if (XWINT (x34, 0) != 24L)
13001 : return -1;
13002 : x35 = XVECEXP (x6, 0, 25);
13003 : if (XWINT (x35, 0) != 56L)
13004 : return -1;
13005 : x36 = XVECEXP (x6, 0, 26);
13006 : if (XWINT (x36, 0) != 25L)
13007 : return -1;
13008 : x37 = XVECEXP (x6, 0, 27);
13009 : if (XWINT (x37, 0) != 57L)
13010 : return -1;
13011 : x38 = XVECEXP (x6, 0, 28);
13012 : if (XWINT (x38, 0) != 26L)
13013 : return -1;
13014 : x39 = XVECEXP (x6, 0, 29);
13015 : if (XWINT (x39, 0) != 58L)
13016 : return -1;
13017 : x40 = XVECEXP (x6, 0, 30);
13018 : if (XWINT (x40, 0) != 27L)
13019 : return -1;
13020 : x41 = XVECEXP (x6, 0, 31);
13021 : if (XWINT (x41, 0) != 59L)
13022 : return -1;
13023 : switch (GET_MODE (operands[0]))
13024 : {
13025 : case E_V32HImode:
13026 : if (pattern1593 (x2,
13027 : E_V32HImode,
13028 : E_V64HImode) != 0
13029 : || !(
13030 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13031 : (TARGET_AVX512F) &&
13032 : #line 20006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13033 : (TARGET_AVX512BW)))
13034 : return -1;
13035 : return 8394; /* avx512bw_interleave_lowv32hi_mask */
13036 :
13037 : case E_V32HFmode:
13038 : if (pattern1593 (x2,
13039 : E_V32HFmode,
13040 : E_V64HFmode) != 0
13041 : || !(
13042 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13043 : (TARGET_AVX512F) &&
13044 : #line 20006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13045 : (TARGET_AVX512BW)))
13046 : return -1;
13047 : return 8396; /* avx512bw_interleave_lowv32hf_mask */
13048 :
13049 : case E_V32BFmode:
13050 : if (pattern1593 (x2,
13051 : E_V32BFmode,
13052 : E_V64BFmode) != 0
13053 : || !(
13054 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13055 : (TARGET_AVX512F) &&
13056 : #line 20006 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13057 : (TARGET_AVX512BW)))
13058 : return -1;
13059 : return 8398; /* avx512bw_interleave_lowv32bf_mask */
13060 :
13061 : default:
13062 : return -1;
13063 : }
13064 :
13065 : default:
13066 : return -1;
13067 : }
13068 :
13069 : case 4L:
13070 : x8 = XVECEXP (x6, 0, 1);
13071 : if (XWINT (x8, 0) != 36L)
13072 : return -1;
13073 : x10 = XVECEXP (x6, 0, 2);
13074 : if (XWINT (x10, 0) != 5L)
13075 : return -1;
13076 : x11 = XVECEXP (x6, 0, 3);
13077 : if (XWINT (x11, 0) != 37L)
13078 : return -1;
13079 : x12 = XVECEXP (x6, 0, 4);
13080 : if (XWINT (x12, 0) != 6L)
13081 : return -1;
13082 : x13 = XVECEXP (x6, 0, 5);
13083 : if (XWINT (x13, 0) != 38L)
13084 : return -1;
13085 : x14 = XVECEXP (x6, 0, 6);
13086 : if (XWINT (x14, 0) != 7L)
13087 : return -1;
13088 : x15 = XVECEXP (x6, 0, 7);
13089 : if (XWINT (x15, 0) != 39L
13090 : || pattern1915 (x6) != 0)
13091 : return -1;
13092 : x26 = XVECEXP (x6, 0, 16);
13093 : if (XWINT (x26, 0) != 20L)
13094 : return -1;
13095 : x27 = XVECEXP (x6, 0, 17);
13096 : if (XWINT (x27, 0) != 52L)
13097 : return -1;
13098 : x28 = XVECEXP (x6, 0, 18);
13099 : if (XWINT (x28, 0) != 21L)
13100 : return -1;
13101 : x29 = XVECEXP (x6, 0, 19);
13102 : if (XWINT (x29, 0) != 53L)
13103 : return -1;
13104 : x30 = XVECEXP (x6, 0, 20);
13105 : if (XWINT (x30, 0) != 22L)
13106 : return -1;
13107 : x31 = XVECEXP (x6, 0, 21);
13108 : if (XWINT (x31, 0) != 54L)
13109 : return -1;
13110 : x32 = XVECEXP (x6, 0, 22);
13111 : if (XWINT (x32, 0) != 23L)
13112 : return -1;
13113 : x33 = XVECEXP (x6, 0, 23);
13114 : if (XWINT (x33, 0) != 55L
13115 : || pattern1920 (x6) != 0)
13116 : return -1;
13117 : switch (GET_MODE (operands[0]))
13118 : {
13119 : case E_V32HImode:
13120 : if (pattern1593 (x2,
13121 : E_V32HImode,
13122 : E_V64HImode) != 0
13123 : || !(
13124 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13125 : (TARGET_AVX512F) &&
13126 : #line 19938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13127 : (TARGET_AVX512BW)))
13128 : return -1;
13129 : return 8376; /* avx512bw_interleave_highv32hi_mask */
13130 :
13131 : case E_V32HFmode:
13132 : if (pattern1593 (x2,
13133 : E_V32HFmode,
13134 : E_V64HFmode) != 0
13135 : || !(
13136 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13137 : (TARGET_AVX512F) &&
13138 : #line 19938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13139 : (TARGET_AVX512BW)))
13140 : return -1;
13141 : return 8378; /* avx512bw_interleave_highv32hf_mask */
13142 :
13143 : case E_V32BFmode:
13144 : if (pattern1593 (x2,
13145 : E_V32BFmode,
13146 : E_V64BFmode) != 0
13147 : || !(
13148 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13149 : (TARGET_AVX512F) &&
13150 : #line 19938 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13151 : (TARGET_AVX512BW)))
13152 : return -1;
13153 : return 8380; /* avx512bw_interleave_highv32bf_mask */
13154 :
13155 : default:
13156 : return -1;
13157 : }
13158 :
13159 : default:
13160 : return -1;
13161 : }
13162 :
13163 : default:
13164 : return -1;
13165 : }
13166 : }
13167 :
13168 : int
13169 : recog_196 (rtx x1 ATTRIBUTE_UNUSED,
13170 : rtx_insn *insn ATTRIBUTE_UNUSED,
13171 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13172 : {
13173 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13174 : rtx x2, x3, x4, x5;
13175 : int res ATTRIBUTE_UNUSED;
13176 : x2 = XEXP (x1, 1);
13177 : switch (pattern157 (x2))
13178 : {
13179 : case 0:
13180 : if (!(
13181 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13182 : (TARGET_AVX512F) &&
13183 : #line 24466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13184 : (TARGET_AVX2 && TARGET_AVX512BW && TARGET_AVX512VL)))
13185 : return -1;
13186 : return 8800; /* avx2_zero_extendv16qiv16hi2_mask */
13187 :
13188 : case 1:
13189 : if (!(
13190 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13191 : (TARGET_AVX512F) &&
13192 : #line 24520 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13193 : (TARGET_AVX512BW)))
13194 : return -1;
13195 : return 8808; /* avx512bw_zero_extendv32qiv32hi2_mask */
13196 :
13197 : case 2:
13198 : if (!(
13199 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13200 : (TARGET_AVX512F) &&
13201 : #line 24590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13202 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
13203 : return -1;
13204 : return 8820; /* *sse4_1_zero_extendv8qiv8hi2_mask_1 */
13205 :
13206 : case 3:
13207 : if (!
13208 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13209 : (TARGET_AVX512F))
13210 : return -1;
13211 : return 8832; /* avx512f_zero_extendv16qiv16si2_mask */
13212 :
13213 : case 4:
13214 : if (!
13215 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13216 : (TARGET_AVX512F))
13217 : return -1;
13218 : return 8862; /* avx512f_zero_extendv16hiv16si2_mask */
13219 :
13220 : case 5:
13221 : if (!(
13222 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13223 : (TARGET_AVX512F) &&
13224 : #line 24773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13225 : (TARGET_AVX2 && TARGET_AVX512VL)))
13226 : return -1;
13227 : return 8840; /* *avx2_zero_extendv8qiv8si2_mask_1 */
13228 :
13229 : case 6:
13230 : if (!(
13231 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13232 : (TARGET_AVX512F) &&
13233 : #line 24993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13234 : (TARGET_AVX2 && TARGET_AVX512VL)))
13235 : return -1;
13236 : return 8870; /* avx2_zero_extendv8hiv8si2_mask */
13237 :
13238 : case 7:
13239 : if (!(
13240 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13241 : (TARGET_AVX512F) &&
13242 : #line 24861 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13243 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13244 : return -1;
13245 : return 8852; /* *sse4_1_zero_extendv4qiv4si2_mask_1 */
13246 :
13247 : case 8:
13248 : if (!(
13249 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13250 : (TARGET_AVX512F) &&
13251 : #line 25063 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13252 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13253 : return -1;
13254 : return 8882; /* *sse4_1_zero_extendv4hiv4si2_mask_1 */
13255 :
13256 : case 9:
13257 : if (!
13258 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13259 : (TARGET_AVX512F))
13260 : return -1;
13261 : return 8898; /* *avx512f_zero_extendv8qiv8di2_mask_1 */
13262 :
13263 : case 10:
13264 : if (!
13265 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13266 : (TARGET_AVX512F))
13267 : return -1;
13268 : return 8929; /* avx512f_zero_extendv8hiv8di2_mask */
13269 :
13270 : case 11:
13271 : if (!
13272 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13273 : (TARGET_AVX512F))
13274 : return -1;
13275 : return 8957; /* avx512f_zero_extendv8siv8di2_mask */
13276 :
13277 : case 12:
13278 : if (!(
13279 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13280 : (TARGET_AVX512F) &&
13281 : #line 25303 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13282 : (TARGET_AVX2 && TARGET_AVX512VL)))
13283 : return -1;
13284 : return 8910; /* *avx2_zero_extendv4qiv4di2_mask_1 */
13285 :
13286 : case 13:
13287 : if (!(
13288 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13289 : (TARGET_AVX512F) &&
13290 : #line 25475 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13291 : (TARGET_AVX2 && TARGET_AVX512VL)))
13292 : return -1;
13293 : return 8937; /* *avx2_zero_extendv4hiv4di2_mask_1 */
13294 :
13295 : case 14:
13296 : if (!(
13297 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13298 : (TARGET_AVX512F) &&
13299 : #line 25686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13300 : (TARGET_AVX2 && TARGET_AVX512VL)))
13301 : return -1;
13302 : return 8963; /* avx2_zero_extendv4siv4di2_mask */
13303 :
13304 : case 15:
13305 : if (!(
13306 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13307 : (TARGET_AVX512F) &&
13308 : #line 25394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13309 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13310 : return -1;
13311 : return 8922; /* *sse4_1_zero_extendv2qiv2di2_mask_1 */
13312 :
13313 : case 16:
13314 : if (!(
13315 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13316 : (TARGET_AVX512F) &&
13317 : #line 25558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13318 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13319 : return -1;
13320 : return 8949; /* *sse4_1_zero_extendv2hiv2di2_mask_1 */
13321 :
13322 : case 17:
13323 : if (!(
13324 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13325 : (TARGET_AVX512F) &&
13326 : #line 25752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13327 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13328 : return -1;
13329 : return 8973; /* *sse4_1_zero_extendv2siv2di2_mask_1 */
13330 :
13331 : case 18:
13332 : x3 = XEXP (x2, 0);
13333 : x4 = XEXP (x3, 0);
13334 : x5 = XEXP (x4, 0);
13335 : operands[1] = x5;
13336 : switch (pattern907 (x2))
13337 : {
13338 : case 0:
13339 : if ((
13340 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13341 : (TARGET_AVX512F) &&
13342 : #line 24578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13343 : (TARGET_SSE4_1 && TARGET_AVX512BW && TARGET_AVX512VL)))
13344 : return 8816; /* sse4_1_zero_extendv8qiv8hi2_mask */
13345 : break;
13346 :
13347 : case 1:
13348 : if ((
13349 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13350 : (TARGET_AVX512F) &&
13351 : #line 24762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13352 : (TARGET_AVX2 && TARGET_AVX512VL)))
13353 : return 8836; /* avx2_zero_extendv8qiv8si2_mask */
13354 : break;
13355 :
13356 : case 2:
13357 : if (
13358 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13359 : (TARGET_AVX512F))
13360 : return 8894; /* avx512f_zero_extendv8qiv8di2_mask */
13361 : break;
13362 :
13363 : case 3:
13364 : if ((
13365 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13366 : (TARGET_AVX512F) &&
13367 : #line 24849 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13368 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13369 : return 8848; /* sse4_1_zero_extendv4qiv4si2_mask */
13370 : break;
13371 :
13372 : case 4:
13373 : if ((
13374 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13375 : (TARGET_AVX512F) &&
13376 : #line 25051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13377 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13378 : return 8878; /* sse4_1_zero_extendv4hiv4si2_mask */
13379 : break;
13380 :
13381 : case 5:
13382 : if ((
13383 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13384 : (TARGET_AVX512F) &&
13385 : #line 25292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13386 : (TARGET_AVX2 && TARGET_AVX512VL)))
13387 : return 8906; /* avx2_zero_extendv4qiv4di2_mask */
13388 : break;
13389 :
13390 : case 6:
13391 : if ((
13392 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13393 : (TARGET_AVX512F) &&
13394 : #line 25464 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13395 : (TARGET_AVX2 && TARGET_AVX512VL)))
13396 : return 8933; /* avx2_zero_extendv4hiv4di2_mask */
13397 : break;
13398 :
13399 : case 7:
13400 : if ((
13401 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13402 : (TARGET_AVX512F) &&
13403 : #line 25382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13404 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13405 : return 8918; /* sse4_1_zero_extendv2qiv2di2_mask */
13406 : break;
13407 :
13408 : case 8:
13409 : if ((
13410 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13411 : (TARGET_AVX512F) &&
13412 : #line 25546 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13413 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13414 : return 8945; /* sse4_1_zero_extendv2hiv2di2_mask */
13415 : break;
13416 :
13417 : case 9:
13418 : if ((
13419 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13420 : (TARGET_AVX512F) &&
13421 : #line 25740 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13422 : (TARGET_SSE4_1 && TARGET_AVX512VL)))
13423 : return 8969; /* sse4_1_zero_extendv2siv2di2_mask */
13424 : break;
13425 :
13426 : default:
13427 : break;
13428 : }
13429 : if (GET_CODE (x5) != SUBREG
13430 : || maybe_ne (SUBREG_BYTE (x5), 0))
13431 : return -1;
13432 : switch (pattern414 (x2))
13433 : {
13434 : case 0:
13435 : if (!
13436 : #line 24637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13437 : (TARGET_AVX512VL && TARGET_AVX512BW
13438 : && ix86_pre_reload_split ()))
13439 : return -1;
13440 : return 8824; /* *avx512vl_zero_extendv8qiv8hi2_mask_2 */
13441 :
13442 : case 1:
13443 : if (!
13444 : #line 24815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13445 : (TARGET_AVX512VL
13446 : && ix86_pre_reload_split ()))
13447 : return -1;
13448 : return 8844; /* *avx512vl_zero_extendv8qiv8si2_mask_2 */
13449 :
13450 : case 2:
13451 : if (!
13452 : #line 25259 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13453 : (TARGET_AVX512F && ix86_pre_reload_split ()))
13454 : return -1;
13455 : return 8902; /* *avx512f_zero_extendv8qiv8di2_mask_2 */
13456 :
13457 : case 3:
13458 : if (!
13459 : #line 25103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13460 : (TARGET_AVX512VL
13461 : && ix86_pre_reload_split ()))
13462 : return -1;
13463 : return 8886; /* *avx512vl_zero_extendv4hiv4si2_mask_2 */
13464 :
13465 : case 4:
13466 : if (!
13467 : #line 25513 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13468 : (TARGET_AVX512VL
13469 : && ix86_pre_reload_split ()))
13470 : return -1;
13471 : return 8941; /* *avx512vl_zero_extendv4hiv4di2_mask_2 */
13472 :
13473 : case 5:
13474 : if (!
13475 : #line 25790 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13476 : (TARGET_AVX512VL
13477 : && ix86_pre_reload_split ()))
13478 : return -1;
13479 : return 8977; /* *avx512vl_zero_extendv2siv2di2_mask_2 */
13480 :
13481 : case 6:
13482 : if ((
13483 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13484 : (TARGET_AVX512F) &&
13485 : #line 24884 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13486 : (TARGET_SSE4_1 && TARGET_AVX512VL
13487 : && ix86_pre_reload_split ())))
13488 : return 8856; /* *sse4_1_zero_extendv4qiv4si2_2 */
13489 : if (!
13490 : #line 24909 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13491 : (TARGET_AVX512VL
13492 : && ix86_pre_reload_split ()))
13493 : return -1;
13494 : return 8858; /* *avx512vl_zero_extendv4qiv4si2_mask_2 */
13495 :
13496 : case 7:
13497 : if (!
13498 : #line 25349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13499 : (TARGET_AVX512VL
13500 : && ix86_pre_reload_split ()))
13501 : return -1;
13502 : return 8914; /* *avx512vl_zero_extendv4qiv4di2_mask_2 */
13503 :
13504 : case 8:
13505 : if (!
13506 : #line 25604 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13507 : (TARGET_AVX512VL
13508 : && ix86_pre_reload_split ()))
13509 : return -1;
13510 : return 8953; /* *avx512vl_zero_extendv2hiv2di2_mask_2 */
13511 :
13512 : default:
13513 : return -1;
13514 : }
13515 :
13516 : default:
13517 : return -1;
13518 : }
13519 : }
13520 :
13521 : int
13522 : recog_205 (rtx x1 ATTRIBUTE_UNUSED,
13523 : rtx_insn *insn ATTRIBUTE_UNUSED,
13524 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13525 : {
13526 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13527 : rtx x2;
13528 : int res ATTRIBUTE_UNUSED;
13529 : x2 = XEXP (x1, 1);
13530 : switch (pattern144 (x2))
13531 : {
13532 : case 0:
13533 : if (!(
13534 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13535 : (TARGET_AVX512F) && (
13536 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13537 : (TARGET_AVX512FP16) &&
13538 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13539 : (TARGET_AVX512VL))))
13540 : return -1;
13541 : return 4657; /* avx512fp16_fixuns_truncv8hi2_mask */
13542 :
13543 : case 1:
13544 : if (!(
13545 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13546 : (TARGET_AVX512F) && (
13547 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13548 : (TARGET_AVX512FP16) &&
13549 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13550 : (TARGET_AVX512VL))))
13551 : return -1;
13552 : return 4665; /* avx512fp16_fixuns_truncv16hi2_mask */
13553 :
13554 : case 2:
13555 : if (!(
13556 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13557 : (TARGET_AVX512F) &&
13558 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13559 : (TARGET_AVX512FP16)))
13560 : return -1;
13561 : return 4673; /* avx512fp16_fixuns_truncv32hi2_mask */
13562 :
13563 : case 3:
13564 : switch (GET_MODE (operands[1]))
13565 : {
13566 : case E_V8HFmode:
13567 : if (!vector_operand (operands[1], E_V8HFmode)
13568 : || !(
13569 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13570 : (TARGET_AVX512F) && (
13571 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13572 : (TARGET_AVX512FP16) &&
13573 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13574 : (TARGET_AVX512VL))))
13575 : return -1;
13576 : return 4681; /* avx512fp16_fixuns_truncv8si2_mask */
13577 :
13578 : case E_V8DFmode:
13579 : if (!vector_operand (operands[1], E_V8DFmode)
13580 : || !
13581 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13582 : (TARGET_AVX512F))
13583 : return -1;
13584 : return 5072; /* fixuns_truncv8dfv8si2_mask */
13585 :
13586 : case E_V8SFmode:
13587 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
13588 : || !(
13589 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13590 : (TARGET_AVX512F) && (
13591 : #line 10243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13592 : (TARGET_AVX512VL) &&
13593 : #line 444 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13594 : (TARGET_AVX))))
13595 : return -1;
13596 : return 5172; /* fixuns_truncv8sfv8si2_mask */
13597 :
13598 : default:
13599 : return -1;
13600 : }
13601 :
13602 : case 4:
13603 : if (!(
13604 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13605 : (TARGET_AVX512F) &&
13606 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13607 : (TARGET_AVX512FP16)))
13608 : return -1;
13609 : return 4689; /* avx512fp16_fixuns_truncv16si2_mask */
13610 :
13611 : case 5:
13612 : if (!
13613 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13614 : (TARGET_AVX512F))
13615 : return -1;
13616 : return 4923; /* fixuns_truncv16sfv16si2_mask */
13617 :
13618 : case 6:
13619 : if (!(
13620 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13621 : (TARGET_AVX512F) &&
13622 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13623 : (TARGET_AVX512FP16)))
13624 : return -1;
13625 : return 4697; /* avx512fp16_fixuns_truncv8di2_mask */
13626 :
13627 : case 7:
13628 : if (!(
13629 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13630 : (TARGET_AVX512F) &&
13631 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13632 : (TARGET_AVX512DQ && 1)))
13633 : return -1;
13634 : return 5109; /* fixuns_truncv8dfv8di2_mask */
13635 :
13636 : case 8:
13637 : if (!(
13638 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13639 : (TARGET_AVX512F) &&
13640 : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13641 : (TARGET_AVX512DQ && 1)))
13642 : return -1;
13643 : return 5153; /* fixuns_truncv8sfv8di2_mask */
13644 :
13645 : case 9:
13646 : switch (GET_MODE (operands[1]))
13647 : {
13648 : case E_V4HFmode:
13649 : if (!memory_operand (operands[1], E_V4HFmode)
13650 : || !(
13651 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13652 : (TARGET_AVX512F) &&
13653 : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13654 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13655 : return -1;
13656 : return 4718; /* *avx512fp16_fixuns_truncv4si2_load_mask */
13657 :
13658 : case E_V4DFmode:
13659 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13660 : || !(
13661 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13662 : (TARGET_AVX512F) &&
13663 : #line 10008 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13664 : (TARGET_AVX512VL && TARGET_AVX512F)))
13665 : return -1;
13666 : return 5086; /* fixuns_truncv4dfv4si2_mask */
13667 :
13668 : case E_V4SFmode:
13669 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
13670 : || !(
13671 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13672 : (TARGET_AVX512F) &&
13673 : #line 10243 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13674 : (TARGET_AVX512VL)))
13675 : return -1;
13676 : return 5174; /* fixuns_truncv4sfv4si2_mask */
13677 :
13678 : default:
13679 : return -1;
13680 : }
13681 :
13682 : case 10:
13683 : if (!(
13684 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13685 : (TARGET_AVX512F) &&
13686 : #line 8262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13687 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13688 : return -1;
13689 : return 4722; /* *avx512fp16_fixuns_truncv4di2_load_mask */
13690 :
13691 : case 11:
13692 : if (!(
13693 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13694 : (TARGET_AVX512F) && (
13695 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13696 : (TARGET_AVX512DQ && 1) &&
13697 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13698 : (TARGET_AVX512VL))))
13699 : return -1;
13700 : return 5114; /* fixuns_truncv4dfv4di2_mask */
13701 :
13702 : case 12:
13703 : if (!(
13704 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13705 : (TARGET_AVX512F) && (
13706 : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13707 : (TARGET_AVX512DQ && 1) &&
13708 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13709 : (TARGET_AVX512VL))))
13710 : return -1;
13711 : return 5158; /* fixuns_truncv4sfv4di2_mask */
13712 :
13713 : case 13:
13714 : if (!(
13715 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13716 : (TARGET_AVX512F) &&
13717 : #line 8312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13718 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13719 : return -1;
13720 : return 4734; /* *avx512fp16_fixuns_truncv2di2_load_mask */
13721 :
13722 : case 14:
13723 : if (!(
13724 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13725 : (TARGET_AVX512F) && (
13726 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13727 : (TARGET_AVX512DQ && 1) &&
13728 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13729 : (TARGET_AVX512VL))))
13730 : return -1;
13731 : return 5118; /* fixuns_truncv2dfv2di2_mask */
13732 :
13733 : case 15:
13734 : if (!(
13735 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13736 : (TARGET_AVX512F) &&
13737 : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13738 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13739 : return -1;
13740 : return 4710; /* avx512fp16_fixuns_truncv4si2_mask */
13741 :
13742 : case 16:
13743 : if (!(
13744 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13745 : (TARGET_AVX512F) &&
13746 : #line 8252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13747 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13748 : return -1;
13749 : return 4714; /* avx512fp16_fixuns_truncv4di2_mask */
13750 :
13751 : case 17:
13752 : if (!(
13753 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13754 : (TARGET_AVX512F) &&
13755 : #line 8302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13756 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
13757 : return -1;
13758 : return 4730; /* avx512fp16_fixuns_truncv2di2_mask */
13759 :
13760 : case 18:
13761 : if (!(
13762 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13763 : (TARGET_AVX512F) &&
13764 : #line 10095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13765 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
13766 : return -1;
13767 : return 5166; /* avx512dq_fixuns_truncv2sfv2di2_mask */
13768 :
13769 : default:
13770 : return -1;
13771 : }
13772 : }
13773 :
13774 : int
13775 : recog_216 (rtx x1 ATTRIBUTE_UNUSED,
13776 : rtx_insn *insn ATTRIBUTE_UNUSED,
13777 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13778 : {
13779 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13780 : rtx x2, x3;
13781 : int res ATTRIBUTE_UNUSED;
13782 : x2 = XEXP (x1, 1);
13783 : x3 = XVECEXP (x2, 0, 0);
13784 : operands[1] = x3;
13785 : switch (GET_MODE (operands[0]))
13786 : {
13787 : case E_V16SFmode:
13788 : if (!memory_operand (operands[0], E_V16SFmode)
13789 : || GET_MODE (x2) != E_V16SFmode
13790 : || !register_operand (operands[1], E_V16SFmode)
13791 : || !(
13792 : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13793 : (TARGET_SSE) &&
13794 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13795 : (TARGET_AVX512F)))
13796 : return -1;
13797 : return 2625; /* avx512f_movntv16sf */
13798 :
13799 : case E_V8SFmode:
13800 : if (!memory_operand (operands[0], E_V8SFmode)
13801 : || GET_MODE (x2) != E_V8SFmode
13802 : || !register_operand (operands[1], E_V8SFmode)
13803 : || !(
13804 : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13805 : (TARGET_SSE) &&
13806 : #line 382 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13807 : (TARGET_AVX)))
13808 : return -1;
13809 : return 2626; /* avx_movntv8sf */
13810 :
13811 : case E_V4SFmode:
13812 : if (!memory_operand (operands[0], E_V4SFmode)
13813 : || GET_MODE (x2) != E_V4SFmode
13814 : || !register_operand (operands[1], E_V4SFmode)
13815 : || !
13816 : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13817 : (TARGET_SSE))
13818 : return -1;
13819 : return 2627; /* sse_movntv4sf */
13820 :
13821 : case E_V8DFmode:
13822 : if (!memory_operand (operands[0], E_V8DFmode)
13823 : || GET_MODE (x2) != E_V8DFmode
13824 : || !register_operand (operands[1], E_V8DFmode)
13825 : || !(
13826 : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13827 : (TARGET_SSE) &&
13828 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13829 : (TARGET_AVX512F)))
13830 : return -1;
13831 : return 2628; /* avx512f_movntv8df */
13832 :
13833 : case E_V4DFmode:
13834 : if (!memory_operand (operands[0], E_V4DFmode)
13835 : || GET_MODE (x2) != E_V4DFmode
13836 : || !register_operand (operands[1], E_V4DFmode)
13837 : || !(
13838 : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13839 : (TARGET_SSE) &&
13840 : #line 383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13841 : (TARGET_AVX)))
13842 : return -1;
13843 : return 2629; /* avx_movntv4df */
13844 :
13845 : case E_V2DFmode:
13846 : if (!memory_operand (operands[0], E_V2DFmode)
13847 : || GET_MODE (x2) != E_V2DFmode
13848 : || !register_operand (operands[1], E_V2DFmode)
13849 : || !(
13850 : #line 2045 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13851 : (TARGET_SSE) &&
13852 : #line 384 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13853 : (TARGET_SSE2)))
13854 : return -1;
13855 : return 2630; /* sse2_movntv2df */
13856 :
13857 : case E_V8DImode:
13858 : if (!memory_operand (operands[0], E_V8DImode)
13859 : || GET_MODE (x2) != E_V8DImode
13860 : || !register_operand (operands[1], E_V8DImode)
13861 : || !(
13862 : #line 2055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13863 : (TARGET_SSE2) &&
13864 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13865 : (TARGET_AVX512F)))
13866 : return -1;
13867 : return 2631; /* avx512f_movntv8di */
13868 :
13869 : case E_V4DImode:
13870 : if (!memory_operand (operands[0], E_V4DImode)
13871 : || GET_MODE (x2) != E_V4DImode
13872 : || !register_operand (operands[1], E_V4DImode)
13873 : || !(
13874 : #line 2055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13875 : (TARGET_SSE2) &&
13876 : #line 611 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13877 : (TARGET_AVX)))
13878 : return -1;
13879 : return 2632; /* avx_movntv4di */
13880 :
13881 : case E_V2DImode:
13882 : if (!memory_operand (operands[0], E_V2DImode)
13883 : || GET_MODE (x2) != E_V2DImode
13884 : || !register_operand (operands[1], E_V2DImode)
13885 : || !
13886 : #line 2055 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13887 : (TARGET_SSE2))
13888 : return -1;
13889 : return 2633; /* sse2_movntv2di */
13890 :
13891 : default:
13892 : return -1;
13893 : }
13894 : }
13895 :
13896 : int
13897 : recog_223 (rtx x1 ATTRIBUTE_UNUSED,
13898 : rtx_insn *insn ATTRIBUTE_UNUSED,
13899 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13900 : {
13901 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13902 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13903 : int res ATTRIBUTE_UNUSED;
13904 : x2 = XEXP (x1, 1);
13905 : x3 = XVECEXP (x2, 0, 1);
13906 : if (!const_4_or_8_to_11_operand (x3, E_SImode))
13907 : return -1;
13908 : x4 = XVECEXP (x2, 0, 0);
13909 : x5 = XEXP (x4, 0);
13910 : x6 = XVECEXP (x5, 0, 2);
13911 : switch (GET_CODE (x6))
13912 : {
13913 : case REG:
13914 : case SUBREG:
13915 : case MEM:
13916 : operands[3] = x6;
13917 : x7 = XEXP (x4, 1);
13918 : switch (GET_CODE (x7))
13919 : {
13920 : case CONST_INT:
13921 : case CONST_DOUBLE:
13922 : case CONST_VECTOR:
13923 : operands[4] = x7;
13924 : x8 = XEXP (x4, 2);
13925 : operands[5] = x8;
13926 : operands[6] = x3;
13927 : switch (GET_MODE (operands[0]))
13928 : {
13929 : case E_V32HFmode:
13930 : if (pattern1663 (x2,
13931 : E_SImode,
13932 : E_V32HFmode) != 0
13933 : || !(
13934 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13935 : (TARGET_AVX512F) && (
13936 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13937 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
13938 : || V32HFmode == V8DFmode
13939 : || V32HFmode == V8DImode
13940 : || V32HFmode == V16SImode
13941 : || V32HFmode == V32HFmode)) &&
13942 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13943 : (TARGET_AVX512FP16))))
13944 : return -1;
13945 : return 4136; /* fma_fmaddsub_v32hf_maskz_1_round */
13946 :
13947 : case E_V16SFmode:
13948 : if (pattern1663 (x2,
13949 : E_HImode,
13950 : E_V16SFmode) != 0
13951 : || !(
13952 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13953 : (TARGET_AVX512F) &&
13954 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13955 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
13956 : || V16SFmode == V8DFmode
13957 : || V16SFmode == V8DImode
13958 : || V16SFmode == V16SImode
13959 : || V16SFmode == V32HFmode))))
13960 : return -1;
13961 : return 4144; /* fma_fmaddsub_v16sf_maskz_1_round */
13962 :
13963 : case E_V8DFmode:
13964 : if (pattern1663 (x2,
13965 : E_QImode,
13966 : E_V8DFmode) != 0
13967 : || !(
13968 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13969 : (TARGET_AVX512F) &&
13970 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13971 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
13972 : || V8DFmode == V8DFmode
13973 : || V8DFmode == V8DImode
13974 : || V8DFmode == V16SImode
13975 : || V8DFmode == V32HFmode))))
13976 : return -1;
13977 : return 4152; /* fma_fmaddsub_v8df_maskz_1_round */
13978 :
13979 : default:
13980 : return -1;
13981 : }
13982 :
13983 : case REG:
13984 : case SUBREG:
13985 : case MEM:
13986 : x8 = XEXP (x4, 2);
13987 : operands[4] = x8;
13988 : operands[5] = x3;
13989 : switch (GET_MODE (operands[0]))
13990 : {
13991 : case E_V32HFmode:
13992 : if (pattern1598 (x2,
13993 : E_V32HFmode,
13994 : E_SImode) != 0)
13995 : return -1;
13996 : if (register_operand (operands[1], E_V32HFmode)
13997 : && register_operand (operands[3], E_V32HFmode)
13998 : && rtx_equal_p (x7, operands[1])
13999 : && (
14000 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14001 : (TARGET_AVX512F) && (
14002 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14003 : (TARGET_AVX512F) &&
14004 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14005 : (TARGET_AVX512FP16))))
14006 : return 4158; /* avx512bw_fmaddsub_v32hf_mask_round */
14007 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
14008 : || !nonimmediate_operand (operands[3], E_V32HFmode)
14009 : || !rtx_equal_p (x7, operands[3])
14010 : || !(
14011 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14012 : (TARGET_AVX512F) && (
14013 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14014 : (TARGET_AVX512F) &&
14015 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14016 : (TARGET_AVX512FP16))))
14017 : return -1;
14018 : return 4176; /* avx512bw_fmaddsub_v32hf_mask3_round */
14019 :
14020 : case E_V16HFmode:
14021 : if (pattern1598 (x2,
14022 : E_V16HFmode,
14023 : E_HImode) != 0)
14024 : return -1;
14025 : if (register_operand (operands[1], E_V16HFmode)
14026 : && register_operand (operands[3], E_V16HFmode)
14027 : && rtx_equal_p (x7, operands[1])
14028 : && (
14029 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14030 : (TARGET_AVX512F) && (
14031 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14032 : (TARGET_AVX512F) &&
14033 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14034 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14035 : return 4160; /* avx512vl_fmaddsub_v16hf_mask_round */
14036 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
14037 : || !nonimmediate_operand (operands[3], E_V16HFmode)
14038 : || !rtx_equal_p (x7, operands[3])
14039 : || !(
14040 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14041 : (TARGET_AVX512F) && (
14042 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14043 : (TARGET_AVX512F) &&
14044 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14045 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14046 : return -1;
14047 : return 4178; /* avx512vl_fmaddsub_v16hf_mask3_round */
14048 :
14049 : case E_V8HFmode:
14050 : if (pattern1598 (x2,
14051 : E_V8HFmode,
14052 : E_QImode) != 0)
14053 : return -1;
14054 : if (register_operand (operands[1], E_V8HFmode)
14055 : && register_operand (operands[3], E_V8HFmode)
14056 : && rtx_equal_p (x7, operands[1])
14057 : && (
14058 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14059 : (TARGET_AVX512F) && (
14060 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14061 : (TARGET_AVX512F) &&
14062 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14063 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14064 : return 4162; /* avx512fp16_fmaddsub_v8hf_mask_round */
14065 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
14066 : || !nonimmediate_operand (operands[3], E_V8HFmode)
14067 : || !rtx_equal_p (x7, operands[3])
14068 : || !(
14069 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14070 : (TARGET_AVX512F) && (
14071 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14072 : (TARGET_AVX512F) &&
14073 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14074 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14075 : return -1;
14076 : return 4180; /* avx512fp16_fmaddsub_v8hf_mask3_round */
14077 :
14078 : case E_V16SFmode:
14079 : if (pattern1598 (x2,
14080 : E_V16SFmode,
14081 : E_HImode) != 0)
14082 : return -1;
14083 : if (register_operand (operands[1], E_V16SFmode)
14084 : && register_operand (operands[3], E_V16SFmode)
14085 : && rtx_equal_p (x7, operands[1])
14086 : &&
14087 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14088 : (TARGET_AVX512F))
14089 : return 4164; /* avx512f_fmaddsub_v16sf_mask_round */
14090 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
14091 : || !nonimmediate_operand (operands[3], E_V16SFmode)
14092 : || !rtx_equal_p (x7, operands[3])
14093 : || !
14094 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14095 : (TARGET_AVX512F))
14096 : return -1;
14097 : return 4182; /* avx512f_fmaddsub_v16sf_mask3_round */
14098 :
14099 : case E_V8SFmode:
14100 : if (pattern1598 (x2,
14101 : E_V8SFmode,
14102 : E_QImode) != 0)
14103 : return -1;
14104 : if (register_operand (operands[1], E_V8SFmode)
14105 : && register_operand (operands[3], E_V8SFmode)
14106 : && rtx_equal_p (x7, operands[1])
14107 : && (
14108 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14109 : (TARGET_AVX512F) && (
14110 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14111 : (TARGET_AVX512F) &&
14112 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14113 : (TARGET_AVX512VL))))
14114 : return 4166; /* avx512vl_fmaddsub_v8sf_mask_round */
14115 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
14116 : || !nonimmediate_operand (operands[3], E_V8SFmode)
14117 : || !rtx_equal_p (x7, operands[3])
14118 : || !(
14119 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14120 : (TARGET_AVX512F) && (
14121 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14122 : (TARGET_AVX512F) &&
14123 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14124 : (TARGET_AVX512VL))))
14125 : return -1;
14126 : return 4184; /* avx512vl_fmaddsub_v8sf_mask3_round */
14127 :
14128 : case E_V4SFmode:
14129 : if (pattern1598 (x2,
14130 : E_V4SFmode,
14131 : E_QImode) != 0)
14132 : return -1;
14133 : if (register_operand (operands[1], E_V4SFmode)
14134 : && register_operand (operands[3], E_V4SFmode)
14135 : && rtx_equal_p (x7, operands[1])
14136 : && (
14137 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14138 : (TARGET_AVX512F) && (
14139 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14140 : (TARGET_AVX512F) &&
14141 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14142 : (TARGET_AVX512VL))))
14143 : return 4168; /* avx512vl_fmaddsub_v4sf_mask_round */
14144 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
14145 : || !nonimmediate_operand (operands[3], E_V4SFmode)
14146 : || !rtx_equal_p (x7, operands[3])
14147 : || !(
14148 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14149 : (TARGET_AVX512F) && (
14150 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14151 : (TARGET_AVX512F) &&
14152 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14153 : (TARGET_AVX512VL))))
14154 : return -1;
14155 : return 4186; /* avx512vl_fmaddsub_v4sf_mask3_round */
14156 :
14157 : case E_V8DFmode:
14158 : if (pattern1598 (x2,
14159 : E_V8DFmode,
14160 : E_QImode) != 0)
14161 : return -1;
14162 : if (register_operand (operands[1], E_V8DFmode)
14163 : && register_operand (operands[3], E_V8DFmode)
14164 : && rtx_equal_p (x7, operands[1])
14165 : &&
14166 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14167 : (TARGET_AVX512F))
14168 : return 4170; /* avx512f_fmaddsub_v8df_mask_round */
14169 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
14170 : || !nonimmediate_operand (operands[3], E_V8DFmode)
14171 : || !rtx_equal_p (x7, operands[3])
14172 : || !
14173 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14174 : (TARGET_AVX512F))
14175 : return -1;
14176 : return 4188; /* avx512f_fmaddsub_v8df_mask3_round */
14177 :
14178 : case E_V4DFmode:
14179 : if (pattern1598 (x2,
14180 : E_V4DFmode,
14181 : E_QImode) != 0)
14182 : return -1;
14183 : if (register_operand (operands[1], E_V4DFmode)
14184 : && register_operand (operands[3], E_V4DFmode)
14185 : && rtx_equal_p (x7, operands[1])
14186 : && (
14187 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14188 : (TARGET_AVX512F) && (
14189 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14190 : (TARGET_AVX512F) &&
14191 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14192 : (TARGET_AVX512VL))))
14193 : return 4172; /* avx512vl_fmaddsub_v4df_mask_round */
14194 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
14195 : || !nonimmediate_operand (operands[3], E_V4DFmode)
14196 : || !rtx_equal_p (x7, operands[3])
14197 : || !(
14198 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14199 : (TARGET_AVX512F) && (
14200 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14201 : (TARGET_AVX512F) &&
14202 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14203 : (TARGET_AVX512VL))))
14204 : return -1;
14205 : return 4190; /* avx512vl_fmaddsub_v4df_mask3_round */
14206 :
14207 : case E_V2DFmode:
14208 : if (pattern1598 (x2,
14209 : E_V2DFmode,
14210 : E_QImode) != 0)
14211 : return -1;
14212 : if (register_operand (operands[1], E_V2DFmode)
14213 : && register_operand (operands[3], E_V2DFmode)
14214 : && rtx_equal_p (x7, operands[1])
14215 : && (
14216 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14217 : (TARGET_AVX512F) && (
14218 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14219 : (TARGET_AVX512F) &&
14220 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14221 : (TARGET_AVX512VL))))
14222 : return 4174; /* avx512vl_fmaddsub_v2df_mask_round */
14223 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
14224 : || !nonimmediate_operand (operands[3], E_V2DFmode)
14225 : || !rtx_equal_p (x7, operands[3])
14226 : || !(
14227 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14228 : (TARGET_AVX512F) && (
14229 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14230 : (TARGET_AVX512F) &&
14231 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14232 : (TARGET_AVX512VL))))
14233 : return -1;
14234 : return 4192; /* avx512vl_fmaddsub_v2df_mask3_round */
14235 :
14236 : default:
14237 : return -1;
14238 : }
14239 :
14240 : default:
14241 : return -1;
14242 : }
14243 :
14244 : case NEG:
14245 : x9 = XEXP (x6, 0);
14246 : operands[3] = x9;
14247 : x7 = XEXP (x4, 1);
14248 : switch (GET_CODE (x7))
14249 : {
14250 : case CONST_INT:
14251 : case CONST_DOUBLE:
14252 : case CONST_VECTOR:
14253 : operands[4] = x7;
14254 : x8 = XEXP (x4, 2);
14255 : operands[5] = x8;
14256 : operands[6] = x3;
14257 : switch (GET_MODE (operands[0]))
14258 : {
14259 : case E_V32HFmode:
14260 : if (pattern1664 (x2,
14261 : E_SImode,
14262 : E_V32HFmode) != 0
14263 : || !(
14264 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14265 : (TARGET_AVX512F) && (
14266 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14267 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14268 : || V32HFmode == V8DFmode
14269 : || V32HFmode == V8DImode
14270 : || V32HFmode == V16SImode
14271 : || V32HFmode == V32HFmode)) &&
14272 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14273 : (TARGET_AVX512FP16))))
14274 : return -1;
14275 : return 4200; /* fma_fmsubadd_v32hf_maskz_1_round */
14276 :
14277 : case E_V16SFmode:
14278 : if (pattern1664 (x2,
14279 : E_HImode,
14280 : E_V16SFmode) != 0
14281 : || !(
14282 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14283 : (TARGET_AVX512F) &&
14284 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14285 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14286 : || V16SFmode == V8DFmode
14287 : || V16SFmode == V8DImode
14288 : || V16SFmode == V16SImode
14289 : || V16SFmode == V32HFmode))))
14290 : return -1;
14291 : return 4208; /* fma_fmsubadd_v16sf_maskz_1_round */
14292 :
14293 : case E_V8DFmode:
14294 : if (pattern1664 (x2,
14295 : E_QImode,
14296 : E_V8DFmode) != 0
14297 : || !(
14298 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14299 : (TARGET_AVX512F) &&
14300 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14301 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14302 : || V8DFmode == V8DFmode
14303 : || V8DFmode == V8DImode
14304 : || V8DFmode == V16SImode
14305 : || V8DFmode == V32HFmode))))
14306 : return -1;
14307 : return 4216; /* fma_fmsubadd_v8df_maskz_1_round */
14308 :
14309 : default:
14310 : return -1;
14311 : }
14312 :
14313 : case REG:
14314 : case SUBREG:
14315 : case MEM:
14316 : x8 = XEXP (x4, 2);
14317 : operands[4] = x8;
14318 : operands[5] = x3;
14319 : switch (GET_MODE (operands[0]))
14320 : {
14321 : case E_V32HFmode:
14322 : if (pattern1599 (x2,
14323 : E_V32HFmode,
14324 : E_SImode) != 0)
14325 : return -1;
14326 : if (register_operand (operands[3], E_V32HFmode)
14327 : && rtx_equal_p (x7, operands[1])
14328 : && (
14329 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14330 : (TARGET_AVX512F) && (
14331 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14332 : (TARGET_AVX512F) &&
14333 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14334 : (TARGET_AVX512FP16))))
14335 : return 4222; /* avx512bw_fmsubadd_v32hf_mask_round */
14336 : if (!nonimmediate_operand (operands[3], E_V32HFmode)
14337 : || !rtx_equal_p (x7, operands[3])
14338 : || !(
14339 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14340 : (TARGET_AVX512F) && (
14341 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14342 : (TARGET_AVX512F) &&
14343 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14344 : (TARGET_AVX512FP16))))
14345 : return -1;
14346 : return 4240; /* avx512bw_fmsubadd_v32hf_mask3_round */
14347 :
14348 : case E_V16HFmode:
14349 : if (pattern1599 (x2,
14350 : E_V16HFmode,
14351 : E_HImode) != 0)
14352 : return -1;
14353 : if (register_operand (operands[3], E_V16HFmode)
14354 : && rtx_equal_p (x7, operands[1])
14355 : && (
14356 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14357 : (TARGET_AVX512F) && (
14358 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14359 : (TARGET_AVX512F) &&
14360 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14361 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14362 : return 4224; /* avx512vl_fmsubadd_v16hf_mask_round */
14363 : if (!nonimmediate_operand (operands[3], E_V16HFmode)
14364 : || !rtx_equal_p (x7, operands[3])
14365 : || !(
14366 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14367 : (TARGET_AVX512F) && (
14368 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14369 : (TARGET_AVX512F) &&
14370 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14371 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14372 : return -1;
14373 : return 4242; /* avx512vl_fmsubadd_v16hf_mask3_round */
14374 :
14375 : case E_V8HFmode:
14376 : if (pattern1599 (x2,
14377 : E_V8HFmode,
14378 : E_QImode) != 0)
14379 : return -1;
14380 : if (register_operand (operands[3], E_V8HFmode)
14381 : && rtx_equal_p (x7, operands[1])
14382 : && (
14383 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14384 : (TARGET_AVX512F) && (
14385 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14386 : (TARGET_AVX512F) &&
14387 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14388 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14389 : return 4226; /* avx512fp16_fmsubadd_v8hf_mask_round */
14390 : if (!nonimmediate_operand (operands[3], E_V8HFmode)
14391 : || !rtx_equal_p (x7, operands[3])
14392 : || !(
14393 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14394 : (TARGET_AVX512F) && (
14395 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14396 : (TARGET_AVX512F) &&
14397 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14398 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
14399 : return -1;
14400 : return 4244; /* avx512fp16_fmsubadd_v8hf_mask3_round */
14401 :
14402 : case E_V16SFmode:
14403 : if (pattern1599 (x2,
14404 : E_V16SFmode,
14405 : E_HImode) != 0)
14406 : return -1;
14407 : if (register_operand (operands[3], E_V16SFmode)
14408 : && rtx_equal_p (x7, operands[1])
14409 : &&
14410 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14411 : (TARGET_AVX512F))
14412 : return 4228; /* avx512f_fmsubadd_v16sf_mask_round */
14413 : if (!nonimmediate_operand (operands[3], E_V16SFmode)
14414 : || !rtx_equal_p (x7, operands[3])
14415 : || !
14416 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14417 : (TARGET_AVX512F))
14418 : return -1;
14419 : return 4246; /* avx512f_fmsubadd_v16sf_mask3_round */
14420 :
14421 : case E_V8SFmode:
14422 : if (pattern1599 (x2,
14423 : E_V8SFmode,
14424 : E_QImode) != 0)
14425 : return -1;
14426 : if (register_operand (operands[3], E_V8SFmode)
14427 : && rtx_equal_p (x7, operands[1])
14428 : && (
14429 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14430 : (TARGET_AVX512F) && (
14431 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14432 : (TARGET_AVX512F) &&
14433 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14434 : (TARGET_AVX512VL))))
14435 : return 4230; /* avx512vl_fmsubadd_v8sf_mask_round */
14436 : if (!nonimmediate_operand (operands[3], E_V8SFmode)
14437 : || !rtx_equal_p (x7, operands[3])
14438 : || !(
14439 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14440 : (TARGET_AVX512F) && (
14441 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14442 : (TARGET_AVX512F) &&
14443 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14444 : (TARGET_AVX512VL))))
14445 : return -1;
14446 : return 4248; /* avx512vl_fmsubadd_v8sf_mask3_round */
14447 :
14448 : case E_V4SFmode:
14449 : if (pattern1599 (x2,
14450 : E_V4SFmode,
14451 : E_QImode) != 0)
14452 : return -1;
14453 : if (register_operand (operands[3], E_V4SFmode)
14454 : && rtx_equal_p (x7, operands[1])
14455 : && (
14456 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14457 : (TARGET_AVX512F) && (
14458 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14459 : (TARGET_AVX512F) &&
14460 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14461 : (TARGET_AVX512VL))))
14462 : return 4232; /* avx512vl_fmsubadd_v4sf_mask_round */
14463 : if (!nonimmediate_operand (operands[3], E_V4SFmode)
14464 : || !rtx_equal_p (x7, operands[3])
14465 : || !(
14466 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14467 : (TARGET_AVX512F) && (
14468 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14469 : (TARGET_AVX512F) &&
14470 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14471 : (TARGET_AVX512VL))))
14472 : return -1;
14473 : return 4250; /* avx512vl_fmsubadd_v4sf_mask3_round */
14474 :
14475 : case E_V8DFmode:
14476 : if (pattern1599 (x2,
14477 : E_V8DFmode,
14478 : E_QImode) != 0)
14479 : return -1;
14480 : if (register_operand (operands[3], E_V8DFmode)
14481 : && rtx_equal_p (x7, operands[1])
14482 : &&
14483 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14484 : (TARGET_AVX512F))
14485 : return 4234; /* avx512f_fmsubadd_v8df_mask_round */
14486 : if (!nonimmediate_operand (operands[3], E_V8DFmode)
14487 : || !rtx_equal_p (x7, operands[3])
14488 : || !
14489 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14490 : (TARGET_AVX512F))
14491 : return -1;
14492 : return 4252; /* avx512f_fmsubadd_v8df_mask3_round */
14493 :
14494 : case E_V4DFmode:
14495 : if (pattern1599 (x2,
14496 : E_V4DFmode,
14497 : E_QImode) != 0)
14498 : return -1;
14499 : if (register_operand (operands[3], E_V4DFmode)
14500 : && rtx_equal_p (x7, operands[1])
14501 : && (
14502 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14503 : (TARGET_AVX512F) && (
14504 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14505 : (TARGET_AVX512F) &&
14506 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14507 : (TARGET_AVX512VL))))
14508 : return 4236; /* avx512vl_fmsubadd_v4df_mask_round */
14509 : if (!nonimmediate_operand (operands[3], E_V4DFmode)
14510 : || !rtx_equal_p (x7, operands[3])
14511 : || !(
14512 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14513 : (TARGET_AVX512F) && (
14514 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14515 : (TARGET_AVX512F) &&
14516 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14517 : (TARGET_AVX512VL))))
14518 : return -1;
14519 : return 4254; /* avx512vl_fmsubadd_v4df_mask3_round */
14520 :
14521 : case E_V2DFmode:
14522 : if (pattern1599 (x2,
14523 : E_V2DFmode,
14524 : E_QImode) != 0)
14525 : return -1;
14526 : if (register_operand (operands[3], E_V2DFmode)
14527 : && rtx_equal_p (x7, operands[1])
14528 : && (
14529 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14530 : (TARGET_AVX512F) && (
14531 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14532 : (TARGET_AVX512F) &&
14533 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14534 : (TARGET_AVX512VL))))
14535 : return 4238; /* avx512vl_fmsubadd_v2df_mask_round */
14536 : if (!nonimmediate_operand (operands[3], E_V2DFmode)
14537 : || !rtx_equal_p (x7, operands[3])
14538 : || !(
14539 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14540 : (TARGET_AVX512F) && (
14541 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14542 : (TARGET_AVX512F) &&
14543 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14544 : (TARGET_AVX512VL))))
14545 : return -1;
14546 : return 4256; /* avx512vl_fmsubadd_v2df_mask3_round */
14547 :
14548 : default:
14549 : return -1;
14550 : }
14551 :
14552 : default:
14553 : return -1;
14554 : }
14555 :
14556 : default:
14557 : return -1;
14558 : }
14559 : }
14560 :
14561 : int
14562 : recog_236 (rtx x1 ATTRIBUTE_UNUSED,
14563 : rtx_insn *insn ATTRIBUTE_UNUSED,
14564 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14565 : {
14566 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14567 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14568 : rtx x10;
14569 : int res ATTRIBUTE_UNUSED;
14570 : if (pnum_clobbers == NULL)
14571 : return -1;
14572 : x2 = XEXP (x1, 0);
14573 : if (GET_CODE (x2) != MEM)
14574 : return -1;
14575 : operands[5] = x2;
14576 : x3 = XEXP (x2, 0);
14577 : if (GET_CODE (x3) != UNSPEC
14578 : || XVECLEN (x3, 0) != 4
14579 : || XINT (x3, 1) != 155)
14580 : return -1;
14581 : x4 = XVECEXP (x3, 0, 0);
14582 : operands[0] = x4;
14583 : x5 = XVECEXP (x3, 0, 1);
14584 : operands[2] = x5;
14585 : x6 = XVECEXP (x3, 0, 2);
14586 : operands[4] = x6;
14587 : if (!const1248_operand (operands[4], E_SImode))
14588 : return -1;
14589 : x7 = XVECEXP (x3, 0, 3);
14590 : operands[6] = x7;
14591 : x8 = XEXP (x1, 1);
14592 : x9 = XVECEXP (x8, 0, 1);
14593 : operands[3] = x9;
14594 : x10 = XVECEXP (x8, 0, 0);
14595 : if (!rtx_equal_p (x10, operands[6]))
14596 : return -1;
14597 : switch (GET_MODE (operands[5]))
14598 : {
14599 : case E_V16SImode:
14600 : if (!vsib_mem_operator (operands[5], E_V16SImode)
14601 : || GET_MODE (x8) != E_V16SImode)
14602 : return -1;
14603 : switch (GET_MODE (x3))
14604 : {
14605 : case E_SImode:
14606 : switch (pattern1720 (
14607 : E_SImode))
14608 : {
14609 : case 0:
14610 : if (!(
14611 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14612 : (TARGET_AVX512F) &&
14613 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14614 : (Pmode == SImode)))
14615 : return -1;
14616 : *pnum_clobbers = 1;
14617 : return 9911; /* *avx512f_scattersiv16si */
14618 :
14619 : case 1:
14620 : if (!(
14621 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14622 : (TARGET_AVX512F) &&
14623 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14624 : (Pmode == SImode)))
14625 : return -1;
14626 : *pnum_clobbers = 1;
14627 : return 9935; /* *avx512f_scatterdiv16si */
14628 :
14629 : default:
14630 : return -1;
14631 : }
14632 :
14633 : case E_DImode:
14634 : switch (pattern1720 (
14635 : E_DImode))
14636 : {
14637 : case 0:
14638 : if (!(
14639 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14640 : (TARGET_AVX512F) &&
14641 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14642 : (Pmode == DImode)))
14643 : return -1;
14644 : *pnum_clobbers = 1;
14645 : return 9923; /* *avx512f_scattersiv16si */
14646 :
14647 : case 1:
14648 : if (!(
14649 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14650 : (TARGET_AVX512F) &&
14651 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14652 : (Pmode == DImode)))
14653 : return -1;
14654 : *pnum_clobbers = 1;
14655 : return 9947; /* *avx512f_scatterdiv16si */
14656 :
14657 : default:
14658 : return -1;
14659 : }
14660 :
14661 : default:
14662 : return -1;
14663 : }
14664 :
14665 : case E_V16SFmode:
14666 : if (!vsib_mem_operator (operands[5], E_V16SFmode)
14667 : || GET_MODE (x8) != E_V16SFmode)
14668 : return -1;
14669 : switch (GET_MODE (x3))
14670 : {
14671 : case E_SImode:
14672 : switch (pattern1721 (
14673 : E_SImode))
14674 : {
14675 : case 0:
14676 : if (!(
14677 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14678 : (TARGET_AVX512F) &&
14679 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14680 : (Pmode == SImode)))
14681 : return -1;
14682 : *pnum_clobbers = 1;
14683 : return 9912; /* *avx512f_scattersiv16sf */
14684 :
14685 : case 1:
14686 : if (!(
14687 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14688 : (TARGET_AVX512F) &&
14689 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14690 : (Pmode == SImode)))
14691 : return -1;
14692 : *pnum_clobbers = 1;
14693 : return 9936; /* *avx512f_scatterdiv16sf */
14694 :
14695 : default:
14696 : return -1;
14697 : }
14698 :
14699 : case E_DImode:
14700 : switch (pattern1721 (
14701 : E_DImode))
14702 : {
14703 : case 0:
14704 : if (!(
14705 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14706 : (TARGET_AVX512F) &&
14707 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14708 : (Pmode == DImode)))
14709 : return -1;
14710 : *pnum_clobbers = 1;
14711 : return 9924; /* *avx512f_scattersiv16sf */
14712 :
14713 : case 1:
14714 : if (!(
14715 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14716 : (TARGET_AVX512F) &&
14717 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14718 : (Pmode == DImode)))
14719 : return -1;
14720 : *pnum_clobbers = 1;
14721 : return 9948; /* *avx512f_scatterdiv16sf */
14722 :
14723 : default:
14724 : return -1;
14725 : }
14726 :
14727 : default:
14728 : return -1;
14729 : }
14730 :
14731 : case E_V8DImode:
14732 : switch (pattern1615 (x1,
14733 : E_V8DImode))
14734 : {
14735 : case 0:
14736 : if (!(
14737 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14738 : (TARGET_AVX512F) &&
14739 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14740 : (Pmode == SImode)))
14741 : return -1;
14742 : *pnum_clobbers = 1;
14743 : return 9913; /* *avx512f_scattersiv8di */
14744 :
14745 : case 1:
14746 : if (!(
14747 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14748 : (TARGET_AVX512F) &&
14749 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14750 : (Pmode == SImode)))
14751 : return -1;
14752 : *pnum_clobbers = 1;
14753 : return 9937; /* *avx512f_scatterdiv8di */
14754 :
14755 : case 2:
14756 : if (!(
14757 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14758 : (TARGET_AVX512F) &&
14759 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14760 : (Pmode == DImode)))
14761 : return -1;
14762 : *pnum_clobbers = 1;
14763 : return 9925; /* *avx512f_scattersiv8di */
14764 :
14765 : case 3:
14766 : if (!(
14767 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14768 : (TARGET_AVX512F) &&
14769 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14770 : (Pmode == DImode)))
14771 : return -1;
14772 : *pnum_clobbers = 1;
14773 : return 9949; /* *avx512f_scatterdiv8di */
14774 :
14775 : default:
14776 : return -1;
14777 : }
14778 :
14779 : case E_V8DFmode:
14780 : switch (pattern1615 (x1,
14781 : E_V8DFmode))
14782 : {
14783 : case 0:
14784 : if (!(
14785 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14786 : (TARGET_AVX512F) &&
14787 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14788 : (Pmode == SImode)))
14789 : return -1;
14790 : *pnum_clobbers = 1;
14791 : return 9914; /* *avx512f_scattersiv8df */
14792 :
14793 : case 1:
14794 : if (!(
14795 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14796 : (TARGET_AVX512F) &&
14797 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14798 : (Pmode == SImode)))
14799 : return -1;
14800 : *pnum_clobbers = 1;
14801 : return 9938; /* *avx512f_scatterdiv8df */
14802 :
14803 : case 2:
14804 : if (!(
14805 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14806 : (TARGET_AVX512F) &&
14807 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14808 : (Pmode == DImode)))
14809 : return -1;
14810 : *pnum_clobbers = 1;
14811 : return 9926; /* *avx512f_scattersiv8df */
14812 :
14813 : case 3:
14814 : if (!(
14815 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14816 : (TARGET_AVX512F) &&
14817 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14818 : (Pmode == DImode)))
14819 : return -1;
14820 : *pnum_clobbers = 1;
14821 : return 9950; /* *avx512f_scatterdiv8df */
14822 :
14823 : default:
14824 : return -1;
14825 : }
14826 :
14827 : case E_V8SImode:
14828 : switch (pattern1616 (x1,
14829 : E_V8SImode))
14830 : {
14831 : case 0:
14832 : switch (pattern1759 (
14833 : E_SImode))
14834 : {
14835 : case 0:
14836 : if (!(
14837 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14838 : (TARGET_AVX512F) && ((((
14839 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14840 : (TARGET_AVX512VL) &&
14841 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14842 : (Pmode == SImode)) &&
14843 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14844 : (Pmode == SImode)) &&
14845 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14846 : (TARGET_AVX512VL)) &&
14847 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14848 : (TARGET_AVX512VL))))
14849 : return -1;
14850 : *pnum_clobbers = 1;
14851 : return 9915; /* *avx512f_scattersiv8si */
14852 :
14853 : case 1:
14854 : if (!(
14855 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14856 : (TARGET_AVX512F) && (((
14857 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14858 : (TARGET_AVX512VL) &&
14859 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14860 : (Pmode == SImode)) &&
14861 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14862 : (Pmode == SImode)) &&
14863 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14864 : (TARGET_AVX512VL))))
14865 : return -1;
14866 : *pnum_clobbers = 1;
14867 : return 9939; /* *avx512f_scatterdiv8si */
14868 :
14869 : default:
14870 : return -1;
14871 : }
14872 :
14873 : case 1:
14874 : switch (pattern1759 (
14875 : E_DImode))
14876 : {
14877 : case 0:
14878 : if (!(
14879 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14880 : (TARGET_AVX512F) && ((((
14881 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14882 : (TARGET_AVX512VL) &&
14883 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14884 : (Pmode == DImode)) &&
14885 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14886 : (Pmode == DImode)) &&
14887 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14888 : (TARGET_AVX512VL)) &&
14889 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14890 : (TARGET_AVX512VL))))
14891 : return -1;
14892 : *pnum_clobbers = 1;
14893 : return 9927; /* *avx512f_scattersiv8si */
14894 :
14895 : case 1:
14896 : if (!(
14897 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14898 : (TARGET_AVX512F) && (((
14899 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14900 : (TARGET_AVX512VL) &&
14901 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14902 : (Pmode == DImode)) &&
14903 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14904 : (Pmode == DImode)) &&
14905 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14906 : (TARGET_AVX512VL))))
14907 : return -1;
14908 : *pnum_clobbers = 1;
14909 : return 9951; /* *avx512f_scatterdiv8si */
14910 :
14911 : default:
14912 : return -1;
14913 : }
14914 :
14915 : default:
14916 : return -1;
14917 : }
14918 :
14919 : case E_V8SFmode:
14920 : switch (pattern1616 (x1,
14921 : E_V8SFmode))
14922 : {
14923 : case 0:
14924 : switch (pattern1760 (
14925 : E_SImode))
14926 : {
14927 : case 0:
14928 : if (!(
14929 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14930 : (TARGET_AVX512F) && ((((
14931 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14932 : (TARGET_AVX512VL) &&
14933 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14934 : (Pmode == SImode)) &&
14935 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14936 : (Pmode == SImode)) &&
14937 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14938 : (TARGET_AVX512VL)) &&
14939 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14940 : (TARGET_AVX512VL))))
14941 : return -1;
14942 : *pnum_clobbers = 1;
14943 : return 9916; /* *avx512f_scattersiv8sf */
14944 :
14945 : case 1:
14946 : if (!(
14947 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14948 : (TARGET_AVX512F) && (((
14949 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14950 : (TARGET_AVX512VL) &&
14951 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14952 : (Pmode == SImode)) &&
14953 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14954 : (Pmode == SImode)) &&
14955 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14956 : (TARGET_AVX512VL))))
14957 : return -1;
14958 : *pnum_clobbers = 1;
14959 : return 9940; /* *avx512f_scatterdiv8sf */
14960 :
14961 : default:
14962 : return -1;
14963 : }
14964 :
14965 : case 1:
14966 : switch (pattern1760 (
14967 : E_DImode))
14968 : {
14969 : case 0:
14970 : if (!(
14971 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14972 : (TARGET_AVX512F) && ((((
14973 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14974 : (TARGET_AVX512VL) &&
14975 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14976 : (Pmode == DImode)) &&
14977 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14978 : (Pmode == DImode)) &&
14979 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14980 : (TARGET_AVX512VL)) &&
14981 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14982 : (TARGET_AVX512VL))))
14983 : return -1;
14984 : *pnum_clobbers = 1;
14985 : return 9928; /* *avx512f_scattersiv8sf */
14986 :
14987 : case 1:
14988 : if (!(
14989 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14990 : (TARGET_AVX512F) && (((
14991 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14992 : (TARGET_AVX512VL) &&
14993 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14994 : (Pmode == DImode)) &&
14995 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14996 : (Pmode == DImode)) &&
14997 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14998 : (TARGET_AVX512VL))))
14999 : return -1;
15000 : *pnum_clobbers = 1;
15001 : return 9952; /* *avx512f_scatterdiv8sf */
15002 :
15003 : default:
15004 : return -1;
15005 : }
15006 :
15007 : default:
15008 : return -1;
15009 : }
15010 :
15011 : case E_V4DImode:
15012 : switch (pattern1618 (x1,
15013 : E_V4DImode))
15014 : {
15015 : case 0:
15016 : if (!(
15017 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15018 : (TARGET_AVX512F) && ((((
15019 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15020 : (TARGET_AVX512VL) &&
15021 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15022 : (Pmode == SImode)) &&
15023 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15024 : (Pmode == SImode)) &&
15025 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15026 : (TARGET_AVX512VL)) &&
15027 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15028 : (TARGET_AVX512VL))))
15029 : return -1;
15030 : *pnum_clobbers = 1;
15031 : return 9917; /* *avx512f_scattersiv4di */
15032 :
15033 : case 1:
15034 : if (!(
15035 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15036 : (TARGET_AVX512F) && (((
15037 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15038 : (TARGET_AVX512VL) &&
15039 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15040 : (Pmode == SImode)) &&
15041 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15042 : (Pmode == SImode)) &&
15043 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15044 : (TARGET_AVX512VL))))
15045 : return -1;
15046 : *pnum_clobbers = 1;
15047 : return 9941; /* *avx512f_scatterdiv4di */
15048 :
15049 : case 2:
15050 : if (!(
15051 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15052 : (TARGET_AVX512F) && ((((
15053 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15054 : (TARGET_AVX512VL) &&
15055 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15056 : (Pmode == DImode)) &&
15057 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15058 : (Pmode == DImode)) &&
15059 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15060 : (TARGET_AVX512VL)) &&
15061 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15062 : (TARGET_AVX512VL))))
15063 : return -1;
15064 : *pnum_clobbers = 1;
15065 : return 9929; /* *avx512f_scattersiv4di */
15066 :
15067 : case 3:
15068 : if (!(
15069 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15070 : (TARGET_AVX512F) && (((
15071 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15072 : (TARGET_AVX512VL) &&
15073 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15074 : (Pmode == DImode)) &&
15075 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15076 : (Pmode == DImode)) &&
15077 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15078 : (TARGET_AVX512VL))))
15079 : return -1;
15080 : *pnum_clobbers = 1;
15081 : return 9953; /* *avx512f_scatterdiv4di */
15082 :
15083 : default:
15084 : return -1;
15085 : }
15086 :
15087 : case E_V4DFmode:
15088 : switch (pattern1618 (x1,
15089 : E_V4DFmode))
15090 : {
15091 : case 0:
15092 : if (!(
15093 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15094 : (TARGET_AVX512F) && ((((
15095 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15096 : (TARGET_AVX512VL) &&
15097 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15098 : (Pmode == SImode)) &&
15099 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15100 : (Pmode == SImode)) &&
15101 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15102 : (TARGET_AVX512VL)) &&
15103 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15104 : (TARGET_AVX512VL))))
15105 : return -1;
15106 : *pnum_clobbers = 1;
15107 : return 9918; /* *avx512f_scattersiv4df */
15108 :
15109 : case 1:
15110 : if (!(
15111 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15112 : (TARGET_AVX512F) && (((
15113 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15114 : (TARGET_AVX512VL) &&
15115 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15116 : (Pmode == SImode)) &&
15117 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15118 : (Pmode == SImode)) &&
15119 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15120 : (TARGET_AVX512VL))))
15121 : return -1;
15122 : *pnum_clobbers = 1;
15123 : return 9942; /* *avx512f_scatterdiv4df */
15124 :
15125 : case 2:
15126 : if (!(
15127 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15128 : (TARGET_AVX512F) && ((((
15129 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15130 : (TARGET_AVX512VL) &&
15131 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15132 : (Pmode == DImode)) &&
15133 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15134 : (Pmode == DImode)) &&
15135 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15136 : (TARGET_AVX512VL)) &&
15137 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15138 : (TARGET_AVX512VL))))
15139 : return -1;
15140 : *pnum_clobbers = 1;
15141 : return 9930; /* *avx512f_scattersiv4df */
15142 :
15143 : case 3:
15144 : if (!(
15145 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15146 : (TARGET_AVX512F) && (((
15147 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15148 : (TARGET_AVX512VL) &&
15149 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15150 : (Pmode == DImode)) &&
15151 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15152 : (Pmode == DImode)) &&
15153 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15154 : (TARGET_AVX512VL))))
15155 : return -1;
15156 : *pnum_clobbers = 1;
15157 : return 9954; /* *avx512f_scatterdiv4df */
15158 :
15159 : default:
15160 : return -1;
15161 : }
15162 :
15163 : case E_V4SImode:
15164 : switch (pattern1620 (x1,
15165 : E_V4SImode))
15166 : {
15167 : case 0:
15168 : if (!(
15169 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15170 : (TARGET_AVX512F) && ((((
15171 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15172 : (TARGET_AVX512VL) &&
15173 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15174 : (Pmode == SImode)) &&
15175 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15176 : (Pmode == SImode)) &&
15177 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15178 : (TARGET_AVX512VL)) &&
15179 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15180 : (TARGET_AVX512VL))))
15181 : return -1;
15182 : *pnum_clobbers = 1;
15183 : return 9919; /* *avx512f_scattersiv4si */
15184 :
15185 : case 1:
15186 : if (!(
15187 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15188 : (TARGET_AVX512F) && (((
15189 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15190 : (TARGET_AVX512VL) &&
15191 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15192 : (Pmode == SImode)) &&
15193 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15194 : (Pmode == SImode)) &&
15195 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15196 : (TARGET_AVX512VL))))
15197 : return -1;
15198 : *pnum_clobbers = 1;
15199 : return 9943; /* *avx512f_scatterdiv4si */
15200 :
15201 : case 2:
15202 : if (!(
15203 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15204 : (TARGET_AVX512F) && ((((
15205 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15206 : (TARGET_AVX512VL) &&
15207 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15208 : (Pmode == DImode)) &&
15209 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15210 : (Pmode == DImode)) &&
15211 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15212 : (TARGET_AVX512VL)) &&
15213 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15214 : (TARGET_AVX512VL))))
15215 : return -1;
15216 : *pnum_clobbers = 1;
15217 : return 9931; /* *avx512f_scattersiv4si */
15218 :
15219 : case 3:
15220 : if (!(
15221 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15222 : (TARGET_AVX512F) && (((
15223 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15224 : (TARGET_AVX512VL) &&
15225 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15226 : (Pmode == DImode)) &&
15227 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15228 : (Pmode == DImode)) &&
15229 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15230 : (TARGET_AVX512VL))))
15231 : return -1;
15232 : *pnum_clobbers = 1;
15233 : return 9955; /* *avx512f_scatterdiv4si */
15234 :
15235 : default:
15236 : return -1;
15237 : }
15238 :
15239 : case E_V4SFmode:
15240 : switch (pattern1620 (x1,
15241 : E_V4SFmode))
15242 : {
15243 : case 0:
15244 : if (!(
15245 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15246 : (TARGET_AVX512F) && ((((
15247 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15248 : (TARGET_AVX512VL) &&
15249 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15250 : (Pmode == SImode)) &&
15251 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15252 : (Pmode == SImode)) &&
15253 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15254 : (TARGET_AVX512VL)) &&
15255 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15256 : (TARGET_AVX512VL))))
15257 : return -1;
15258 : *pnum_clobbers = 1;
15259 : return 9920; /* *avx512f_scattersiv4sf */
15260 :
15261 : case 1:
15262 : if (!(
15263 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15264 : (TARGET_AVX512F) && (((
15265 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15266 : (TARGET_AVX512VL) &&
15267 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15268 : (Pmode == SImode)) &&
15269 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15270 : (Pmode == SImode)) &&
15271 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15272 : (TARGET_AVX512VL))))
15273 : return -1;
15274 : *pnum_clobbers = 1;
15275 : return 9944; /* *avx512f_scatterdiv4sf */
15276 :
15277 : case 2:
15278 : if (!(
15279 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15280 : (TARGET_AVX512F) && ((((
15281 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15282 : (TARGET_AVX512VL) &&
15283 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15284 : (Pmode == DImode)) &&
15285 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15286 : (Pmode == DImode)) &&
15287 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15288 : (TARGET_AVX512VL)) &&
15289 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15290 : (TARGET_AVX512VL))))
15291 : return -1;
15292 : *pnum_clobbers = 1;
15293 : return 9932; /* *avx512f_scattersiv4sf */
15294 :
15295 : case 3:
15296 : if (!(
15297 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15298 : (TARGET_AVX512F) && (((
15299 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15300 : (TARGET_AVX512VL) &&
15301 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15302 : (Pmode == DImode)) &&
15303 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15304 : (Pmode == DImode)) &&
15305 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15306 : (TARGET_AVX512VL))))
15307 : return -1;
15308 : *pnum_clobbers = 1;
15309 : return 9956; /* *avx512f_scatterdiv4sf */
15310 :
15311 : default:
15312 : return -1;
15313 : }
15314 :
15315 : case E_V2DImode:
15316 : switch (pattern1620 (x1,
15317 : E_V2DImode))
15318 : {
15319 : case 0:
15320 : if (!(
15321 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15322 : (TARGET_AVX512F) && ((((
15323 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15324 : (TARGET_AVX512VL) &&
15325 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15326 : (Pmode == SImode)) &&
15327 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15328 : (Pmode == SImode)) &&
15329 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15330 : (TARGET_AVX512VL)) &&
15331 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15332 : (TARGET_AVX512VL))))
15333 : return -1;
15334 : *pnum_clobbers = 1;
15335 : return 9921; /* *avx512f_scattersiv2di */
15336 :
15337 : case 1:
15338 : if (!(
15339 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15340 : (TARGET_AVX512F) && (((
15341 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15342 : (TARGET_AVX512VL) &&
15343 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15344 : (Pmode == SImode)) &&
15345 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15346 : (Pmode == SImode)) &&
15347 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15348 : (TARGET_AVX512VL))))
15349 : return -1;
15350 : *pnum_clobbers = 1;
15351 : return 9945; /* *avx512f_scatterdiv2di */
15352 :
15353 : case 2:
15354 : if (!(
15355 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15356 : (TARGET_AVX512F) && ((((
15357 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15358 : (TARGET_AVX512VL) &&
15359 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15360 : (Pmode == DImode)) &&
15361 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15362 : (Pmode == DImode)) &&
15363 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15364 : (TARGET_AVX512VL)) &&
15365 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15366 : (TARGET_AVX512VL))))
15367 : return -1;
15368 : *pnum_clobbers = 1;
15369 : return 9933; /* *avx512f_scattersiv2di */
15370 :
15371 : case 3:
15372 : if (!(
15373 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15374 : (TARGET_AVX512F) && (((
15375 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15376 : (TARGET_AVX512VL) &&
15377 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15378 : (Pmode == DImode)) &&
15379 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15380 : (Pmode == DImode)) &&
15381 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15382 : (TARGET_AVX512VL))))
15383 : return -1;
15384 : *pnum_clobbers = 1;
15385 : return 9957; /* *avx512f_scatterdiv2di */
15386 :
15387 : default:
15388 : return -1;
15389 : }
15390 :
15391 : case E_V2DFmode:
15392 : switch (pattern1620 (x1,
15393 : E_V2DFmode))
15394 : {
15395 : case 0:
15396 : if (!(
15397 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15398 : (TARGET_AVX512F) && ((((
15399 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15400 : (TARGET_AVX512VL) &&
15401 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15402 : (Pmode == SImode)) &&
15403 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15404 : (Pmode == SImode)) &&
15405 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15406 : (TARGET_AVX512VL)) &&
15407 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15408 : (TARGET_AVX512VL))))
15409 : return -1;
15410 : *pnum_clobbers = 1;
15411 : return 9922; /* *avx512f_scattersiv2df */
15412 :
15413 : case 1:
15414 : if (!(
15415 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15416 : (TARGET_AVX512F) && (((
15417 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15418 : (TARGET_AVX512VL) &&
15419 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15420 : (Pmode == SImode)) &&
15421 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15422 : (Pmode == SImode)) &&
15423 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15424 : (TARGET_AVX512VL))))
15425 : return -1;
15426 : *pnum_clobbers = 1;
15427 : return 9946; /* *avx512f_scatterdiv2df */
15428 :
15429 : case 2:
15430 : if (!(
15431 : #line 30300 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15432 : (TARGET_AVX512F) && ((((
15433 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15434 : (TARGET_AVX512VL) &&
15435 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15436 : (Pmode == DImode)) &&
15437 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15438 : (Pmode == DImode)) &&
15439 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15440 : (TARGET_AVX512VL)) &&
15441 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15442 : (TARGET_AVX512VL))))
15443 : return -1;
15444 : *pnum_clobbers = 1;
15445 : return 9934; /* *avx512f_scattersiv2df */
15446 :
15447 : case 3:
15448 : if (!(
15449 : #line 30340 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15450 : (TARGET_AVX512F) && (((
15451 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15452 : (TARGET_AVX512VL) &&
15453 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15454 : (Pmode == DImode)) &&
15455 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
15456 : (Pmode == DImode)) &&
15457 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15458 : (TARGET_AVX512VL))))
15459 : return -1;
15460 : *pnum_clobbers = 1;
15461 : return 9958; /* *avx512f_scatterdiv2df */
15462 :
15463 : default:
15464 : return -1;
15465 : }
15466 :
15467 : default:
15468 : return -1;
15469 : }
15470 : }
15471 :
15472 : int
15473 : recog_255 (rtx x1 ATTRIBUTE_UNUSED,
15474 : rtx_insn *insn ATTRIBUTE_UNUSED,
15475 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15476 : {
15477 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15478 : rtx x2, x3, x4, x5, x6;
15479 : int res ATTRIBUTE_UNUSED;
15480 : x2 = XEXP (x1, 0);
15481 : operands[0] = x2;
15482 : x3 = XEXP (x1, 1);
15483 : x4 = XVECEXP (x3, 0, 0);
15484 : operands[1] = x4;
15485 : x5 = XVECEXP (x3, 0, 1);
15486 : operands[2] = x5;
15487 : x6 = XVECEXP (x3, 0, 2);
15488 : operands[3] = x6;
15489 : switch (GET_MODE (operands[0]))
15490 : {
15491 : case E_V16SImode:
15492 : if (pattern915 (x3,
15493 : E_HImode,
15494 : E_V16SImode) != 0
15495 : || !
15496 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15497 : (TARGET_AVX512F))
15498 : return -1;
15499 : return 9959; /* avx512f_compressv16si_mask */
15500 :
15501 : case E_V16SFmode:
15502 : if (pattern915 (x3,
15503 : E_HImode,
15504 : E_V16SFmode) != 0
15505 : || !
15506 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15507 : (TARGET_AVX512F))
15508 : return -1;
15509 : return 9960; /* avx512f_compressv16sf_mask */
15510 :
15511 : case E_V8DImode:
15512 : if (pattern915 (x3,
15513 : E_QImode,
15514 : E_V8DImode) != 0
15515 : || !
15516 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15517 : (TARGET_AVX512F))
15518 : return -1;
15519 : return 9961; /* avx512f_compressv8di_mask */
15520 :
15521 : case E_V8DFmode:
15522 : if (pattern915 (x3,
15523 : E_QImode,
15524 : E_V8DFmode) != 0
15525 : || !
15526 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15527 : (TARGET_AVX512F))
15528 : return -1;
15529 : return 9962; /* avx512f_compressv8df_mask */
15530 :
15531 : case E_V8SImode:
15532 : if (pattern915 (x3,
15533 : E_QImode,
15534 : E_V8SImode) != 0
15535 : || !(
15536 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15537 : (TARGET_AVX512F) &&
15538 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15539 : (TARGET_AVX512VL)))
15540 : return -1;
15541 : return 9963; /* avx512vl_compressv8si_mask */
15542 :
15543 : case E_V8SFmode:
15544 : if (pattern915 (x3,
15545 : E_QImode,
15546 : E_V8SFmode) != 0
15547 : || !(
15548 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15549 : (TARGET_AVX512F) &&
15550 : #line 993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15551 : (TARGET_AVX512VL)))
15552 : return -1;
15553 : return 9964; /* avx512vl_compressv8sf_mask */
15554 :
15555 : case E_V4DImode:
15556 : if (pattern915 (x3,
15557 : E_QImode,
15558 : E_V4DImode) != 0
15559 : || !(
15560 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15561 : (TARGET_AVX512F) &&
15562 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15563 : (TARGET_AVX512VL)))
15564 : return -1;
15565 : return 9965; /* avx512vl_compressv4di_mask */
15566 :
15567 : case E_V4DFmode:
15568 : if (pattern915 (x3,
15569 : E_QImode,
15570 : E_V4DFmode) != 0
15571 : || !(
15572 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15573 : (TARGET_AVX512F) &&
15574 : #line 994 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15575 : (TARGET_AVX512VL)))
15576 : return -1;
15577 : return 9966; /* avx512vl_compressv4df_mask */
15578 :
15579 : case E_V4SImode:
15580 : if (pattern915 (x3,
15581 : E_QImode,
15582 : E_V4SImode) != 0
15583 : || !(
15584 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15585 : (TARGET_AVX512F) &&
15586 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15587 : (TARGET_AVX512VL)))
15588 : return -1;
15589 : return 9967; /* avx512vl_compressv4si_mask */
15590 :
15591 : case E_V4SFmode:
15592 : if (pattern915 (x3,
15593 : E_QImode,
15594 : E_V4SFmode) != 0
15595 : || !(
15596 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15597 : (TARGET_AVX512F) &&
15598 : #line 995 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15599 : (TARGET_AVX512VL)))
15600 : return -1;
15601 : return 9968; /* avx512vl_compressv4sf_mask */
15602 :
15603 : case E_V2DImode:
15604 : if (pattern915 (x3,
15605 : E_QImode,
15606 : E_V2DImode) != 0
15607 : || !(
15608 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15609 : (TARGET_AVX512F) &&
15610 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15611 : (TARGET_AVX512VL)))
15612 : return -1;
15613 : return 9969; /* avx512vl_compressv2di_mask */
15614 :
15615 : case E_V2DFmode:
15616 : if (pattern915 (x3,
15617 : E_QImode,
15618 : E_V2DFmode) != 0
15619 : || !(
15620 : #line 30355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15621 : (TARGET_AVX512F) &&
15622 : #line 996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15623 : (TARGET_AVX512VL)))
15624 : return -1;
15625 : return 9970; /* avx512vl_compressv2df_mask */
15626 :
15627 : case E_V64QImode:
15628 : if (pattern915 (x3,
15629 : E_DImode,
15630 : E_V64QImode) != 0
15631 : || !
15632 : #line 30368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15633 : (TARGET_AVX512VBMI2))
15634 : return -1;
15635 : return 9971; /* compressv64qi_mask */
15636 :
15637 : case E_V16QImode:
15638 : if (pattern915 (x3,
15639 : E_HImode,
15640 : E_V16QImode) != 0
15641 : || !(
15642 : #line 30368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15643 : (TARGET_AVX512VBMI2) &&
15644 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15645 : (TARGET_AVX512VL)))
15646 : return -1;
15647 : return 9972; /* compressv16qi_mask */
15648 :
15649 : case E_V32QImode:
15650 : if (pattern915 (x3,
15651 : E_SImode,
15652 : E_V32QImode) != 0
15653 : || !(
15654 : #line 30368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15655 : (TARGET_AVX512VBMI2) &&
15656 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15657 : (TARGET_AVX512VL)))
15658 : return -1;
15659 : return 9973; /* compressv32qi_mask */
15660 :
15661 : case E_V32HImode:
15662 : if (pattern915 (x3,
15663 : E_SImode,
15664 : E_V32HImode) != 0
15665 : || !
15666 : #line 30368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15667 : (TARGET_AVX512VBMI2))
15668 : return -1;
15669 : return 9974; /* compressv32hi_mask */
15670 :
15671 : case E_V16HImode:
15672 : if (pattern915 (x3,
15673 : E_HImode,
15674 : E_V16HImode) != 0
15675 : || !(
15676 : #line 30368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15677 : (TARGET_AVX512VBMI2) &&
15678 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15679 : (TARGET_AVX512VL)))
15680 : return -1;
15681 : return 9975; /* compressv16hi_mask */
15682 :
15683 : case E_V8HImode:
15684 : if (pattern915 (x3,
15685 : E_QImode,
15686 : E_V8HImode) != 0
15687 : || !(
15688 : #line 30368 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15689 : (TARGET_AVX512VBMI2) &&
15690 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15691 : (TARGET_AVX512VL)))
15692 : return -1;
15693 : return 9976; /* compressv8hi_mask */
15694 :
15695 : default:
15696 : return -1;
15697 : }
15698 : }
15699 :
15700 : int
15701 : recog_268 (rtx x1 ATTRIBUTE_UNUSED,
15702 : rtx_insn *insn ATTRIBUTE_UNUSED,
15703 : int *pnum_clobbers ATTRIBUTE_UNUSED)
15704 : {
15705 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
15706 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
15707 : rtx x10, x11, x12;
15708 : int res ATTRIBUTE_UNUSED;
15709 : x2 = XEXP (x1, 0);
15710 : operands[0] = x2;
15711 : x3 = XEXP (x1, 1);
15712 : switch (XINT (x3, 1))
15713 : {
15714 : case 165:
15715 : x4 = XVECEXP (x3, 0, 0);
15716 : operands[1] = x4;
15717 : x5 = XVECEXP (x3, 0, 1);
15718 : operands[2] = x5;
15719 : x6 = XVECEXP (x3, 0, 2);
15720 : operands[3] = x6;
15721 : x7 = XVECEXP (x3, 0, 3);
15722 : operands[4] = x7;
15723 : if (!const_0_to_255_operand (operands[4], E_SImode))
15724 : return -1;
15725 : switch (GET_MODE (operands[0]))
15726 : {
15727 : case E_V16SImode:
15728 : if (pattern1147 (x3,
15729 : E_V16SImode) != 0)
15730 : return -1;
15731 : if (
15732 : #line 13976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15733 : (TARGET_AVX512F))
15734 : return 5477; /* avx512f_vternlogv16si */
15735 : if (!(
15736 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15737 : ((64 == 64 || TARGET_AVX512VL
15738 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15739 : /* Disallow embeded broadcast for vector HFmode since
15740 : it's not real AVX512FP16 instruction. */
15741 : && (GET_MODE_SIZE (GET_MODE_INNER (V16SImode)) >= 4
15742 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15743 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15744 : (TARGET_AVX512F)))
15745 : return -1;
15746 : return 5495; /* *avx512f_vternlogv16si_all */
15747 :
15748 : case E_V8SImode:
15749 : if (pattern1147 (x3,
15750 : E_V8SImode) != 0)
15751 : return -1;
15752 : if ((
15753 : #line 13976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15754 : (TARGET_AVX512F) &&
15755 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15756 : (TARGET_AVX512VL)))
15757 : return 5479; /* avx512vl_vternlogv8si */
15758 : if (!(
15759 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15760 : ((32 == 64 || TARGET_AVX512VL
15761 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15762 : /* Disallow embeded broadcast for vector HFmode since
15763 : it's not real AVX512FP16 instruction. */
15764 : && (GET_MODE_SIZE (GET_MODE_INNER (V8SImode)) >= 4
15765 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15766 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15767 : (TARGET_AVX)))
15768 : return -1;
15769 : return 5496; /* *avx512vl_vternlogv8si_all */
15770 :
15771 : case E_V4SImode:
15772 : if (pattern1147 (x3,
15773 : E_V4SImode) != 0)
15774 : return -1;
15775 : if ((
15776 : #line 13976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15777 : (TARGET_AVX512F) &&
15778 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15779 : (TARGET_AVX512VL)))
15780 : return 5481; /* avx512vl_vternlogv4si */
15781 : if (!
15782 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15783 : ((16 == 64 || TARGET_AVX512VL
15784 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15785 : /* Disallow embeded broadcast for vector HFmode since
15786 : it's not real AVX512FP16 instruction. */
15787 : && (GET_MODE_SIZE (GET_MODE_INNER (V4SImode)) >= 4
15788 : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15789 : return -1;
15790 : return 5497; /* *avx512vl_vternlogv4si_all */
15791 :
15792 : case E_V8DImode:
15793 : if (pattern1147 (x3,
15794 : E_V8DImode) != 0)
15795 : return -1;
15796 : if (
15797 : #line 13976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15798 : (TARGET_AVX512F))
15799 : return 5483; /* avx512f_vternlogv8di */
15800 : if (!(
15801 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15802 : ((64 == 64 || TARGET_AVX512VL
15803 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15804 : /* Disallow embeded broadcast for vector HFmode since
15805 : it's not real AVX512FP16 instruction. */
15806 : && (GET_MODE_SIZE (GET_MODE_INNER (V8DImode)) >= 4
15807 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15808 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15809 : (TARGET_AVX512F)))
15810 : return -1;
15811 : return 5498; /* *avx512f_vternlogv8di_all */
15812 :
15813 : case E_V4DImode:
15814 : if (pattern1147 (x3,
15815 : E_V4DImode) != 0)
15816 : return -1;
15817 : if ((
15818 : #line 13976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15819 : (TARGET_AVX512F) &&
15820 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15821 : (TARGET_AVX512VL)))
15822 : return 5485; /* avx512vl_vternlogv4di */
15823 : if (!(
15824 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15825 : ((32 == 64 || TARGET_AVX512VL
15826 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15827 : /* Disallow embeded broadcast for vector HFmode since
15828 : it's not real AVX512FP16 instruction. */
15829 : && (GET_MODE_SIZE (GET_MODE_INNER (V4DImode)) >= 4
15830 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15831 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15832 : (TARGET_AVX)))
15833 : return -1;
15834 : return 5499; /* *avx512vl_vternlogv4di_all */
15835 :
15836 : case E_V2DImode:
15837 : if (pattern1147 (x3,
15838 : E_V2DImode) != 0)
15839 : return -1;
15840 : if ((
15841 : #line 13976 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15842 : (TARGET_AVX512F) &&
15843 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15844 : (TARGET_AVX512VL)))
15845 : return 5487; /* avx512vl_vternlogv2di */
15846 : if (!
15847 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15848 : ((16 == 64 || TARGET_AVX512VL
15849 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15850 : /* Disallow embeded broadcast for vector HFmode since
15851 : it's not real AVX512FP16 instruction. */
15852 : && (GET_MODE_SIZE (GET_MODE_INNER (V2DImode)) >= 4
15853 : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15854 : return -1;
15855 : return 5500; /* *avx512vl_vternlogv2di_all */
15856 :
15857 : case E_V64QImode:
15858 : if (pattern1147 (x3,
15859 : E_V64QImode) != 0
15860 : || !(
15861 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15862 : ((64 == 64 || TARGET_AVX512VL
15863 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15864 : /* Disallow embeded broadcast for vector HFmode since
15865 : it's not real AVX512FP16 instruction. */
15866 : && (GET_MODE_SIZE (GET_MODE_INNER (V64QImode)) >= 4
15867 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15868 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15869 : (TARGET_AVX512F)))
15870 : return -1;
15871 : return 5489; /* *avx512bw_vternlogv64qi_all */
15872 :
15873 : case E_V32QImode:
15874 : if (pattern1147 (x3,
15875 : E_V32QImode) != 0
15876 : || !(
15877 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15878 : ((32 == 64 || TARGET_AVX512VL
15879 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15880 : /* Disallow embeded broadcast for vector HFmode since
15881 : it's not real AVX512FP16 instruction. */
15882 : && (GET_MODE_SIZE (GET_MODE_INNER (V32QImode)) >= 4
15883 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15884 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15885 : (TARGET_AVX)))
15886 : return -1;
15887 : return 5490; /* *avx512vl_vternlogv32qi_all */
15888 :
15889 : case E_V16QImode:
15890 : if (pattern1147 (x3,
15891 : E_V16QImode) != 0
15892 : || !
15893 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15894 : ((16 == 64 || TARGET_AVX512VL
15895 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15896 : /* Disallow embeded broadcast for vector HFmode since
15897 : it's not real AVX512FP16 instruction. */
15898 : && (GET_MODE_SIZE (GET_MODE_INNER (V16QImode)) >= 4
15899 : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15900 : return -1;
15901 : return 5491; /* *avx512vl_vternlogv16qi_all */
15902 :
15903 : case E_V32HImode:
15904 : if (pattern1147 (x3,
15905 : E_V32HImode) != 0
15906 : || !(
15907 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15908 : ((64 == 64 || TARGET_AVX512VL
15909 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15910 : /* Disallow embeded broadcast for vector HFmode since
15911 : it's not real AVX512FP16 instruction. */
15912 : && (GET_MODE_SIZE (GET_MODE_INNER (V32HImode)) >= 4
15913 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15914 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15915 : (TARGET_AVX512F)))
15916 : return -1;
15917 : return 5492; /* *avx512bw_vternlogv32hi_all */
15918 :
15919 : case E_V16HImode:
15920 : if (pattern1147 (x3,
15921 : E_V16HImode) != 0
15922 : || !(
15923 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15924 : ((32 == 64 || TARGET_AVX512VL
15925 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15926 : /* Disallow embeded broadcast for vector HFmode since
15927 : it's not real AVX512FP16 instruction. */
15928 : && (GET_MODE_SIZE (GET_MODE_INNER (V16HImode)) >= 4
15929 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15930 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15931 : (TARGET_AVX)))
15932 : return -1;
15933 : return 5493; /* *avx512vl_vternlogv16hi_all */
15934 :
15935 : case E_V8HImode:
15936 : if (pattern1147 (x3,
15937 : E_V8HImode) != 0
15938 : || !
15939 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15940 : ((16 == 64 || TARGET_AVX512VL
15941 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15942 : /* Disallow embeded broadcast for vector HFmode since
15943 : it's not real AVX512FP16 instruction. */
15944 : && (GET_MODE_SIZE (GET_MODE_INNER (V8HImode)) >= 4
15945 : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15946 : return -1;
15947 : return 5494; /* *avx512vl_vternlogv8hi_all */
15948 :
15949 : case E_V32HFmode:
15950 : if (pattern1147 (x3,
15951 : E_V32HFmode) != 0
15952 : || !(
15953 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15954 : ((64 == 64 || TARGET_AVX512VL
15955 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15956 : /* Disallow embeded broadcast for vector HFmode since
15957 : it's not real AVX512FP16 instruction. */
15958 : && (GET_MODE_SIZE (GET_MODE_INNER (V32HFmode)) >= 4
15959 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15960 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15961 : (TARGET_AVX512F)))
15962 : return -1;
15963 : return 5501; /* *avx512bw_vternlogv32hf_all */
15964 :
15965 : case E_V16HFmode:
15966 : if (pattern1147 (x3,
15967 : E_V16HFmode) != 0
15968 : || !(
15969 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15970 : ((32 == 64 || TARGET_AVX512VL
15971 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15972 : /* Disallow embeded broadcast for vector HFmode since
15973 : it's not real AVX512FP16 instruction. */
15974 : && (GET_MODE_SIZE (GET_MODE_INNER (V16HFmode)) >= 4
15975 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
15976 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15977 : (TARGET_AVX)))
15978 : return -1;
15979 : return 5502; /* *avx512vl_vternlogv16hf_all */
15980 :
15981 : case E_V8HFmode:
15982 : if (pattern1147 (x3,
15983 : E_V8HFmode) != 0
15984 : || !
15985 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15986 : ((16 == 64 || TARGET_AVX512VL
15987 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
15988 : /* Disallow embeded broadcast for vector HFmode since
15989 : it's not real AVX512FP16 instruction. */
15990 : && (GET_MODE_SIZE (GET_MODE_INNER (V8HFmode)) >= 4
15991 : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
15992 : return -1;
15993 : return 5503; /* *avx512fp16_vternlogv8hf_all */
15994 :
15995 : case E_V32BFmode:
15996 : if (pattern1147 (x3,
15997 : E_V32BFmode) != 0
15998 : || !(
15999 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16000 : ((64 == 64 || TARGET_AVX512VL
16001 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16002 : /* Disallow embeded broadcast for vector HFmode since
16003 : it's not real AVX512FP16 instruction. */
16004 : && (GET_MODE_SIZE (GET_MODE_INNER (V32BFmode)) >= 4
16005 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16006 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16007 : (TARGET_AVX512F)))
16008 : return -1;
16009 : return 5504; /* *avx512bw_vternlogv32bf_all */
16010 :
16011 : case E_V16BFmode:
16012 : if (pattern1147 (x3,
16013 : E_V16BFmode) != 0
16014 : || !(
16015 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16016 : ((32 == 64 || TARGET_AVX512VL
16017 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16018 : /* Disallow embeded broadcast for vector HFmode since
16019 : it's not real AVX512FP16 instruction. */
16020 : && (GET_MODE_SIZE (GET_MODE_INNER (V16BFmode)) >= 4
16021 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16022 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16023 : (TARGET_AVX)))
16024 : return -1;
16025 : return 5505; /* *avx512vl_vternlogv16bf_all */
16026 :
16027 : case E_V8BFmode:
16028 : if (pattern1147 (x3,
16029 : E_V8BFmode) != 0
16030 : || !
16031 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16032 : ((16 == 64 || TARGET_AVX512VL
16033 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16034 : /* Disallow embeded broadcast for vector HFmode since
16035 : it's not real AVX512FP16 instruction. */
16036 : && (GET_MODE_SIZE (GET_MODE_INNER (V8BFmode)) >= 4
16037 : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16038 : return -1;
16039 : return 5506; /* *avx512vl_vternlogv8bf_all */
16040 :
16041 : case E_V16SFmode:
16042 : if (pattern1147 (x3,
16043 : E_V16SFmode) != 0
16044 : || !(
16045 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16046 : ((64 == 64 || TARGET_AVX512VL
16047 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16048 : /* Disallow embeded broadcast for vector HFmode since
16049 : it's not real AVX512FP16 instruction. */
16050 : && (GET_MODE_SIZE (GET_MODE_INNER (V16SFmode)) >= 4
16051 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16052 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16053 : (TARGET_AVX512F)))
16054 : return -1;
16055 : return 5507; /* *avx512f_vternlogv16sf_all */
16056 :
16057 : case E_V8SFmode:
16058 : if (pattern1147 (x3,
16059 : E_V8SFmode) != 0
16060 : || !(
16061 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16062 : ((32 == 64 || TARGET_AVX512VL
16063 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16064 : /* Disallow embeded broadcast for vector HFmode since
16065 : it's not real AVX512FP16 instruction. */
16066 : && (GET_MODE_SIZE (GET_MODE_INNER (V8SFmode)) >= 4
16067 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16068 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16069 : (TARGET_AVX)))
16070 : return -1;
16071 : return 5508; /* *avx512vl_vternlogv8sf_all */
16072 :
16073 : case E_V4SFmode:
16074 : if (pattern1147 (x3,
16075 : E_V4SFmode) != 0
16076 : || !
16077 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16078 : ((16 == 64 || TARGET_AVX512VL
16079 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16080 : /* Disallow embeded broadcast for vector HFmode since
16081 : it's not real AVX512FP16 instruction. */
16082 : && (GET_MODE_SIZE (GET_MODE_INNER (V4SFmode)) >= 4
16083 : || GET_CODE (operands[3]) != VEC_DUPLICATE)))
16084 : return -1;
16085 : return 5509; /* *avx512vl_vternlogv4sf_all */
16086 :
16087 : case E_V8DFmode:
16088 : if (pattern1147 (x3,
16089 : E_V8DFmode) != 0
16090 : || !(
16091 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16092 : ((64 == 64 || TARGET_AVX512VL
16093 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16094 : /* Disallow embeded broadcast for vector HFmode since
16095 : it's not real AVX512FP16 instruction. */
16096 : && (GET_MODE_SIZE (GET_MODE_INNER (V8DFmode)) >= 4
16097 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16098 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16099 : (TARGET_AVX512F)))
16100 : return -1;
16101 : return 5510; /* *avx512f_vternlogv8df_all */
16102 :
16103 : case E_V4DFmode:
16104 : if (pattern1147 (x3,
16105 : E_V4DFmode) != 0
16106 : || !(
16107 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16108 : ((32 == 64 || TARGET_AVX512VL
16109 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16110 : /* Disallow embeded broadcast for vector HFmode since
16111 : it's not real AVX512FP16 instruction. */
16112 : && (GET_MODE_SIZE (GET_MODE_INNER (V4DFmode)) >= 4
16113 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16114 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16115 : (TARGET_AVX)))
16116 : return -1;
16117 : return 5511; /* *avx512vl_vternlogv4df_all */
16118 :
16119 : case E_V2DFmode:
16120 : if (pattern1147 (x3,
16121 : E_V2DFmode) != 0
16122 : || !(
16123 : #line 13990 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16124 : ((16 == 64 || TARGET_AVX512VL
16125 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16126 : /* Disallow embeded broadcast for vector HFmode since
16127 : it's not real AVX512FP16 instruction. */
16128 : && (GET_MODE_SIZE (GET_MODE_INNER (V2DFmode)) >= 4
16129 : || GET_CODE (operands[3]) != VEC_DUPLICATE)) &&
16130 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16131 : (TARGET_SSE2)))
16132 : return -1;
16133 : return 5512; /* *avx512vl_vternlogv2df_all */
16134 :
16135 : default:
16136 : return -1;
16137 : }
16138 :
16139 : case 164:
16140 : x4 = XVECEXP (x3, 0, 0);
16141 : operands[1] = x4;
16142 : x5 = XVECEXP (x3, 0, 1);
16143 : operands[2] = x5;
16144 : x6 = XVECEXP (x3, 0, 2);
16145 : operands[3] = x6;
16146 : x7 = XVECEXP (x3, 0, 3);
16147 : operands[4] = x7;
16148 : if (!const_0_to_255_operand (operands[4], E_SImode))
16149 : return -1;
16150 : switch (GET_MODE (operands[0]))
16151 : {
16152 : case E_V16SFmode:
16153 : if (pattern1148 (x3,
16154 : E_V16SImode,
16155 : E_V16SFmode) != 0
16156 : || !
16157 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16158 : (TARGET_AVX512F))
16159 : return -1;
16160 : return 7123; /* avx512f_fixupimmv16sf */
16161 :
16162 : case E_V8SFmode:
16163 : if (pattern1148 (x3,
16164 : E_V8SImode,
16165 : E_V8SFmode) != 0
16166 : || !(
16167 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16168 : (TARGET_AVX512F) &&
16169 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16170 : (TARGET_AVX512VL)))
16171 : return -1;
16172 : return 7127; /* avx512vl_fixupimmv8sf */
16173 :
16174 : case E_V4SFmode:
16175 : if (pattern1148 (x3,
16176 : E_V4SImode,
16177 : E_V4SFmode) != 0
16178 : || !(
16179 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16180 : (TARGET_AVX512F) &&
16181 : #line 510 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16182 : (TARGET_AVX512VL)))
16183 : return -1;
16184 : return 7131; /* avx512vl_fixupimmv4sf */
16185 :
16186 : case E_V8DFmode:
16187 : if (pattern1148 (x3,
16188 : E_V8DImode,
16189 : E_V8DFmode) != 0
16190 : || !
16191 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16192 : (TARGET_AVX512F))
16193 : return -1;
16194 : return 7135; /* avx512f_fixupimmv8df */
16195 :
16196 : case E_V4DFmode:
16197 : if (pattern1148 (x3,
16198 : E_V4DImode,
16199 : E_V4DFmode) != 0
16200 : || !(
16201 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16202 : (TARGET_AVX512F) &&
16203 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16204 : (TARGET_AVX512VL)))
16205 : return -1;
16206 : return 7139; /* avx512vl_fixupimmv4df */
16207 :
16208 : case E_V2DFmode:
16209 : if (pattern1148 (x3,
16210 : E_V2DImode,
16211 : E_V2DFmode) != 0
16212 : || !(
16213 : #line 14471 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16214 : (TARGET_AVX512F) &&
16215 : #line 511 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16216 : (TARGET_AVX512VL)))
16217 : return -1;
16218 : return 7143; /* avx512vl_fixupimmv2df */
16219 :
16220 : default:
16221 : return -1;
16222 : }
16223 :
16224 : case 125:
16225 : if (GET_MODE (x3) != E_V2DImode
16226 : || !register_operand (operands[0], E_V2DImode))
16227 : return -1;
16228 : x4 = XVECEXP (x3, 0, 0);
16229 : operands[1] = x4;
16230 : if (!register_operand (operands[1], E_V2DImode))
16231 : return -1;
16232 : x5 = XVECEXP (x3, 0, 1);
16233 : operands[2] = x5;
16234 : if (!register_operand (operands[2], E_V2DImode))
16235 : return -1;
16236 : x6 = XVECEXP (x3, 0, 2);
16237 : operands[3] = x6;
16238 : if (!const_0_to_255_operand (operands[3], E_VOIDmode))
16239 : return -1;
16240 : x7 = XVECEXP (x3, 0, 3);
16241 : operands[4] = x7;
16242 : if (!const_0_to_255_operand (operands[4], E_VOIDmode)
16243 : || !
16244 : #line 23815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16245 : (TARGET_SSE4A))
16246 : return -1;
16247 : return 8721; /* sse4a_insertqi */
16248 :
16249 : case 146:
16250 : x4 = XVECEXP (x3, 0, 0);
16251 : operands[1] = x4;
16252 : x5 = XVECEXP (x3, 0, 1);
16253 : operands[2] = x5;
16254 : x6 = XVECEXP (x3, 0, 2);
16255 : operands[3] = x6;
16256 : x7 = XVECEXP (x3, 0, 3);
16257 : operands[4] = x7;
16258 : if (!const_0_to_3_operand (operands[4], E_SImode))
16259 : return -1;
16260 : switch (GET_MODE (operands[0]))
16261 : {
16262 : case E_V8SFmode:
16263 : if (pattern1149 (x3,
16264 : E_V8SImode,
16265 : E_V8SFmode) != 0
16266 : || !(
16267 : #line 27775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16268 : (TARGET_XOP) &&
16269 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16270 : (TARGET_AVX)))
16271 : return -1;
16272 : return 9131; /* xop_vpermil2v8sf3 */
16273 :
16274 : case E_V4SFmode:
16275 : if (pattern1149 (x3,
16276 : E_V4SImode,
16277 : E_V4SFmode) != 0
16278 : || !
16279 : #line 27775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16280 : (TARGET_XOP))
16281 : return -1;
16282 : return 9132; /* xop_vpermil2v4sf3 */
16283 :
16284 : case E_V4DFmode:
16285 : if (pattern1149 (x3,
16286 : E_V4DImode,
16287 : E_V4DFmode) != 0
16288 : || !(
16289 : #line 27775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16290 : (TARGET_XOP) &&
16291 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16292 : (TARGET_AVX)))
16293 : return -1;
16294 : return 9133; /* xop_vpermil2v4df3 */
16295 :
16296 : case E_V2DFmode:
16297 : if (pattern1149 (x3,
16298 : E_V2DImode,
16299 : E_V2DFmode) != 0
16300 : || !(
16301 : #line 27775 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16302 : (TARGET_XOP) &&
16303 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16304 : (TARGET_SSE2)))
16305 : return -1;
16306 : return 9134; /* xop_vpermil2v2df3 */
16307 :
16308 : default:
16309 : return -1;
16310 : }
16311 :
16312 : case 154:
16313 : if (pnum_clobbers == NULL)
16314 : return -1;
16315 : x5 = XVECEXP (x3, 0, 1);
16316 : if (GET_CODE (x5) != MEM)
16317 : return -1;
16318 : x8 = XEXP (x5, 0);
16319 : if (GET_CODE (x8) != UNSPEC
16320 : || XVECLEN (x8, 0) != 3
16321 : || XINT (x8, 1) != 155)
16322 : return -1;
16323 : x6 = XVECEXP (x3, 0, 2);
16324 : if (GET_CODE (x6) != MEM
16325 : || GET_MODE (x6) != E_BLKmode)
16326 : return -1;
16327 : x9 = XEXP (x6, 0);
16328 : if (GET_CODE (x9) != SCRATCH)
16329 : return -1;
16330 : x10 = XVECEXP (x8, 0, 2);
16331 : if (!const1248_operand (x10, E_SImode))
16332 : return -1;
16333 : x4 = XVECEXP (x3, 0, 0);
16334 : switch (GET_CODE (x4))
16335 : {
16336 : case REG:
16337 : case SUBREG:
16338 : operands[2] = x4;
16339 : operands[7] = x5;
16340 : x11 = XVECEXP (x8, 0, 0);
16341 : operands[3] = x11;
16342 : x12 = XVECEXP (x8, 0, 1);
16343 : operands[4] = x12;
16344 : operands[6] = x10;
16345 : x7 = XVECEXP (x3, 0, 3);
16346 : operands[5] = x7;
16347 : switch (GET_MODE (operands[0]))
16348 : {
16349 : case E_V2DImode:
16350 : switch (pattern1762 (x3,
16351 : E_V2DImode,
16352 : E_DImode))
16353 : {
16354 : case 0:
16355 : if (!(
16356 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16357 : (TARGET_AVX2) &&
16358 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16359 : (Pmode == SImode)))
16360 : return -1;
16361 : *pnum_clobbers = 1;
16362 : return 9743; /* *avx2_gathersiv2di */
16363 :
16364 : case 1:
16365 : if (!(
16366 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16367 : (TARGET_AVX2) &&
16368 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16369 : (Pmode == SImode)))
16370 : return -1;
16371 : *pnum_clobbers = 1;
16372 : return 9775; /* *avx2_gatherdiv2di */
16373 :
16374 : case 2:
16375 : if (!(
16376 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16377 : (TARGET_AVX2) &&
16378 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16379 : (Pmode == DImode)))
16380 : return -1;
16381 : *pnum_clobbers = 1;
16382 : return 9751; /* *avx2_gathersiv2di */
16383 :
16384 : case 3:
16385 : if (!(
16386 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16387 : (TARGET_AVX2) &&
16388 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16389 : (Pmode == DImode)))
16390 : return -1;
16391 : *pnum_clobbers = 1;
16392 : return 9783; /* *avx2_gatherdiv2di */
16393 :
16394 : default:
16395 : return -1;
16396 : }
16397 :
16398 : case E_V2DFmode:
16399 : switch (pattern1762 (x3,
16400 : E_V2DFmode,
16401 : E_DFmode))
16402 : {
16403 : case 0:
16404 : if (!(
16405 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16406 : (TARGET_AVX2) &&
16407 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16408 : (Pmode == SImode)))
16409 : return -1;
16410 : *pnum_clobbers = 1;
16411 : return 9744; /* *avx2_gathersiv2df */
16412 :
16413 : case 1:
16414 : if (!(
16415 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16416 : (TARGET_AVX2) &&
16417 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16418 : (Pmode == SImode)))
16419 : return -1;
16420 : *pnum_clobbers = 1;
16421 : return 9776; /* *avx2_gatherdiv2df */
16422 :
16423 : case 2:
16424 : if (!(
16425 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16426 : (TARGET_AVX2) &&
16427 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16428 : (Pmode == DImode)))
16429 : return -1;
16430 : *pnum_clobbers = 1;
16431 : return 9752; /* *avx2_gathersiv2df */
16432 :
16433 : case 3:
16434 : if (!(
16435 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16436 : (TARGET_AVX2) &&
16437 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16438 : (Pmode == DImode)))
16439 : return -1;
16440 : *pnum_clobbers = 1;
16441 : return 9784; /* *avx2_gatherdiv2df */
16442 :
16443 : default:
16444 : return -1;
16445 : }
16446 :
16447 : case E_V4DImode:
16448 : switch (pattern1764 (x3,
16449 : E_V4DImode,
16450 : E_DImode))
16451 : {
16452 : case 0:
16453 : if (!(
16454 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16455 : (TARGET_AVX2) &&
16456 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16457 : (Pmode == SImode)))
16458 : return -1;
16459 : *pnum_clobbers = 1;
16460 : return 9745; /* *avx2_gathersiv4di */
16461 :
16462 : case 1:
16463 : if (!(
16464 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16465 : (TARGET_AVX2) &&
16466 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16467 : (Pmode == SImode)))
16468 : return -1;
16469 : *pnum_clobbers = 1;
16470 : return 9777; /* *avx2_gatherdiv4di */
16471 :
16472 : case 2:
16473 : if (!(
16474 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16475 : (TARGET_AVX2) &&
16476 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16477 : (Pmode == DImode)))
16478 : return -1;
16479 : *pnum_clobbers = 1;
16480 : return 9753; /* *avx2_gathersiv4di */
16481 :
16482 : case 3:
16483 : if (!(
16484 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16485 : (TARGET_AVX2) &&
16486 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16487 : (Pmode == DImode)))
16488 : return -1;
16489 : *pnum_clobbers = 1;
16490 : return 9785; /* *avx2_gatherdiv4di */
16491 :
16492 : default:
16493 : return -1;
16494 : }
16495 :
16496 : case E_V4DFmode:
16497 : switch (pattern1764 (x3,
16498 : E_V4DFmode,
16499 : E_DFmode))
16500 : {
16501 : case 0:
16502 : if (!(
16503 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16504 : (TARGET_AVX2) &&
16505 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16506 : (Pmode == SImode)))
16507 : return -1;
16508 : *pnum_clobbers = 1;
16509 : return 9746; /* *avx2_gathersiv4df */
16510 :
16511 : case 1:
16512 : if (!(
16513 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16514 : (TARGET_AVX2) &&
16515 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16516 : (Pmode == SImode)))
16517 : return -1;
16518 : *pnum_clobbers = 1;
16519 : return 9778; /* *avx2_gatherdiv4df */
16520 :
16521 : case 2:
16522 : if (!(
16523 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16524 : (TARGET_AVX2) &&
16525 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16526 : (Pmode == DImode)))
16527 : return -1;
16528 : *pnum_clobbers = 1;
16529 : return 9754; /* *avx2_gathersiv4df */
16530 :
16531 : case 3:
16532 : if (!(
16533 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16534 : (TARGET_AVX2) &&
16535 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16536 : (Pmode == DImode)))
16537 : return -1;
16538 : *pnum_clobbers = 1;
16539 : return 9786; /* *avx2_gatherdiv4df */
16540 :
16541 : default:
16542 : return -1;
16543 : }
16544 :
16545 : case E_V4SImode:
16546 : switch (pattern1762 (x3,
16547 : E_V4SImode,
16548 : E_SImode))
16549 : {
16550 : case 0:
16551 : if (!(
16552 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16553 : (TARGET_AVX2) &&
16554 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16555 : (Pmode == SImode)))
16556 : return -1;
16557 : *pnum_clobbers = 1;
16558 : return 9747; /* *avx2_gathersiv4si */
16559 :
16560 : case 1:
16561 : if (!(
16562 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16563 : (TARGET_AVX2) &&
16564 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16565 : (Pmode == SImode)))
16566 : return -1;
16567 : *pnum_clobbers = 1;
16568 : return 9779; /* *avx2_gatherdiv4si */
16569 :
16570 : case 2:
16571 : if (!(
16572 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16573 : (TARGET_AVX2) &&
16574 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16575 : (Pmode == DImode)))
16576 : return -1;
16577 : *pnum_clobbers = 1;
16578 : return 9755; /* *avx2_gathersiv4si */
16579 :
16580 : case 3:
16581 : if (!(
16582 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16583 : (TARGET_AVX2) &&
16584 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16585 : (Pmode == DImode)))
16586 : return -1;
16587 : *pnum_clobbers = 1;
16588 : return 9787; /* *avx2_gatherdiv4si */
16589 :
16590 : default:
16591 : return -1;
16592 : }
16593 :
16594 : case E_V4SFmode:
16595 : switch (pattern1762 (x3,
16596 : E_V4SFmode,
16597 : E_SFmode))
16598 : {
16599 : case 0:
16600 : if (!(
16601 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16602 : (TARGET_AVX2) &&
16603 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16604 : (Pmode == SImode)))
16605 : return -1;
16606 : *pnum_clobbers = 1;
16607 : return 9748; /* *avx2_gathersiv4sf */
16608 :
16609 : case 1:
16610 : if (!(
16611 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16612 : (TARGET_AVX2) &&
16613 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16614 : (Pmode == SImode)))
16615 : return -1;
16616 : *pnum_clobbers = 1;
16617 : return 9780; /* *avx2_gatherdiv4sf */
16618 :
16619 : case 2:
16620 : if (!(
16621 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16622 : (TARGET_AVX2) &&
16623 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16624 : (Pmode == DImode)))
16625 : return -1;
16626 : *pnum_clobbers = 1;
16627 : return 9756; /* *avx2_gathersiv4sf */
16628 :
16629 : case 3:
16630 : if (!(
16631 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16632 : (TARGET_AVX2) &&
16633 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16634 : (Pmode == DImode)))
16635 : return -1;
16636 : *pnum_clobbers = 1;
16637 : return 9788; /* *avx2_gatherdiv4sf */
16638 :
16639 : default:
16640 : return -1;
16641 : }
16642 :
16643 : case E_V8SImode:
16644 : if (!register_operand (operands[0], E_V8SImode)
16645 : || GET_MODE (x3) != E_V8SImode
16646 : || !vsib_mem_operator (operands[7], E_SImode))
16647 : return -1;
16648 : switch (GET_MODE (operands[2]))
16649 : {
16650 : case E_V8SImode:
16651 : if (!register_operand (operands[2], E_V8SImode)
16652 : || !register_operand (operands[4], E_V8SImode))
16653 : return -1;
16654 : switch (pattern1842 (x8,
16655 : E_V8SImode))
16656 : {
16657 : case 0:
16658 : if (!(
16659 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16660 : (TARGET_AVX2) &&
16661 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16662 : (Pmode == SImode)))
16663 : return -1;
16664 : *pnum_clobbers = 1;
16665 : return 9749; /* *avx2_gathersiv8si */
16666 :
16667 : case 1:
16668 : if (!(
16669 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16670 : (TARGET_AVX2) &&
16671 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16672 : (Pmode == DImode)))
16673 : return -1;
16674 : *pnum_clobbers = 1;
16675 : return 9757; /* *avx2_gathersiv8si */
16676 :
16677 : default:
16678 : return -1;
16679 : }
16680 :
16681 : case E_V4SImode:
16682 : switch (pattern1843 (x8,
16683 : E_V4SImode,
16684 : E_V4DImode))
16685 : {
16686 : case 0:
16687 : if (!(
16688 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16689 : (TARGET_AVX2) &&
16690 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16691 : (Pmode == SImode)))
16692 : return -1;
16693 : *pnum_clobbers = 1;
16694 : return 9781; /* *avx2_gatherdiv8si */
16695 :
16696 : case 1:
16697 : if (!(
16698 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16699 : (TARGET_AVX2) &&
16700 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16701 : (Pmode == DImode)))
16702 : return -1;
16703 : *pnum_clobbers = 1;
16704 : return 9789; /* *avx2_gatherdiv8si */
16705 :
16706 : default:
16707 : return -1;
16708 : }
16709 :
16710 : default:
16711 : return -1;
16712 : }
16713 :
16714 : case E_V8SFmode:
16715 : if (!register_operand (operands[0], E_V8SFmode)
16716 : || GET_MODE (x3) != E_V8SFmode
16717 : || !vsib_mem_operator (operands[7], E_SFmode))
16718 : return -1;
16719 : switch (GET_MODE (operands[2]))
16720 : {
16721 : case E_V8SFmode:
16722 : switch (pattern1843 (x8,
16723 : E_V8SFmode,
16724 : E_V8SImode))
16725 : {
16726 : case 0:
16727 : if (!(
16728 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16729 : (TARGET_AVX2) &&
16730 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16731 : (Pmode == SImode)))
16732 : return -1;
16733 : *pnum_clobbers = 1;
16734 : return 9750; /* *avx2_gathersiv8sf */
16735 :
16736 : case 1:
16737 : if (!(
16738 : #line 29993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16739 : (TARGET_AVX2) &&
16740 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16741 : (Pmode == DImode)))
16742 : return -1;
16743 : *pnum_clobbers = 1;
16744 : return 9758; /* *avx2_gathersiv8sf */
16745 :
16746 : default:
16747 : return -1;
16748 : }
16749 :
16750 : case E_V4SFmode:
16751 : switch (pattern1843 (x8,
16752 : E_V4SFmode,
16753 : E_V4DImode))
16754 : {
16755 : case 0:
16756 : if (!(
16757 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16758 : (TARGET_AVX2) &&
16759 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16760 : (Pmode == SImode)))
16761 : return -1;
16762 : *pnum_clobbers = 1;
16763 : return 9782; /* *avx2_gatherdiv8sf */
16764 :
16765 : case 1:
16766 : if (!(
16767 : #line 30056 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16768 : (TARGET_AVX2) &&
16769 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16770 : (Pmode == DImode)))
16771 : return -1;
16772 : *pnum_clobbers = 1;
16773 : return 9790; /* *avx2_gatherdiv8sf */
16774 :
16775 : default:
16776 : return -1;
16777 : }
16778 :
16779 : default:
16780 : return -1;
16781 : }
16782 :
16783 : default:
16784 : return -1;
16785 : }
16786 :
16787 : case PC:
16788 : operands[6] = x5;
16789 : x11 = XVECEXP (x8, 0, 0);
16790 : operands[2] = x11;
16791 : x12 = XVECEXP (x8, 0, 1);
16792 : operands[3] = x12;
16793 : operands[5] = x10;
16794 : x7 = XVECEXP (x3, 0, 3);
16795 : operands[4] = x7;
16796 : switch (GET_MODE (operands[0]))
16797 : {
16798 : case E_V2DImode:
16799 : switch (pattern1723 (x3,
16800 : E_V2DImode,
16801 : E_DImode))
16802 : {
16803 : case 0:
16804 : if (!(
16805 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16806 : (TARGET_AVX2) &&
16807 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16808 : (Pmode == SImode)))
16809 : return -1;
16810 : *pnum_clobbers = 1;
16811 : return 9759; /* *avx2_gathersiv2di_2 */
16812 :
16813 : case 1:
16814 : if (!(
16815 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16816 : (TARGET_AVX2) &&
16817 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16818 : (Pmode == SImode)))
16819 : return -1;
16820 : *pnum_clobbers = 1;
16821 : return 9791; /* *avx2_gatherdiv2di_2 */
16822 :
16823 : case 2:
16824 : if (!(
16825 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16826 : (TARGET_AVX2) &&
16827 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16828 : (Pmode == DImode)))
16829 : return -1;
16830 : *pnum_clobbers = 1;
16831 : return 9767; /* *avx2_gathersiv2di_2 */
16832 :
16833 : case 3:
16834 : if (!(
16835 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16836 : (TARGET_AVX2) &&
16837 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16838 : (Pmode == DImode)))
16839 : return -1;
16840 : *pnum_clobbers = 1;
16841 : return 9799; /* *avx2_gatherdiv2di_2 */
16842 :
16843 : default:
16844 : return -1;
16845 : }
16846 :
16847 : case E_V2DFmode:
16848 : switch (pattern1723 (x3,
16849 : E_V2DFmode,
16850 : E_DFmode))
16851 : {
16852 : case 0:
16853 : if (!(
16854 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16855 : (TARGET_AVX2) &&
16856 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16857 : (Pmode == SImode)))
16858 : return -1;
16859 : *pnum_clobbers = 1;
16860 : return 9760; /* *avx2_gathersiv2df_2 */
16861 :
16862 : case 1:
16863 : if (!(
16864 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16865 : (TARGET_AVX2) &&
16866 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16867 : (Pmode == SImode)))
16868 : return -1;
16869 : *pnum_clobbers = 1;
16870 : return 9792; /* *avx2_gatherdiv2df_2 */
16871 :
16872 : case 2:
16873 : if (!(
16874 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16875 : (TARGET_AVX2) &&
16876 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16877 : (Pmode == DImode)))
16878 : return -1;
16879 : *pnum_clobbers = 1;
16880 : return 9768; /* *avx2_gathersiv2df_2 */
16881 :
16882 : case 3:
16883 : if (!(
16884 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16885 : (TARGET_AVX2) &&
16886 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16887 : (Pmode == DImode)))
16888 : return -1;
16889 : *pnum_clobbers = 1;
16890 : return 9800; /* *avx2_gatherdiv2df_2 */
16891 :
16892 : default:
16893 : return -1;
16894 : }
16895 :
16896 : case E_V4DImode:
16897 : switch (pattern1725 (x3,
16898 : E_V4DImode,
16899 : E_DImode))
16900 : {
16901 : case 0:
16902 : if (!(
16903 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16904 : (TARGET_AVX2) &&
16905 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16906 : (Pmode == SImode)))
16907 : return -1;
16908 : *pnum_clobbers = 1;
16909 : return 9761; /* *avx2_gathersiv4di_2 */
16910 :
16911 : case 1:
16912 : if (!(
16913 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16914 : (TARGET_AVX2) &&
16915 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16916 : (Pmode == SImode)))
16917 : return -1;
16918 : *pnum_clobbers = 1;
16919 : return 9793; /* *avx2_gatherdiv4di_2 */
16920 :
16921 : case 2:
16922 : if (!(
16923 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16924 : (TARGET_AVX2) &&
16925 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16926 : (Pmode == DImode)))
16927 : return -1;
16928 : *pnum_clobbers = 1;
16929 : return 9769; /* *avx2_gathersiv4di_2 */
16930 :
16931 : case 3:
16932 : if (!(
16933 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16934 : (TARGET_AVX2) &&
16935 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16936 : (Pmode == DImode)))
16937 : return -1;
16938 : *pnum_clobbers = 1;
16939 : return 9801; /* *avx2_gatherdiv4di_2 */
16940 :
16941 : default:
16942 : return -1;
16943 : }
16944 :
16945 : case E_V4DFmode:
16946 : switch (pattern1725 (x3,
16947 : E_V4DFmode,
16948 : E_DFmode))
16949 : {
16950 : case 0:
16951 : if (!(
16952 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16953 : (TARGET_AVX2) &&
16954 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16955 : (Pmode == SImode)))
16956 : return -1;
16957 : *pnum_clobbers = 1;
16958 : return 9762; /* *avx2_gathersiv4df_2 */
16959 :
16960 : case 1:
16961 : if (!(
16962 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16963 : (TARGET_AVX2) &&
16964 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16965 : (Pmode == SImode)))
16966 : return -1;
16967 : *pnum_clobbers = 1;
16968 : return 9794; /* *avx2_gatherdiv4df_2 */
16969 :
16970 : case 2:
16971 : if (!(
16972 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16973 : (TARGET_AVX2) &&
16974 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16975 : (Pmode == DImode)))
16976 : return -1;
16977 : *pnum_clobbers = 1;
16978 : return 9770; /* *avx2_gathersiv4df_2 */
16979 :
16980 : case 3:
16981 : if (!(
16982 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16983 : (TARGET_AVX2) &&
16984 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
16985 : (Pmode == DImode)))
16986 : return -1;
16987 : *pnum_clobbers = 1;
16988 : return 9802; /* *avx2_gatherdiv4df_2 */
16989 :
16990 : default:
16991 : return -1;
16992 : }
16993 :
16994 : case E_V4SImode:
16995 : switch (pattern1723 (x3,
16996 : E_V4SImode,
16997 : E_SImode))
16998 : {
16999 : case 0:
17000 : if (!(
17001 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17002 : (TARGET_AVX2) &&
17003 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17004 : (Pmode == SImode)))
17005 : return -1;
17006 : *pnum_clobbers = 1;
17007 : return 9763; /* *avx2_gathersiv4si_2 */
17008 :
17009 : case 1:
17010 : if (!(
17011 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17012 : (TARGET_AVX2) &&
17013 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17014 : (Pmode == SImode)))
17015 : return -1;
17016 : *pnum_clobbers = 1;
17017 : return 9795; /* *avx2_gatherdiv4si_2 */
17018 :
17019 : case 2:
17020 : if (!(
17021 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17022 : (TARGET_AVX2) &&
17023 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17024 : (Pmode == DImode)))
17025 : return -1;
17026 : *pnum_clobbers = 1;
17027 : return 9771; /* *avx2_gathersiv4si_2 */
17028 :
17029 : case 3:
17030 : if (!(
17031 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17032 : (TARGET_AVX2) &&
17033 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17034 : (Pmode == DImode)))
17035 : return -1;
17036 : *pnum_clobbers = 1;
17037 : return 9803; /* *avx2_gatherdiv4si_2 */
17038 :
17039 : default:
17040 : return -1;
17041 : }
17042 :
17043 : case E_V4SFmode:
17044 : switch (pattern1723 (x3,
17045 : E_V4SFmode,
17046 : E_SFmode))
17047 : {
17048 : case 0:
17049 : if (!(
17050 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17051 : (TARGET_AVX2) &&
17052 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17053 : (Pmode == SImode)))
17054 : return -1;
17055 : *pnum_clobbers = 1;
17056 : return 9764; /* *avx2_gathersiv4sf_2 */
17057 :
17058 : case 1:
17059 : if (!(
17060 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17061 : (TARGET_AVX2) &&
17062 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17063 : (Pmode == SImode)))
17064 : return -1;
17065 : *pnum_clobbers = 1;
17066 : return 9796; /* *avx2_gatherdiv4sf_2 */
17067 :
17068 : case 2:
17069 : if (!(
17070 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17071 : (TARGET_AVX2) &&
17072 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17073 : (Pmode == DImode)))
17074 : return -1;
17075 : *pnum_clobbers = 1;
17076 : return 9772; /* *avx2_gathersiv4sf_2 */
17077 :
17078 : case 3:
17079 : if (!(
17080 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17081 : (TARGET_AVX2) &&
17082 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17083 : (Pmode == DImode)))
17084 : return -1;
17085 : *pnum_clobbers = 1;
17086 : return 9804; /* *avx2_gatherdiv4sf_2 */
17087 :
17088 : default:
17089 : return -1;
17090 : }
17091 :
17092 : case E_V8SImode:
17093 : switch (pattern1726 (x3,
17094 : E_SImode,
17095 : E_V8SImode))
17096 : {
17097 : case 0:
17098 : switch (pattern1811 (
17099 : E_SImode))
17100 : {
17101 : case 0:
17102 : if (!(
17103 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17104 : (TARGET_AVX2) &&
17105 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17106 : (Pmode == SImode)))
17107 : return -1;
17108 : *pnum_clobbers = 1;
17109 : return 9765; /* *avx2_gathersiv8si_2 */
17110 :
17111 : case 1:
17112 : if (!(
17113 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17114 : (TARGET_AVX2) &&
17115 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17116 : (Pmode == SImode)))
17117 : return -1;
17118 : *pnum_clobbers = 1;
17119 : return 9797; /* *avx2_gatherdiv8si_2 */
17120 :
17121 : default:
17122 : return -1;
17123 : }
17124 :
17125 : case 1:
17126 : switch (pattern1811 (
17127 : E_DImode))
17128 : {
17129 : case 0:
17130 : if (!(
17131 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17132 : (TARGET_AVX2) &&
17133 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17134 : (Pmode == DImode)))
17135 : return -1;
17136 : *pnum_clobbers = 1;
17137 : return 9773; /* *avx2_gathersiv8si_2 */
17138 :
17139 : case 1:
17140 : if (!(
17141 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17142 : (TARGET_AVX2) &&
17143 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17144 : (Pmode == DImode)))
17145 : return -1;
17146 : *pnum_clobbers = 1;
17147 : return 9805; /* *avx2_gatherdiv8si_2 */
17148 :
17149 : default:
17150 : return -1;
17151 : }
17152 :
17153 : default:
17154 : return -1;
17155 : }
17156 :
17157 : case E_V8SFmode:
17158 : switch (pattern1726 (x3,
17159 : E_SFmode,
17160 : E_V8SFmode))
17161 : {
17162 : case 0:
17163 : switch (pattern1812 (
17164 : E_SImode))
17165 : {
17166 : case 0:
17167 : if (!(
17168 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17169 : (TARGET_AVX2) &&
17170 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17171 : (Pmode == SImode)))
17172 : return -1;
17173 : *pnum_clobbers = 1;
17174 : return 9766; /* *avx2_gathersiv8sf_2 */
17175 :
17176 : case 1:
17177 : if (!(
17178 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17179 : (TARGET_AVX2) &&
17180 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17181 : (Pmode == SImode)))
17182 : return -1;
17183 : *pnum_clobbers = 1;
17184 : return 9798; /* *avx2_gatherdiv8sf_2 */
17185 :
17186 : default:
17187 : return -1;
17188 : }
17189 :
17190 : case 1:
17191 : switch (pattern1812 (
17192 : E_DImode))
17193 : {
17194 : case 0:
17195 : if (!(
17196 : #line 30014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17197 : (TARGET_AVX2) &&
17198 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17199 : (Pmode == DImode)))
17200 : return -1;
17201 : *pnum_clobbers = 1;
17202 : return 9774; /* *avx2_gathersiv8sf_2 */
17203 :
17204 : case 1:
17205 : if (!(
17206 : #line 30077 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17207 : (TARGET_AVX2) &&
17208 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
17209 : (Pmode == DImode)))
17210 : return -1;
17211 : *pnum_clobbers = 1;
17212 : return 9806; /* *avx2_gatherdiv8sf_2 */
17213 :
17214 : default:
17215 : return -1;
17216 : }
17217 :
17218 : default:
17219 : return -1;
17220 : }
17221 :
17222 : default:
17223 : return -1;
17224 : }
17225 :
17226 : default:
17227 : return -1;
17228 : }
17229 :
17230 : case 227:
17231 : if (GET_MODE (x3) != E_V4SImode
17232 : || pattern176 (x3) != 0)
17233 : return -1;
17234 : x7 = XVECEXP (x3, 0, 3);
17235 : operands[4] = x7;
17236 : if (!const_0_to_255_operand (operands[4], E_SImode)
17237 : || !
17238 : #line 30766 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17239 : (TARGET_SM3))
17240 : return -1;
17241 : return 10166; /* vsm3rnds2 */
17242 :
17243 : default:
17244 : return -1;
17245 : }
17246 : }
17247 :
17248 : int
17249 : recog_313 (rtx x1 ATTRIBUTE_UNUSED,
17250 : rtx_insn *insn ATTRIBUTE_UNUSED,
17251 : int *pnum_clobbers ATTRIBUTE_UNUSED)
17252 : {
17253 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
17254 : rtx x2, x3, x4, x5;
17255 : int res ATTRIBUTE_UNUSED;
17256 : x2 = XEXP (x1, 1);
17257 : x3 = XEXP (x2, 0);
17258 : switch (GET_CODE (x3))
17259 : {
17260 : case REG:
17261 : case SUBREG:
17262 : case MEM:
17263 : case VEC_DUPLICATE:
17264 : operands[1] = x3;
17265 : x4 = XEXP (x2, 1);
17266 : operands[2] = x4;
17267 : switch (GET_CODE (operands[2]))
17268 : {
17269 : case REG:
17270 : case SUBREG:
17271 : case MEM:
17272 : case VEC_DUPLICATE:
17273 : switch (GET_MODE (operands[0]))
17274 : {
17275 : case E_V16BFmode:
17276 : if (pattern26 (x2,
17277 : E_V16BFmode) != 0
17278 : || !(
17279 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17280 : (TARGET_SSE && 1
17281 : && (!false || 16 != 16)
17282 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17283 : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17284 : (TARGET_AVX)))
17285 : return -1;
17286 : return 3784; /* *xorv16bf3 */
17287 :
17288 : case E_V8BFmode:
17289 : if (pattern26 (x2,
17290 : E_V8BFmode) != 0
17291 : || !(
17292 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17293 : (TARGET_SSE && 1
17294 : && (!false || 16 != 16)
17295 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17296 : #line 430 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17297 : (TARGET_SSE2)))
17298 : return -1;
17299 : return 3787; /* *xorv8bf3 */
17300 :
17301 : case E_V16HFmode:
17302 : if (pattern26 (x2,
17303 : E_V16HFmode) != 0
17304 : || !(
17305 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17306 : (TARGET_SSE && 1
17307 : && (!false || 16 != 16)
17308 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17309 : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17310 : (TARGET_AVX)))
17311 : return -1;
17312 : return 3790; /* *xorv16hf3 */
17313 :
17314 : case E_V8HFmode:
17315 : if (pattern26 (x2,
17316 : E_V8HFmode) != 0
17317 : || !(
17318 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17319 : (TARGET_SSE && 1
17320 : && (!false || 16 != 16)
17321 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17322 : #line 431 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17323 : (TARGET_SSE2)))
17324 : return -1;
17325 : return 3793; /* *xorv8hf3 */
17326 :
17327 : case E_V8SFmode:
17328 : if (pattern26 (x2,
17329 : E_V8SFmode) != 0
17330 : || !(
17331 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17332 : (TARGET_SSE && 1
17333 : && (!false || 32 != 16)
17334 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17335 : #line 432 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17336 : (TARGET_AVX)))
17337 : return -1;
17338 : return 3798; /* *xorv8sf3 */
17339 :
17340 : case E_V4SFmode:
17341 : if (pattern26 (x2,
17342 : E_V4SFmode) != 0
17343 : || !
17344 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17345 : (TARGET_SSE && 1
17346 : && (!false || 32 != 16)
17347 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17348 : return -1;
17349 : return 3804; /* *xorv4sf3 */
17350 :
17351 : case E_V4DFmode:
17352 : if (pattern26 (x2,
17353 : E_V4DFmode) != 0
17354 : || !(
17355 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17356 : (TARGET_SSE && 1
17357 : && (!false || 64 != 16)
17358 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17359 : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17360 : (TARGET_AVX)))
17361 : return -1;
17362 : return 3810; /* *xorv4df3 */
17363 :
17364 : case E_V2DFmode:
17365 : if (pattern26 (x2,
17366 : E_V2DFmode) != 0
17367 : || !(
17368 : #line 5717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17369 : (TARGET_SSE && 1
17370 : && (!false || 64 != 16)
17371 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17372 : #line 433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17373 : (TARGET_SSE2)))
17374 : return -1;
17375 : return 3816; /* *xorv2df3 */
17376 :
17377 : case E_V32BFmode:
17378 : if (pattern3 (x2,
17379 : E_V32BFmode) != 0
17380 : || !
17381 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17382 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17383 : && (!false || 16 != 16)))
17384 : return -1;
17385 : return 3820; /* *xorv32bf3 */
17386 :
17387 : case E_V32HFmode:
17388 : if (pattern3 (x2,
17389 : E_V32HFmode) != 0
17390 : || !
17391 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17392 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17393 : && (!false || 16 != 16)))
17394 : return -1;
17395 : return 3823; /* *xorv32hf3 */
17396 :
17397 : case E_V16SFmode:
17398 : if (pattern3 (x2,
17399 : E_V16SFmode) != 0
17400 : || !
17401 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17402 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17403 : && (!false || 32 != 16)))
17404 : return -1;
17405 : return 3828; /* *xorv16sf3 */
17406 :
17407 : case E_V8DFmode:
17408 : if (pattern3 (x2,
17409 : E_V8DFmode) != 0
17410 : || !
17411 : #line 5787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17412 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))
17413 : && (!false || 64 != 16)))
17414 : return -1;
17415 : return 3834; /* *xorv8df3 */
17416 :
17417 : case E_V16SImode:
17418 : if (pattern189 (x2,
17419 : E_V16SImode) != 0
17420 : || !(
17421 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17422 : (TARGET_SSE && 1
17423 : && ix86_binary_operator_ok (XOR, V16SImode, operands)) &&
17424 : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17425 : (TARGET_AVX512F)))
17426 : return -1;
17427 : return 8052; /* *xorv16si3 */
17428 :
17429 : case E_V8SImode:
17430 : if (pattern189 (x2,
17431 : E_V8SImode) != 0
17432 : || !(
17433 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17434 : (TARGET_SSE && 1
17435 : && ix86_binary_operator_ok (XOR, V8SImode, operands)) &&
17436 : #line 799 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17437 : (TARGET_AVX)))
17438 : return -1;
17439 : return 8058; /* *xorv8si3 */
17440 :
17441 : case E_V4SImode:
17442 : if (pattern189 (x2,
17443 : E_V4SImode) != 0
17444 : || !
17445 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17446 : (TARGET_SSE && 1
17447 : && ix86_binary_operator_ok (XOR, V4SImode, operands)))
17448 : return -1;
17449 : return 8064; /* *xorv4si3 */
17450 :
17451 : case E_V8DImode:
17452 : if (pattern189 (x2,
17453 : E_V8DImode) != 0
17454 : || !(
17455 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17456 : (TARGET_SSE && 1
17457 : && ix86_binary_operator_ok (XOR, V8DImode, operands)) &&
17458 : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17459 : (TARGET_AVX512F)))
17460 : return -1;
17461 : return 8070; /* *xorv8di3 */
17462 :
17463 : case E_V4DImode:
17464 : if (pattern189 (x2,
17465 : E_V4DImode) != 0
17466 : || !(
17467 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17468 : (TARGET_SSE && 1
17469 : && ix86_binary_operator_ok (XOR, V4DImode, operands)) &&
17470 : #line 800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17471 : (TARGET_AVX)))
17472 : return -1;
17473 : return 8076; /* *xorv4di3 */
17474 :
17475 : case E_V2DImode:
17476 : if (pattern189 (x2,
17477 : E_V2DImode) != 0
17478 : || !
17479 : #line 19069 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17480 : (TARGET_SSE && 1
17481 : && ix86_binary_operator_ok (XOR, V2DImode, operands)))
17482 : return -1;
17483 : return 8082; /* *xorv2di3 */
17484 :
17485 : case E_V64QImode:
17486 : if (pattern26 (x2,
17487 : E_V64QImode) != 0
17488 : || !(
17489 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17490 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17491 : #line 803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17492 : (TARGET_AVX512F)))
17493 : return -1;
17494 : return 8086; /* *xorv64qi3 */
17495 :
17496 : case E_V32QImode:
17497 : if (pattern26 (x2,
17498 : E_V32QImode) != 0
17499 : || !(
17500 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17501 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17502 : #line 803 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17503 : (TARGET_AVX)))
17504 : return -1;
17505 : return 8089; /* *xorv32qi3 */
17506 :
17507 : case E_V16QImode:
17508 : if (pattern26 (x2,
17509 : E_V16QImode) != 0
17510 : || !
17511 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17512 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17513 : return -1;
17514 : return 8092; /* *xorv16qi3 */
17515 :
17516 : case E_V32HImode:
17517 : if (pattern26 (x2,
17518 : E_V32HImode) != 0
17519 : || !(
17520 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17521 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17522 : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17523 : (TARGET_AVX512F)))
17524 : return -1;
17525 : return 8095; /* *xorv32hi3 */
17526 :
17527 : case E_V16HImode:
17528 : if (pattern26 (x2,
17529 : E_V16HImode) != 0
17530 : || !(
17531 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17532 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
17533 : #line 804 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17534 : (TARGET_AVX)))
17535 : return -1;
17536 : return 8098; /* *xorv16hi3 */
17537 :
17538 : case E_V8HImode:
17539 : if (pattern26 (x2,
17540 : E_V8HImode) != 0
17541 : || !
17542 : #line 19171 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17543 : (TARGET_SSE && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
17544 : return -1;
17545 : return 8101; /* *xorv8hi3 */
17546 :
17547 : case E_V1TImode:
17548 : if (pattern680 (x2,
17549 : E_V1TImode) != 0
17550 : || !
17551 : #line 19268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17552 : (TARGET_SSE2))
17553 : return -1;
17554 : return 8104; /* xorv1ti3 */
17555 :
17556 : default:
17557 : return -1;
17558 : }
17559 :
17560 : case CONST_VECTOR:
17561 : switch (GET_MODE (operands[0]))
17562 : {
17563 : case E_V16SImode:
17564 : if (pattern934 (x2,
17565 : E_V16SImode) != 0
17566 : || !(
17567 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17568 : (TARGET_AVX512F
17569 : && (!false
17570 : || SImode == SImode
17571 : || SImode == DImode)) &&
17572 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17573 : (TARGET_AVX512F)))
17574 : return -1;
17575 : return 8000; /* *one_cmplv16si2 */
17576 :
17577 : case E_V8DImode:
17578 : if (pattern934 (x2,
17579 : E_V8DImode) != 0
17580 : || !(
17581 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17582 : (TARGET_AVX512F
17583 : && (!false
17584 : || DImode == SImode
17585 : || DImode == DImode)) &&
17586 : #line 556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17587 : (TARGET_AVX512F)))
17588 : return -1;
17589 : return 8002; /* *one_cmplv8di2 */
17590 :
17591 : case E_V64QImode:
17592 : if (pattern934 (x2,
17593 : E_V64QImode) != 0
17594 : || !(
17595 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17596 : (TARGET_AVX512F
17597 : && (!false
17598 : || QImode == SImode
17599 : || QImode == DImode)) &&
17600 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17601 : (TARGET_AVX512BW)))
17602 : return -1;
17603 : return 8004; /* *one_cmplv64qi2 */
17604 :
17605 : case E_V32QImode:
17606 : if (pattern934 (x2,
17607 : E_V32QImode) != 0
17608 : || !(
17609 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17610 : (TARGET_AVX512F
17611 : && (!false
17612 : || QImode == SImode
17613 : || QImode == DImode)) &&
17614 : #line 557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17615 : (TARGET_AVX)))
17616 : return -1;
17617 : return 8005; /* *one_cmplv32qi2 */
17618 :
17619 : case E_V16QImode:
17620 : if (pattern934 (x2,
17621 : E_V16QImode) != 0
17622 : || !
17623 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17624 : (TARGET_AVX512F
17625 : && (!false
17626 : || QImode == SImode
17627 : || QImode == DImode)))
17628 : return -1;
17629 : return 8006; /* *one_cmplv16qi2 */
17630 :
17631 : case E_V32HImode:
17632 : if (pattern934 (x2,
17633 : E_V32HImode) != 0
17634 : || !(
17635 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17636 : (TARGET_AVX512F
17637 : && (!false
17638 : || HImode == SImode
17639 : || HImode == DImode)) &&
17640 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17641 : (TARGET_AVX512BW)))
17642 : return -1;
17643 : return 8007; /* *one_cmplv32hi2 */
17644 :
17645 : case E_V16HImode:
17646 : if (pattern934 (x2,
17647 : E_V16HImode) != 0
17648 : || !(
17649 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17650 : (TARGET_AVX512F
17651 : && (!false
17652 : || HImode == SImode
17653 : || HImode == DImode)) &&
17654 : #line 558 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17655 : (TARGET_AVX)))
17656 : return -1;
17657 : return 8008; /* *one_cmplv16hi2 */
17658 :
17659 : case E_V8HImode:
17660 : if (pattern934 (x2,
17661 : E_V8HImode) != 0
17662 : || !
17663 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17664 : (TARGET_AVX512F
17665 : && (!false
17666 : || HImode == SImode
17667 : || HImode == DImode)))
17668 : return -1;
17669 : return 8009; /* *one_cmplv8hi2 */
17670 :
17671 : case E_V8SImode:
17672 : if (pattern934 (x2,
17673 : E_V8SImode) != 0
17674 : || !(
17675 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17676 : (TARGET_AVX512F
17677 : && (!false
17678 : || SImode == SImode
17679 : || SImode == DImode)) &&
17680 : #line 559 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17681 : (TARGET_AVX)))
17682 : return -1;
17683 : return 8010; /* *one_cmplv8si2 */
17684 :
17685 : case E_V4SImode:
17686 : if (pattern934 (x2,
17687 : E_V4SImode) != 0
17688 : || !
17689 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17690 : (TARGET_AVX512F
17691 : && (!false
17692 : || SImode == SImode
17693 : || SImode == DImode)))
17694 : return -1;
17695 : return 8012; /* *one_cmplv4si2 */
17696 :
17697 : case E_V4DImode:
17698 : if (pattern934 (x2,
17699 : E_V4DImode) != 0
17700 : || !(
17701 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17702 : (TARGET_AVX512F
17703 : && (!false
17704 : || DImode == SImode
17705 : || DImode == DImode)) &&
17706 : #line 560 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17707 : (TARGET_AVX)))
17708 : return -1;
17709 : return 8014; /* *one_cmplv4di2 */
17710 :
17711 : case E_V2DImode:
17712 : if (pattern934 (x2,
17713 : E_V2DImode) != 0
17714 : || !
17715 : #line 18698 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17716 : (TARGET_AVX512F
17717 : && (!false
17718 : || DImode == SImode
17719 : || DImode == DImode)))
17720 : return -1;
17721 : return 8016; /* *one_cmplv2di2 */
17722 :
17723 : default:
17724 : return -1;
17725 : }
17726 :
17727 : default:
17728 : return -1;
17729 : }
17730 :
17731 : case AND:
17732 : x5 = XEXP (x3, 0);
17733 : switch (GET_CODE (x5))
17734 : {
17735 : case REG:
17736 : case SUBREG:
17737 : case MEM:
17738 : case NOT:
17739 : switch (pattern535 (x2))
17740 : {
17741 : case 0:
17742 : if (!(
17743 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17744 : ((64 == 64 || TARGET_AVX512VL
17745 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17746 : && ix86_pre_reload_split ()
17747 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17748 : STRIP_UNARY (operands[4]))
17749 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17750 : STRIP_UNARY (operands[4]))
17751 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17752 : STRIP_UNARY (operands[3]))
17753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17754 : STRIP_UNARY (operands[3])))) &&
17755 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17756 : (TARGET_AVX512F)))
17757 : return -1;
17758 : return 5539; /* *avx512bw_vpternlogv64qi_1 */
17759 :
17760 : case 1:
17761 : if (!(
17762 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17763 : ((32 == 64 || TARGET_AVX512VL
17764 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17765 : && ix86_pre_reload_split ()
17766 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17767 : STRIP_UNARY (operands[4]))
17768 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17769 : STRIP_UNARY (operands[4]))
17770 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17771 : STRIP_UNARY (operands[3]))
17772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17773 : STRIP_UNARY (operands[3])))) &&
17774 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17775 : (TARGET_AVX)))
17776 : return -1;
17777 : return 5566; /* *avx512vl_vpternlogv32qi_1 */
17778 :
17779 : case 2:
17780 : if (!
17781 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17782 : ((16 == 64 || TARGET_AVX512VL
17783 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17784 : && ix86_pre_reload_split ()
17785 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17786 : STRIP_UNARY (operands[4]))
17787 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17788 : STRIP_UNARY (operands[4]))
17789 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17790 : STRIP_UNARY (operands[3]))
17791 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17792 : STRIP_UNARY (operands[3])))))
17793 : return -1;
17794 : return 5593; /* *avx512vl_vpternlogv16qi_1 */
17795 :
17796 : case 3:
17797 : if (!(
17798 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17799 : ((64 == 64 || TARGET_AVX512VL
17800 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17801 : && ix86_pre_reload_split ()
17802 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17803 : STRIP_UNARY (operands[4]))
17804 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17805 : STRIP_UNARY (operands[4]))
17806 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17807 : STRIP_UNARY (operands[3]))
17808 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17809 : STRIP_UNARY (operands[3])))) &&
17810 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17811 : (TARGET_AVX512F)))
17812 : return -1;
17813 : return 5620; /* *avx512bw_vpternlogv32hi_1 */
17814 :
17815 : case 4:
17816 : if (!(
17817 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17818 : ((32 == 64 || TARGET_AVX512VL
17819 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17820 : && ix86_pre_reload_split ()
17821 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17822 : STRIP_UNARY (operands[4]))
17823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17824 : STRIP_UNARY (operands[4]))
17825 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17826 : STRIP_UNARY (operands[3]))
17827 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17828 : STRIP_UNARY (operands[3])))) &&
17829 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17830 : (TARGET_AVX)))
17831 : return -1;
17832 : return 5647; /* *avx512vl_vpternlogv16hi_1 */
17833 :
17834 : case 5:
17835 : if (!
17836 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17837 : ((16 == 64 || TARGET_AVX512VL
17838 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17839 : && ix86_pre_reload_split ()
17840 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17841 : STRIP_UNARY (operands[4]))
17842 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17843 : STRIP_UNARY (operands[4]))
17844 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17845 : STRIP_UNARY (operands[3]))
17846 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17847 : STRIP_UNARY (operands[3])))))
17848 : return -1;
17849 : return 5674; /* *avx512vl_vpternlogv8hi_1 */
17850 :
17851 : case 6:
17852 : if (!(
17853 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17854 : ((64 == 64 || TARGET_AVX512VL
17855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17856 : && ix86_pre_reload_split ()
17857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17858 : STRIP_UNARY (operands[4]))
17859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17860 : STRIP_UNARY (operands[4]))
17861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17862 : STRIP_UNARY (operands[3]))
17863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17864 : STRIP_UNARY (operands[3])))) &&
17865 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17866 : (TARGET_AVX512F)))
17867 : return -1;
17868 : return 5701; /* *avx512f_vpternlogv16si_1 */
17869 :
17870 : case 7:
17871 : if (!(
17872 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17873 : ((32 == 64 || TARGET_AVX512VL
17874 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17875 : && ix86_pre_reload_split ()
17876 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17877 : STRIP_UNARY (operands[4]))
17878 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17879 : STRIP_UNARY (operands[4]))
17880 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17881 : STRIP_UNARY (operands[3]))
17882 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17883 : STRIP_UNARY (operands[3])))) &&
17884 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17885 : (TARGET_AVX)))
17886 : return -1;
17887 : return 5728; /* *avx512vl_vpternlogv8si_1 */
17888 :
17889 : case 8:
17890 : if (!
17891 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17892 : ((16 == 64 || TARGET_AVX512VL
17893 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17894 : && ix86_pre_reload_split ()
17895 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17896 : STRIP_UNARY (operands[4]))
17897 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17898 : STRIP_UNARY (operands[4]))
17899 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17900 : STRIP_UNARY (operands[3]))
17901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17902 : STRIP_UNARY (operands[3])))))
17903 : return -1;
17904 : return 5755; /* *avx512vl_vpternlogv4si_1 */
17905 :
17906 : case 9:
17907 : if (!(
17908 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17909 : ((64 == 64 || TARGET_AVX512VL
17910 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17911 : && ix86_pre_reload_split ()
17912 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17913 : STRIP_UNARY (operands[4]))
17914 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17915 : STRIP_UNARY (operands[4]))
17916 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17917 : STRIP_UNARY (operands[3]))
17918 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17919 : STRIP_UNARY (operands[3])))) &&
17920 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17921 : (TARGET_AVX512F)))
17922 : return -1;
17923 : return 5782; /* *avx512f_vpternlogv8di_1 */
17924 :
17925 : case 10:
17926 : if (!(
17927 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17928 : ((32 == 64 || TARGET_AVX512VL
17929 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17930 : && ix86_pre_reload_split ()
17931 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17932 : STRIP_UNARY (operands[4]))
17933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17934 : STRIP_UNARY (operands[4]))
17935 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17936 : STRIP_UNARY (operands[3]))
17937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17938 : STRIP_UNARY (operands[3])))) &&
17939 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17940 : (TARGET_AVX)))
17941 : return -1;
17942 : return 5809; /* *avx512vl_vpternlogv4di_1 */
17943 :
17944 : case 11:
17945 : if (!
17946 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17947 : ((16 == 64 || TARGET_AVX512VL
17948 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17949 : && ix86_pre_reload_split ()
17950 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17951 : STRIP_UNARY (operands[4]))
17952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17953 : STRIP_UNARY (operands[4]))
17954 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17955 : STRIP_UNARY (operands[3]))
17956 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17957 : STRIP_UNARY (operands[3])))))
17958 : return -1;
17959 : return 5836; /* *avx512vl_vpternlogv2di_1 */
17960 :
17961 : case 12:
17962 : if (!(
17963 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17964 : ((64 == 64 || TARGET_AVX512VL
17965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17966 : && ix86_pre_reload_split ()
17967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17968 : STRIP_UNARY (operands[4]))
17969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17970 : STRIP_UNARY (operands[4]))
17971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17972 : STRIP_UNARY (operands[3]))
17973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17974 : STRIP_UNARY (operands[3])))) &&
17975 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17976 : (TARGET_AVX512F)))
17977 : return -1;
17978 : return 5542; /* *avx512bw_vpternlogv64qi_1 */
17979 :
17980 : case 13:
17981 : if (!(
17982 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17983 : ((32 == 64 || TARGET_AVX512VL
17984 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17985 : && ix86_pre_reload_split ()
17986 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17987 : STRIP_UNARY (operands[4]))
17988 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17989 : STRIP_UNARY (operands[4]))
17990 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17991 : STRIP_UNARY (operands[3]))
17992 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17993 : STRIP_UNARY (operands[3])))) &&
17994 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17995 : (TARGET_AVX)))
17996 : return -1;
17997 : return 5569; /* *avx512vl_vpternlogv32qi_1 */
17998 :
17999 : case 14:
18000 : if (!
18001 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18002 : ((16 == 64 || TARGET_AVX512VL
18003 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18004 : && ix86_pre_reload_split ()
18005 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18006 : STRIP_UNARY (operands[4]))
18007 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18008 : STRIP_UNARY (operands[4]))
18009 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18010 : STRIP_UNARY (operands[3]))
18011 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18012 : STRIP_UNARY (operands[3])))))
18013 : return -1;
18014 : return 5596; /* *avx512vl_vpternlogv16qi_1 */
18015 :
18016 : case 15:
18017 : if (!(
18018 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18019 : ((64 == 64 || TARGET_AVX512VL
18020 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18021 : && ix86_pre_reload_split ()
18022 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18023 : STRIP_UNARY (operands[4]))
18024 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18025 : STRIP_UNARY (operands[4]))
18026 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18027 : STRIP_UNARY (operands[3]))
18028 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18029 : STRIP_UNARY (operands[3])))) &&
18030 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18031 : (TARGET_AVX512F)))
18032 : return -1;
18033 : return 5623; /* *avx512bw_vpternlogv32hi_1 */
18034 :
18035 : case 16:
18036 : if (!(
18037 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18038 : ((32 == 64 || TARGET_AVX512VL
18039 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18040 : && ix86_pre_reload_split ()
18041 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18042 : STRIP_UNARY (operands[4]))
18043 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18044 : STRIP_UNARY (operands[4]))
18045 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18046 : STRIP_UNARY (operands[3]))
18047 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18048 : STRIP_UNARY (operands[3])))) &&
18049 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18050 : (TARGET_AVX)))
18051 : return -1;
18052 : return 5650; /* *avx512vl_vpternlogv16hi_1 */
18053 :
18054 : case 17:
18055 : if (!
18056 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18057 : ((16 == 64 || TARGET_AVX512VL
18058 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18059 : && ix86_pre_reload_split ()
18060 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18061 : STRIP_UNARY (operands[4]))
18062 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18063 : STRIP_UNARY (operands[4]))
18064 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18065 : STRIP_UNARY (operands[3]))
18066 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18067 : STRIP_UNARY (operands[3])))))
18068 : return -1;
18069 : return 5677; /* *avx512vl_vpternlogv8hi_1 */
18070 :
18071 : case 18:
18072 : if (!(
18073 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18074 : ((64 == 64 || TARGET_AVX512VL
18075 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18076 : && ix86_pre_reload_split ()
18077 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18078 : STRIP_UNARY (operands[4]))
18079 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18080 : STRIP_UNARY (operands[4]))
18081 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18082 : STRIP_UNARY (operands[3]))
18083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18084 : STRIP_UNARY (operands[3])))) &&
18085 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18086 : (TARGET_AVX512F)))
18087 : return -1;
18088 : return 5704; /* *avx512f_vpternlogv16si_1 */
18089 :
18090 : case 19:
18091 : if (!(
18092 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18093 : ((32 == 64 || TARGET_AVX512VL
18094 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18095 : && ix86_pre_reload_split ()
18096 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18097 : STRIP_UNARY (operands[4]))
18098 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18099 : STRIP_UNARY (operands[4]))
18100 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18101 : STRIP_UNARY (operands[3]))
18102 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18103 : STRIP_UNARY (operands[3])))) &&
18104 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18105 : (TARGET_AVX)))
18106 : return -1;
18107 : return 5731; /* *avx512vl_vpternlogv8si_1 */
18108 :
18109 : case 20:
18110 : if (!
18111 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18112 : ((16 == 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 : return -1;
18124 : return 5758; /* *avx512vl_vpternlogv4si_1 */
18125 :
18126 : case 21:
18127 : if (!(
18128 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18129 : ((64 == 64 || TARGET_AVX512VL
18130 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18131 : && ix86_pre_reload_split ()
18132 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18133 : STRIP_UNARY (operands[4]))
18134 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18135 : STRIP_UNARY (operands[4]))
18136 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18137 : STRIP_UNARY (operands[3]))
18138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18139 : STRIP_UNARY (operands[3])))) &&
18140 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18141 : (TARGET_AVX512F)))
18142 : return -1;
18143 : return 5785; /* *avx512f_vpternlogv8di_1 */
18144 :
18145 : case 22:
18146 : if (!(
18147 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18148 : ((32 == 64 || TARGET_AVX512VL
18149 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18150 : && ix86_pre_reload_split ()
18151 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18152 : STRIP_UNARY (operands[4]))
18153 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18154 : STRIP_UNARY (operands[4]))
18155 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18156 : STRIP_UNARY (operands[3]))
18157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18158 : STRIP_UNARY (operands[3])))) &&
18159 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18160 : (TARGET_AVX)))
18161 : return -1;
18162 : return 5812; /* *avx512vl_vpternlogv4di_1 */
18163 :
18164 : case 23:
18165 : if (!
18166 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18167 : ((16 == 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 : return -1;
18179 : return 5839; /* *avx512vl_vpternlogv2di_1 */
18180 :
18181 : case 24:
18182 : if (!(
18183 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18184 : ((64 == 64 || TARGET_AVX512VL
18185 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18186 : && ix86_pre_reload_split ()
18187 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18188 : STRIP_UNARY (operands[4]))
18189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18190 : STRIP_UNARY (operands[4]))
18191 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18192 : STRIP_UNARY (operands[3]))
18193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18194 : STRIP_UNARY (operands[3])))) &&
18195 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18196 : (TARGET_AVX512F)))
18197 : return -1;
18198 : return 5545; /* *avx512bw_vpternlogv64qi_1 */
18199 :
18200 : case 25:
18201 : if (!(
18202 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18203 : ((32 == 64 || TARGET_AVX512VL
18204 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18205 : && ix86_pre_reload_split ()
18206 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18207 : STRIP_UNARY (operands[4]))
18208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18209 : STRIP_UNARY (operands[4]))
18210 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18211 : STRIP_UNARY (operands[3]))
18212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18213 : STRIP_UNARY (operands[3])))) &&
18214 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18215 : (TARGET_AVX)))
18216 : return -1;
18217 : return 5572; /* *avx512vl_vpternlogv32qi_1 */
18218 :
18219 : case 26:
18220 : if (!
18221 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18222 : ((16 == 64 || TARGET_AVX512VL
18223 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18224 : && ix86_pre_reload_split ()
18225 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18226 : STRIP_UNARY (operands[4]))
18227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18228 : STRIP_UNARY (operands[4]))
18229 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18230 : STRIP_UNARY (operands[3]))
18231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18232 : STRIP_UNARY (operands[3])))))
18233 : return -1;
18234 : return 5599; /* *avx512vl_vpternlogv16qi_1 */
18235 :
18236 : case 27:
18237 : if (!(
18238 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18239 : ((64 == 64 || TARGET_AVX512VL
18240 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18241 : && ix86_pre_reload_split ()
18242 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18243 : STRIP_UNARY (operands[4]))
18244 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18245 : STRIP_UNARY (operands[4]))
18246 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18247 : STRIP_UNARY (operands[3]))
18248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18249 : STRIP_UNARY (operands[3])))) &&
18250 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18251 : (TARGET_AVX512F)))
18252 : return -1;
18253 : return 5626; /* *avx512bw_vpternlogv32hi_1 */
18254 :
18255 : case 28:
18256 : if (!(
18257 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18258 : ((32 == 64 || TARGET_AVX512VL
18259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18260 : && ix86_pre_reload_split ()
18261 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18262 : STRIP_UNARY (operands[4]))
18263 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18264 : STRIP_UNARY (operands[4]))
18265 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18266 : STRIP_UNARY (operands[3]))
18267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18268 : STRIP_UNARY (operands[3])))) &&
18269 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18270 : (TARGET_AVX)))
18271 : return -1;
18272 : return 5653; /* *avx512vl_vpternlogv16hi_1 */
18273 :
18274 : case 29:
18275 : if (!
18276 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18277 : ((16 == 64 || TARGET_AVX512VL
18278 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18279 : && ix86_pre_reload_split ()
18280 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18281 : STRIP_UNARY (operands[4]))
18282 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18283 : STRIP_UNARY (operands[4]))
18284 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18285 : STRIP_UNARY (operands[3]))
18286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18287 : STRIP_UNARY (operands[3])))))
18288 : return -1;
18289 : return 5680; /* *avx512vl_vpternlogv8hi_1 */
18290 :
18291 : case 30:
18292 : if (!(
18293 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18294 : ((64 == 64 || TARGET_AVX512VL
18295 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18296 : && ix86_pre_reload_split ()
18297 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18298 : STRIP_UNARY (operands[4]))
18299 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18300 : STRIP_UNARY (operands[4]))
18301 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18302 : STRIP_UNARY (operands[3]))
18303 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18304 : STRIP_UNARY (operands[3])))) &&
18305 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18306 : (TARGET_AVX512F)))
18307 : return -1;
18308 : return 5707; /* *avx512f_vpternlogv16si_1 */
18309 :
18310 : case 31:
18311 : if (!(
18312 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18313 : ((32 == 64 || TARGET_AVX512VL
18314 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18315 : && ix86_pre_reload_split ()
18316 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18317 : STRIP_UNARY (operands[4]))
18318 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18319 : STRIP_UNARY (operands[4]))
18320 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18321 : STRIP_UNARY (operands[3]))
18322 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18323 : STRIP_UNARY (operands[3])))) &&
18324 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18325 : (TARGET_AVX)))
18326 : return -1;
18327 : return 5734; /* *avx512vl_vpternlogv8si_1 */
18328 :
18329 : case 32:
18330 : if (!
18331 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18332 : ((16 == 64 || TARGET_AVX512VL
18333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18334 : && ix86_pre_reload_split ()
18335 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18336 : STRIP_UNARY (operands[4]))
18337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18338 : STRIP_UNARY (operands[4]))
18339 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18340 : STRIP_UNARY (operands[3]))
18341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18342 : STRIP_UNARY (operands[3])))))
18343 : return -1;
18344 : return 5761; /* *avx512vl_vpternlogv4si_1 */
18345 :
18346 : case 33:
18347 : if (!(
18348 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18349 : ((64 == 64 || TARGET_AVX512VL
18350 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18351 : && ix86_pre_reload_split ()
18352 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18353 : STRIP_UNARY (operands[4]))
18354 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18355 : STRIP_UNARY (operands[4]))
18356 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18357 : STRIP_UNARY (operands[3]))
18358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18359 : STRIP_UNARY (operands[3])))) &&
18360 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18361 : (TARGET_AVX512F)))
18362 : return -1;
18363 : return 5788; /* *avx512f_vpternlogv8di_1 */
18364 :
18365 : case 34:
18366 : if (!(
18367 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18368 : ((32 == 64 || TARGET_AVX512VL
18369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18370 : && ix86_pre_reload_split ()
18371 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18372 : STRIP_UNARY (operands[4]))
18373 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18374 : STRIP_UNARY (operands[4]))
18375 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18376 : STRIP_UNARY (operands[3]))
18377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18378 : STRIP_UNARY (operands[3])))) &&
18379 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18380 : (TARGET_AVX)))
18381 : return -1;
18382 : return 5815; /* *avx512vl_vpternlogv4di_1 */
18383 :
18384 : case 35:
18385 : if (!
18386 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18387 : ((16 == 64 || TARGET_AVX512VL
18388 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18389 : && ix86_pre_reload_split ()
18390 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18391 : STRIP_UNARY (operands[4]))
18392 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18393 : STRIP_UNARY (operands[4]))
18394 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18395 : STRIP_UNARY (operands[3]))
18396 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18397 : STRIP_UNARY (operands[3])))))
18398 : return -1;
18399 : return 5842; /* *avx512vl_vpternlogv2di_1 */
18400 :
18401 : case 36:
18402 : if (!(
18403 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18404 : ((64 == 64 || TARGET_AVX512VL
18405 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18406 : && ix86_pre_reload_split ()) &&
18407 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18408 : (TARGET_AVX512F)))
18409 : return -1;
18410 : return 6835; /* *avx512bw_vpternlogv64qi_3 */
18411 :
18412 : case 37:
18413 : if (!(
18414 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18415 : ((32 == 64 || TARGET_AVX512VL
18416 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18417 : && ix86_pre_reload_split ()) &&
18418 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18419 : (TARGET_AVX)))
18420 : return -1;
18421 : return 6844; /* *avx512vl_vpternlogv32qi_3 */
18422 :
18423 : case 38:
18424 : if (!
18425 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18426 : ((16 == 64 || TARGET_AVX512VL
18427 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18428 : && ix86_pre_reload_split ()))
18429 : return -1;
18430 : return 6853; /* *avx512vl_vpternlogv16qi_3 */
18431 :
18432 : case 39:
18433 : if (!(
18434 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18435 : ((64 == 64 || TARGET_AVX512VL
18436 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18437 : && ix86_pre_reload_split ()) &&
18438 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18439 : (TARGET_AVX512F)))
18440 : return -1;
18441 : return 6862; /* *avx512bw_vpternlogv32hi_3 */
18442 :
18443 : case 40:
18444 : if (!(
18445 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18446 : ((32 == 64 || TARGET_AVX512VL
18447 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18448 : && ix86_pre_reload_split ()) &&
18449 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18450 : (TARGET_AVX)))
18451 : return -1;
18452 : return 6871; /* *avx512vl_vpternlogv16hi_3 */
18453 :
18454 : case 41:
18455 : if (!
18456 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18457 : ((16 == 64 || TARGET_AVX512VL
18458 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18459 : && ix86_pre_reload_split ()))
18460 : return -1;
18461 : return 6880; /* *avx512vl_vpternlogv8hi_3 */
18462 :
18463 : case 42:
18464 : if (!(
18465 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18466 : ((64 == 64 || TARGET_AVX512VL
18467 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18468 : && ix86_pre_reload_split ()) &&
18469 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18470 : (TARGET_AVX512F)))
18471 : return -1;
18472 : return 6889; /* *avx512f_vpternlogv16si_3 */
18473 :
18474 : case 43:
18475 : if (!(
18476 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18477 : ((32 == 64 || TARGET_AVX512VL
18478 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18479 : && ix86_pre_reload_split ()) &&
18480 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18481 : (TARGET_AVX)))
18482 : return -1;
18483 : return 6898; /* *avx512vl_vpternlogv8si_3 */
18484 :
18485 : case 44:
18486 : if (!
18487 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18488 : ((16 == 64 || TARGET_AVX512VL
18489 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18490 : && ix86_pre_reload_split ()))
18491 : return -1;
18492 : return 6907; /* *avx512vl_vpternlogv4si_3 */
18493 :
18494 : case 45:
18495 : if (!(
18496 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18497 : ((64 == 64 || TARGET_AVX512VL
18498 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18499 : && ix86_pre_reload_split ()) &&
18500 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18501 : (TARGET_AVX512F)))
18502 : return -1;
18503 : return 6916; /* *avx512f_vpternlogv8di_3 */
18504 :
18505 : case 46:
18506 : if (!(
18507 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18508 : ((32 == 64 || TARGET_AVX512VL
18509 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18510 : && ix86_pre_reload_split ()) &&
18511 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18512 : (TARGET_AVX)))
18513 : return -1;
18514 : return 6925; /* *avx512vl_vpternlogv4di_3 */
18515 :
18516 : case 47:
18517 : if (!
18518 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18519 : ((16 == 64 || TARGET_AVX512VL
18520 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18521 : && ix86_pre_reload_split ()))
18522 : return -1;
18523 : return 6934; /* *avx512vl_vpternlogv2di_3 */
18524 :
18525 : default:
18526 : return -1;
18527 : }
18528 :
18529 : case AND:
18530 : switch (pattern537 (x2))
18531 : {
18532 : case 0:
18533 : if (!(
18534 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18535 : ((64 == 64 || TARGET_AVX512VL
18536 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18537 : && ix86_pre_reload_split ()
18538 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18539 : STRIP_UNARY (operands[4]))
18540 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18541 : STRIP_UNARY (operands[4]))
18542 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18543 : STRIP_UNARY (operands[3]))
18544 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18545 : STRIP_UNARY (operands[3])))) &&
18546 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18547 : (TARGET_AVX512F)))
18548 : return -1;
18549 : return 6187; /* *avx512bw_vpternlogv64qi_2 */
18550 :
18551 : case 1:
18552 : if (!(
18553 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18554 : ((32 == 64 || TARGET_AVX512VL
18555 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18556 : && ix86_pre_reload_split ()
18557 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18558 : STRIP_UNARY (operands[4]))
18559 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18560 : STRIP_UNARY (operands[4]))
18561 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18562 : STRIP_UNARY (operands[3]))
18563 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18564 : STRIP_UNARY (operands[3])))) &&
18565 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18566 : (TARGET_AVX)))
18567 : return -1;
18568 : return 6214; /* *avx512vl_vpternlogv32qi_2 */
18569 :
18570 : case 2:
18571 : if (!
18572 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18573 : ((16 == 64 || TARGET_AVX512VL
18574 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18575 : && ix86_pre_reload_split ()
18576 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18577 : STRIP_UNARY (operands[4]))
18578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18579 : STRIP_UNARY (operands[4]))
18580 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18581 : STRIP_UNARY (operands[3]))
18582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18583 : STRIP_UNARY (operands[3])))))
18584 : return -1;
18585 : return 6241; /* *avx512vl_vpternlogv16qi_2 */
18586 :
18587 : case 3:
18588 : if (!(
18589 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18590 : ((64 == 64 || TARGET_AVX512VL
18591 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18592 : && ix86_pre_reload_split ()
18593 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18594 : STRIP_UNARY (operands[4]))
18595 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18596 : STRIP_UNARY (operands[4]))
18597 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18598 : STRIP_UNARY (operands[3]))
18599 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18600 : STRIP_UNARY (operands[3])))) &&
18601 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18602 : (TARGET_AVX512F)))
18603 : return -1;
18604 : return 6268; /* *avx512bw_vpternlogv32hi_2 */
18605 :
18606 : case 4:
18607 : if (!(
18608 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18609 : ((32 == 64 || TARGET_AVX512VL
18610 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18611 : && ix86_pre_reload_split ()
18612 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18613 : STRIP_UNARY (operands[4]))
18614 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18615 : STRIP_UNARY (operands[4]))
18616 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18617 : STRIP_UNARY (operands[3]))
18618 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18619 : STRIP_UNARY (operands[3])))) &&
18620 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18621 : (TARGET_AVX)))
18622 : return -1;
18623 : return 6295; /* *avx512vl_vpternlogv16hi_2 */
18624 :
18625 : case 5:
18626 : if (!
18627 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18628 : ((16 == 64 || TARGET_AVX512VL
18629 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18630 : && ix86_pre_reload_split ()
18631 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18632 : STRIP_UNARY (operands[4]))
18633 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18634 : STRIP_UNARY (operands[4]))
18635 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18636 : STRIP_UNARY (operands[3]))
18637 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18638 : STRIP_UNARY (operands[3])))))
18639 : return -1;
18640 : return 6322; /* *avx512vl_vpternlogv8hi_2 */
18641 :
18642 : case 6:
18643 : if (!(
18644 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18645 : ((64 == 64 || TARGET_AVX512VL
18646 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18647 : && ix86_pre_reload_split ()
18648 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18649 : STRIP_UNARY (operands[4]))
18650 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18651 : STRIP_UNARY (operands[4]))
18652 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18653 : STRIP_UNARY (operands[3]))
18654 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18655 : STRIP_UNARY (operands[3])))) &&
18656 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18657 : (TARGET_AVX512F)))
18658 : return -1;
18659 : return 6349; /* *avx512f_vpternlogv16si_2 */
18660 :
18661 : case 7:
18662 : if (!(
18663 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18664 : ((32 == 64 || TARGET_AVX512VL
18665 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18666 : && ix86_pre_reload_split ()
18667 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18668 : STRIP_UNARY (operands[4]))
18669 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18670 : STRIP_UNARY (operands[4]))
18671 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18672 : STRIP_UNARY (operands[3]))
18673 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18674 : STRIP_UNARY (operands[3])))) &&
18675 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18676 : (TARGET_AVX)))
18677 : return -1;
18678 : return 6376; /* *avx512vl_vpternlogv8si_2 */
18679 :
18680 : case 8:
18681 : if (!
18682 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18683 : ((16 == 64 || TARGET_AVX512VL
18684 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18685 : && ix86_pre_reload_split ()
18686 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18687 : STRIP_UNARY (operands[4]))
18688 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18689 : STRIP_UNARY (operands[4]))
18690 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18691 : STRIP_UNARY (operands[3]))
18692 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18693 : STRIP_UNARY (operands[3])))))
18694 : return -1;
18695 : return 6403; /* *avx512vl_vpternlogv4si_2 */
18696 :
18697 : case 9:
18698 : if (!(
18699 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18700 : ((64 == 64 || TARGET_AVX512VL
18701 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18702 : && ix86_pre_reload_split ()
18703 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18704 : STRIP_UNARY (operands[4]))
18705 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18706 : STRIP_UNARY (operands[4]))
18707 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18708 : STRIP_UNARY (operands[3]))
18709 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18710 : STRIP_UNARY (operands[3])))) &&
18711 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18712 : (TARGET_AVX512F)))
18713 : return -1;
18714 : return 6430; /* *avx512f_vpternlogv8di_2 */
18715 :
18716 : case 10:
18717 : if (!(
18718 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18719 : ((32 == 64 || TARGET_AVX512VL
18720 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18721 : && ix86_pre_reload_split ()
18722 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18723 : STRIP_UNARY (operands[4]))
18724 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18725 : STRIP_UNARY (operands[4]))
18726 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18727 : STRIP_UNARY (operands[3]))
18728 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18729 : STRIP_UNARY (operands[3])))) &&
18730 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18731 : (TARGET_AVX)))
18732 : return -1;
18733 : return 6457; /* *avx512vl_vpternlogv4di_2 */
18734 :
18735 : case 11:
18736 : if (!
18737 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18738 : ((16 == 64 || TARGET_AVX512VL
18739 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18740 : && ix86_pre_reload_split ()
18741 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18742 : STRIP_UNARY (operands[4]))
18743 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18744 : STRIP_UNARY (operands[4]))
18745 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18746 : STRIP_UNARY (operands[3]))
18747 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18748 : STRIP_UNARY (operands[3])))))
18749 : return -1;
18750 : return 6484; /* *avx512vl_vpternlogv2di_2 */
18751 :
18752 : default:
18753 : return -1;
18754 : }
18755 :
18756 : case IOR:
18757 : switch (pattern537 (x2))
18758 : {
18759 : case 0:
18760 : if (!(
18761 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18762 : ((64 == 64 || TARGET_AVX512VL
18763 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18764 : && ix86_pre_reload_split ()
18765 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18766 : STRIP_UNARY (operands[4]))
18767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18768 : STRIP_UNARY (operands[4]))
18769 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18770 : STRIP_UNARY (operands[3]))
18771 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18772 : STRIP_UNARY (operands[3])))) &&
18773 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18774 : (TARGET_AVX512F)))
18775 : return -1;
18776 : return 6190; /* *avx512bw_vpternlogv64qi_2 */
18777 :
18778 : case 1:
18779 : if (!(
18780 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18781 : ((32 == 64 || TARGET_AVX512VL
18782 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18783 : && ix86_pre_reload_split ()
18784 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18785 : STRIP_UNARY (operands[4]))
18786 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18787 : STRIP_UNARY (operands[4]))
18788 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18789 : STRIP_UNARY (operands[3]))
18790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18791 : STRIP_UNARY (operands[3])))) &&
18792 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18793 : (TARGET_AVX)))
18794 : return -1;
18795 : return 6217; /* *avx512vl_vpternlogv32qi_2 */
18796 :
18797 : case 2:
18798 : if (!
18799 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18800 : ((16 == 64 || TARGET_AVX512VL
18801 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18802 : && ix86_pre_reload_split ()
18803 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18804 : STRIP_UNARY (operands[4]))
18805 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18806 : STRIP_UNARY (operands[4]))
18807 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18808 : STRIP_UNARY (operands[3]))
18809 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18810 : STRIP_UNARY (operands[3])))))
18811 : return -1;
18812 : return 6244; /* *avx512vl_vpternlogv16qi_2 */
18813 :
18814 : case 3:
18815 : if (!(
18816 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18817 : ((64 == 64 || TARGET_AVX512VL
18818 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18819 : && ix86_pre_reload_split ()
18820 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18821 : STRIP_UNARY (operands[4]))
18822 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18823 : STRIP_UNARY (operands[4]))
18824 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18825 : STRIP_UNARY (operands[3]))
18826 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18827 : STRIP_UNARY (operands[3])))) &&
18828 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18829 : (TARGET_AVX512F)))
18830 : return -1;
18831 : return 6271; /* *avx512bw_vpternlogv32hi_2 */
18832 :
18833 : case 4:
18834 : if (!(
18835 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18836 : ((32 == 64 || TARGET_AVX512VL
18837 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18838 : && ix86_pre_reload_split ()
18839 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18840 : STRIP_UNARY (operands[4]))
18841 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18842 : STRIP_UNARY (operands[4]))
18843 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18844 : STRIP_UNARY (operands[3]))
18845 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18846 : STRIP_UNARY (operands[3])))) &&
18847 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18848 : (TARGET_AVX)))
18849 : return -1;
18850 : return 6298; /* *avx512vl_vpternlogv16hi_2 */
18851 :
18852 : case 5:
18853 : if (!
18854 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18855 : ((16 == 64 || TARGET_AVX512VL
18856 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18857 : && ix86_pre_reload_split ()
18858 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18859 : STRIP_UNARY (operands[4]))
18860 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18861 : STRIP_UNARY (operands[4]))
18862 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18863 : STRIP_UNARY (operands[3]))
18864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18865 : STRIP_UNARY (operands[3])))))
18866 : return -1;
18867 : return 6325; /* *avx512vl_vpternlogv8hi_2 */
18868 :
18869 : case 6:
18870 : if (!(
18871 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18872 : ((64 == 64 || TARGET_AVX512VL
18873 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18874 : && ix86_pre_reload_split ()
18875 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18876 : STRIP_UNARY (operands[4]))
18877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18878 : STRIP_UNARY (operands[4]))
18879 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18880 : STRIP_UNARY (operands[3]))
18881 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18882 : STRIP_UNARY (operands[3])))) &&
18883 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18884 : (TARGET_AVX512F)))
18885 : return -1;
18886 : return 6352; /* *avx512f_vpternlogv16si_2 */
18887 :
18888 : case 7:
18889 : if (!(
18890 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18891 : ((32 == 64 || TARGET_AVX512VL
18892 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18893 : && ix86_pre_reload_split ()
18894 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18895 : STRIP_UNARY (operands[4]))
18896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18897 : STRIP_UNARY (operands[4]))
18898 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18899 : STRIP_UNARY (operands[3]))
18900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18901 : STRIP_UNARY (operands[3])))) &&
18902 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18903 : (TARGET_AVX)))
18904 : return -1;
18905 : return 6379; /* *avx512vl_vpternlogv8si_2 */
18906 :
18907 : case 8:
18908 : if (!
18909 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18910 : ((16 == 64 || TARGET_AVX512VL
18911 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18912 : && ix86_pre_reload_split ()
18913 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18914 : STRIP_UNARY (operands[4]))
18915 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18916 : STRIP_UNARY (operands[4]))
18917 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18918 : STRIP_UNARY (operands[3]))
18919 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18920 : STRIP_UNARY (operands[3])))))
18921 : return -1;
18922 : return 6406; /* *avx512vl_vpternlogv4si_2 */
18923 :
18924 : case 9:
18925 : if (!(
18926 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18927 : ((64 == 64 || TARGET_AVX512VL
18928 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18929 : && ix86_pre_reload_split ()
18930 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18931 : STRIP_UNARY (operands[4]))
18932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18933 : STRIP_UNARY (operands[4]))
18934 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18935 : STRIP_UNARY (operands[3]))
18936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18937 : STRIP_UNARY (operands[3])))) &&
18938 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18939 : (TARGET_AVX512F)))
18940 : return -1;
18941 : return 6433; /* *avx512f_vpternlogv8di_2 */
18942 :
18943 : case 10:
18944 : if (!(
18945 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18946 : ((32 == 64 || TARGET_AVX512VL
18947 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18948 : && ix86_pre_reload_split ()
18949 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18950 : STRIP_UNARY (operands[4]))
18951 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18952 : STRIP_UNARY (operands[4]))
18953 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18954 : STRIP_UNARY (operands[3]))
18955 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18956 : STRIP_UNARY (operands[3])))) &&
18957 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18958 : (TARGET_AVX)))
18959 : return -1;
18960 : return 6460; /* *avx512vl_vpternlogv4di_2 */
18961 :
18962 : case 11:
18963 : if (!
18964 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18965 : ((16 == 64 || TARGET_AVX512VL
18966 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18967 : && ix86_pre_reload_split ()
18968 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18969 : STRIP_UNARY (operands[4]))
18970 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18971 : STRIP_UNARY (operands[4]))
18972 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18973 : STRIP_UNARY (operands[3]))
18974 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18975 : STRIP_UNARY (operands[3])))))
18976 : return -1;
18977 : return 6487; /* *avx512vl_vpternlogv2di_2 */
18978 :
18979 : default:
18980 : return -1;
18981 : }
18982 :
18983 : case XOR:
18984 : switch (pattern537 (x2))
18985 : {
18986 : case 0:
18987 : if (!(
18988 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18989 : ((64 == 64 || TARGET_AVX512VL
18990 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18991 : && ix86_pre_reload_split ()
18992 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18993 : STRIP_UNARY (operands[4]))
18994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18995 : STRIP_UNARY (operands[4]))
18996 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18997 : STRIP_UNARY (operands[3]))
18998 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18999 : STRIP_UNARY (operands[3])))) &&
19000 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19001 : (TARGET_AVX512F)))
19002 : return -1;
19003 : return 6193; /* *avx512bw_vpternlogv64qi_2 */
19004 :
19005 : case 1:
19006 : if (!(
19007 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19008 : ((32 == 64 || TARGET_AVX512VL
19009 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19010 : && ix86_pre_reload_split ()
19011 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19012 : STRIP_UNARY (operands[4]))
19013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19014 : STRIP_UNARY (operands[4]))
19015 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19016 : STRIP_UNARY (operands[3]))
19017 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19018 : STRIP_UNARY (operands[3])))) &&
19019 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19020 : (TARGET_AVX)))
19021 : return -1;
19022 : return 6220; /* *avx512vl_vpternlogv32qi_2 */
19023 :
19024 : case 2:
19025 : if (!
19026 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19027 : ((16 == 64 || TARGET_AVX512VL
19028 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19029 : && ix86_pre_reload_split ()
19030 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19031 : STRIP_UNARY (operands[4]))
19032 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19033 : STRIP_UNARY (operands[4]))
19034 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19035 : STRIP_UNARY (operands[3]))
19036 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19037 : STRIP_UNARY (operands[3])))))
19038 : return -1;
19039 : return 6247; /* *avx512vl_vpternlogv16qi_2 */
19040 :
19041 : case 3:
19042 : if (!(
19043 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19044 : ((64 == 64 || TARGET_AVX512VL
19045 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19046 : && ix86_pre_reload_split ()
19047 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19048 : STRIP_UNARY (operands[4]))
19049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19050 : STRIP_UNARY (operands[4]))
19051 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19052 : STRIP_UNARY (operands[3]))
19053 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19054 : STRIP_UNARY (operands[3])))) &&
19055 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19056 : (TARGET_AVX512F)))
19057 : return -1;
19058 : return 6274; /* *avx512bw_vpternlogv32hi_2 */
19059 :
19060 : case 4:
19061 : if (!(
19062 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19063 : ((32 == 64 || TARGET_AVX512VL
19064 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19065 : && ix86_pre_reload_split ()
19066 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19067 : STRIP_UNARY (operands[4]))
19068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19069 : STRIP_UNARY (operands[4]))
19070 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19071 : STRIP_UNARY (operands[3]))
19072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19073 : STRIP_UNARY (operands[3])))) &&
19074 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19075 : (TARGET_AVX)))
19076 : return -1;
19077 : return 6301; /* *avx512vl_vpternlogv16hi_2 */
19078 :
19079 : case 5:
19080 : if (!
19081 : #line 14187 "/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 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19086 : STRIP_UNARY (operands[4]))
19087 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19088 : STRIP_UNARY (operands[4]))
19089 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19090 : STRIP_UNARY (operands[3]))
19091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19092 : STRIP_UNARY (operands[3])))))
19093 : return -1;
19094 : return 6328; /* *avx512vl_vpternlogv8hi_2 */
19095 :
19096 : case 6:
19097 : if (!(
19098 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19099 : ((64 == 64 || TARGET_AVX512VL
19100 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19101 : && ix86_pre_reload_split ()
19102 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19103 : STRIP_UNARY (operands[4]))
19104 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19105 : STRIP_UNARY (operands[4]))
19106 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19107 : STRIP_UNARY (operands[3]))
19108 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19109 : STRIP_UNARY (operands[3])))) &&
19110 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19111 : (TARGET_AVX512F)))
19112 : return -1;
19113 : return 6355; /* *avx512f_vpternlogv16si_2 */
19114 :
19115 : case 7:
19116 : if (!(
19117 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19118 : ((32 == 64 || TARGET_AVX512VL
19119 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19120 : && ix86_pre_reload_split ()
19121 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19122 : STRIP_UNARY (operands[4]))
19123 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19124 : STRIP_UNARY (operands[4]))
19125 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19126 : STRIP_UNARY (operands[3]))
19127 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19128 : STRIP_UNARY (operands[3])))) &&
19129 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19130 : (TARGET_AVX)))
19131 : return -1;
19132 : return 6382; /* *avx512vl_vpternlogv8si_2 */
19133 :
19134 : case 8:
19135 : if (!
19136 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19137 : ((16 == 64 || TARGET_AVX512VL
19138 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19139 : && ix86_pre_reload_split ()
19140 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19141 : STRIP_UNARY (operands[4]))
19142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19143 : STRIP_UNARY (operands[4]))
19144 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19145 : STRIP_UNARY (operands[3]))
19146 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19147 : STRIP_UNARY (operands[3])))))
19148 : return -1;
19149 : return 6409; /* *avx512vl_vpternlogv4si_2 */
19150 :
19151 : case 9:
19152 : if (!(
19153 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19154 : ((64 == 64 || TARGET_AVX512VL
19155 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19156 : && ix86_pre_reload_split ()
19157 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19158 : STRIP_UNARY (operands[4]))
19159 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19160 : STRIP_UNARY (operands[4]))
19161 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19162 : STRIP_UNARY (operands[3]))
19163 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19164 : STRIP_UNARY (operands[3])))) &&
19165 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19166 : (TARGET_AVX512F)))
19167 : return -1;
19168 : return 6436; /* *avx512f_vpternlogv8di_2 */
19169 :
19170 : case 10:
19171 : if (!(
19172 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19173 : ((32 == 64 || TARGET_AVX512VL
19174 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19175 : && ix86_pre_reload_split ()
19176 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19177 : STRIP_UNARY (operands[4]))
19178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19179 : STRIP_UNARY (operands[4]))
19180 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19181 : STRIP_UNARY (operands[3]))
19182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19183 : STRIP_UNARY (operands[3])))) &&
19184 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19185 : (TARGET_AVX)))
19186 : return -1;
19187 : return 6463; /* *avx512vl_vpternlogv4di_2 */
19188 :
19189 : case 11:
19190 : if (!
19191 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19192 : ((16 == 64 || TARGET_AVX512VL
19193 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19194 : && ix86_pre_reload_split ()
19195 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19196 : STRIP_UNARY (operands[4]))
19197 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19198 : STRIP_UNARY (operands[4]))
19199 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19200 : STRIP_UNARY (operands[3]))
19201 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19202 : STRIP_UNARY (operands[3])))))
19203 : return -1;
19204 : return 6490; /* *avx512vl_vpternlogv2di_2 */
19205 :
19206 : default:
19207 : return -1;
19208 : }
19209 :
19210 : default:
19211 : return -1;
19212 : }
19213 :
19214 : case IOR:
19215 : return recog_312 (x1, insn, pnum_clobbers);
19216 :
19217 : case XOR:
19218 : return recog_311 (x1, insn, pnum_clobbers);
19219 :
19220 : default:
19221 : return -1;
19222 : }
19223 : }
19224 :
19225 : int
19226 : recog_326 (rtx x1 ATTRIBUTE_UNUSED,
19227 : rtx_insn *insn ATTRIBUTE_UNUSED,
19228 : int *pnum_clobbers ATTRIBUTE_UNUSED)
19229 : {
19230 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
19231 : rtx x2, x3, x4, x5, x6, x7, x8;
19232 : int res ATTRIBUTE_UNUSED;
19233 : x2 = XEXP (x1, 0);
19234 : operands[0] = x2;
19235 : x3 = XEXP (x1, 1);
19236 : x4 = XEXP (x3, 0);
19237 : switch (GET_CODE (x4))
19238 : {
19239 : case UNSPEC:
19240 : return recog_188 (x1, insn, pnum_clobbers);
19241 :
19242 : case VEC_MERGE:
19243 : return recog_185 (x1, insn, pnum_clobbers);
19244 :
19245 : case PLUS:
19246 : return recog_208 (x1, insn, pnum_clobbers);
19247 :
19248 : case MINUS:
19249 : return recog_198 (x1, insn, pnum_clobbers);
19250 :
19251 : case VEC_DUPLICATE:
19252 : return recog_183 (x1, insn, pnum_clobbers);
19253 :
19254 : case MULT:
19255 : return recog_190 (x1, insn, pnum_clobbers);
19256 :
19257 : case DIV:
19258 : return recog_207 (x1, insn, pnum_clobbers);
19259 :
19260 : case SQRT:
19261 : return recog_202 (x1, insn, pnum_clobbers);
19262 :
19263 : case SMAX:
19264 : return recog_200 (x1, insn, pnum_clobbers);
19265 :
19266 : case SMIN:
19267 : return recog_201 (x1, insn, pnum_clobbers);
19268 :
19269 : case CONST_INT:
19270 : case CONST_DOUBLE:
19271 : case CONST_VECTOR:
19272 : case REG:
19273 : case SUBREG:
19274 : case MEM:
19275 : return recog_182 (x1, insn, pnum_clobbers);
19276 :
19277 : case NE:
19278 : case EQ:
19279 : case GE:
19280 : case GT:
19281 : case LE:
19282 : case LT:
19283 : case LTGT:
19284 : case UNORDERED:
19285 : case ORDERED:
19286 : case UNEQ:
19287 : case UNGE:
19288 : case UNGT:
19289 : case UNLE:
19290 : case UNLT:
19291 : operands[3] = x4;
19292 : x5 = XEXP (x3, 2);
19293 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
19294 : return -1;
19295 : x6 = XEXP (x4, 0);
19296 : operands[1] = x6;
19297 : x7 = XEXP (x4, 1);
19298 : operands[2] = x7;
19299 : x8 = XEXP (x3, 1);
19300 : if (!rtx_equal_p (x8, operands[1]))
19301 : return -1;
19302 : switch (GET_MODE (operands[0]))
19303 : {
19304 : case E_V4SFmode:
19305 : if (pattern1018 (x3,
19306 : E_V4SFmode) != 0
19307 : || !
19308 : #line 4592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19309 : (TARGET_SSE))
19310 : return -1;
19311 : return 3319; /* sse_vmmaskcmpv4sf3 */
19312 :
19313 : case E_V2DFmode:
19314 : if (pattern1018 (x3,
19315 : E_V2DFmode) != 0
19316 : || !(
19317 : #line 4592 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19318 : (TARGET_SSE) &&
19319 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19320 : (TARGET_SSE2)))
19321 : return -1;
19322 : return 3320; /* sse2_vmmaskcmpv2df3 */
19323 :
19324 : default:
19325 : return -1;
19326 : }
19327 :
19328 : case AND:
19329 : return recog_195 (x1, insn, pnum_clobbers);
19330 :
19331 : case IOR:
19332 : return recog_209 (x1, insn, pnum_clobbers);
19333 :
19334 : case XOR:
19335 : return recog_199 (x1, insn, pnum_clobbers);
19336 :
19337 : case FMA:
19338 : return recog_186 (x1, insn, pnum_clobbers);
19339 :
19340 : case FLOAT:
19341 : return recog_204 (x1, insn, pnum_clobbers);
19342 :
19343 : case UNSIGNED_FLOAT:
19344 : return recog_203 (x1, insn, pnum_clobbers);
19345 :
19346 : case FIX:
19347 : return recog_206 (x1, insn, pnum_clobbers);
19348 :
19349 : case UNSIGNED_FIX:
19350 : return recog_205 (x1, insn, pnum_clobbers);
19351 :
19352 : case FLOAT_EXTEND:
19353 : return recog_193 (x1, insn, pnum_clobbers);
19354 :
19355 : case FLOAT_TRUNCATE:
19356 : x6 = XEXP (x4, 0);
19357 : operands[1] = x6;
19358 : x8 = XEXP (x3, 1);
19359 : operands[2] = x8;
19360 : x5 = XEXP (x3, 2);
19361 : operands[3] = x5;
19362 : switch (GET_MODE (operands[0]))
19363 : {
19364 : case E_V8HFmode:
19365 : if (pattern142 (x3,
19366 : E_V8HFmode,
19367 : E_QImode) != 0)
19368 : return -1;
19369 : switch (GET_MODE (operands[1]))
19370 : {
19371 : case E_V8DFmode:
19372 : if (!vector_operand (operands[1], E_V8DFmode)
19373 : || !(
19374 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19375 : (TARGET_AVX512F) &&
19376 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19377 : (TARGET_AVX512FP16)))
19378 : return -1;
19379 : return 4781; /* avx512fp16_vcvtpd2ph_v8df_mask */
19380 :
19381 : case E_V8SFmode:
19382 : if (!vector_operand (operands[1], E_V8SFmode)
19383 : || !(
19384 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19385 : (TARGET_AVX512F) && (
19386 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19387 : (TARGET_AVX512FP16) &&
19388 : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19389 : (TARGET_AVX512VL))))
19390 : return -1;
19391 : return 4789; /* avx512fp16_vcvtps2ph_v8sf_mask */
19392 :
19393 : default:
19394 : return -1;
19395 : }
19396 :
19397 : case E_V16HFmode:
19398 : if (pattern141 (x3,
19399 : E_V16HFmode,
19400 : E_HImode,
19401 : E_V16SFmode) != 0
19402 : || !(
19403 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19404 : (TARGET_AVX512F) &&
19405 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19406 : (TARGET_AVX512FP16)))
19407 : return -1;
19408 : return 4785; /* avx512fp16_vcvtps2ph_v16sf_mask */
19409 :
19410 : case E_V8SFmode:
19411 : if (pattern141 (x3,
19412 : E_V8SFmode,
19413 : E_QImode,
19414 : E_V8DFmode) != 0
19415 : || !
19416 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19417 : (TARGET_AVX512F))
19418 : return -1;
19419 : return 5192; /* avx512f_cvtpd2ps512_mask */
19420 :
19421 : case E_V4SFmode:
19422 : if (pattern155 (x3,
19423 : E_V4SFmode,
19424 : E_V4DFmode,
19425 : E_QImode) != 0
19426 : || !(
19427 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19428 : (TARGET_AVX512F) &&
19429 : #line 10426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19430 : (TARGET_AVX && TARGET_AVX512VL)))
19431 : return -1;
19432 : return 5195; /* avx_cvtpd2ps256_mask */
19433 :
19434 : case E_V16BFmode:
19435 : if (pattern155 (x3,
19436 : E_V16BFmode,
19437 : E_V16SFmode,
19438 : E_HImode) != 0
19439 : || !(
19440 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19441 : (TARGET_AVX512F) &&
19442 : #line 31883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19443 : (TARGET_AVX512BF16)))
19444 : return -1;
19445 : return 10421; /* avx512f_cvtneps2bf16_v16sf_mask */
19446 :
19447 : case E_V8BFmode:
19448 : if (pattern155 (x3,
19449 : E_V8BFmode,
19450 : E_V8SFmode,
19451 : E_QImode) != 0
19452 : || !(
19453 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19454 : (TARGET_AVX512F) && (
19455 : #line 31883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19456 : (TARGET_AVX512BF16) &&
19457 : #line 31811 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19458 : (TARGET_AVX512VL))))
19459 : return -1;
19460 : return 10423; /* avx512f_cvtneps2bf16_v8sf_mask */
19461 :
19462 : default:
19463 : return -1;
19464 : }
19465 :
19466 : case VEC_SELECT:
19467 : return recog_184 (x1, insn, pnum_clobbers);
19468 :
19469 : case SS_TRUNCATE:
19470 : switch (pattern146 (x3))
19471 : {
19472 : case 0:
19473 : if (!
19474 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19475 : (TARGET_AVX512F))
19476 : return -1;
19477 : return 7276; /* avx512f_ss_truncatev16siv16qi2_mask */
19478 :
19479 : case 1:
19480 : if (!(
19481 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19482 : (TARGET_AVX512VL) &&
19483 : #line 15549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19484 : (TARGET_AVX512BW)))
19485 : return -1;
19486 : return 7312; /* avx512vl_ss_truncatev16hiv16qi2_mask */
19487 :
19488 : case 2:
19489 : if (!
19490 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19491 : (TARGET_AVX512F))
19492 : return -1;
19493 : return 7279; /* avx512f_ss_truncatev16siv16hi2_mask */
19494 :
19495 : case 3:
19496 : if (!
19497 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19498 : (TARGET_AVX512F))
19499 : return -1;
19500 : return 7282; /* avx512f_ss_truncatev8div8si2_mask */
19501 :
19502 : case 4:
19503 : if (!
19504 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19505 : (TARGET_AVX512F))
19506 : return -1;
19507 : return 7285; /* avx512f_ss_truncatev8div8hi2_mask */
19508 :
19509 : case 5:
19510 : if (!
19511 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19512 : (TARGET_AVX512VL))
19513 : return -1;
19514 : return 7309; /* avx512vl_ss_truncatev8siv8hi2_mask */
19515 :
19516 : case 6:
19517 : if (!
19518 : #line 15532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19519 : (TARGET_AVX512BW))
19520 : return -1;
19521 : return 7292; /* avx512bw_ss_truncatev32hiv32qi2_mask */
19522 :
19523 : case 7:
19524 : if (!
19525 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19526 : (TARGET_AVX512VL))
19527 : return -1;
19528 : return 7306; /* avx512vl_ss_truncatev4div4si2_mask */
19529 :
19530 : default:
19531 : return -1;
19532 : }
19533 :
19534 : case TRUNCATE:
19535 : return recog_194 (x1, insn, pnum_clobbers);
19536 :
19537 : case US_TRUNCATE:
19538 : switch (pattern146 (x3))
19539 : {
19540 : case 0:
19541 : if (!
19542 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19543 : (TARGET_AVX512F))
19544 : return -1;
19545 : return 7278; /* avx512f_us_truncatev16siv16qi2_mask */
19546 :
19547 : case 1:
19548 : if (!(
19549 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19550 : (TARGET_AVX512VL) &&
19551 : #line 15549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19552 : (TARGET_AVX512BW)))
19553 : return -1;
19554 : return 7314; /* avx512vl_us_truncatev16hiv16qi2_mask */
19555 :
19556 : case 2:
19557 : if (!
19558 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19559 : (TARGET_AVX512F))
19560 : return -1;
19561 : return 7281; /* avx512f_us_truncatev16siv16hi2_mask */
19562 :
19563 : case 3:
19564 : if (!
19565 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19566 : (TARGET_AVX512F))
19567 : return -1;
19568 : return 7284; /* avx512f_us_truncatev8div8si2_mask */
19569 :
19570 : case 4:
19571 : if (!
19572 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19573 : (TARGET_AVX512F))
19574 : return -1;
19575 : return 7287; /* avx512f_us_truncatev8div8hi2_mask */
19576 :
19577 : case 5:
19578 : if (!
19579 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19580 : (TARGET_AVX512VL))
19581 : return -1;
19582 : return 7311; /* avx512vl_us_truncatev8siv8hi2_mask */
19583 :
19584 : case 6:
19585 : if (!
19586 : #line 15532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19587 : (TARGET_AVX512BW))
19588 : return -1;
19589 : return 7294; /* avx512bw_us_truncatev32hiv32qi2_mask */
19590 :
19591 : case 7:
19592 : if (!
19593 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19594 : (TARGET_AVX512VL))
19595 : return -1;
19596 : return 7308; /* avx512vl_us_truncatev4div4si2_mask */
19597 :
19598 : default:
19599 : return -1;
19600 : }
19601 :
19602 : case SS_PLUS:
19603 : switch (pattern147 (x3))
19604 : {
19605 : case 0:
19606 : if (!(
19607 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19608 : (TARGET_AVX512F) && (
19609 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19610 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19611 : && ix86_binary_operator_ok (SS_PLUS, V64QImode, operands)) &&
19612 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19613 : (TARGET_AVX512BW))))
19614 : return -1;
19615 : return 7547; /* *avx512bw_ssaddv64qi3_mask */
19616 :
19617 : case 1:
19618 : if (!(
19619 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19620 : (TARGET_AVX512F) && (
19621 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19622 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19623 : && ix86_binary_operator_ok (SS_PLUS, V32QImode, operands)) &&
19624 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19625 : (TARGET_AVX2))))
19626 : return -1;
19627 : return 7555; /* *avx2_ssaddv32qi3_mask */
19628 :
19629 : case 2:
19630 : if (!(
19631 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19632 : (TARGET_AVX512F) &&
19633 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19634 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19635 : && ix86_binary_operator_ok (SS_PLUS, V16QImode, operands))))
19636 : return -1;
19637 : return 7563; /* *sse2_ssaddv16qi3_mask */
19638 :
19639 : case 3:
19640 : if (!(
19641 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19642 : (TARGET_AVX512F) && (
19643 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19644 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19645 : && ix86_binary_operator_ok (SS_PLUS, V32HImode, operands)) &&
19646 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19647 : (TARGET_AVX512BW))))
19648 : return -1;
19649 : return 7571; /* *avx512bw_ssaddv32hi3_mask */
19650 :
19651 : case 4:
19652 : if (!(
19653 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19654 : (TARGET_AVX512F) && (
19655 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19656 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19657 : && ix86_binary_operator_ok (SS_PLUS, V16HImode, operands)) &&
19658 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19659 : (TARGET_AVX2))))
19660 : return -1;
19661 : return 7579; /* *avx2_ssaddv16hi3_mask */
19662 :
19663 : case 5:
19664 : if (!(
19665 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19666 : (TARGET_AVX512F) &&
19667 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19668 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19669 : && ix86_binary_operator_ok (SS_PLUS, V8HImode, operands))))
19670 : return -1;
19671 : return 7587; /* *sse2_ssaddv8hi3_mask */
19672 :
19673 : default:
19674 : return -1;
19675 : }
19676 :
19677 : case US_PLUS:
19678 : switch (pattern147 (x3))
19679 : {
19680 : case 0:
19681 : if (!(
19682 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19683 : (TARGET_AVX512F) && (
19684 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19685 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19686 : && ix86_binary_operator_ok (US_PLUS, V64QImode, operands)) &&
19687 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19688 : (TARGET_AVX512BW))))
19689 : return -1;
19690 : return 7549; /* *avx512bw_usaddv64qi3_mask */
19691 :
19692 : case 1:
19693 : if (!(
19694 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19695 : (TARGET_AVX512F) && (
19696 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19697 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19698 : && ix86_binary_operator_ok (US_PLUS, V32QImode, operands)) &&
19699 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19700 : (TARGET_AVX2))))
19701 : return -1;
19702 : return 7557; /* *avx2_usaddv32qi3_mask */
19703 :
19704 : case 2:
19705 : if (!(
19706 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19707 : (TARGET_AVX512F) &&
19708 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19709 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19710 : && ix86_binary_operator_ok (US_PLUS, V16QImode, operands))))
19711 : return -1;
19712 : return 7565; /* *sse2_usaddv16qi3_mask */
19713 :
19714 : case 3:
19715 : if (!(
19716 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19717 : (TARGET_AVX512F) && (
19718 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19719 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19720 : && ix86_binary_operator_ok (US_PLUS, V32HImode, operands)) &&
19721 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19722 : (TARGET_AVX512BW))))
19723 : return -1;
19724 : return 7573; /* *avx512bw_usaddv32hi3_mask */
19725 :
19726 : case 4:
19727 : if (!(
19728 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19729 : (TARGET_AVX512F) && (
19730 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19731 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19732 : && ix86_binary_operator_ok (US_PLUS, V16HImode, operands)) &&
19733 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19734 : (TARGET_AVX2))))
19735 : return -1;
19736 : return 7581; /* *avx2_usaddv16hi3_mask */
19737 :
19738 : case 5:
19739 : if (!(
19740 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19741 : (TARGET_AVX512F) &&
19742 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19743 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19744 : && ix86_binary_operator_ok (US_PLUS, V8HImode, operands))))
19745 : return -1;
19746 : return 7589; /* *sse2_usaddv8hi3_mask */
19747 :
19748 : default:
19749 : return -1;
19750 : }
19751 :
19752 : case SS_MINUS:
19753 : switch (pattern147 (x3))
19754 : {
19755 : case 0:
19756 : if (!(
19757 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19758 : (TARGET_AVX512F) && (
19759 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19760 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19761 : && ix86_binary_operator_ok (SS_MINUS, V64QImode, operands)) &&
19762 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19763 : (TARGET_AVX512BW))))
19764 : return -1;
19765 : return 7551; /* *avx512bw_sssubv64qi3_mask */
19766 :
19767 : case 1:
19768 : if (!(
19769 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19770 : (TARGET_AVX512F) && (
19771 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19772 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19773 : && ix86_binary_operator_ok (SS_MINUS, V32QImode, operands)) &&
19774 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19775 : (TARGET_AVX2))))
19776 : return -1;
19777 : return 7559; /* *avx2_sssubv32qi3_mask */
19778 :
19779 : case 2:
19780 : if (!(
19781 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19782 : (TARGET_AVX512F) &&
19783 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19784 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19785 : && ix86_binary_operator_ok (SS_MINUS, V16QImode, operands))))
19786 : return -1;
19787 : return 7567; /* *sse2_sssubv16qi3_mask */
19788 :
19789 : case 3:
19790 : if (!(
19791 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19792 : (TARGET_AVX512F) && (
19793 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19794 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19795 : && ix86_binary_operator_ok (SS_MINUS, V32HImode, operands)) &&
19796 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19797 : (TARGET_AVX512BW))))
19798 : return -1;
19799 : return 7575; /* *avx512bw_sssubv32hi3_mask */
19800 :
19801 : case 4:
19802 : if (!(
19803 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19804 : (TARGET_AVX512F) && (
19805 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19806 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19807 : && ix86_binary_operator_ok (SS_MINUS, V16HImode, operands)) &&
19808 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19809 : (TARGET_AVX2))))
19810 : return -1;
19811 : return 7583; /* *avx2_sssubv16hi3_mask */
19812 :
19813 : case 5:
19814 : if (!(
19815 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19816 : (TARGET_AVX512F) &&
19817 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19818 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19819 : && ix86_binary_operator_ok (SS_MINUS, V8HImode, operands))))
19820 : return -1;
19821 : return 7591; /* *sse2_sssubv8hi3_mask */
19822 :
19823 : default:
19824 : return -1;
19825 : }
19826 :
19827 : case US_MINUS:
19828 : switch (pattern147 (x3))
19829 : {
19830 : case 0:
19831 : if (!(
19832 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19833 : (TARGET_AVX512F) && (
19834 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19835 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19836 : && ix86_binary_operator_ok (US_MINUS, V64QImode, operands)) &&
19837 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19838 : (TARGET_AVX512BW))))
19839 : return -1;
19840 : return 7553; /* *avx512bw_ussubv64qi3_mask */
19841 :
19842 : case 1:
19843 : if (!(
19844 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19845 : (TARGET_AVX512F) && (
19846 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19847 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19848 : && ix86_binary_operator_ok (US_MINUS, V32QImode, operands)) &&
19849 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19850 : (TARGET_AVX2))))
19851 : return -1;
19852 : return 7561; /* *avx2_ussubv32qi3_mask */
19853 :
19854 : case 2:
19855 : if (!(
19856 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19857 : (TARGET_AVX512F) &&
19858 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19859 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19860 : && ix86_binary_operator_ok (US_MINUS, V16QImode, operands))))
19861 : return -1;
19862 : return 7569; /* *sse2_ussubv16qi3_mask */
19863 :
19864 : case 3:
19865 : if (!(
19866 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19867 : (TARGET_AVX512F) && (
19868 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19869 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19870 : && ix86_binary_operator_ok (US_MINUS, V32HImode, operands)) &&
19871 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19872 : (TARGET_AVX512BW))))
19873 : return -1;
19874 : return 7577; /* *avx512bw_ussubv32hi3_mask */
19875 :
19876 : case 4:
19877 : if (!(
19878 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19879 : (TARGET_AVX512F) && (
19880 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19881 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19882 : && ix86_binary_operator_ok (US_MINUS, V16HImode, operands)) &&
19883 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19884 : (TARGET_AVX2))))
19885 : return -1;
19886 : return 7585; /* *avx2_ussubv16hi3_mask */
19887 :
19888 : case 5:
19889 : if (!(
19890 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19891 : (TARGET_AVX512F) &&
19892 : #line 16643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19893 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
19894 : && ix86_binary_operator_ok (US_MINUS, V8HImode, operands))))
19895 : return -1;
19896 : return 7593; /* *sse2_ussubv8hi3_mask */
19897 :
19898 : default:
19899 : return -1;
19900 : }
19901 :
19902 : case ASHIFTRT:
19903 : return recog_189 (x1, insn, pnum_clobbers);
19904 :
19905 : case ASHIFT:
19906 : return recog_192 (x1, insn, pnum_clobbers);
19907 :
19908 : case LSHIFTRT:
19909 : return recog_191 (x1, insn, pnum_clobbers);
19910 :
19911 : case ROTATE:
19912 : switch (pattern150 (x3))
19913 : {
19914 : case 0:
19915 : if (!
19916 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19917 : (TARGET_AVX512F))
19918 : return -1;
19919 : return 7747; /* avx512f_rolvv16si_mask */
19920 :
19921 : case 1:
19922 : if (!(
19923 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19924 : (TARGET_AVX512F) && (
19925 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19926 : (TARGET_AVX512F) &&
19927 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19928 : (TARGET_AVX512VL))))
19929 : return -1;
19930 : return 7751; /* avx512vl_rolvv8si_mask */
19931 :
19932 : case 2:
19933 : if (!(
19934 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19935 : (TARGET_AVX512F) && (
19936 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19937 : (TARGET_AVX512F) &&
19938 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19939 : (TARGET_AVX512VL))))
19940 : return -1;
19941 : return 7755; /* avx512vl_rolvv4si_mask */
19942 :
19943 : case 3:
19944 : if (!
19945 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19946 : (TARGET_AVX512F))
19947 : return -1;
19948 : return 7759; /* avx512f_rolvv8di_mask */
19949 :
19950 : case 4:
19951 : if (!(
19952 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19953 : (TARGET_AVX512F) && (
19954 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19955 : (TARGET_AVX512F) &&
19956 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19957 : (TARGET_AVX512VL))))
19958 : return -1;
19959 : return 7763; /* avx512vl_rolvv4di_mask */
19960 :
19961 : case 5:
19962 : if (!(
19963 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19964 : (TARGET_AVX512F) && (
19965 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19966 : (TARGET_AVX512F) &&
19967 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19968 : (TARGET_AVX512VL))))
19969 : return -1;
19970 : return 7767; /* avx512vl_rolvv2di_mask */
19971 :
19972 : case 6:
19973 : if (!
19974 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19975 : (TARGET_AVX512F))
19976 : return -1;
19977 : return 7771; /* avx512f_rolv16si_mask */
19978 :
19979 : case 7:
19980 : if (!(
19981 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19982 : (TARGET_AVX512F) && (
19983 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19984 : (TARGET_AVX512F) &&
19985 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19986 : (TARGET_AVX512VL))))
19987 : return -1;
19988 : return 7775; /* avx512vl_rolv8si_mask */
19989 :
19990 : case 8:
19991 : if (!(
19992 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
19993 : (TARGET_AVX512F) && (
19994 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19995 : (TARGET_AVX512F) &&
19996 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19997 : (TARGET_AVX512VL))))
19998 : return -1;
19999 : return 7779; /* avx512vl_rolv4si_mask */
20000 :
20001 : case 9:
20002 : if (!
20003 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20004 : (TARGET_AVX512F))
20005 : return -1;
20006 : return 7783; /* avx512f_rolv8di_mask */
20007 :
20008 : case 10:
20009 : if (!(
20010 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20011 : (TARGET_AVX512F) && (
20012 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20013 : (TARGET_AVX512F) &&
20014 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20015 : (TARGET_AVX512VL))))
20016 : return -1;
20017 : return 7787; /* avx512vl_rolv4di_mask */
20018 :
20019 : case 11:
20020 : if (!(
20021 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20022 : (TARGET_AVX512F) && (
20023 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20024 : (TARGET_AVX512F) &&
20025 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20026 : (TARGET_AVX512VL))))
20027 : return -1;
20028 : return 7791; /* avx512vl_rolv2di_mask */
20029 :
20030 : default:
20031 : return -1;
20032 : }
20033 :
20034 : case ROTATERT:
20035 : switch (pattern150 (x3))
20036 : {
20037 : case 0:
20038 : if (!
20039 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20040 : (TARGET_AVX512F))
20041 : return -1;
20042 : return 7749; /* avx512f_rorvv16si_mask */
20043 :
20044 : case 1:
20045 : if (!(
20046 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20047 : (TARGET_AVX512F) && (
20048 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20049 : (TARGET_AVX512F) &&
20050 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20051 : (TARGET_AVX512VL))))
20052 : return -1;
20053 : return 7753; /* avx512vl_rorvv8si_mask */
20054 :
20055 : case 2:
20056 : if (!(
20057 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20058 : (TARGET_AVX512F) && (
20059 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20060 : (TARGET_AVX512F) &&
20061 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20062 : (TARGET_AVX512VL))))
20063 : return -1;
20064 : return 7757; /* avx512vl_rorvv4si_mask */
20065 :
20066 : case 3:
20067 : if (!
20068 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20069 : (TARGET_AVX512F))
20070 : return -1;
20071 : return 7761; /* avx512f_rorvv8di_mask */
20072 :
20073 : case 4:
20074 : if (!(
20075 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20076 : (TARGET_AVX512F) && (
20077 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20078 : (TARGET_AVX512F) &&
20079 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20080 : (TARGET_AVX512VL))))
20081 : return -1;
20082 : return 7765; /* avx512vl_rorvv4di_mask */
20083 :
20084 : case 5:
20085 : if (!(
20086 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20087 : (TARGET_AVX512F) && (
20088 : #line 17964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20089 : (TARGET_AVX512F) &&
20090 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20091 : (TARGET_AVX512VL))))
20092 : return -1;
20093 : return 7769; /* avx512vl_rorvv2di_mask */
20094 :
20095 : case 6:
20096 : if (!
20097 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20098 : (TARGET_AVX512F))
20099 : return -1;
20100 : return 7773; /* avx512f_rorv16si_mask */
20101 :
20102 : case 7:
20103 : if (!(
20104 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20105 : (TARGET_AVX512F) && (
20106 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20107 : (TARGET_AVX512F) &&
20108 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20109 : (TARGET_AVX512VL))))
20110 : return -1;
20111 : return 7777; /* avx512vl_rorv8si_mask */
20112 :
20113 : case 8:
20114 : if (!(
20115 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20116 : (TARGET_AVX512F) && (
20117 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20118 : (TARGET_AVX512F) &&
20119 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20120 : (TARGET_AVX512VL))))
20121 : return -1;
20122 : return 7781; /* avx512vl_rorv4si_mask */
20123 :
20124 : case 9:
20125 : if (!
20126 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20127 : (TARGET_AVX512F))
20128 : return -1;
20129 : return 7785; /* avx512f_rorv8di_mask */
20130 :
20131 : case 10:
20132 : if (!(
20133 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20134 : (TARGET_AVX512F) && (
20135 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20136 : (TARGET_AVX512F) &&
20137 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20138 : (TARGET_AVX512VL))))
20139 : return -1;
20140 : return 7789; /* avx512vl_rorv4di_mask */
20141 :
20142 : case 11:
20143 : if (!(
20144 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20145 : (TARGET_AVX512F) && (
20146 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20147 : (TARGET_AVX512F) &&
20148 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20149 : (TARGET_AVX512VL))))
20150 : return -1;
20151 : return 7793; /* avx512vl_rorv2di_mask */
20152 :
20153 : default:
20154 : return -1;
20155 : }
20156 :
20157 : case UMAX:
20158 : switch (pattern151 (x3))
20159 : {
20160 : case 0:
20161 : if (!(
20162 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20163 : (TARGET_AVX512F) &&
20164 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20165 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20166 : return -1;
20167 : return 7811; /* *avx512f_umaxv16si3_mask */
20168 :
20169 : case 1:
20170 : if (!(
20171 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20172 : (TARGET_AVX512F) && (
20173 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20174 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20175 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20176 : (TARGET_AVX512VL))))
20177 : return -1;
20178 : return 7819; /* *avx512f_umaxv8si3_mask */
20179 :
20180 : case 2:
20181 : if (nonimmediate_operand (operands[1], E_V4SImode)
20182 : && nonimmediate_operand (operands[2], E_V4SImode)
20183 : && (
20184 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20185 : (TARGET_AVX512F) && (
20186 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20187 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20188 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20189 : (TARGET_AVX512VL))))
20190 : return 7827; /* *avx512f_umaxv4si3_mask */
20191 : if (!vector_operand (operands[1], E_V4SImode)
20192 : || !vector_operand (operands[2], E_V4SImode)
20193 : || !(
20194 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20195 : (TARGET_AVX512F) &&
20196 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20197 : (TARGET_SSE4_1
20198 : && (16 == 64 || TARGET_AVX512VL)
20199 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20200 : return -1;
20201 : return 7917; /* *sse4_1_umaxv4si3_mask */
20202 :
20203 : case 3:
20204 : if (!(
20205 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20206 : (TARGET_AVX512F) &&
20207 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20208 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20209 : return -1;
20210 : return 7835; /* *avx512f_umaxv8di3_mask */
20211 :
20212 : case 4:
20213 : if (!(
20214 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20215 : (TARGET_AVX512F) && (
20216 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20217 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20218 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20219 : (TARGET_AVX512VL))))
20220 : return -1;
20221 : return 7843; /* *avx512f_umaxv4di3_mask */
20222 :
20223 : case 5:
20224 : if (!(
20225 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20226 : (TARGET_AVX512F) && (
20227 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20228 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20229 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20230 : (TARGET_AVX512VL))))
20231 : return -1;
20232 : return 7851; /* *avx512f_umaxv2di3_mask */
20233 :
20234 : case 6:
20235 : if (!(
20236 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20237 : (TARGET_AVX512F) &&
20238 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20239 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20240 : return -1;
20241 : return 7859; /* *avx512bw_umaxv64qi3_mask */
20242 :
20243 : case 7:
20244 : if (!(
20245 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20246 : (TARGET_AVX512F) && (
20247 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20248 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20249 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20250 : (TARGET_AVX512VL))))
20251 : return -1;
20252 : return 7867; /* *avx512bw_umaxv16qi3_mask */
20253 :
20254 : case 8:
20255 : if (!(
20256 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20257 : (TARGET_AVX512F) && (
20258 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20259 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20260 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20261 : (TARGET_AVX512VL))))
20262 : return -1;
20263 : return 7875; /* *avx512bw_umaxv32qi3_mask */
20264 :
20265 : case 9:
20266 : if (!(
20267 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20268 : (TARGET_AVX512F) &&
20269 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20270 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20271 : return -1;
20272 : return 7883; /* *avx512bw_umaxv32hi3_mask */
20273 :
20274 : case 10:
20275 : if (!(
20276 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20277 : (TARGET_AVX512F) && (
20278 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20279 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20280 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20281 : (TARGET_AVX512VL))))
20282 : return -1;
20283 : return 7891; /* *avx512bw_umaxv16hi3_mask */
20284 :
20285 : case 11:
20286 : if (nonimmediate_operand (operands[1], E_V8HImode)
20287 : && nonimmediate_operand (operands[2], E_V8HImode)
20288 : && (
20289 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20290 : (TARGET_AVX512F) && (
20291 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20292 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20293 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20294 : (TARGET_AVX512VL))))
20295 : return 7899; /* *avx512bw_umaxv8hi3_mask */
20296 : if (!vector_operand (operands[1], E_V8HImode)
20297 : || !vector_operand (operands[2], E_V8HImode)
20298 : || !(
20299 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20300 : (TARGET_AVX512F) &&
20301 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20302 : (TARGET_SSE4_1
20303 : && (16 == 64 || TARGET_AVX512VL)
20304 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20305 : return -1;
20306 : return 7913; /* *sse4_1_umaxv8hi3_mask */
20307 :
20308 : default:
20309 : return -1;
20310 : }
20311 :
20312 : case UMIN:
20313 : switch (pattern151 (x3))
20314 : {
20315 : case 0:
20316 : if (!(
20317 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20318 : (TARGET_AVX512F) &&
20319 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20320 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20321 : return -1;
20322 : return 7813; /* *avx512f_uminv16si3_mask */
20323 :
20324 : case 1:
20325 : if (!(
20326 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20327 : (TARGET_AVX512F) && (
20328 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20329 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20330 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20331 : (TARGET_AVX512VL))))
20332 : return -1;
20333 : return 7821; /* *avx512f_uminv8si3_mask */
20334 :
20335 : case 2:
20336 : if (nonimmediate_operand (operands[1], E_V4SImode)
20337 : && nonimmediate_operand (operands[2], E_V4SImode)
20338 : && (
20339 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20340 : (TARGET_AVX512F) && (
20341 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20342 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20343 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20344 : (TARGET_AVX512VL))))
20345 : return 7829; /* *avx512f_uminv4si3_mask */
20346 : if (!vector_operand (operands[1], E_V4SImode)
20347 : || !vector_operand (operands[2], E_V4SImode)
20348 : || !(
20349 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20350 : (TARGET_AVX512F) &&
20351 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20352 : (TARGET_SSE4_1
20353 : && (16 == 64 || TARGET_AVX512VL)
20354 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20355 : return -1;
20356 : return 7919; /* *sse4_1_uminv4si3_mask */
20357 :
20358 : case 3:
20359 : if (!(
20360 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20361 : (TARGET_AVX512F) &&
20362 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20363 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20364 : return -1;
20365 : return 7837; /* *avx512f_uminv8di3_mask */
20366 :
20367 : case 4:
20368 : if (!(
20369 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20370 : (TARGET_AVX512F) && (
20371 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20372 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20373 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20374 : (TARGET_AVX512VL))))
20375 : return -1;
20376 : return 7845; /* *avx512f_uminv4di3_mask */
20377 :
20378 : case 5:
20379 : if (!(
20380 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20381 : (TARGET_AVX512F) && (
20382 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20383 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20384 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20385 : (TARGET_AVX512VL))))
20386 : return -1;
20387 : return 7853; /* *avx512f_uminv2di3_mask */
20388 :
20389 : case 6:
20390 : if (!(
20391 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20392 : (TARGET_AVX512F) &&
20393 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20395 : return -1;
20396 : return 7861; /* *avx512bw_uminv64qi3_mask */
20397 :
20398 : case 7:
20399 : if (!(
20400 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20401 : (TARGET_AVX512F) && (
20402 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20403 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20404 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20405 : (TARGET_AVX512VL))))
20406 : return -1;
20407 : return 7869; /* *avx512bw_uminv16qi3_mask */
20408 :
20409 : case 8:
20410 : if (!(
20411 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20412 : (TARGET_AVX512F) && (
20413 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20414 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20415 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20416 : (TARGET_AVX512VL))))
20417 : return -1;
20418 : return 7877; /* *avx512bw_uminv32qi3_mask */
20419 :
20420 : case 9:
20421 : if (!(
20422 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20423 : (TARGET_AVX512F) &&
20424 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20425 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20426 : return -1;
20427 : return 7885; /* *avx512bw_uminv32hi3_mask */
20428 :
20429 : case 10:
20430 : if (!(
20431 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20432 : (TARGET_AVX512F) && (
20433 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20434 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20435 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20436 : (TARGET_AVX512VL))))
20437 : return -1;
20438 : return 7893; /* *avx512bw_uminv16hi3_mask */
20439 :
20440 : case 11:
20441 : if (nonimmediate_operand (operands[1], E_V8HImode)
20442 : && nonimmediate_operand (operands[2], E_V8HImode)
20443 : && (
20444 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20445 : (TARGET_AVX512F) && (
20446 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20447 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20448 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20449 : (TARGET_AVX512VL))))
20450 : return 7901; /* *avx512bw_uminv8hi3_mask */
20451 : if (!vector_operand (operands[1], E_V8HImode)
20452 : || !vector_operand (operands[2], E_V8HImode)
20453 : || !(
20454 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20455 : (TARGET_AVX512F) &&
20456 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20457 : (TARGET_SSE4_1
20458 : && (16 == 64 || TARGET_AVX512VL)
20459 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
20460 : return -1;
20461 : return 7915; /* *sse4_1_uminv8hi3_mask */
20462 :
20463 : default:
20464 : return -1;
20465 : }
20466 :
20467 : case VEC_CONCAT:
20468 : return recog_187 (x1, insn, pnum_clobbers);
20469 :
20470 : case ABS:
20471 : switch (pattern154 (x3))
20472 : {
20473 : case 0:
20474 : if (!
20475 : #line 23722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20476 : (TARGET_AVX512F))
20477 : return -1;
20478 : return 8703; /* absv16si2_mask */
20479 :
20480 : case 1:
20481 : if (!(
20482 : #line 23722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20483 : (TARGET_AVX512F) &&
20484 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20485 : (TARGET_AVX512VL)))
20486 : return -1;
20487 : return 8704; /* absv8si2_mask */
20488 :
20489 : case 2:
20490 : if (!(
20491 : #line 23722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20492 : (TARGET_AVX512F) &&
20493 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20494 : (TARGET_AVX512VL)))
20495 : return -1;
20496 : return 8705; /* absv4si2_mask */
20497 :
20498 : case 3:
20499 : if (!
20500 : #line 23722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20501 : (TARGET_AVX512F))
20502 : return -1;
20503 : return 8706; /* absv8di2_mask */
20504 :
20505 : case 4:
20506 : if (!(
20507 : #line 23722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20508 : (TARGET_AVX512F) &&
20509 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20510 : (TARGET_AVX512VL)))
20511 : return -1;
20512 : return 8707; /* absv4di2_mask */
20513 :
20514 : case 5:
20515 : if (!(
20516 : #line 23722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20517 : (TARGET_AVX512F) &&
20518 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20519 : (TARGET_AVX512VL)))
20520 : return -1;
20521 : return 8708; /* absv2di2_mask */
20522 :
20523 : case 6:
20524 : if (!
20525 : #line 23735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20526 : (TARGET_AVX512BW))
20527 : return -1;
20528 : return 8709; /* absv64qi2_mask */
20529 :
20530 : case 7:
20531 : if (!(
20532 : #line 23735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20533 : (TARGET_AVX512BW) &&
20534 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20535 : (TARGET_AVX512VL)))
20536 : return -1;
20537 : return 8710; /* absv16qi2_mask */
20538 :
20539 : case 8:
20540 : if (!(
20541 : #line 23735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20542 : (TARGET_AVX512BW) &&
20543 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20544 : (TARGET_AVX512VL)))
20545 : return -1;
20546 : return 8711; /* absv32qi2_mask */
20547 :
20548 : case 9:
20549 : if (!
20550 : #line 23735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20551 : (TARGET_AVX512BW))
20552 : return -1;
20553 : return 8712; /* absv32hi2_mask */
20554 :
20555 : case 10:
20556 : if (!(
20557 : #line 23735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20558 : (TARGET_AVX512BW) &&
20559 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20560 : (TARGET_AVX512VL)))
20561 : return -1;
20562 : return 8713; /* absv16hi2_mask */
20563 :
20564 : case 11:
20565 : if (!(
20566 : #line 23735 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20567 : (TARGET_AVX512BW) &&
20568 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20569 : (TARGET_AVX512VL)))
20570 : return -1;
20571 : return 8714; /* absv8hi2_mask */
20572 :
20573 : default:
20574 : return -1;
20575 : }
20576 :
20577 : case SIGN_EXTEND:
20578 : return recog_197 (x1, insn, pnum_clobbers);
20579 :
20580 : case ZERO_EXTEND:
20581 : return recog_196 (x1, insn, pnum_clobbers);
20582 :
20583 : case CLZ:
20584 : x6 = XEXP (x4, 0);
20585 : operands[1] = x6;
20586 : x8 = XEXP (x3, 1);
20587 : operands[2] = x8;
20588 : x5 = XEXP (x3, 2);
20589 : operands[3] = x5;
20590 : switch (GET_MODE (operands[0]))
20591 : {
20592 : case E_V16SImode:
20593 : if (pattern152 (x3,
20594 : E_V16SImode,
20595 : E_HImode) != 0
20596 : || !(
20597 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20598 : (TARGET_AVX512F) &&
20599 : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20600 : (TARGET_AVX512CD)))
20601 : return -1;
20602 : return 10134; /* clzv16si2_mask */
20603 :
20604 : case E_V8SImode:
20605 : if (pattern152 (x3,
20606 : E_V8SImode,
20607 : E_QImode) != 0
20608 : || !(
20609 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20610 : (TARGET_AVX512F) && (
20611 : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20612 : (TARGET_AVX512CD) &&
20613 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20614 : (TARGET_AVX512VL))))
20615 : return -1;
20616 : return 10136; /* clzv8si2_mask */
20617 :
20618 : case E_V4SImode:
20619 : if (pattern152 (x3,
20620 : E_V4SImode,
20621 : E_QImode) != 0
20622 : || !(
20623 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20624 : (TARGET_AVX512F) && (
20625 : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20626 : (TARGET_AVX512CD) &&
20627 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20628 : (TARGET_AVX512VL))))
20629 : return -1;
20630 : return 10138; /* clzv4si2_mask */
20631 :
20632 : case E_V8DImode:
20633 : if (pattern152 (x3,
20634 : E_V8DImode,
20635 : E_QImode) != 0
20636 : || !(
20637 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20638 : (TARGET_AVX512F) &&
20639 : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20640 : (TARGET_AVX512CD)))
20641 : return -1;
20642 : return 10140; /* clzv8di2_mask */
20643 :
20644 : case E_V4DImode:
20645 : if (pattern152 (x3,
20646 : E_V4DImode,
20647 : E_QImode) != 0
20648 : || !(
20649 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20650 : (TARGET_AVX512F) && (
20651 : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20652 : (TARGET_AVX512CD) &&
20653 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20654 : (TARGET_AVX512VL))))
20655 : return -1;
20656 : return 10142; /* clzv4di2_mask */
20657 :
20658 : case E_V2DImode:
20659 : if (pattern152 (x3,
20660 : E_V2DImode,
20661 : E_QImode) != 0
20662 : || !(
20663 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20664 : (TARGET_AVX512F) && (
20665 : #line 30636 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20666 : (TARGET_AVX512CD) &&
20667 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20668 : (TARGET_AVX512VL))))
20669 : return -1;
20670 : return 10144; /* clzv2di2_mask */
20671 :
20672 : default:
20673 : return -1;
20674 : }
20675 :
20676 : case POPCOUNT:
20677 : switch (pattern154 (x3))
20678 : {
20679 : case 0:
20680 : if (!(
20681 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20682 : (TARGET_AVX512F) &&
20683 : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20684 : (TARGET_AVX512VPOPCNTDQ)))
20685 : return -1;
20686 : return 10207; /* vpopcountv16si_mask */
20687 :
20688 : case 1:
20689 : if (!(
20690 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20691 : (TARGET_AVX512F) && (
20692 : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20693 : (TARGET_AVX512VPOPCNTDQ) &&
20694 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20695 : (TARGET_AVX512VL))))
20696 : return -1;
20697 : return 10209; /* vpopcountv8si_mask */
20698 :
20699 : case 2:
20700 : if (!(
20701 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20702 : (TARGET_AVX512F) && (
20703 : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20704 : (TARGET_AVX512VPOPCNTDQ) &&
20705 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20706 : (TARGET_AVX512VL))))
20707 : return -1;
20708 : return 10211; /* vpopcountv4si_mask */
20709 :
20710 : case 3:
20711 : if (!(
20712 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20713 : (TARGET_AVX512F) &&
20714 : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20715 : (TARGET_AVX512VPOPCNTDQ)))
20716 : return -1;
20717 : return 10213; /* vpopcountv8di_mask */
20718 :
20719 : case 4:
20720 : if (!(
20721 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20722 : (TARGET_AVX512F) && (
20723 : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20724 : (TARGET_AVX512VPOPCNTDQ) &&
20725 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20726 : (TARGET_AVX512VL))))
20727 : return -1;
20728 : return 10215; /* vpopcountv4di_mask */
20729 :
20730 : case 5:
20731 : if (!(
20732 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20733 : (TARGET_AVX512F) && (
20734 : #line 30987 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20735 : (TARGET_AVX512VPOPCNTDQ) &&
20736 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20737 : (TARGET_AVX512VL))))
20738 : return -1;
20739 : return 10217; /* vpopcountv2di_mask */
20740 :
20741 : case 6:
20742 : if (!(
20743 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20744 : (TARGET_AVX512F) &&
20745 : #line 31037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20746 : (TARGET_AVX512BITALG)))
20747 : return -1;
20748 : return 10227; /* vpopcountv64qi_mask */
20749 :
20750 : case 7:
20751 : if (!(
20752 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20753 : (TARGET_AVX512F) && (
20754 : #line 31037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20755 : (TARGET_AVX512BITALG) &&
20756 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20757 : (TARGET_AVX512VL))))
20758 : return -1;
20759 : return 10229; /* vpopcountv16qi_mask */
20760 :
20761 : case 8:
20762 : if (!(
20763 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20764 : (TARGET_AVX512F) && (
20765 : #line 31037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20766 : (TARGET_AVX512BITALG) &&
20767 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20768 : (TARGET_AVX512VL))))
20769 : return -1;
20770 : return 10231; /* vpopcountv32qi_mask */
20771 :
20772 : case 9:
20773 : if (!(
20774 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20775 : (TARGET_AVX512F) &&
20776 : #line 31037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20777 : (TARGET_AVX512BITALG)))
20778 : return -1;
20779 : return 10233; /* vpopcountv32hi_mask */
20780 :
20781 : case 10:
20782 : if (!(
20783 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20784 : (TARGET_AVX512F) && (
20785 : #line 31037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20786 : (TARGET_AVX512BITALG) &&
20787 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20788 : (TARGET_AVX512VL))))
20789 : return -1;
20790 : return 10235; /* vpopcountv16hi_mask */
20791 :
20792 : case 11:
20793 : if (!(
20794 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
20795 : (TARGET_AVX512F) && (
20796 : #line 31037 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20797 : (TARGET_AVX512BITALG) &&
20798 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20799 : (TARGET_AVX512VL))))
20800 : return -1;
20801 : return 10237; /* vpopcountv8hi_mask */
20802 :
20803 : default:
20804 : return -1;
20805 : }
20806 :
20807 : default:
20808 : return -1;
20809 : }
20810 : }
20811 :
20812 : int
20813 : recog_346 (rtx x1 ATTRIBUTE_UNUSED,
20814 : rtx_insn *insn ATTRIBUTE_UNUSED,
20815 : int *pnum_clobbers ATTRIBUTE_UNUSED)
20816 : {
20817 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
20818 : int res ATTRIBUTE_UNUSED;
20819 : switch (pattern27 (x1))
20820 : {
20821 : case 0:
20822 : if (!(
20823 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20824 : (TARGET_SSE
20825 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20826 : && 1
20827 : && 1) &&
20828 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20829 : (TARGET_AVX512FP16)))
20830 : return -1;
20831 : return 3044; /* *smaxv32hf3 */
20832 :
20833 : case 1:
20834 : if (!(
20835 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20836 : (TARGET_SSE
20837 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20838 : && 1
20839 : && 1) &&
20840 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20841 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20842 : return -1;
20843 : return 3052; /* *smaxv16hf3 */
20844 :
20845 : case 2:
20846 : if (!(
20847 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20848 : (TARGET_SSE
20849 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20850 : && 1
20851 : && 1) &&
20852 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20853 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
20854 : return -1;
20855 : return 3056; /* *smaxv8hf3 */
20856 :
20857 : case 3:
20858 : if (!(
20859 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20860 : (TARGET_SSE
20861 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20862 : && 1
20863 : && 1) &&
20864 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20865 : (TARGET_AVX512F)))
20866 : return -1;
20867 : return 3060; /* *smaxv16sf3 */
20868 :
20869 : case 4:
20870 : if (!(
20871 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20872 : (TARGET_SSE
20873 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20874 : && 1
20875 : && 1) &&
20876 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20877 : (TARGET_AVX)))
20878 : return -1;
20879 : return 3068; /* *smaxv8sf3 */
20880 :
20881 : case 5:
20882 : if (!
20883 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20884 : (TARGET_SSE
20885 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20886 : && 1
20887 : && 1))
20888 : return -1;
20889 : return 3072; /* *smaxv4sf3 */
20890 :
20891 : case 6:
20892 : if (!(
20893 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20894 : (TARGET_SSE
20895 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20896 : && 1
20897 : && 1) &&
20898 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20899 : (TARGET_AVX512F)))
20900 : return -1;
20901 : return 3076; /* *smaxv8df3 */
20902 :
20903 : case 7:
20904 : if (!(
20905 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20906 : (TARGET_SSE
20907 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20908 : && 1
20909 : && 1) &&
20910 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20911 : (TARGET_AVX)))
20912 : return -1;
20913 : return 3084; /* *smaxv4df3 */
20914 :
20915 : case 8:
20916 : if (!(
20917 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20918 : (TARGET_SSE
20919 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
20920 : && 1
20921 : && 1) &&
20922 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20923 : (TARGET_SSE2)))
20924 : return -1;
20925 : return 3088; /* *smaxv2df3 */
20926 :
20927 : case 9:
20928 : if (
20929 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20930 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20931 : return 7794; /* *avx2_smaxv32qi3 */
20932 : if (!(
20933 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20934 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20935 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20936 : (TARGET_AVX512VL)))
20937 : return -1;
20938 : return 7870; /* *avx512bw_smaxv32qi3 */
20939 :
20940 : case 10:
20941 : if (
20942 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20943 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20944 : return 7798; /* *avx2_smaxv16hi3 */
20945 : if (!(
20946 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20947 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20948 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20949 : (TARGET_AVX512VL)))
20950 : return -1;
20951 : return 7886; /* *avx512bw_smaxv16hi3 */
20952 :
20953 : case 11:
20954 : if (
20955 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20956 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20957 : return 7802; /* *avx2_smaxv8si3 */
20958 : if (!(
20959 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20960 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20961 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20962 : (TARGET_AVX512VL)))
20963 : return -1;
20964 : return 7814; /* *avx512f_smaxv8si3 */
20965 :
20966 : case 12:
20967 : if (!
20968 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20969 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20970 : return -1;
20971 : return 7806; /* *avx512f_smaxv16si3 */
20972 :
20973 : case 13:
20974 : if (nonimmediate_operand (operands[1], E_V4SImode)
20975 : && nonimmediate_operand (operands[2], E_V4SImode)
20976 : && (
20977 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20978 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
20979 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20980 : (TARGET_AVX512VL)))
20981 : return 7822; /* *avx512f_smaxv4si3 */
20982 : if (!vector_operand (operands[1], E_V4SImode)
20983 : || !vector_operand (operands[2], E_V4SImode)
20984 : || !
20985 : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20986 : (TARGET_SSE4_1
20987 : && 1
20988 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20989 : return -1;
20990 : return 7906; /* *sse4_1_smaxv4si3 */
20991 :
20992 : case 14:
20993 : if (!
20994 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20995 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
20996 : return -1;
20997 : return 7830; /* *avx512f_smaxv8di3 */
20998 :
20999 : case 15:
21000 : if (!(
21001 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21002 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21003 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21004 : (TARGET_AVX512VL)))
21005 : return -1;
21006 : return 7838; /* *avx512f_smaxv4di3 */
21007 :
21008 : case 16:
21009 : if (!(
21010 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21011 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21012 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21013 : (TARGET_AVX512VL)))
21014 : return -1;
21015 : return 7846; /* *avx512f_smaxv2di3 */
21016 :
21017 : case 17:
21018 : if (!
21019 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21020 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21021 : return -1;
21022 : return 7854; /* *avx512bw_smaxv64qi3 */
21023 :
21024 : case 18:
21025 : if (nonimmediate_operand (operands[1], E_V16QImode)
21026 : && nonimmediate_operand (operands[2], E_V16QImode)
21027 : && (
21028 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21029 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21030 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21031 : (TARGET_AVX512VL)))
21032 : return 7862; /* *avx512bw_smaxv16qi3 */
21033 : if (!vector_operand (operands[1], E_V16QImode)
21034 : || !vector_operand (operands[2], E_V16QImode)
21035 : || !
21036 : #line 18136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21037 : (TARGET_SSE4_1
21038 : && 1
21039 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21040 : return -1;
21041 : return 7902; /* *sse4_1_smaxv16qi3 */
21042 :
21043 : case 19:
21044 : if (!
21045 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21046 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21047 : return -1;
21048 : return 7878; /* *avx512bw_smaxv32hi3 */
21049 :
21050 : case 20:
21051 : if (nonimmediate_operand (operands[1], E_V8HImode)
21052 : && nonimmediate_operand (operands[2], E_V8HImode)
21053 : && (
21054 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21055 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21056 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21057 : (TARGET_AVX512VL)))
21058 : return 7894; /* *avx512bw_smaxv8hi3 */
21059 : if (!vector_operand (operands[1], E_V8HImode)
21060 : || !vector_operand (operands[2], E_V8HImode)
21061 : || !
21062 : #line 18155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21063 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21064 : return -1;
21065 : return 7910; /* *smaxv8hi3 */
21066 :
21067 : case 21:
21068 : if (!
21069 : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21070 : (TARGET_AVX10_2))
21071 : return -1;
21072 : return 10665; /* avx10_2_smaxbf16_v32bf */
21073 :
21074 : case 22:
21075 : if (!
21076 : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21077 : (TARGET_AVX10_2))
21078 : return -1;
21079 : return 10669; /* avx10_2_smaxbf16_v16bf */
21080 :
21081 : case 23:
21082 : if (!
21083 : #line 32821 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21084 : (TARGET_AVX10_2))
21085 : return -1;
21086 : return 10673; /* avx10_2_smaxbf16_v8bf */
21087 :
21088 : default:
21089 : return -1;
21090 : }
21091 : }
21092 :
21093 : int
21094 : recog_352 (rtx x1 ATTRIBUTE_UNUSED,
21095 : rtx_insn *insn ATTRIBUTE_UNUSED,
21096 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21097 : {
21098 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21099 : int res ATTRIBUTE_UNUSED;
21100 : switch (pattern34 (x1))
21101 : {
21102 : case 0:
21103 : if (
21104 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21105 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21106 : return 7797; /* *avx2_uminv32qi3 */
21107 : if (!(
21108 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21109 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21110 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21111 : (TARGET_AVX512VL)))
21112 : return -1;
21113 : return 7876; /* *avx512bw_uminv32qi3 */
21114 :
21115 : case 1:
21116 : if (
21117 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21118 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21119 : return 7801; /* *avx2_uminv16hi3 */
21120 : if (!(
21121 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21122 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21123 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21124 : (TARGET_AVX512VL)))
21125 : return -1;
21126 : return 7892; /* *avx512bw_uminv16hi3 */
21127 :
21128 : case 2:
21129 : if (
21130 : #line 17992 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21131 : (TARGET_AVX2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21132 : return 7805; /* *avx2_uminv8si3 */
21133 : if (!(
21134 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21135 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21136 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21137 : (TARGET_AVX512VL)))
21138 : return -1;
21139 : return 7820; /* *avx512f_uminv8si3 */
21140 :
21141 : case 3:
21142 : if (!
21143 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21144 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21145 : return -1;
21146 : return 7812; /* *avx512f_uminv16si3 */
21147 :
21148 : case 4:
21149 : if (nonimmediate_operand (operands[1], E_V4SImode)
21150 : && nonimmediate_operand (operands[2], E_V4SImode)
21151 : && (
21152 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21153 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21154 : #line 496 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21155 : (TARGET_AVX512VL)))
21156 : return 7828; /* *avx512f_uminv4si3 */
21157 : if (!vector_operand (operands[1], E_V4SImode)
21158 : || !vector_operand (operands[2], E_V4SImode)
21159 : || !
21160 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21161 : (TARGET_SSE4_1
21162 : && 1
21163 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21164 : return -1;
21165 : return 7918; /* *sse4_1_uminv4si3 */
21166 :
21167 : case 5:
21168 : if (!
21169 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21170 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21171 : return -1;
21172 : return 7836; /* *avx512f_uminv8di3 */
21173 :
21174 : case 6:
21175 : if (!(
21176 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21177 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21178 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21179 : (TARGET_AVX512VL)))
21180 : return -1;
21181 : return 7844; /* *avx512f_uminv4di3 */
21182 :
21183 : case 7:
21184 : if (!(
21185 : #line 18033 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21186 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21187 : #line 497 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21188 : (TARGET_AVX512VL)))
21189 : return -1;
21190 : return 7852; /* *avx512f_uminv2di3 */
21191 :
21192 : case 8:
21193 : if (!
21194 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21195 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21196 : return -1;
21197 : return 7860; /* *avx512bw_uminv64qi3 */
21198 :
21199 : case 9:
21200 : if (nonimmediate_operand (operands[1], E_V16QImode)
21201 : && nonimmediate_operand (operands[2], E_V16QImode)
21202 : && (
21203 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21204 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21205 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21206 : (TARGET_AVX512VL)))
21207 : return 7868; /* *avx512bw_uminv16qi3 */
21208 : if (!vector_operand (operands[1], E_V16QImode)
21209 : || !vector_operand (operands[2], E_V16QImode)
21210 : || !
21211 : #line 18239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21212 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21213 : return -1;
21214 : return 7921; /* *uminv16qi3 */
21215 :
21216 : case 10:
21217 : if (!
21218 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21219 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21220 : return -1;
21221 : return 7884; /* *avx512bw_uminv32hi3 */
21222 :
21223 : case 11:
21224 : if (nonimmediate_operand (operands[1], E_V8HImode)
21225 : && nonimmediate_operand (operands[2], E_V8HImode)
21226 : && (
21227 : #line 18044 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21228 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21229 : #line 329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21230 : (TARGET_AVX512VL)))
21231 : return 7900; /* *avx512bw_uminv8hi3 */
21232 : if (!vector_operand (operands[1], E_V8HImode)
21233 : || !vector_operand (operands[2], E_V8HImode)
21234 : || !
21235 : #line 18220 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21236 : (TARGET_SSE4_1
21237 : && 1
21238 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21239 : return -1;
21240 : return 7914; /* *sse4_1_uminv8hi3 */
21241 :
21242 : default:
21243 : return -1;
21244 : }
21245 : }
21246 :
21247 : int
21248 : recog_359 (rtx x1 ATTRIBUTE_UNUSED,
21249 : rtx_insn *insn ATTRIBUTE_UNUSED,
21250 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21251 : {
21252 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21253 : rtx x2, x3, x4;
21254 : int res ATTRIBUTE_UNUSED;
21255 : x2 = XEXP (x1, 0);
21256 : operands[0] = x2;
21257 : x3 = XEXP (x1, 1);
21258 : x4 = XEXP (x3, 0);
21259 : operands[1] = x4;
21260 : switch (GET_MODE (operands[0]))
21261 : {
21262 : case E_XFmode:
21263 : if (!register_operand (operands[0], E_XFmode)
21264 : || GET_MODE (x3) != E_XFmode
21265 : || !register_operand (operands[1], E_XFmode)
21266 : || !
21267 : #line 24094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21268 : (TARGET_USE_FANCY_MATH_387))
21269 : return -1;
21270 : return 1742; /* sqrtxf2 */
21271 :
21272 : case E_HFmode:
21273 : if (!register_operand (operands[0], E_HFmode)
21274 : || GET_MODE (x3) != E_HFmode
21275 : || !nonimmediate_operand (operands[1], E_HFmode)
21276 : || !
21277 : #line 24155 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21278 : (TARGET_AVX512FP16))
21279 : return -1;
21280 : return 1745; /* sqrthf2 */
21281 :
21282 : case E_SFmode:
21283 : if (!register_operand (operands[0], E_SFmode)
21284 : || GET_MODE (x3) != E_SFmode
21285 : || !nonimmediate_operand (operands[1], E_SFmode)
21286 : || !
21287 : #line 24168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21288 : (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
21289 : return -1;
21290 : return 1746; /* *sqrtsf2_sse */
21291 :
21292 : case E_DFmode:
21293 : if (!register_operand (operands[0], E_DFmode)
21294 : || GET_MODE (x3) != E_DFmode
21295 : || !nonimmediate_operand (operands[1], E_DFmode)
21296 : || !
21297 : #line 24168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21298 : (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
21299 : return -1;
21300 : return 1747; /* *sqrtdf2_sse */
21301 :
21302 : default:
21303 : return -1;
21304 : }
21305 : }
21306 :
21307 : int
21308 : recog_363 (rtx x1 ATTRIBUTE_UNUSED,
21309 : rtx_insn *insn ATTRIBUTE_UNUSED,
21310 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21311 : {
21312 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21313 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21314 : rtx x10;
21315 : int res ATTRIBUTE_UNUSED;
21316 : x2 = XVECEXP (x1, 0, 0);
21317 : x3 = XEXP (x2, 0);
21318 : operands[0] = x3;
21319 : x4 = XVECEXP (x1, 0, 1);
21320 : switch (GET_CODE (x4))
21321 : {
21322 : case CLOBBER:
21323 : x5 = XEXP (x2, 1);
21324 : operands[1] = x5;
21325 : x6 = XEXP (x4, 0);
21326 : switch (GET_CODE (x6))
21327 : {
21328 : case MEM:
21329 : if (GET_MODE (x6) != E_BLKmode)
21330 : return -1;
21331 : x7 = XEXP (x6, 0);
21332 : if (GET_CODE (x7) != SCRATCH)
21333 : return -1;
21334 : switch (GET_MODE (operands[0]))
21335 : {
21336 : case E_SImode:
21337 : if (push_operand (operands[0], E_SImode)
21338 : && general_no_elim_operand (operands[1], E_SImode)
21339 : &&
21340 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21341 : (word_mode == SImode))
21342 : return 78; /* *pushsi2_prologue */
21343 : if (!nonimmediate_operand (operands[0], E_SImode)
21344 : || !pop_operand (operands[1], E_SImode)
21345 : || !
21346 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21347 : (word_mode == SImode))
21348 : return -1;
21349 : return 82; /* *popsi1_epilogue */
21350 :
21351 : case E_DImode:
21352 : if (push_operand (operands[0], E_DImode)
21353 : && general_no_elim_operand (operands[1], E_DImode)
21354 : &&
21355 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21356 : (word_mode == DImode))
21357 : return 79; /* *pushdi2_prologue */
21358 : if (!nonimmediate_operand (operands[0], E_DImode)
21359 : || !pop_operand (operands[1], E_DImode)
21360 : || !
21361 : #line 1404 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21362 : (word_mode == DImode))
21363 : return -1;
21364 : return 83; /* *popdi1_epilogue */
21365 :
21366 : default:
21367 : return -1;
21368 : }
21369 :
21370 : case REG:
21371 : if (REGNO (x6) != 17
21372 : || GET_MODE (x6) != E_CCmode)
21373 : return -1;
21374 : switch (GET_MODE (operands[0]))
21375 : {
21376 : case E_SImode:
21377 : if (const0_operand (operands[1], E_SImode))
21378 : {
21379 : if (register_operand (operands[0], E_SImode)
21380 : &&
21381 : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21382 : (reload_completed))
21383 : return 88; /* *movsi_xor */
21384 : if (memory_operand (operands[0], E_SImode)
21385 : &&
21386 : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21387 : (reload_completed))
21388 : return 91; /* *movsi_and */
21389 : }
21390 : if (!nonimmediate_operand (operands[0], E_SImode)
21391 : || !constm1_operand (operands[1], E_SImode)
21392 : || !
21393 : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21394 : (reload_completed))
21395 : return -1;
21396 : return 94; /* *movsi_or */
21397 :
21398 : case E_DImode:
21399 : if (const0_operand (operands[1], E_DImode))
21400 : {
21401 : if (register_operand (operands[0], E_DImode)
21402 : && (
21403 : #line 2429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21404 : (reload_completed) &&
21405 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21406 : (TARGET_64BIT)))
21407 : return 89; /* *movdi_xor */
21408 : if (memory_operand (operands[0], E_DImode)
21409 : && (
21410 : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21411 : (reload_completed) &&
21412 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21413 : (TARGET_64BIT)))
21414 : return 92; /* *movdi_and */
21415 : }
21416 : if (!nonimmediate_operand (operands[0], E_DImode)
21417 : || !constm1_operand (operands[1], E_DImode)
21418 : || !(
21419 : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21420 : (reload_completed) &&
21421 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21422 : (TARGET_64BIT)))
21423 : return -1;
21424 : return 95; /* *movdi_or */
21425 :
21426 : case E_HImode:
21427 : if (memory_operand (operands[0], E_HImode)
21428 : && const0_operand (operands[1], E_HImode)
21429 : &&
21430 : #line 2441 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21431 : (reload_completed))
21432 : return 90; /* *movhi_and */
21433 : if (!nonimmediate_operand (operands[0], E_HImode)
21434 : || !constm1_operand (operands[1], E_HImode)
21435 : || !
21436 : #line 2456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21437 : (reload_completed))
21438 : return -1;
21439 : return 93; /* *movhi_or */
21440 :
21441 : default:
21442 : return -1;
21443 : }
21444 :
21445 : default:
21446 : return -1;
21447 : }
21448 :
21449 : case SET:
21450 : x8 = XEXP (x4, 1);
21451 : switch (GET_CODE (x8))
21452 : {
21453 : case REG:
21454 : case SUBREG:
21455 : if (!rtx_equal_p (x8, operands[0]))
21456 : return -1;
21457 : x5 = XEXP (x2, 1);
21458 : operands[1] = x5;
21459 : x6 = XEXP (x4, 0);
21460 : if (!rtx_equal_p (x6, operands[1]))
21461 : return -1;
21462 : switch (GET_MODE (operands[0]))
21463 : {
21464 : case E_SImode:
21465 : if (!register_operand (operands[0], E_SImode)
21466 : || !register_operand (operands[1], E_SImode))
21467 : return -1;
21468 : return 111; /* swapsi */
21469 :
21470 : case E_DImode:
21471 : if (!register_operand (operands[0], E_DImode)
21472 : || !register_operand (operands[1], E_DImode)
21473 : || !
21474 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21475 : (TARGET_64BIT))
21476 : return -1;
21477 : return 112; /* swapdi */
21478 :
21479 : case E_QImode:
21480 : if (!register_operand (operands[0], E_QImode)
21481 : || !register_operand (operands[1], E_QImode))
21482 : return -1;
21483 : return 113; /* *swapqi */
21484 :
21485 : case E_HImode:
21486 : if (!register_operand (operands[0], E_HImode)
21487 : || !register_operand (operands[1], E_HImode))
21488 : return -1;
21489 : return 114; /* *swaphi */
21490 :
21491 : case E_XFmode:
21492 : if (!register_operand (operands[0], E_XFmode)
21493 : || !register_operand (operands[1], E_XFmode)
21494 : || !
21495 : #line 4655 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21496 : (TARGET_80387))
21497 : return -1;
21498 : return 177; /* *swapxf */
21499 :
21500 : default:
21501 : return -1;
21502 : }
21503 :
21504 : case UNSPEC:
21505 : if (XVECLEN (x8, 0) != 1
21506 : || XINT (x8, 1) != 73
21507 : || GET_MODE (x8) != E_XFmode
21508 : || !register_operand (operands[0], E_SFmode))
21509 : return -1;
21510 : x5 = XEXP (x2, 1);
21511 : operands[3] = x5;
21512 : if (!const1_operand (operands[3], E_SFmode))
21513 : return -1;
21514 : x6 = XEXP (x4, 0);
21515 : operands[1] = x6;
21516 : if (!register_operand (operands[1], E_XFmode))
21517 : return -1;
21518 : x9 = XVECEXP (x8, 0, 0);
21519 : operands[2] = x9;
21520 : if (!register_operand (operands[2], E_XFmode)
21521 : || !
21522 : #line 24473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21523 : (TARGET_USE_FANCY_MATH_387
21524 : && flag_unsafe_math_optimizations))
21525 : return -1;
21526 : return 1754; /* fptanxf4_i387 */
21527 :
21528 : default:
21529 : return -1;
21530 : }
21531 :
21532 : case UNSPEC:
21533 : if (XVECLEN (x4, 0) != 1
21534 : || XINT (x4, 1) != 109
21535 : || GET_MODE (x4) != E_DImode)
21536 : return -1;
21537 : x10 = XVECEXP (x4, 0, 0);
21538 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21539 : return -1;
21540 : x5 = XEXP (x2, 1);
21541 : operands[1] = x5;
21542 : if (register_operand (operands[1], E_DImode)
21543 : && push_operand (operands[0], E_DImode)
21544 : &&
21545 : #line 3921 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21546 : (TARGET_64BIT))
21547 : return 165; /* pushp_di */
21548 : if (!pop_operand (operands[1], E_DImode)
21549 : || !register_operand (operands[0], E_DImode)
21550 : || !
21551 : #line 3929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21552 : (TARGET_APX_PPX))
21553 : return -1;
21554 : return 166; /* popp_di */
21555 :
21556 : default:
21557 : return -1;
21558 : }
21559 : }
21560 :
21561 : int
21562 : recog_376 (rtx x1 ATTRIBUTE_UNUSED,
21563 : rtx_insn *insn ATTRIBUTE_UNUSED,
21564 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21565 : {
21566 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21567 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21568 : int res ATTRIBUTE_UNUSED;
21569 : x2 = XVECEXP (x1, 0, 0);
21570 : x3 = XEXP (x2, 1);
21571 : switch (XINT (x3, 1))
21572 : {
21573 : case 107:
21574 : if (pattern546 (x1) != 0)
21575 : return -1;
21576 : x4 = XEXP (x2, 0);
21577 : operands[0] = x4;
21578 : if (!register_operand (operands[0], E_DImode))
21579 : return -1;
21580 : x5 = XVECEXP (x3, 0, 0);
21581 : operands[1] = x5;
21582 : if (!pop_operand (operands[1], E_TImode))
21583 : return -1;
21584 : x6 = XVECEXP (x1, 0, 1);
21585 : x7 = XEXP (x6, 0);
21586 : operands[2] = x7;
21587 : if (!register_operand (operands[2], E_DImode)
21588 : || !
21589 : #line 3912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21590 : (TARGET_APX_PUSH2POP2))
21591 : return -1;
21592 : return 164; /* pop2_di */
21593 :
21594 : case 15:
21595 : if (GET_MODE (x3) != E_SImode)
21596 : return -1;
21597 : x6 = XVECEXP (x1, 0, 1);
21598 : if (GET_CODE (x6) != CLOBBER
21599 : || pattern823 (x1,
21600 : E_SImode) != 0)
21601 : return -1;
21602 : x5 = XVECEXP (x3, 0, 0);
21603 : switch (GET_CODE (x5))
21604 : {
21605 : case CONST_INT:
21606 : if (XWINT (x5, 0) != 0L
21607 : || !
21608 : #line 21124 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21609 : (!TARGET_64BIT))
21610 : return -1;
21611 : return 1530; /* *set_got */
21612 :
21613 : case LABEL_REF:
21614 : x8 = XEXP (x5, 0);
21615 : operands[1] = x8;
21616 : if (!
21617 : #line 21146 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21618 : (!TARGET_64BIT))
21619 : return -1;
21620 : return 1531; /* *set_got_labelled */
21621 :
21622 : default:
21623 : return -1;
21624 : }
21625 :
21626 : case 98:
21627 : switch (pattern549 (x1))
21628 : {
21629 : case 0:
21630 : if (!
21631 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21632 : (TARGET_BMI))
21633 : return -1;
21634 : return 1584; /* tzcnt_si */
21635 :
21636 : case 1:
21637 : if (!(((
21638 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21639 : (TARGET_64BIT) &&
21640 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21641 : (TARGET_BMI)) &&
21642 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21643 : (TARGET_64BIT)) &&
21644 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21645 : (TARGET_BMI)))
21646 : return -1;
21647 : return 1586; /* tzcnt_di */
21648 :
21649 : case 2:
21650 : if (!(
21651 : #line 22092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21652 : (true) &&
21653 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21654 : (TARGET_BMI)))
21655 : return -1;
21656 : return 1597; /* tzcnt_hi */
21657 :
21658 : case 3:
21659 : if ((
21660 : #line 22066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21661 : (TARGET_APX_NF) &&
21662 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21663 : (TARGET_BMI)))
21664 : return 1588; /* *tzcnt_si_falsedep_nf */
21665 : if (pnum_clobbers == NULL
21666 : || !
21667 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21668 : (TARGET_BMI))
21669 : return -1;
21670 : *pnum_clobbers = 1;
21671 : return 1592; /* *tzcnt_si_falsedep */
21672 :
21673 : case 4:
21674 : if ((
21675 : #line 22066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21676 : (TARGET_APX_NF) && ((
21677 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21678 : (TARGET_64BIT) &&
21679 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21680 : (TARGET_BMI)) &&
21681 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21682 : (TARGET_64BIT))))
21683 : return 1590; /* *tzcnt_di_falsedep_nf */
21684 : if (pnum_clobbers == NULL
21685 : || !((
21686 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21687 : (TARGET_64BIT) &&
21688 : #line 22001 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21689 : (TARGET_BMI)) &&
21690 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21691 : (TARGET_64BIT)))
21692 : return -1;
21693 : *pnum_clobbers = 1;
21694 : return 1594; /* *tzcnt_di_falsedep */
21695 :
21696 : default:
21697 : return -1;
21698 : }
21699 :
21700 : case 97:
21701 : switch (pattern549 (x1))
21702 : {
21703 : case 0:
21704 : if (!
21705 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21706 : (TARGET_LZCNT))
21707 : return -1;
21708 : return 1585; /* lzcnt_si */
21709 :
21710 : case 1:
21711 : if (!(((
21712 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21713 : (TARGET_64BIT) &&
21714 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21715 : (TARGET_LZCNT)) &&
21716 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21717 : (TARGET_64BIT)) &&
21718 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21719 : (TARGET_LZCNT)))
21720 : return -1;
21721 : return 1587; /* lzcnt_di */
21722 :
21723 : case 2:
21724 : if (!(
21725 : #line 22092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21726 : (true) &&
21727 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21728 : (TARGET_LZCNT)))
21729 : return -1;
21730 : return 1599; /* lzcnt_hi */
21731 :
21732 : case 3:
21733 : if ((
21734 : #line 22066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21735 : (TARGET_APX_NF) &&
21736 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21737 : (TARGET_LZCNT)))
21738 : return 1589; /* *lzcnt_si_falsedep_nf */
21739 : if (pnum_clobbers == NULL
21740 : || !
21741 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21742 : (TARGET_LZCNT))
21743 : return -1;
21744 : *pnum_clobbers = 1;
21745 : return 1593; /* *lzcnt_si_falsedep */
21746 :
21747 : case 4:
21748 : if ((
21749 : #line 22066 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21750 : (TARGET_APX_NF) && ((
21751 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21752 : (TARGET_64BIT) &&
21753 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21754 : (TARGET_LZCNT)) &&
21755 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21756 : (TARGET_64BIT))))
21757 : return 1591; /* *lzcnt_di_falsedep_nf */
21758 : if (pnum_clobbers == NULL
21759 : || !((
21760 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21761 : (TARGET_64BIT) &&
21762 : #line 22002 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21763 : (TARGET_LZCNT)) &&
21764 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21765 : (TARGET_64BIT)))
21766 : return -1;
21767 : *pnum_clobbers = 1;
21768 : return 1595; /* *lzcnt_di_falsedep */
21769 :
21770 : default:
21771 : return -1;
21772 : }
21773 :
21774 : case 28:
21775 : if (GET_MODE (x3) != E_CCmode
21776 : || pattern692 (x1,
21777 : CLOBBER,
21778 : E_CCmode) != 0)
21779 : return -1;
21780 : x5 = XVECEXP (x3, 0, 0);
21781 : operands[0] = x5;
21782 : if (!register_operand (operands[0], E_HImode))
21783 : return -1;
21784 : x6 = XVECEXP (x1, 0, 1);
21785 : x7 = XEXP (x6, 0);
21786 : if (!rtx_equal_p (x7, operands[0]))
21787 : return -1;
21788 : return 1681; /* parityhi2_cmp */
21789 :
21790 : case 81:
21791 : if (pattern550 (x1,
21792 : 82) != 0
21793 : || !
21794 : #line 24440 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21795 : (TARGET_USE_FANCY_MATH_387
21796 : && flag_unsafe_math_optimizations))
21797 : return -1;
21798 : return 1753; /* sincosxf3 */
21799 :
21800 : case 83:
21801 : if (pattern550 (x1,
21802 : 84) != 0
21803 : || !
21804 : #line 24955 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21805 : (TARGET_USE_FANCY_MATH_387
21806 : && flag_unsafe_math_optimizations))
21807 : return -1;
21808 : return 1758; /* fxtractxf3_i387 */
21809 :
21810 : case 71:
21811 : if (GET_MODE (x3) != E_DImode)
21812 : return -1;
21813 : x6 = XVECEXP (x1, 0, 1);
21814 : if (GET_CODE (x6) != CLOBBER)
21815 : return -1;
21816 : x4 = XEXP (x2, 0);
21817 : operands[0] = x4;
21818 : if (!nonimmediate_operand (operands[0], E_DImode))
21819 : return -1;
21820 : x5 = XVECEXP (x3, 0, 0);
21821 : operands[1] = x5;
21822 : if (!register_operand (operands[1], E_XFmode))
21823 : return -1;
21824 : x7 = XEXP (x6, 0);
21825 : operands[2] = x7;
21826 : if (!scratch_operand (operands[2], E_XFmode)
21827 : || !
21828 : #line 25501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21829 : (TARGET_USE_FANCY_MATH_387))
21830 : return -1;
21831 : return 1767; /* lrintxfdi2 */
21832 :
21833 : case 75:
21834 : if (pattern551 (x1) != 0
21835 : || !
21836 : #line 25600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21837 : (TARGET_USE_FANCY_MATH_387
21838 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
21839 : && ix86_pre_reload_split ()))
21840 : return -1;
21841 : return 1770; /* frndintxf2_roundeven */
21842 :
21843 : case 76:
21844 : if (pattern551 (x1) != 0
21845 : || !
21846 : #line 25600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21847 : (TARGET_USE_FANCY_MATH_387
21848 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
21849 : && ix86_pre_reload_split ()))
21850 : return -1;
21851 : return 1771; /* frndintxf2_floor */
21852 :
21853 : case 77:
21854 : if (pattern551 (x1) != 0
21855 : || !
21856 : #line 25600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21857 : (TARGET_USE_FANCY_MATH_387
21858 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
21859 : && ix86_pre_reload_split ()))
21860 : return -1;
21861 : return 1772; /* frndintxf2_ceil */
21862 :
21863 : case 78:
21864 : if (pattern551 (x1) != 0
21865 : || !
21866 : #line 25600 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21867 : (TARGET_USE_FANCY_MATH_387
21868 : && (flag_fp_int_builtin_inexact || !flag_trapping_math)
21869 : && ix86_pre_reload_split ()))
21870 : return -1;
21871 : return 1773; /* frndintxf2_trunc */
21872 :
21873 : case 79:
21874 : switch (pattern553 (x1))
21875 : {
21876 : case 0:
21877 : if (!
21878 : #line 25717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21879 : (TARGET_USE_FANCY_MATH_387
21880 : && flag_unsafe_math_optimizations
21881 : && ix86_pre_reload_split ()))
21882 : return -1;
21883 : return 1778; /* *fisthi2_floor_1 */
21884 :
21885 : case 1:
21886 : if (!
21887 : #line 25717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21888 : (TARGET_USE_FANCY_MATH_387
21889 : && flag_unsafe_math_optimizations
21890 : && ix86_pre_reload_split ()))
21891 : return -1;
21892 : return 1780; /* *fistsi2_floor_1 */
21893 :
21894 : case 2:
21895 : if (!
21896 : #line 25717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21897 : (TARGET_USE_FANCY_MATH_387
21898 : && flag_unsafe_math_optimizations
21899 : && ix86_pre_reload_split ()))
21900 : return -1;
21901 : return 1782; /* *fistdi2_floor_1 */
21902 :
21903 : default:
21904 : return -1;
21905 : }
21906 :
21907 : case 80:
21908 : switch (pattern553 (x1))
21909 : {
21910 : case 0:
21911 : if (!
21912 : #line 25717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21913 : (TARGET_USE_FANCY_MATH_387
21914 : && flag_unsafe_math_optimizations
21915 : && ix86_pre_reload_split ()))
21916 : return -1;
21917 : return 1779; /* *fisthi2_ceil_1 */
21918 :
21919 : case 1:
21920 : if (!
21921 : #line 25717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21922 : (TARGET_USE_FANCY_MATH_387
21923 : && flag_unsafe_math_optimizations
21924 : && ix86_pre_reload_split ()))
21925 : return -1;
21926 : return 1781; /* *fistsi2_ceil_1 */
21927 :
21928 : case 2:
21929 : if (!
21930 : #line 25717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21931 : (TARGET_USE_FANCY_MATH_387
21932 : && flag_unsafe_math_optimizations
21933 : && ix86_pre_reload_split ()))
21934 : return -1;
21935 : return 1783; /* *fistdi2_ceil_1 */
21936 :
21937 : default:
21938 : return -1;
21939 : }
21940 :
21941 : case 19:
21942 : if (GET_MODE (x3) != E_QImode)
21943 : return -1;
21944 : x6 = XVECEXP (x1, 0, 1);
21945 : if (pattern236 (x6,
21946 : E_CCmode,
21947 : 17) != 0)
21948 : return -1;
21949 : x4 = XEXP (x2, 0);
21950 : operands[0] = x4;
21951 : if (!memory_operand (operands[0], E_QImode))
21952 : return -1;
21953 : x5 = XVECEXP (x3, 0, 0);
21954 : operands[1] = x5;
21955 : if (!const0_operand (operands[1], E_QImode))
21956 : return -1;
21957 : return 1915; /* probe_stack_1 */
21958 :
21959 : case 93:
21960 : x6 = XVECEXP (x1, 0, 1);
21961 : if (GET_CODE (x6) != SET)
21962 : return -1;
21963 : if (pnum_clobbers != NULL)
21964 : {
21965 : res = recog_372 (x1, insn, pnum_clobbers);
21966 : if (res >= 0)
21967 : return res;
21968 : }
21969 : x4 = XEXP (x2, 0);
21970 : operands[0] = x4;
21971 : x5 = XVECEXP (x3, 0, 0);
21972 : operands[3] = x5;
21973 : x7 = XEXP (x6, 0);
21974 : operands[1] = x7;
21975 : x9 = XEXP (x6, 1);
21976 : operands[2] = x9;
21977 : switch (GET_MODE (operands[0]))
21978 : {
21979 : case E_SImode:
21980 : switch (pattern1245 (x3,
21981 : E_SImode))
21982 : {
21983 : case 0:
21984 : if (general_operand (operands[2], E_SImode)
21985 : && (
21986 : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21987 : (reload_completed) &&
21988 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21989 : (ptr_mode == SImode)))
21990 : return 1924; /* *stack_protect_set_2_si_si */
21991 : if (address_no_seg_operand (operands[2], E_SImode)
21992 : &&
21993 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21994 : (ptr_mode == SImode))
21995 : return 1928; /* *stack_protect_set_3_si_si */
21996 : break;
21997 :
21998 : case 1:
21999 : if (general_operand (operands[2], E_DImode)
22000 : && (
22001 : #line 28042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22002 : (TARGET_64BIT && reload_completed) &&
22003 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22004 : (ptr_mode == SImode)))
22005 : return 1926; /* *stack_protect_set_2_si_di */
22006 : if (address_no_seg_operand (operands[2], E_DImode)
22007 : && ((
22008 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22009 : (ptr_mode == SImode) &&
22010 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22011 : (TARGET_64BIT)) &&
22012 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22013 : (TARGET_64BIT)))
22014 : return 1929; /* *stack_protect_set_3_si_di */
22015 : break;
22016 :
22017 : default:
22018 : break;
22019 : }
22020 : break;
22021 :
22022 : case E_DImode:
22023 : switch (pattern1245 (x3,
22024 : E_DImode))
22025 : {
22026 : case 0:
22027 : if (general_operand (operands[2], E_SImode)
22028 : && (
22029 : #line 28023 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22030 : (reload_completed) &&
22031 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22032 : (ptr_mode == DImode)))
22033 : return 1925; /* *stack_protect_set_2_di_si */
22034 : if (address_no_seg_operand (operands[2], E_SImode)
22035 : &&
22036 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22037 : (ptr_mode == DImode))
22038 : return 1930; /* *stack_protect_set_3_di_si */
22039 : break;
22040 :
22041 : case 1:
22042 : if (general_operand (operands[2], E_DImode)
22043 : && (
22044 : #line 28042 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22045 : (TARGET_64BIT && reload_completed) &&
22046 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22047 : (ptr_mode == DImode)))
22048 : return 1927; /* *stack_protect_set_2_di_di */
22049 : if (address_no_seg_operand (operands[2], E_DImode)
22050 : && ((
22051 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22052 : (ptr_mode == DImode) &&
22053 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22054 : (TARGET_64BIT)) &&
22055 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22056 : (TARGET_64BIT)))
22057 : return 1931; /* *stack_protect_set_3_di_di */
22058 : break;
22059 :
22060 : default:
22061 : break;
22062 : }
22063 : break;
22064 :
22065 : default:
22066 : break;
22067 : }
22068 : if (!register_operand (operands[1], E_DImode)
22069 : || GET_MODE (x9) != E_DImode)
22070 : return -1;
22071 : switch (GET_CODE (x9))
22072 : {
22073 : case ZERO_EXTEND:
22074 : switch (pattern1327 (x1))
22075 : {
22076 : case 0:
22077 : if (!(
22078 : #line 28136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22079 : (TARGET_64BIT && reload_completed) &&
22080 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22081 : (ptr_mode == SImode)))
22082 : return -1;
22083 : return 1932; /* *stack_protect_set_4z_si_di */
22084 :
22085 : case 1:
22086 : if (!(
22087 : #line 28136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22088 : (TARGET_64BIT && reload_completed) &&
22089 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22090 : (ptr_mode == DImode)))
22091 : return -1;
22092 : return 1933; /* *stack_protect_set_4z_di_di */
22093 :
22094 : default:
22095 : return -1;
22096 : }
22097 :
22098 : case SIGN_EXTEND:
22099 : switch (pattern1327 (x1))
22100 : {
22101 : case 0:
22102 : if (!(
22103 : #line 28154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22104 : (TARGET_64BIT && reload_completed) &&
22105 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22106 : (ptr_mode == SImode)))
22107 : return -1;
22108 : return 1934; /* *stack_protect_set_4s_si_di */
22109 :
22110 : case 1:
22111 : if (!(
22112 : #line 28154 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22113 : (TARGET_64BIT && reload_completed) &&
22114 : #line 1409 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22115 : (ptr_mode == DImode)))
22116 : return -1;
22117 : return 1935; /* *stack_protect_set_4s_di_di */
22118 :
22119 : default:
22120 : return -1;
22121 : }
22122 :
22123 : default:
22124 : return -1;
22125 : }
22126 :
22127 : case 119:
22128 : if (GET_MODE (x3) != E_V4SImode)
22129 : return -1;
22130 : x6 = XVECEXP (x1, 0, 1);
22131 : if (GET_CODE (x6) != CLOBBER)
22132 : return -1;
22133 : x4 = XEXP (x2, 0);
22134 : operands[0] = x4;
22135 : if (!register_operand (operands[0], E_V4SImode))
22136 : return -1;
22137 : x5 = XVECEXP (x3, 0, 0);
22138 : operands[1] = x5;
22139 : if (!nonimmediate_operand (operands[1], E_DImode))
22140 : return -1;
22141 : x7 = XEXP (x6, 0);
22142 : operands[2] = x7;
22143 : if (!scratch_operand (operands[2], E_V4SImode)
22144 : || !
22145 : #line 1903 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22146 : (!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
22147 : return -1;
22148 : return 2620; /* movdi_to_sse */
22149 :
22150 : case 286:
22151 : if (GET_MODE (x3) != E_BLKmode
22152 : || pattern344 (x1) != 0)
22153 : return -1;
22154 : x5 = XVECEXP (x3, 0, 0);
22155 : if (!rtx_equal_p (x5, operands[0]))
22156 : return -1;
22157 : return 11062; /* mfence_nosse */
22158 :
22159 : case 291:
22160 : if (pnum_clobbers == NULL
22161 : || GET_MODE (x3) != E_DImode)
22162 : return -1;
22163 : x6 = XVECEXP (x1, 0, 1);
22164 : if (GET_CODE (x6) != CLOBBER)
22165 : return -1;
22166 : x4 = XEXP (x2, 0);
22167 : operands[0] = x4;
22168 : if (!nonimmediate_operand (operands[0], E_DImode))
22169 : return -1;
22170 : x5 = XVECEXP (x3, 0, 0);
22171 : operands[1] = x5;
22172 : if (!memory_operand (operands[1], E_DImode))
22173 : return -1;
22174 : x7 = XEXP (x6, 0);
22175 : operands[2] = x7;
22176 : if (!memory_operand (operands[2], E_DImode)
22177 : || !
22178 : #line 196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22179 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22180 : return -1;
22181 : *pnum_clobbers = 1;
22182 : return 11063; /* atomic_loaddi_fpu */
22183 :
22184 : case 292:
22185 : if (pnum_clobbers == NULL
22186 : || GET_MODE (x3) != E_DImode)
22187 : return -1;
22188 : x6 = XVECEXP (x1, 0, 1);
22189 : if (GET_CODE (x6) != CLOBBER)
22190 : return -1;
22191 : x4 = XEXP (x2, 0);
22192 : operands[0] = x4;
22193 : if (!memory_operand (operands[0], E_DImode))
22194 : return -1;
22195 : x5 = XVECEXP (x3, 0, 0);
22196 : operands[1] = x5;
22197 : if (!nonimmediate_operand (operands[1], E_DImode))
22198 : return -1;
22199 : x7 = XEXP (x6, 0);
22200 : operands[2] = x7;
22201 : if (!memory_operand (operands[2], E_DImode)
22202 : || !
22203 : #line 295 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
22204 : (!TARGET_64BIT && (TARGET_80387 || TARGET_SSE)))
22205 : return -1;
22206 : *pnum_clobbers = 1;
22207 : return 11068; /* atomic_storedi_fpu */
22208 :
22209 : default:
22210 : return -1;
22211 : }
22212 : }
22213 :
22214 : int
22215 : recog_390 (rtx x1 ATTRIBUTE_UNUSED,
22216 : rtx_insn *insn ATTRIBUTE_UNUSED,
22217 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22218 : {
22219 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22220 : rtx x2, x3, x4, x5, x6, x7, x8;
22221 : int res ATTRIBUTE_UNUSED;
22222 : x2 = XVECEXP (x1, 0, 1);
22223 : switch (GET_CODE (x2))
22224 : {
22225 : case CLOBBER:
22226 : x3 = XEXP (x2, 0);
22227 : operands[0] = x3;
22228 : switch (GET_MODE (operands[1]))
22229 : {
22230 : case E_DImode:
22231 : if (!nonimmediate_operand (operands[1], E_DImode)
22232 : || !x86_64_immediate_operand (operands[2], E_DImode)
22233 : || !scratch_operand (operands[0], E_DImode)
22234 : || !
22235 : #line 7371 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22236 : (TARGET_64BIT
22237 : && ix86_match_ccmode (insn, CCGCmode)))
22238 : return -1;
22239 : return 323; /* *adddi_4 */
22240 :
22241 : case E_QImode:
22242 : if (!nonimmediate_operand (operands[1], E_QImode)
22243 : || !const_int_operand (operands[2], E_QImode)
22244 : || !scratch_operand (operands[0], E_QImode)
22245 : || !
22246 : #line 7416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22247 : (ix86_match_ccmode (insn, CCGCmode)))
22248 : return -1;
22249 : return 324; /* *addqi_4 */
22250 :
22251 : case E_HImode:
22252 : if (!nonimmediate_operand (operands[1], E_HImode)
22253 : || !const_int_operand (operands[2], E_HImode)
22254 : || !scratch_operand (operands[0], E_HImode)
22255 : || !
22256 : #line 7416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22257 : (ix86_match_ccmode (insn, CCGCmode)))
22258 : return -1;
22259 : return 325; /* *addhi_4 */
22260 :
22261 : case E_SImode:
22262 : if (!nonimmediate_operand (operands[1], E_SImode)
22263 : || !const_int_operand (operands[2], E_SImode)
22264 : || !scratch_operand (operands[0], E_SImode)
22265 : || !
22266 : #line 7416 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22267 : (ix86_match_ccmode (insn, CCGCmode)))
22268 : return -1;
22269 : return 326; /* *addsi_4 */
22270 :
22271 : default:
22272 : return -1;
22273 : }
22274 :
22275 : case SET:
22276 : x3 = XEXP (x2, 0);
22277 : operands[0] = x3;
22278 : x4 = XEXP (x2, 1);
22279 : switch (GET_CODE (x4))
22280 : {
22281 : case MINUS:
22282 : x5 = XEXP (x4, 0);
22283 : if (!rtx_equal_p (x5, operands[1]))
22284 : return -1;
22285 : x6 = XEXP (x4, 1);
22286 : if (!rtx_equal_p (x6, operands[2]))
22287 : return -1;
22288 : switch (GET_MODE (operands[1]))
22289 : {
22290 : case E_QImode:
22291 : if (pattern1499 (x4,
22292 : E_QImode) != 0
22293 : || !
22294 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22295 : (ix86_match_ccmode (insn, CCmode)
22296 : && ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)))
22297 : return -1;
22298 : return 449; /* *subqi_3 */
22299 :
22300 : case E_HImode:
22301 : if (pattern1499 (x4,
22302 : E_HImode) != 0
22303 : || !
22304 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22305 : (ix86_match_ccmode (insn, CCmode)
22306 : && ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)))
22307 : return -1;
22308 : return 450; /* *subhi_3 */
22309 :
22310 : case E_SImode:
22311 : if (pattern1500 (x4,
22312 : E_SImode) != 0
22313 : || !
22314 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22315 : (ix86_match_ccmode (insn, CCmode)
22316 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22317 : return -1;
22318 : return 451; /* *subsi_3 */
22319 :
22320 : case E_DImode:
22321 : if (pattern1500 (x4,
22322 : E_DImode) != 0
22323 : || !(
22324 : #line 8689 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22325 : (ix86_match_ccmode (insn, CCmode)
22326 : && ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22327 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22328 : (TARGET_64BIT)))
22329 : return -1;
22330 : return 452; /* *subdi_3 */
22331 :
22332 : default:
22333 : return -1;
22334 : }
22335 :
22336 : case ZERO_EXTEND:
22337 : if (GET_MODE (x4) != E_DImode)
22338 : return -1;
22339 : x5 = XEXP (x4, 0);
22340 : if (GET_CODE (x5) != MINUS
22341 : || GET_MODE (x5) != E_SImode
22342 : || !nonimmediate_operand (operands[1], E_SImode)
22343 : || !x86_64_general_operand (operands[2], E_SImode)
22344 : || !register_operand (operands[0], E_DImode))
22345 : return -1;
22346 : x7 = XEXP (x5, 0);
22347 : if (!rtx_equal_p (x7, operands[1]))
22348 : return -1;
22349 : x8 = XEXP (x5, 1);
22350 : if (!rtx_equal_p (x8, operands[2])
22351 : || !
22352 : #line 8819 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22353 : (TARGET_64BIT && ix86_match_ccmode (insn, CCmode)
22354 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22355 : return -1;
22356 : return 456; /* *subsi_3_zext */
22357 :
22358 : default:
22359 : return -1;
22360 : }
22361 :
22362 : default:
22363 : return -1;
22364 : }
22365 : }
22366 :
22367 : int
22368 : recog_397 (rtx x1 ATTRIBUTE_UNUSED,
22369 : rtx_insn *insn ATTRIBUTE_UNUSED,
22370 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22371 : {
22372 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22373 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22374 : int res ATTRIBUTE_UNUSED;
22375 : switch (pattern368 (x1,
22376 : IOR))
22377 : {
22378 : case 0:
22379 : if (general_operand (operands[2], E_QImode))
22380 : {
22381 : switch (pattern951 (x1,
22382 : IOR))
22383 : {
22384 : case 0:
22385 : if (
22386 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22387 : (ix86_match_ccmode (insn, CCNOmode)))
22388 : return 811; /* *iorqi_exthi_1_cc */
22389 : break;
22390 :
22391 : case 1:
22392 : if (
22393 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22394 : (ix86_match_ccmode (insn, CCNOmode)))
22395 : return 814; /* *iorqi_extsi_1_cc */
22396 : break;
22397 :
22398 : case 2:
22399 : if ((
22400 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22401 : (ix86_match_ccmode (insn, CCNOmode)) &&
22402 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22403 : (TARGET_64BIT)))
22404 : return 817; /* *iorqi_extdi_1_cc */
22405 : break;
22406 :
22407 : default:
22408 : break;
22409 : }
22410 : }
22411 : x2 = XVECEXP (x1, 0, 0);
22412 : x3 = XEXP (x2, 0);
22413 : if (GET_CODE (x3) != REG
22414 : || REGNO (x3) != 17)
22415 : return -1;
22416 : x4 = XEXP (x2, 1);
22417 : x5 = XEXP (x4, 0);
22418 : x6 = XEXP (x5, 0);
22419 : operands[1] = x6;
22420 : x7 = XVECEXP (x1, 0, 1);
22421 : switch (GET_CODE (x7))
22422 : {
22423 : case SET:
22424 : x8 = XEXP (x7, 0);
22425 : operands[0] = x8;
22426 : x9 = XEXP (x7, 1);
22427 : switch (GET_CODE (x9))
22428 : {
22429 : case IOR:
22430 : switch (pattern1440 (x1))
22431 : {
22432 : case 0:
22433 : if (!
22434 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22435 : (ix86_match_ccmode (insn, CCNOmode)
22436 : && ix86_binary_operator_ok (IOR, QImode, operands, TARGET_APX_NDD)))
22437 : return -1;
22438 : return 900; /* *iorqi_2 */
22439 :
22440 : case 1:
22441 : if (!
22442 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22443 : (ix86_match_ccmode (insn, CCNOmode)
22444 : && ix86_binary_operator_ok (IOR, HImode, operands, TARGET_APX_NDD)))
22445 : return -1;
22446 : return 902; /* *iorhi_2 */
22447 :
22448 : case 2:
22449 : if (!
22450 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22451 : (ix86_match_ccmode (insn, CCNOmode)
22452 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22453 : return -1;
22454 : return 904; /* *iorsi_2 */
22455 :
22456 : case 3:
22457 : if (!(
22458 : #line 14201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22459 : (ix86_match_ccmode (insn, CCNOmode)
22460 : && ix86_binary_operator_ok (IOR, DImode, operands, TARGET_APX_NDD)) &&
22461 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22462 : (TARGET_64BIT)))
22463 : return -1;
22464 : return 906; /* *iordi_2 */
22465 :
22466 : case 4:
22467 : if (!
22468 : #line 14239 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22469 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22470 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22471 : return -1;
22472 : return 910; /* *iorsi_2_zext_imm */
22473 :
22474 : default:
22475 : return -1;
22476 : }
22477 :
22478 : case ZERO_EXTEND:
22479 : if (pattern1436 (x1,
22480 : IOR) != 0
22481 : || !
22482 : #line 14221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22483 : (TARGET_64BIT && ix86_match_ccmode (insn, CCNOmode)
22484 : && ix86_binary_operator_ok (IOR, SImode, operands, TARGET_APX_NDD)))
22485 : return -1;
22486 : return 908; /* *iorsi_2_zext */
22487 :
22488 : default:
22489 : return -1;
22490 : }
22491 :
22492 : case CLOBBER:
22493 : x8 = XEXP (x7, 0);
22494 : operands[0] = x8;
22495 : if (GET_MODE (x3) == E_CCZmode
22496 : && GET_MODE (x4) == E_CCZmode)
22497 : {
22498 : switch (pattern1329 (x5))
22499 : {
22500 : case 0:
22501 : if ((
22502 : #line 14257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22503 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22504 : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22505 : (TARGET_AVX512DQ)))
22506 : return 912; /* *iorqi_ccz_1 */
22507 : break;
22508 :
22509 : case 1:
22510 : if (
22511 : #line 14257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22512 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22513 : return 913; /* *iorhi_ccz_1 */
22514 : break;
22515 :
22516 : case 2:
22517 : if ((
22518 : #line 14257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22519 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22520 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22521 : (TARGET_AVX512BW)))
22522 : return 914; /* *iorsi_ccz_1 */
22523 : break;
22524 :
22525 : case 3:
22526 : if ((
22527 : #line 14257 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22528 : (TARGET_AVX512F && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22529 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22530 : (TARGET_AVX512BW && TARGET_64BIT)))
22531 : return 915; /* *iordi_ccz_1 */
22532 : break;
22533 :
22534 : default:
22535 : break;
22536 : }
22537 : }
22538 : switch (GET_MODE (x5))
22539 : {
22540 : case E_QImode:
22541 : if (!nonimmediate_operand (operands[1], E_QImode)
22542 : || !general_operand (operands[2], E_QImode)
22543 : || !scratch_operand (operands[0], E_QImode)
22544 : || !
22545 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22546 : (ix86_match_ccmode (insn, CCNOmode)
22547 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22548 : return -1;
22549 : return 916; /* *iorqi_3 */
22550 :
22551 : case E_HImode:
22552 : if (!nonimmediate_operand (operands[1], E_HImode)
22553 : || !general_operand (operands[2], E_HImode)
22554 : || !scratch_operand (operands[0], E_HImode)
22555 : || !
22556 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22557 : (ix86_match_ccmode (insn, CCNOmode)
22558 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22559 : return -1;
22560 : return 918; /* *iorhi_3 */
22561 :
22562 : case E_SImode:
22563 : if (!nonimmediate_operand (operands[1], E_SImode)
22564 : || !x86_64_general_operand (operands[2], E_SImode)
22565 : || !scratch_operand (operands[0], E_SImode)
22566 : || !
22567 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22568 : (ix86_match_ccmode (insn, CCNOmode)
22569 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
22570 : return -1;
22571 : return 920; /* *iorsi_3 */
22572 :
22573 : case E_DImode:
22574 : if (!nonimmediate_operand (operands[1], E_DImode)
22575 : || !x86_64_general_operand (operands[2], E_DImode)
22576 : || !scratch_operand (operands[0], E_DImode)
22577 : || !(
22578 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22579 : (ix86_match_ccmode (insn, CCNOmode)
22580 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22581 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22582 : (TARGET_64BIT)))
22583 : return -1;
22584 : return 922; /* *iordi_3 */
22585 :
22586 : default:
22587 : return -1;
22588 : }
22589 :
22590 : default:
22591 : return -1;
22592 : }
22593 :
22594 : case 1:
22595 : return 11137; /* atomic_or_fetch_cmp_0qi_1 */
22596 :
22597 : case 2:
22598 : return 11140; /* atomic_or_fetch_cmp_0hi_1 */
22599 :
22600 : case 3:
22601 : return 11143; /* atomic_or_fetch_cmp_0si_1 */
22602 :
22603 : case 4:
22604 : if (!
22605 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22606 : (TARGET_64BIT))
22607 : return -1;
22608 : return 11146; /* atomic_or_fetch_cmp_0di_1 */
22609 :
22610 : default:
22611 : return -1;
22612 : }
22613 : }
22614 :
22615 : int
22616 : recog_398 (rtx x1 ATTRIBUTE_UNUSED,
22617 : rtx_insn *insn ATTRIBUTE_UNUSED,
22618 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22619 : {
22620 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22621 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22622 : rtx x10, x11, x12, x13, x14, x15;
22623 : int res ATTRIBUTE_UNUSED;
22624 : x2 = XVECEXP (x1, 0, 0);
22625 : x3 = XEXP (x2, 1);
22626 : x4 = XEXP (x3, 1);
22627 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22628 : return -1;
22629 : x5 = XEXP (x3, 0);
22630 : x6 = XEXP (x5, 0);
22631 : switch (GET_CODE (x6))
22632 : {
22633 : case REG:
22634 : case SUBREG:
22635 : case MEM:
22636 : operands[1] = x6;
22637 : res = recog_392 (x1, insn, pnum_clobbers);
22638 : if (res >= 0)
22639 : return res;
22640 : if (GET_CODE (x6) != SUBREG)
22641 : return -1;
22642 : switch (pattern828 (x1))
22643 : {
22644 : case 0:
22645 : if (!
22646 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22647 : (ix86_match_ccmode (insn, CCNOmode)))
22648 : return -1;
22649 : return 810; /* *andqi_exthi_1_cc */
22650 :
22651 : case 1:
22652 : if (!
22653 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22654 : (ix86_match_ccmode (insn, CCNOmode)))
22655 : return -1;
22656 : return 813; /* *andqi_extsi_1_cc */
22657 :
22658 : case 2:
22659 : if (!(
22660 : #line 13463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22661 : (ix86_match_ccmode (insn, CCNOmode)) &&
22662 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22663 : (TARGET_64BIT)))
22664 : return -1;
22665 : return 816; /* *andqi_extdi_1_cc */
22666 :
22667 : default:
22668 : return -1;
22669 : }
22670 :
22671 : case NOT:
22672 : x7 = XEXP (x2, 0);
22673 : if (GET_CODE (x7) != REG
22674 : || REGNO (x7) != 17)
22675 : return -1;
22676 : x8 = XVECEXP (x1, 0, 1);
22677 : if (GET_CODE (x8) != CLOBBER)
22678 : return -1;
22679 : x9 = XEXP (x6, 0);
22680 : operands[1] = x9;
22681 : x10 = XEXP (x5, 1);
22682 : operands[2] = x10;
22683 : x11 = XEXP (x8, 0);
22684 : operands[0] = x11;
22685 : switch (GET_MODE (x5))
22686 : {
22687 : case E_SImode:
22688 : if (pattern1437 (x6,
22689 : E_SImode) != 0
22690 : || !
22691 : #line 13706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22692 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22693 : return -1;
22694 : return 845; /* *andn_si_ccno */
22695 :
22696 : case E_DImode:
22697 : if (pattern1437 (x6,
22698 : E_DImode) != 0
22699 : || !(
22700 : #line 13706 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22701 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22702 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22703 : (TARGET_64BIT)))
22704 : return -1;
22705 : return 846; /* *andn_di_ccno */
22706 :
22707 : default:
22708 : return -1;
22709 : }
22710 :
22711 : case NEG:
22712 : x7 = XEXP (x2, 0);
22713 : if (GET_CODE (x7) != REG
22714 : || REGNO (x7) != 17)
22715 : return -1;
22716 : x9 = XEXP (x6, 0);
22717 : operands[1] = x9;
22718 : x10 = XEXP (x5, 1);
22719 : if (!rtx_equal_p (x10, operands[1]))
22720 : return -1;
22721 : x8 = XVECEXP (x1, 0, 1);
22722 : switch (GET_CODE (x8))
22723 : {
22724 : case SET:
22725 : x12 = XEXP (x8, 1);
22726 : if (GET_CODE (x12) != AND)
22727 : return -1;
22728 : x13 = XEXP (x12, 0);
22729 : if (GET_CODE (x13) != NEG)
22730 : return -1;
22731 : x11 = XEXP (x8, 0);
22732 : operands[0] = x11;
22733 : switch (pattern1503 (x1))
22734 : {
22735 : case 0:
22736 : if (!
22737 : #line 22164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22738 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22739 : return -1;
22740 : return 1606; /* *bmi_blsi_si_cmp */
22741 :
22742 : case 1:
22743 : if (!(
22744 : #line 22164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22745 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22746 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22747 : (TARGET_64BIT)))
22748 : return -1;
22749 : return 1607; /* *bmi_blsi_di_cmp */
22750 :
22751 : default:
22752 : return -1;
22753 : }
22754 :
22755 : case CLOBBER:
22756 : switch (pattern1248 (x1))
22757 : {
22758 : case 0:
22759 : if (!
22760 : #line 22223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22761 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
22762 : return -1;
22763 : return 1610; /* *bmi_blsi_si_ccno */
22764 :
22765 : case 1:
22766 : if (!(
22767 : #line 22223 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22768 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
22769 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22770 : (TARGET_64BIT)))
22771 : return -1;
22772 : return 1611; /* *bmi_blsi_di_ccno */
22773 :
22774 : default:
22775 : return -1;
22776 : }
22777 :
22778 : default:
22779 : return -1;
22780 : }
22781 :
22782 : case PLUS:
22783 : x14 = XEXP (x6, 1);
22784 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
22785 : || pattern827 (x2,
22786 : E_CCZmode) != 0)
22787 : return -1;
22788 : x9 = XEXP (x6, 0);
22789 : operands[1] = x9;
22790 : x10 = XEXP (x5, 1);
22791 : if (!rtx_equal_p (x10, operands[1]))
22792 : return -1;
22793 : x8 = XVECEXP (x1, 0, 1);
22794 : switch (GET_CODE (x8))
22795 : {
22796 : case SET:
22797 : x12 = XEXP (x8, 1);
22798 : if (GET_CODE (x12) != AND)
22799 : return -1;
22800 : x13 = XEXP (x12, 0);
22801 : if (GET_CODE (x13) != PLUS)
22802 : return -1;
22803 : x15 = XEXP (x13, 1);
22804 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
22805 : return -1;
22806 : x11 = XEXP (x8, 0);
22807 : operands[0] = x11;
22808 : switch (pattern1503 (x1))
22809 : {
22810 : case 0:
22811 : if (!
22812 : #line 22316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22813 : (TARGET_BMI))
22814 : return -1;
22815 : return 1618; /* *bmi_blsr_si_cmp */
22816 :
22817 : case 1:
22818 : if (!(
22819 : #line 22316 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22820 : (TARGET_BMI) &&
22821 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22822 : (TARGET_64BIT)))
22823 : return -1;
22824 : return 1619; /* *bmi_blsr_di_cmp */
22825 :
22826 : default:
22827 : return -1;
22828 : }
22829 :
22830 : case CLOBBER:
22831 : switch (pattern1248 (x1))
22832 : {
22833 : case 0:
22834 : if (!
22835 : #line 22373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22836 : (TARGET_BMI))
22837 : return -1;
22838 : return 1622; /* *bmi_blsr_si_ccz */
22839 :
22840 : case 1:
22841 : if (!(
22842 : #line 22373 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22843 : (TARGET_BMI) &&
22844 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22845 : (TARGET_64BIT)))
22846 : return -1;
22847 : return 1623; /* *bmi_blsr_di_ccz */
22848 :
22849 : default:
22850 : return -1;
22851 : }
22852 :
22853 : default:
22854 : return -1;
22855 : }
22856 :
22857 : case UNSPEC_VOLATILE:
22858 : switch (pattern367 (x1,
22859 : AND))
22860 : {
22861 : case 0:
22862 : return 11136; /* atomic_and_fetch_cmp_0qi_1 */
22863 :
22864 : case 1:
22865 : return 11139; /* atomic_and_fetch_cmp_0hi_1 */
22866 :
22867 : case 2:
22868 : return 11142; /* atomic_and_fetch_cmp_0si_1 */
22869 :
22870 : case 3:
22871 : if (!
22872 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22873 : (TARGET_64BIT))
22874 : return -1;
22875 : return 11145; /* atomic_and_fetch_cmp_0di_1 */
22876 :
22877 : default:
22878 : return -1;
22879 : }
22880 :
22881 : default:
22882 : return -1;
22883 : }
22884 : }
22885 :
22886 : int
22887 : recog_406 (rtx x1 ATTRIBUTE_UNUSED,
22888 : rtx_insn *insn ATTRIBUTE_UNUSED,
22889 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22890 : {
22891 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22892 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22893 : rtx x10;
22894 : int res ATTRIBUTE_UNUSED;
22895 : x2 = XVECEXP (x1, 0, 0);
22896 : x3 = XEXP (x2, 0);
22897 : operands[0] = x3;
22898 : x4 = XEXP (x2, 1);
22899 : x5 = XEXP (x4, 0);
22900 : switch (GET_CODE (x5))
22901 : {
22902 : case REG:
22903 : case SUBREG:
22904 : case MEM:
22905 : x6 = XVECEXP (x1, 0, 1);
22906 : switch (GET_CODE (x6))
22907 : {
22908 : case CLOBBER:
22909 : x7 = XEXP (x6, 0);
22910 : if (GET_CODE (x7) != REG
22911 : || REGNO (x7) != 17
22912 : || GET_MODE (x7) != E_CCmode)
22913 : return -1;
22914 : operands[1] = x5;
22915 : x8 = XEXP (x4, 1);
22916 : operands[2] = x8;
22917 : switch (GET_MODE (operands[0]))
22918 : {
22919 : case E_HImode:
22920 : if (!register_operand (operands[0], E_HImode)
22921 : || GET_MODE (x4) != E_HImode
22922 : || !nonimmediate_operand (operands[1], E_HImode)
22923 : || !general_operand (operands[2], E_HImode)
22924 : || !(
22925 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22926 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22927 : && true) &&
22928 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22929 : (TARGET_HIMODE_MATH)))
22930 : return -1;
22931 : return 619; /* *mulhi3_1 */
22932 :
22933 : case E_SImode:
22934 : if (pattern1335 (x4,
22935 : E_SImode) != 0
22936 : || !
22937 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22938 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22939 : && true))
22940 : return -1;
22941 : return 621; /* *mulsi3_1 */
22942 :
22943 : case E_DImode:
22944 : if (pattern1335 (x4,
22945 : E_DImode) != 0
22946 : || !(
22947 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22948 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22949 : && true) &&
22950 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22951 : (TARGET_64BIT)))
22952 : return -1;
22953 : return 623; /* *muldi3_1 */
22954 :
22955 : case E_QImode:
22956 : if (pattern213 (x4,
22957 : E_QImode) != 0
22958 : || !
22959 : #line 11034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22960 : (TARGET_QIMODE_MATH
22961 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
22962 : && true))
22963 : return -1;
22964 : return 631; /* *mulqi3_1 */
22965 :
22966 : default:
22967 : return -1;
22968 : }
22969 :
22970 : case SET:
22971 : x9 = XEXP (x6, 1);
22972 : if (GET_CODE (x9) != UMUL_HIGHPART)
22973 : return -1;
22974 : switch (pattern594 (x1))
22975 : {
22976 : case 0:
22977 : if (!(
22978 : #line 11298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22979 : (TARGET_BMI2) &&
22980 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22981 : (!TARGET_64BIT)))
22982 : return -1;
22983 : return 643; /* *bmi2_umulsidi3_1 */
22984 :
22985 : case 1:
22986 : if (!(
22987 : #line 11298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22988 : (TARGET_BMI2) &&
22989 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22990 : (TARGET_64BIT)))
22991 : return -1;
22992 : return 644; /* *bmi2_umulditi3_1 */
22993 :
22994 : default:
22995 : return -1;
22996 : }
22997 :
22998 : case UNSPEC:
22999 : if (XVECLEN (x6, 0) != 1
23000 : || XINT (x6, 1) != 111)
23001 : return -1;
23002 : x10 = XVECEXP (x6, 0, 0);
23003 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
23004 : || !register_operand (operands[0], E_V2SFmode)
23005 : || GET_MODE (x4) != E_V2SFmode)
23006 : return -1;
23007 : operands[1] = x5;
23008 : if (!nonimmediate_operand (operands[1], E_V2SFmode))
23009 : return -1;
23010 : x8 = XEXP (x4, 1);
23011 : operands[2] = x8;
23012 : if (!nonimmediate_operand (operands[2], E_V2SFmode)
23013 : || !
23014 : #line 818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23015 : (TARGET_3DNOW && ix86_binary_operator_ok (MULT, V2SFmode, operands)))
23016 : return -1;
23017 : return 2110; /* *mmx_mulv2sf3 */
23018 :
23019 : default:
23020 : return -1;
23021 : }
23022 :
23023 : case ZERO_EXTEND:
23024 : switch (pattern565 (x1,
23025 : ZERO_EXTEND))
23026 : {
23027 : case 0:
23028 : if (!(
23029 : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23030 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23031 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23032 : (!TARGET_64BIT)))
23033 : return -1;
23034 : return 645; /* *umulsidi3_1 */
23035 :
23036 : case 1:
23037 : if (!(
23038 : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23039 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
23040 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23041 : (TARGET_64BIT)))
23042 : return -1;
23043 : return 646; /* *umulditi3_1 */
23044 :
23045 : case 2:
23046 : if (!
23047 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23048 : (TARGET_QIMODE_MATH
23049 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
23050 : && true))
23051 : return -1;
23052 : return 654; /* *umulqihi3_1 */
23053 :
23054 : default:
23055 : return -1;
23056 : }
23057 :
23058 : case SIGN_EXTEND:
23059 : switch (pattern565 (x1,
23060 : SIGN_EXTEND))
23061 : {
23062 : case 0:
23063 : if (!(
23064 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23065 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
23066 : && true) &&
23067 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23068 : (!TARGET_64BIT)))
23069 : return -1;
23070 : return 648; /* *mulsidi3_1 */
23071 :
23072 : case 1:
23073 : if (!(
23074 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23075 : (TARGET_64BIT) && (
23076 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23077 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
23078 : && true) &&
23079 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23080 : (TARGET_64BIT))))
23081 : return -1;
23082 : return 650; /* *mulditi3_1 */
23083 :
23084 : case 2:
23085 : if (!
23086 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23087 : (TARGET_QIMODE_MATH
23088 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
23089 : && true))
23090 : return -1;
23091 : return 652; /* *mulqihi3_1 */
23092 :
23093 : default:
23094 : return -1;
23095 : }
23096 :
23097 : default:
23098 : return -1;
23099 : }
23100 : }
23101 :
23102 : int
23103 : recog_413 (rtx x1 ATTRIBUTE_UNUSED,
23104 : rtx_insn *insn ATTRIBUTE_UNUSED,
23105 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23106 : {
23107 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23108 : rtx x2, x3, x4, x5, x6, x7;
23109 : int res ATTRIBUTE_UNUSED;
23110 : x2 = XVECEXP (x1, 0, 0);
23111 : x3 = XEXP (x2, 1);
23112 : x4 = XEXP (x3, 0);
23113 : x5 = XEXP (x4, 0);
23114 : switch (GET_CODE (x5))
23115 : {
23116 : case ASHIFTRT:
23117 : case LSHIFTRT:
23118 : case SIGN_EXTRACT:
23119 : case ZERO_EXTRACT:
23120 : operands[3] = x5;
23121 : x6 = XEXP (x5, 0);
23122 : operands[2] = x6;
23123 : switch (pattern1535 (x2))
23124 : {
23125 : case 0:
23126 : if (
23127 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23128 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23129 : return 761; /* *xorqi_exthi_1_slp */
23130 : break;
23131 :
23132 : case 1:
23133 : if (
23134 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23135 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23136 : return 764; /* *xorqi_extsi_1_slp */
23137 : break;
23138 :
23139 : case 2:
23140 : if ((
23141 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23142 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23143 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23144 : (TARGET_64BIT)))
23145 : return 767; /* *xorqi_extdi_1_slp */
23146 : break;
23147 :
23148 : case 3:
23149 : return 785; /* *xorqi_exthi_0 */
23150 :
23151 : case 4:
23152 : return 788; /* *xorqi_extsi_0 */
23153 :
23154 : case 5:
23155 : if (
23156 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23157 : (TARGET_64BIT))
23158 : return 791; /* *xorqi_extdi_0 */
23159 : break;
23160 :
23161 : default:
23162 : break;
23163 : }
23164 : x7 = XEXP (x3, 1);
23165 : if (GET_CODE (x7) != SUBREG)
23166 : return -1;
23167 : switch (pattern1536 (x2))
23168 : {
23169 : case 0:
23170 : if (!
23171 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23172 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23173 : return -1;
23174 : return 770; /* *xorqi_exthi_2_slp */
23175 :
23176 : case 1:
23177 : if (!
23178 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23179 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23180 : return -1;
23181 : return 773; /* *xorqi_extsi_2_slp */
23182 :
23183 : case 2:
23184 : if (!(
23185 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23186 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
23187 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23188 : (TARGET_64BIT)))
23189 : return -1;
23190 : return 776; /* *xorqi_extdi_2_slp */
23191 :
23192 : case 3:
23193 : return 794; /* *xorqi_ext2hi_0 */
23194 :
23195 : case 4:
23196 : return 797; /* *xorqi_ext2si_0 */
23197 :
23198 : case 5:
23199 : if (!
23200 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23201 : (TARGET_64BIT))
23202 : return -1;
23203 : return 800; /* *xorqi_ext2di_0 */
23204 :
23205 : default:
23206 : return -1;
23207 : }
23208 :
23209 : default:
23210 : return -1;
23211 : }
23212 : }
23213 :
23214 : int
23215 : recog_415 (rtx x1 ATTRIBUTE_UNUSED,
23216 : rtx_insn *insn ATTRIBUTE_UNUSED,
23217 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23218 : {
23219 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23220 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23221 : rtx x10;
23222 : int res ATTRIBUTE_UNUSED;
23223 : x2 = XVECEXP (x1, 0, 0);
23224 : x3 = XEXP (x2, 1);
23225 : x4 = XEXP (x3, 0);
23226 : switch (GET_CODE (x4))
23227 : {
23228 : case XOR:
23229 : x5 = XEXP (x2, 0);
23230 : operands[0] = x5;
23231 : x6 = XEXP (x4, 0);
23232 : operands[1] = x6;
23233 : x7 = XEXP (x4, 1);
23234 : operands[2] = x7;
23235 : x8 = XVECEXP (x1, 0, 1);
23236 : switch (pattern831 (x8))
23237 : {
23238 : case 0:
23239 : switch (GET_MODE (operands[0]))
23240 : {
23241 : case E_HImode:
23242 : if (!nonimmediate_operand (operands[0], E_HImode)
23243 : || pattern217 (x3,
23244 : E_HImode) != 0
23245 : || !
23246 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23247 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
23248 : return -1;
23249 : return 863; /* *notxorhi_1 */
23250 :
23251 : case E_SImode:
23252 : if (!nonimmediate_operand (operands[0], E_SImode)
23253 : || pattern218 (x3,
23254 : E_SImode) != 0
23255 : || !
23256 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23257 : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
23258 : return -1;
23259 : return 864; /* *notxorsi_1 */
23260 :
23261 : case E_DImode:
23262 : if (!nonimmediate_operand (operands[0], E_DImode)
23263 : || pattern218 (x3,
23264 : E_DImode) != 0
23265 : || !(
23266 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23267 : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
23268 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23269 : (TARGET_64BIT)))
23270 : return -1;
23271 : return 865; /* *notxordi_1 */
23272 :
23273 : case E_QImode:
23274 : if (!nonimmediate_operand (operands[0], E_QImode)
23275 : || pattern217 (x3,
23276 : E_QImode) != 0
23277 : || !
23278 : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23279 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
23280 : return -1;
23281 : return 899; /* *notxorqi_1 */
23282 :
23283 : default:
23284 : return -1;
23285 : }
23286 :
23287 : case 1:
23288 : if (pattern1339 (x3,
23289 : E_QImode) != 0
23290 : || !
23291 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23292 : (TARGET_AVX512F))
23293 : return -1;
23294 : return 2650; /* kxnorqi */
23295 :
23296 : case 2:
23297 : if (pattern1339 (x3,
23298 : E_HImode) != 0
23299 : || !
23300 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23301 : (TARGET_AVX512F))
23302 : return -1;
23303 : return 2651; /* kxnorhi */
23304 :
23305 : case 3:
23306 : if (pattern1339 (x3,
23307 : E_SImode) != 0
23308 : || !(
23309 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23310 : (TARGET_AVX512F) &&
23311 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23312 : (TARGET_AVX512BW)))
23313 : return -1;
23314 : return 2652; /* kxnorsi */
23315 :
23316 : case 4:
23317 : if (pattern1339 (x3,
23318 : E_DImode) != 0
23319 : || !(
23320 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23321 : (TARGET_AVX512F) &&
23322 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23323 : (TARGET_AVX512BW)))
23324 : return -1;
23325 : return 2653; /* kxnordi */
23326 :
23327 : default:
23328 : return -1;
23329 : }
23330 :
23331 : case ZERO_EXTRACT:
23332 : if (pattern376 (x1) != 0
23333 : || GET_MODE (x3) != E_DImode)
23334 : return -1;
23335 : x6 = XEXP (x4, 0);
23336 : if (!rtx_equal_p (x6, operands[0]))
23337 : return -1;
23338 : x9 = XEXP (x4, 2);
23339 : if (!rtx_equal_p (x9, operands[1])
23340 : || !
23341 : #line 19400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23342 : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
23343 : return -1;
23344 : return 1447; /* *btcq_imm */
23345 :
23346 : case REG:
23347 : case SUBREG:
23348 : operands[1] = x4;
23349 : x8 = XVECEXP (x1, 0, 1);
23350 : if (GET_CODE (x8) != UNSPEC
23351 : || XVECLEN (x8, 0) != 1
23352 : || XINT (x8, 1) != 175)
23353 : return -1;
23354 : x10 = XVECEXP (x8, 0, 0);
23355 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
23356 : return -1;
23357 : x5 = XEXP (x2, 0);
23358 : operands[0] = x5;
23359 : switch (pattern820 (x3))
23360 : {
23361 : case 0:
23362 : if (!
23363 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23364 : (TARGET_AVX512F))
23365 : return -1;
23366 : return 2654; /* knotqi */
23367 :
23368 : case 1:
23369 : if (!
23370 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23371 : (TARGET_AVX512F))
23372 : return -1;
23373 : return 2655; /* knothi */
23374 :
23375 : case 2:
23376 : if (!(
23377 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23378 : (TARGET_AVX512F) &&
23379 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23380 : (TARGET_AVX512BW)))
23381 : return -1;
23382 : return 2656; /* knotsi */
23383 :
23384 : case 3:
23385 : if (!(
23386 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23387 : (TARGET_AVX512F) &&
23388 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23389 : (TARGET_AVX512BW)))
23390 : return -1;
23391 : return 2657; /* knotdi */
23392 :
23393 : default:
23394 : return -1;
23395 : }
23396 :
23397 : default:
23398 : return -1;
23399 : }
23400 : }
23401 :
23402 : int
23403 : recog_418 (rtx x1 ATTRIBUTE_UNUSED,
23404 : rtx_insn *insn ATTRIBUTE_UNUSED,
23405 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23406 : {
23407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23408 : rtx x2, x3, x4, x5, x6, x7, x8;
23409 : int res ATTRIBUTE_UNUSED;
23410 : x2 = XVECEXP (x1, 0, 0);
23411 : x3 = XEXP (x2, 1);
23412 : x4 = XEXP (x3, 0);
23413 : switch (GET_CODE (x4))
23414 : {
23415 : case CONST_INT:
23416 : case REG:
23417 : case SUBREG:
23418 : case MEM:
23419 : switch (pattern343 (x1))
23420 : {
23421 : case 0:
23422 : x5 = XEXP (x2, 0);
23423 : operands[0] = x5;
23424 : switch (pattern821 (x1))
23425 : {
23426 : case 0:
23427 : if ((
23428 : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23429 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
23430 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
23431 : == (2 * 4 * BITS_PER_UNIT - 1)))
23432 : && ix86_pre_reload_split ()) &&
23433 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23434 : (!TARGET_64BIT)))
23435 : return 1084; /* *ashldi3_doubleword_mask */
23436 : break;
23437 :
23438 : case 1:
23439 : if ((
23440 : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23441 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
23442 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
23443 : == (2 * 8 * BITS_PER_UNIT - 1)))
23444 : && ix86_pre_reload_split ()) &&
23445 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23446 : (TARGET_64BIT)))
23447 : return 1085; /* *ashlti3_doubleword_mask */
23448 : break;
23449 :
23450 : case 2:
23451 : if ((
23452 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23453 : (TARGET_AVX512F) &&
23454 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23455 : (TARGET_AVX512DQ)))
23456 : return 2663; /* kashiftqi */
23457 : break;
23458 :
23459 : case 3:
23460 : if (
23461 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23462 : (TARGET_AVX512F))
23463 : return 2665; /* kashifthi */
23464 : break;
23465 :
23466 : case 4:
23467 : if ((
23468 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23469 : (TARGET_AVX512F) &&
23470 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23471 : (TARGET_AVX512BW)))
23472 : return 2667; /* kashiftsi */
23473 : break;
23474 :
23475 : case 5:
23476 : if ((
23477 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23478 : (TARGET_AVX512F) &&
23479 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
23480 : (TARGET_AVX512BW)))
23481 : return 2669; /* kashiftdi */
23482 : break;
23483 :
23484 : default:
23485 : break;
23486 : }
23487 : x6 = XEXP (x3, 1);
23488 : operands[2] = x6;
23489 : switch (pattern822 (x1))
23490 : {
23491 : case 0:
23492 : operands[0] = x5;
23493 : switch (GET_MODE (operands[0]))
23494 : {
23495 : case E_DImode:
23496 : if (GET_MODE (x3) == E_DImode)
23497 : {
23498 : if (register_operand (operands[0], E_DImode)
23499 : && reg_or_pm1_operand (operands[1], E_DImode)
23500 : &&
23501 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23502 : (!TARGET_64BIT))
23503 : return 1088; /* ashldi3_doubleword */
23504 : if (nonimmediate_operand (operands[0], E_DImode)
23505 : && nonimmediate_operand (operands[1], E_DImode)
23506 : && (
23507 : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23508 : (ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)
23509 : && true) &&
23510 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23511 : (TARGET_64BIT)))
23512 : return 1123; /* *ashldi3_1 */
23513 : }
23514 : break;
23515 :
23516 : case E_TImode:
23517 : if (register_operand (operands[0], E_TImode)
23518 : && GET_MODE (x3) == E_TImode
23519 : && reg_or_pm1_operand (operands[1], E_TImode)
23520 : &&
23521 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23522 : (TARGET_64BIT))
23523 : return 1089; /* ashlti3_doubleword */
23524 : break;
23525 :
23526 : case E_SImode:
23527 : if (nonimmediate_operand (operands[0], E_SImode)
23528 : && GET_MODE (x3) == E_SImode
23529 : && nonimmediate_operand (operands[1], E_SImode)
23530 : &&
23531 : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23532 : (ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)
23533 : && true))
23534 : return 1121; /* *ashlsi3_1 */
23535 : break;
23536 :
23537 : case E_HImode:
23538 : if (nonimmediate_operand (operands[0], E_HImode)
23539 : && GET_MODE (x3) == E_HImode
23540 : && nonimmediate_operand (operands[1], E_HImode)
23541 : &&
23542 : #line 16433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23543 : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
23544 : && true))
23545 : return 1137; /* *ashlhi3_1 */
23546 : break;
23547 :
23548 : case E_QImode:
23549 : if (nonimmediate_operand (operands[0], E_QImode)
23550 : && GET_MODE (x3) == E_QImode
23551 : && nonimmediate_operand (operands[1], E_QImode)
23552 : &&
23553 : #line 16492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23554 : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
23555 : && true))
23556 : return 1139; /* *ashlqi3_1 */
23557 : break;
23558 :
23559 : case E_V2QImode:
23560 : if (register_operand (operands[0], E_V2QImode)
23561 : && GET_MODE (x3) == E_V2QImode
23562 : && register_operand (operands[1], E_V2QImode)
23563 : &&
23564 : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23565 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
23566 : return 2270; /* ashlv2qi3 */
23567 : break;
23568 :
23569 : default:
23570 : break;
23571 : }
23572 : break;
23573 :
23574 : case 1:
23575 : x7 = XEXP (x5, 0);
23576 : operands[0] = x7;
23577 : switch (pattern377 (x3))
23578 : {
23579 : case 0:
23580 : if (
23581 : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23582 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23583 : return 1140; /* *ashlqi3_1_slp */
23584 : break;
23585 :
23586 : case 1:
23587 : if (
23588 : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23589 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23590 : return 1141; /* *ashlhi3_1_slp */
23591 : break;
23592 :
23593 : default:
23594 : break;
23595 : }
23596 : break;
23597 :
23598 : default:
23599 : break;
23600 : }
23601 : if (GET_CODE (x6) != SUBREG
23602 : || maybe_ne (SUBREG_BYTE (x6), 0)
23603 : || GET_MODE (x6) != E_QImode)
23604 : return -1;
23605 : x8 = XVECEXP (x1, 0, 1);
23606 : if (pattern375 (x8) != 0)
23607 : return -1;
23608 : switch (pattern1447 (x2))
23609 : {
23610 : case 0:
23611 : if (!
23612 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23613 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23614 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23615 : == 4 * BITS_PER_UNIT - 1
23616 : && ix86_pre_reload_split ()))
23617 : return -1;
23618 : return 1276; /* *ashlsi3_mask */
23619 :
23620 : case 1:
23621 : if (!(
23622 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23623 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23624 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23625 : == 8 * BITS_PER_UNIT - 1
23626 : && ix86_pre_reload_split ()) &&
23627 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23628 : (TARGET_64BIT)))
23629 : return -1;
23630 : return 1279; /* *ashldi3_mask */
23631 :
23632 : case 2:
23633 : if (!
23634 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23635 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23636 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23637 : && ix86_pre_reload_split ()))
23638 : return -1;
23639 : return 1288; /* *ashlsi3_add */
23640 :
23641 : case 3:
23642 : if (!(
23643 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23644 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23645 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23646 : && ix86_pre_reload_split ()) &&
23647 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23648 : (TARGET_64BIT)))
23649 : return -1;
23650 : return 1291; /* *ashldi3_add */
23651 :
23652 : case 4:
23653 : if (!
23654 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23655 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23656 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23657 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23658 : == 4 * BITS_PER_UNIT - 1)
23659 : && ix86_pre_reload_split ()))
23660 : return -1;
23661 : return 1300; /* *ashlsi3_sub */
23662 :
23663 : case 5:
23664 : if (!(
23665 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23666 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23667 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23668 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23669 : == 8 * BITS_PER_UNIT - 1)
23670 : && ix86_pre_reload_split ()) &&
23671 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23672 : (TARGET_64BIT)))
23673 : return -1;
23674 : return 1303; /* *ashldi3_sub */
23675 :
23676 : default:
23677 : return -1;
23678 : }
23679 :
23680 : case 1:
23681 : if (register_operand (operands[0], E_DImode)
23682 : && register_operand (operands[1], E_DImode)
23683 : && (
23684 : #line 15602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23685 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
23686 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
23687 : == (2 * 4 * BITS_PER_UNIT - 1)))
23688 : && ix86_pre_reload_split ()) &&
23689 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23690 : (!TARGET_64BIT)))
23691 : return 1086; /* *ashldi3_doubleword_mask_1 */
23692 : if (!nonimmediate_operand (operands[0], E_DImode)
23693 : || !nonimmediate_operand (operands[1], E_DImode)
23694 : || !(
23695 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23696 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23697 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23698 : == 8 * BITS_PER_UNIT - 1
23699 : && ix86_pre_reload_split ()) &&
23700 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23701 : (TARGET_64BIT)))
23702 : return -1;
23703 : return 1285; /* *ashldi3_mask_1 */
23704 :
23705 : case 2:
23706 : if (!(
23707 : #line 15602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23708 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
23709 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
23710 : == (2 * 8 * BITS_PER_UNIT - 1)))
23711 : && ix86_pre_reload_split ()) &&
23712 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23713 : (TARGET_64BIT)))
23714 : return -1;
23715 : return 1087; /* *ashlti3_doubleword_mask_1 */
23716 :
23717 : case 3:
23718 : if (!
23719 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23720 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23721 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23722 : == 4 * BITS_PER_UNIT - 1
23723 : && ix86_pre_reload_split ()))
23724 : return -1;
23725 : return 1282; /* *ashlsi3_mask_1 */
23726 :
23727 : case 4:
23728 : if (!
23729 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23730 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23731 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23732 : && ix86_pre_reload_split ()))
23733 : return -1;
23734 : return 1294; /* *ashlsi3_add_1 */
23735 :
23736 : case 5:
23737 : if (!(
23738 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23739 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23740 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23741 : && ix86_pre_reload_split ()) &&
23742 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23743 : (TARGET_64BIT)))
23744 : return -1;
23745 : return 1297; /* *ashldi3_add_1 */
23746 :
23747 : case 6:
23748 : if (!
23749 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23750 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23751 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23752 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23753 : == 4 * BITS_PER_UNIT - 1)
23754 : && ix86_pre_reload_split ()))
23755 : return -1;
23756 : return 1306; /* *ashlsi3_sub_1 */
23757 :
23758 : case 7:
23759 : if (!(
23760 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23761 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23762 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23763 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23764 : == 8 * BITS_PER_UNIT - 1)
23765 : && ix86_pre_reload_split ()) &&
23766 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23767 : (TARGET_64BIT)))
23768 : return -1;
23769 : return 1309; /* *ashldi3_sub_1 */
23770 :
23771 : default:
23772 : return -1;
23773 : }
23774 :
23775 : case SIGN_EXTEND:
23776 : switch (pattern383 (x1))
23777 : {
23778 : case 0:
23779 : if (!(
23780 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23781 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
23782 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
23783 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23784 : (!TARGET_64BIT)))
23785 : return -1;
23786 : return 1090; /* *ashldi3_doubleword_highpart */
23787 :
23788 : case 1:
23789 : if (!(
23790 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23791 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
23792 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
23793 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23794 : (TARGET_64BIT)))
23795 : return -1;
23796 : return 1092; /* *ashlti3_doubleword_highpart */
23797 :
23798 : default:
23799 : return -1;
23800 : }
23801 :
23802 : case ZERO_EXTEND:
23803 : switch (pattern383 (x1))
23804 : {
23805 : case 0:
23806 : if (!(
23807 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23808 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
23809 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
23810 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23811 : (!TARGET_64BIT)))
23812 : return -1;
23813 : return 1091; /* *ashldi3_doubleword_highpart */
23814 :
23815 : case 1:
23816 : if (!(
23817 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23818 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
23819 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
23820 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23821 : (TARGET_64BIT)))
23822 : return -1;
23823 : return 1093; /* *ashlti3_doubleword_highpart */
23824 :
23825 : default:
23826 : return -1;
23827 : }
23828 :
23829 : default:
23830 : return -1;
23831 : }
23832 : }
23833 :
23834 : int
23835 : recog_435 (rtx x1 ATTRIBUTE_UNUSED,
23836 : rtx_insn *insn ATTRIBUTE_UNUSED,
23837 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23838 : {
23839 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23840 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23841 : rtx x10, x11, x12, x13, x14;
23842 : int res ATTRIBUTE_UNUSED;
23843 : if (pattern231 (x1) != 0)
23844 : return -1;
23845 : x2 = XVECEXP (x1, 0, 2);
23846 : if (GET_CODE (x2) != UNSPEC
23847 : || XVECLEN (x2, 0) != 1
23848 : || XINT (x2, 1) != 39)
23849 : return -1;
23850 : x3 = XVECEXP (x1, 0, 1);
23851 : x4 = XEXP (x3, 0);
23852 : operands[0] = x4;
23853 : x5 = XVECEXP (x2, 0, 0);
23854 : operands[2] = x5;
23855 : x6 = XVECEXP (x1, 0, 0);
23856 : x7 = XEXP (x6, 1);
23857 : x8 = XEXP (x7, 0);
23858 : switch (GET_CODE (x8))
23859 : {
23860 : case REG:
23861 : case SUBREG:
23862 : case MEM:
23863 : operands[1] = x8;
23864 : x9 = XEXP (x3, 1);
23865 : if (GET_CODE (x9) != CTZ)
23866 : return -1;
23867 : x10 = XEXP (x6, 0);
23868 : if (GET_MODE (x10) != E_CCCmode
23869 : || GET_MODE (x7) != E_CCCmode)
23870 : return -1;
23871 : x11 = XEXP (x9, 0);
23872 : if (!rtx_equal_p (x11, operands[1]))
23873 : return -1;
23874 : switch (GET_MODE (operands[1]))
23875 : {
23876 : case E_SImode:
23877 : if (pattern1705 (x9,
23878 : E_SImode) != 0
23879 : || !
23880 : #line 21395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23881 : (TARGET_BMI))
23882 : return -1;
23883 : return 1542; /* *tzcntsi_1_falsedep */
23884 :
23885 : case E_DImode:
23886 : if (pattern1705 (x9,
23887 : E_DImode) != 0
23888 : || !(
23889 : #line 21395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23890 : (TARGET_BMI) &&
23891 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23892 : (TARGET_64BIT)))
23893 : return -1;
23894 : return 1543; /* *tzcntdi_1_falsedep */
23895 :
23896 : default:
23897 : return -1;
23898 : }
23899 :
23900 : case AND:
23901 : x9 = XEXP (x3, 1);
23902 : if (GET_CODE (x9) != AND)
23903 : return -1;
23904 : x12 = XEXP (x8, 0);
23905 : switch (GET_CODE (x12))
23906 : {
23907 : case NEG:
23908 : x11 = XEXP (x9, 0);
23909 : if (GET_CODE (x11) != NEG)
23910 : return -1;
23911 : switch (pattern1585 (x1))
23912 : {
23913 : case 0:
23914 : if (!
23915 : #line 22207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23916 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
23917 : return -1;
23918 : return 1608; /* *bmi_blsi_si_falsedep */
23919 :
23920 : case 1:
23921 : if (!(
23922 : #line 22207 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23923 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
23924 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23925 : (TARGET_64BIT)))
23926 : return -1;
23927 : return 1609; /* *bmi_blsi_di_falsedep */
23928 :
23929 : default:
23930 : return -1;
23931 : }
23932 :
23933 : case PLUS:
23934 : x13 = XEXP (x12, 1);
23935 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23936 : return -1;
23937 : x11 = XEXP (x9, 0);
23938 : if (GET_CODE (x11) != PLUS)
23939 : return -1;
23940 : x14 = XEXP (x11, 1);
23941 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23942 : return -1;
23943 : x10 = XEXP (x6, 0);
23944 : if (GET_MODE (x10) != E_CCZmode
23945 : || GET_MODE (x7) != E_CCZmode)
23946 : return -1;
23947 : switch (pattern1585 (x1))
23948 : {
23949 : case 0:
23950 : if (!
23951 : #line 22355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23952 : (TARGET_BMI))
23953 : return -1;
23954 : return 1620; /* *bmi_blsr_si_cmp_falsedep */
23955 :
23956 : case 1:
23957 : if (!(
23958 : #line 22355 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23959 : (TARGET_BMI) &&
23960 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23961 : (TARGET_64BIT)))
23962 : return -1;
23963 : return 1621; /* *bmi_blsr_di_cmp_falsedep */
23964 :
23965 : default:
23966 : return -1;
23967 : }
23968 :
23969 : default:
23970 : return -1;
23971 : }
23972 :
23973 : default:
23974 : return -1;
23975 : }
23976 : }
23977 :
23978 : int
23979 : recog_438 (rtx x1 ATTRIBUTE_UNUSED,
23980 : rtx_insn *insn ATTRIBUTE_UNUSED,
23981 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23982 : {
23983 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23984 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23985 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23986 : rtx x18, x19;
23987 : int res ATTRIBUTE_UNUSED;
23988 : x2 = XVECEXP (x1, 0, 0);
23989 : switch (GET_CODE (x2))
23990 : {
23991 : case SET:
23992 : x3 = XEXP (x2, 1);
23993 : switch (GET_CODE (x3))
23994 : {
23995 : case UNSPEC:
23996 : return recog_431 (x1, insn, pnum_clobbers);
23997 :
23998 : case SIGN_EXTEND:
23999 : x4 = XVECEXP (x1, 0, 2);
24000 : if (GET_CODE (x4) != CLOBBER)
24001 : return -1;
24002 : x5 = XEXP (x2, 0);
24003 : operands[0] = x5;
24004 : x6 = XEXP (x3, 0);
24005 : switch (GET_CODE (x6))
24006 : {
24007 : case REG:
24008 : case SUBREG:
24009 : operands[1] = x6;
24010 : x7 = XVECEXP (x1, 0, 1);
24011 : if (pattern236 (x7,
24012 : E_CCmode,
24013 : 17) != 0)
24014 : return -1;
24015 : x8 = XEXP (x4, 0);
24016 : operands[2] = x8;
24017 : switch (GET_MODE (operands[0]))
24018 : {
24019 : case E_DImode:
24020 : if (pattern1451 (x3,
24021 : E_SImode,
24022 : E_DImode) != 0
24023 : || !
24024 : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24025 : (!TARGET_64BIT))
24026 : return -1;
24027 : return 189; /* extendsidi2_1 */
24028 :
24029 : case E_TImode:
24030 : if (pattern1451 (x3,
24031 : E_DImode,
24032 : E_TImode) != 0
24033 : || !
24034 : #line 5004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24035 : (TARGET_64BIT))
24036 : return -1;
24037 : return 190; /* extendditi2 */
24038 :
24039 : default:
24040 : return -1;
24041 : }
24042 :
24043 : case CTZ:
24044 : if (GET_MODE (x6) != E_SImode)
24045 : return -1;
24046 : x7 = XVECEXP (x1, 0, 1);
24047 : if (GET_CODE (x7) != UNSPEC
24048 : || XVECLEN (x7, 0) != 1
24049 : || XINT (x7, 1) != 39)
24050 : return -1;
24051 : x8 = XEXP (x4, 0);
24052 : if (GET_CODE (x8) != REG
24053 : || REGNO (x8) != 17
24054 : || GET_MODE (x8) != E_CCmode
24055 : || !register_operand (operands[0], E_DImode)
24056 : || GET_MODE (x3) != E_DImode)
24057 : return -1;
24058 : x9 = XEXP (x6, 0);
24059 : operands[1] = x9;
24060 : if (!nonimmediate_operand (operands[1], E_SImode))
24061 : return -1;
24062 : x10 = XVECEXP (x7, 0, 0);
24063 : operands[2] = x10;
24064 : if (!register_operand (operands[2], E_DImode)
24065 : || !
24066 : #line 21572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24067 : (TARGET_64BIT))
24068 : return -1;
24069 : return 1554; /* *ctzsidi2_sext_falsedep */
24070 :
24071 : default:
24072 : return -1;
24073 : }
24074 :
24075 : case FIX:
24076 : x7 = XVECEXP (x1, 0, 1);
24077 : if (GET_CODE (x7) != USE)
24078 : return -1;
24079 : x4 = XVECEXP (x1, 0, 2);
24080 : if (GET_CODE (x4) != USE)
24081 : return -1;
24082 : x5 = XEXP (x2, 0);
24083 : operands[0] = x5;
24084 : x6 = XEXP (x3, 0);
24085 : operands[1] = x6;
24086 : if (!register_operand (operands[1], E_VOIDmode))
24087 : return -1;
24088 : switch (pattern834 (x1, pnum_clobbers))
24089 : {
24090 : case 0:
24091 : if (!
24092 : #line 6030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24093 : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24094 : && !TARGET_FISTTP
24095 : && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
24096 : return -1;
24097 : *pnum_clobbers = 1;
24098 : return 239; /* fix_truncdi_i387 */
24099 :
24100 : case 1:
24101 : if (!
24102 : #line 6043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24103 : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24104 : && !TARGET_FISTTP
24105 : && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
24106 : return -1;
24107 : return 240; /* fix_trunchi_i387 */
24108 :
24109 : case 2:
24110 : if (!
24111 : #line 6043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24112 : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
24113 : && !TARGET_FISTTP
24114 : && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
24115 : return -1;
24116 : return 241; /* fix_truncsi_i387 */
24117 :
24118 : default:
24119 : return -1;
24120 : }
24121 :
24122 : case UNSIGNED_FLOAT:
24123 : x7 = XVECEXP (x1, 0, 1);
24124 : if (GET_CODE (x7) != CLOBBER)
24125 : return -1;
24126 : x4 = XVECEXP (x1, 0, 2);
24127 : if (GET_CODE (x4) != CLOBBER)
24128 : return -1;
24129 : switch (pattern576 (x1))
24130 : {
24131 : case 0:
24132 : if (!
24133 : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24134 : (!TARGET_64BIT
24135 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
24136 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
24137 : return -1;
24138 : return 265; /* floatunssisf2_i387_with_xmm */
24139 :
24140 : case 1:
24141 : if (!
24142 : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24143 : (!TARGET_64BIT
24144 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
24145 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
24146 : return -1;
24147 : return 266; /* floatunssidf2_i387_with_xmm */
24148 :
24149 : case 2:
24150 : if (!
24151 : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24152 : (!TARGET_64BIT
24153 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
24154 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
24155 : return -1;
24156 : return 267; /* floatunssixf2_i387_with_xmm */
24157 :
24158 : default:
24159 : return -1;
24160 : }
24161 :
24162 : case EQ:
24163 : return recog_437 (x1, insn, pnum_clobbers);
24164 :
24165 : case SMUL_HIGHPART:
24166 : switch (pattern223 (x1))
24167 : {
24168 : case 0:
24169 : if (!
24170 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24171 : (!TARGET_64BIT))
24172 : return -1;
24173 : return 655; /* smulsi3_highpart */
24174 :
24175 : case 1:
24176 : if (!
24177 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24178 : (TARGET_64BIT))
24179 : return -1;
24180 : return 657; /* smuldi3_highpart */
24181 :
24182 : default:
24183 : return -1;
24184 : }
24185 :
24186 : case UMUL_HIGHPART:
24187 : switch (pattern223 (x1))
24188 : {
24189 : case 0:
24190 : if (!
24191 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24192 : (!TARGET_64BIT))
24193 : return -1;
24194 : return 656; /* umulsi3_highpart */
24195 :
24196 : case 1:
24197 : if (!
24198 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24199 : (TARGET_64BIT))
24200 : return -1;
24201 : return 658; /* umuldi3_highpart */
24202 :
24203 : default:
24204 : return -1;
24205 : }
24206 :
24207 : case ZERO_EXTEND:
24208 : return recog_432 (x1, insn, pnum_clobbers);
24209 :
24210 : case TRUNCATE:
24211 : x6 = XEXP (x3, 0);
24212 : if (GET_CODE (x6) != LSHIFTRT)
24213 : return -1;
24214 : x9 = XEXP (x6, 0);
24215 : if (GET_CODE (x9) != MULT)
24216 : return -1;
24217 : x11 = XEXP (x6, 1);
24218 : if (GET_CODE (x11) != CONST_INT)
24219 : return -1;
24220 : x7 = XVECEXP (x1, 0, 1);
24221 : if (GET_CODE (x7) != CLOBBER
24222 : || pattern838 (x1) != 0)
24223 : return -1;
24224 : x12 = XEXP (x7, 0);
24225 : operands[3] = x12;
24226 : x13 = XEXP (x9, 0);
24227 : switch (GET_CODE (x13))
24228 : {
24229 : case SIGN_EXTEND:
24230 : switch (pattern1508 (x3,
24231 : SIGN_EXTEND))
24232 : {
24233 : case 0:
24234 : if (!
24235 : #line 11517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24236 : (TARGET_64BIT
24237 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
24238 : return -1;
24239 : return 661; /* *smuldi3_highpart_1 */
24240 :
24241 : case 1:
24242 : if (!
24243 : #line 11566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24244 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
24245 : return -1;
24246 : return 665; /* *smulsi3_highpart_1 */
24247 :
24248 : default:
24249 : return -1;
24250 : }
24251 :
24252 : case ZERO_EXTEND:
24253 : switch (pattern1508 (x3,
24254 : ZERO_EXTEND))
24255 : {
24256 : case 0:
24257 : if (!
24258 : #line 11517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24259 : (TARGET_64BIT
24260 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
24261 : return -1;
24262 : return 662; /* *umuldi3_highpart_1 */
24263 :
24264 : case 1:
24265 : if (!
24266 : #line 11566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24267 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
24268 : return -1;
24269 : return 666; /* *umulsi3_highpart_1 */
24270 :
24271 : default:
24272 : return -1;
24273 : }
24274 :
24275 : default:
24276 : return -1;
24277 : }
24278 :
24279 : case DIV:
24280 : switch (pattern224 (x1))
24281 : {
24282 : case 0:
24283 : switch (pattern1342 (x1, pnum_clobbers))
24284 : {
24285 : case 0:
24286 : *pnum_clobbers = 1;
24287 : return 667; /* divmodsi4_1 */
24288 :
24289 : case 1:
24290 : if (!
24291 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24292 : (TARGET_64BIT))
24293 : return -1;
24294 : *pnum_clobbers = 1;
24295 : return 668; /* divmoddi4_1 */
24296 :
24297 : case 2:
24298 : if (!
24299 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24300 : (TARGET_HIMODE_MATH))
24301 : return -1;
24302 : return 675; /* *divmodhi4 */
24303 :
24304 : case 3:
24305 : return 676; /* *divmodsi4 */
24306 :
24307 : case 4:
24308 : if (!
24309 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24310 : (TARGET_64BIT))
24311 : return -1;
24312 : return 677; /* *divmoddi4 */
24313 :
24314 : case 5:
24315 : if ((
24316 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24317 : (TARGET_APX_NF) &&
24318 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24319 : (TARGET_HIMODE_MATH)))
24320 : return 689; /* *divmodhi4_noext_nf */
24321 : if (pnum_clobbers == NULL
24322 : || !
24323 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24324 : (TARGET_HIMODE_MATH))
24325 : return -1;
24326 : *pnum_clobbers = 1;
24327 : return 695; /* *divmodhi4_noext */
24328 :
24329 : case 6:
24330 : if (
24331 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24332 : (TARGET_APX_NF))
24333 : return 691; /* *divmodsi4_noext_nf */
24334 : if (pnum_clobbers == NULL)
24335 : return -1;
24336 : *pnum_clobbers = 1;
24337 : return 697; /* *divmodsi4_noext */
24338 :
24339 : case 7:
24340 : if ((
24341 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24342 : (TARGET_APX_NF) &&
24343 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24344 : (TARGET_64BIT)))
24345 : return 693; /* *divmoddi4_noext_nf */
24346 : if (pnum_clobbers == NULL
24347 : || !
24348 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24349 : (TARGET_64BIT))
24350 : return -1;
24351 : *pnum_clobbers = 1;
24352 : return 699; /* *divmoddi4_noext */
24353 :
24354 : default:
24355 : return -1;
24356 : }
24357 :
24358 : case 1:
24359 : if (!const_int_operand (operands[2], E_SImode))
24360 : return -1;
24361 : x4 = XVECEXP (x1, 0, 2);
24362 : if (pattern953 (x4,
24363 : E_CCmode,
24364 : 17) != 0
24365 : || pattern1504 (x1) != 0
24366 : || !
24367 : #line 12250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24368 : (!optimize_function_for_size_p (cfun)))
24369 : return -1;
24370 : return 705; /* *divmodsi4_const */
24371 :
24372 : default:
24373 : return -1;
24374 : }
24375 :
24376 : case UDIV:
24377 : switch (pattern225 (x1))
24378 : {
24379 : case 0:
24380 : switch (pattern1342 (x1, pnum_clobbers))
24381 : {
24382 : case 0:
24383 : *pnum_clobbers = 1;
24384 : return 669; /* udivmodsi4_1 */
24385 :
24386 : case 1:
24387 : if (!
24388 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24389 : (TARGET_64BIT))
24390 : return -1;
24391 : *pnum_clobbers = 1;
24392 : return 670; /* udivmoddi4_1 */
24393 :
24394 : case 2:
24395 : if (!
24396 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24397 : (TARGET_HIMODE_MATH))
24398 : return -1;
24399 : return 678; /* *udivmodhi4 */
24400 :
24401 : case 3:
24402 : return 679; /* *udivmodsi4 */
24403 :
24404 : case 4:
24405 : if (!
24406 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24407 : (TARGET_64BIT))
24408 : return -1;
24409 : return 680; /* *udivmoddi4 */
24410 :
24411 : case 5:
24412 : if ((
24413 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24414 : (TARGET_APX_NF) &&
24415 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24416 : (TARGET_HIMODE_MATH)))
24417 : return 690; /* *udivmodhi4_noext_nf */
24418 : if (pnum_clobbers == NULL
24419 : || !
24420 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24421 : (TARGET_HIMODE_MATH))
24422 : return -1;
24423 : *pnum_clobbers = 1;
24424 : return 696; /* *udivmodhi4_noext */
24425 :
24426 : case 6:
24427 : if (
24428 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24429 : (TARGET_APX_NF))
24430 : return 692; /* *udivmodsi4_noext_nf */
24431 : if (pnum_clobbers == NULL)
24432 : return -1;
24433 : *pnum_clobbers = 1;
24434 : return 698; /* *udivmodsi4_noext */
24435 :
24436 : case 7:
24437 : if ((
24438 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24439 : (TARGET_APX_NF) &&
24440 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24441 : (TARGET_64BIT)))
24442 : return 694; /* *udivmoddi4_noext_nf */
24443 : if (pnum_clobbers == NULL
24444 : || !
24445 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24446 : (TARGET_64BIT))
24447 : return -1;
24448 : *pnum_clobbers = 1;
24449 : return 700; /* *udivmoddi4_noext */
24450 :
24451 : default:
24452 : return -1;
24453 : }
24454 :
24455 : case 1:
24456 : x4 = XVECEXP (x1, 0, 2);
24457 : if (pattern953 (x4,
24458 : E_CCmode,
24459 : 17) != 0)
24460 : return -1;
24461 : switch (GET_MODE (operands[0]))
24462 : {
24463 : case E_SImode:
24464 : if (pattern1505 (x1,
24465 : E_SImode) != 0
24466 : || !
24467 : #line 12003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24468 : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
24469 : return -1;
24470 : return 681; /* *udivmodsi4_pow2 */
24471 :
24472 : case E_DImode:
24473 : if (pattern1505 (x1,
24474 : E_DImode) != 0
24475 : || !(
24476 : #line 12003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24477 : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)) &&
24478 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24479 : (TARGET_64BIT)))
24480 : return -1;
24481 : return 682; /* *udivmoddi4_pow2 */
24482 :
24483 : default:
24484 : return -1;
24485 : }
24486 :
24487 : default:
24488 : return -1;
24489 : }
24490 :
24491 : case ABS:
24492 : switch (pattern227 (x1))
24493 : {
24494 : case 0:
24495 : if (!
24496 : #line 15179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24497 : (TARGET_AVX512FP16))
24498 : return -1;
24499 : return 1048; /* *abshf2_1 */
24500 :
24501 : case 1:
24502 : if (!
24503 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24504 : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
24505 : return -1;
24506 : return 1050; /* *abssf2_1 */
24507 :
24508 : case 2:
24509 : if (!
24510 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24511 : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
24512 : return -1;
24513 : return 1052; /* *absdf2_1 */
24514 :
24515 : default:
24516 : return -1;
24517 : }
24518 :
24519 : case NEG:
24520 : switch (pattern227 (x1))
24521 : {
24522 : case 0:
24523 : if (!
24524 : #line 15179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24525 : (TARGET_AVX512FP16))
24526 : return -1;
24527 : return 1049; /* *neghf2_1 */
24528 :
24529 : case 1:
24530 : if (!
24531 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24532 : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
24533 : return -1;
24534 : return 1051; /* *negsf2_1 */
24535 :
24536 : case 2:
24537 : if (!
24538 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24539 : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
24540 : return -1;
24541 : return 1053; /* *negdf2_1 */
24542 :
24543 : default:
24544 : return -1;
24545 : }
24546 :
24547 : case ROTATE:
24548 : switch (pattern229 (x1))
24549 : {
24550 : case 0:
24551 : if (!
24552 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24553 : (!TARGET_64BIT))
24554 : return -1;
24555 : return 1364; /* ix86_rotldi3_doubleword */
24556 :
24557 : case 1:
24558 : if (!
24559 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24560 : (TARGET_64BIT))
24561 : return -1;
24562 : return 1365; /* ix86_rotlti3_doubleword */
24563 :
24564 : default:
24565 : return -1;
24566 : }
24567 :
24568 : case ROTATERT:
24569 : switch (pattern229 (x1))
24570 : {
24571 : case 0:
24572 : if (!
24573 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24574 : (!TARGET_64BIT))
24575 : return -1;
24576 : return 1366; /* ix86_rotrdi3_doubleword */
24577 :
24578 : case 1:
24579 : if (!
24580 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24581 : (TARGET_64BIT))
24582 : return -1;
24583 : return 1367; /* ix86_rotrti3_doubleword */
24584 :
24585 : default:
24586 : return -1;
24587 : }
24588 :
24589 : case CALL:
24590 : return recog_434 (x1, insn, pnum_clobbers);
24591 :
24592 : case PLUS:
24593 : x4 = XVECEXP (x1, 0, 2);
24594 : if (pattern230 (x4) != 0)
24595 : return -1;
24596 : x6 = XEXP (x3, 0);
24597 : if (GET_CODE (x6) == REG
24598 : && REGNO (x6) == 6)
24599 : {
24600 : x14 = XEXP (x3, 1);
24601 : if (GET_CODE (x14) == CONST_INT)
24602 : {
24603 : x5 = XEXP (x2, 0);
24604 : if (GET_CODE (x5) == REG
24605 : && REGNO (x5) == 7)
24606 : {
24607 : x7 = XVECEXP (x1, 0, 1);
24608 : if (pattern720 (x7,
24609 : 6,
24610 : MEM) == 0)
24611 : {
24612 : switch (XWINT (x14, 0))
24613 : {
24614 : case 4L:
24615 : if (pattern1704 (x1,
24616 : E_SImode) == 0
24617 : &&
24618 : #line 21233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24619 : (!TARGET_64BIT))
24620 : return 1536; /* *leave */
24621 : break;
24622 :
24623 : case 8L:
24624 : if (pattern1704 (x1,
24625 : E_DImode) == 0
24626 : &&
24627 : #line 21241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24628 : (TARGET_64BIT))
24629 : return 1537; /* *leave_rex64 */
24630 : break;
24631 :
24632 : default:
24633 : break;
24634 : }
24635 : }
24636 : }
24637 : }
24638 : }
24639 : x7 = XVECEXP (x1, 0, 1);
24640 : if (GET_CODE (x7) != CLOBBER)
24641 : return -1;
24642 : x12 = XEXP (x7, 0);
24643 : if (GET_CODE (x12) != REG
24644 : || REGNO (x12) != 17
24645 : || GET_MODE (x12) != E_CCmode)
24646 : return -1;
24647 : x5 = XEXP (x2, 0);
24648 : operands[0] = x5;
24649 : operands[1] = x6;
24650 : x14 = XEXP (x3, 1);
24651 : operands[2] = x14;
24652 : switch (GET_MODE (operands[0]))
24653 : {
24654 : case E_SImode:
24655 : if (pattern1434 (x3,
24656 : E_SImode) != 0
24657 : || !
24658 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24659 : (Pmode == SImode))
24660 : return -1;
24661 : return 1907; /* pro_epilogue_adjust_stack_add_si */
24662 :
24663 : case E_DImode:
24664 : if (pattern1434 (x3,
24665 : E_DImode) != 0
24666 : || !
24667 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24668 : (Pmode == DImode))
24669 : return -1;
24670 : return 1908; /* pro_epilogue_adjust_stack_add_di */
24671 :
24672 : default:
24673 : return -1;
24674 : }
24675 :
24676 : case FFS:
24677 : if (GET_MODE (x3) != E_SImode)
24678 : return -1;
24679 : x7 = XVECEXP (x1, 0, 1);
24680 : if (GET_CODE (x7) != CLOBBER)
24681 : return -1;
24682 : x4 = XVECEXP (x1, 0, 2);
24683 : if (GET_CODE (x4) != CLOBBER
24684 : || pattern719 (x1) != 0
24685 : || !
24686 : #line 21336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24687 : (!TARGET_CMOVE))
24688 : return -1;
24689 : return 1539; /* ffssi2_no_cmove */
24690 :
24691 : case COMPARE:
24692 : return recog_435 (x1, insn, pnum_clobbers);
24693 :
24694 : case CTZ:
24695 : switch (pattern234 (x1))
24696 : {
24697 : case 0:
24698 : return 1548; /* *ctzsi2_falsedep */
24699 :
24700 : case 1:
24701 : if (!
24702 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24703 : (TARGET_64BIT))
24704 : return -1;
24705 : return 1549; /* *ctzdi2_falsedep */
24706 :
24707 : default:
24708 : return -1;
24709 : }
24710 :
24711 : case AND:
24712 : if (GET_MODE (x3) != E_DImode)
24713 : return -1;
24714 : x6 = XEXP (x3, 0);
24715 : if (GET_CODE (x6) != SUBREG
24716 : || maybe_ne (SUBREG_BYTE (x6), 0)
24717 : || GET_MODE (x6) != E_DImode)
24718 : return -1;
24719 : x14 = XEXP (x3, 1);
24720 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
24721 : return -1;
24722 : x7 = XVECEXP (x1, 0, 1);
24723 : if (GET_CODE (x7) != UNSPEC
24724 : || XVECLEN (x7, 0) != 1
24725 : || XINT (x7, 1) != 39
24726 : || pattern838 (x1) != 0
24727 : || !register_operand (operands[0], E_DImode))
24728 : return -1;
24729 : x9 = XEXP (x6, 0);
24730 : if (GET_MODE (x9) != E_SImode)
24731 : return -1;
24732 : x10 = XVECEXP (x7, 0, 0);
24733 : operands[2] = x10;
24734 : if (!register_operand (operands[2], E_DImode))
24735 : return -1;
24736 : switch (GET_CODE (x9))
24737 : {
24738 : case CTZ:
24739 : x13 = XEXP (x9, 0);
24740 : operands[1] = x13;
24741 : if (!nonimmediate_operand (operands[1], E_SImode)
24742 : || !
24743 : #line 21519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24744 : (TARGET_BMI && TARGET_64BIT))
24745 : return -1;
24746 : return 1551; /* *ctzsi2_zext_falsedep */
24747 :
24748 : case CLZ:
24749 : x13 = XEXP (x9, 0);
24750 : operands[1] = x13;
24751 : switch (GET_MODE (operands[1]))
24752 : {
24753 : case E_SImode:
24754 : if (!nonimmediate_operand (operands[1], E_SImode)
24755 : || !
24756 : #line 21958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24757 : (TARGET_LZCNT))
24758 : return -1;
24759 : return 1575; /* *clzsi2_lzcnt_zext_falsedep */
24760 :
24761 : case E_DImode:
24762 : if (!nonimmediate_operand (operands[1], E_DImode)
24763 : || !(
24764 : #line 21958 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24765 : (TARGET_LZCNT) &&
24766 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24767 : (TARGET_64BIT)))
24768 : return -1;
24769 : return 1576; /* *clzsi2_lzcnt_zext_falsedep */
24770 :
24771 : default:
24772 : return -1;
24773 : }
24774 :
24775 : case POPCOUNT:
24776 : x13 = XEXP (x9, 0);
24777 : operands[1] = x13;
24778 : if (!nonimmediate_operand (operands[1], E_SImode)
24779 : || !
24780 : #line 22791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24781 : (TARGET_POPCNT && TARGET_64BIT))
24782 : return -1;
24783 : return 1667; /* *popcountsi2_zext_falsedep */
24784 :
24785 : default:
24786 : return -1;
24787 : }
24788 :
24789 : case CLZ:
24790 : switch (pattern234 (x1))
24791 : {
24792 : case 0:
24793 : if (!
24794 : #line 21915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24795 : (TARGET_LZCNT))
24796 : return -1;
24797 : return 1572; /* *clzsi2_lzcnt_falsedep */
24798 :
24799 : case 1:
24800 : if (!(
24801 : #line 21915 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24802 : (TARGET_LZCNT) &&
24803 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24804 : (TARGET_64BIT)))
24805 : return -1;
24806 : return 1573; /* *clzdi2_lzcnt_falsedep */
24807 :
24808 : default:
24809 : return -1;
24810 : }
24811 :
24812 : case XOR:
24813 : x6 = XEXP (x3, 0);
24814 : if (GET_CODE (x6) != PLUS)
24815 : return -1;
24816 : x11 = XEXP (x6, 1);
24817 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
24818 : return -1;
24819 : x7 = XVECEXP (x1, 0, 1);
24820 : if (pattern236 (x7,
24821 : E_CCmode,
24822 : 17) != 0)
24823 : return -1;
24824 : x4 = XVECEXP (x1, 0, 2);
24825 : if (GET_CODE (x4) != UNSPEC
24826 : || XVECLEN (x4, 0) != 1
24827 : || XINT (x4, 1) != 39)
24828 : return -1;
24829 : x5 = XEXP (x2, 0);
24830 : operands[0] = x5;
24831 : x9 = XEXP (x6, 0);
24832 : operands[1] = x9;
24833 : x15 = XVECEXP (x4, 0, 0);
24834 : operands[2] = x15;
24835 : x14 = XEXP (x3, 1);
24836 : if (!rtx_equal_p (x14, operands[1]))
24837 : return -1;
24838 : switch (GET_MODE (operands[0]))
24839 : {
24840 : case E_SImode:
24841 : if (pattern1643 (x3,
24842 : E_SImode) != 0
24843 : || !
24844 : #line 22266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24845 : (TARGET_BMI))
24846 : return -1;
24847 : return 1614; /* *bmi_blsmsk_si_falsedep */
24848 :
24849 : case E_DImode:
24850 : if (pattern1643 (x3,
24851 : E_DImode) != 0
24852 : || !(
24853 : #line 22266 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24854 : (TARGET_BMI) &&
24855 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24856 : (TARGET_64BIT)))
24857 : return -1;
24858 : return 1615; /* *bmi_blsmsk_di_falsedep */
24859 :
24860 : default:
24861 : return -1;
24862 : }
24863 :
24864 : case POPCOUNT:
24865 : switch (pattern234 (x1))
24866 : {
24867 : case 0:
24868 : if (!
24869 : #line 22736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24870 : (TARGET_POPCNT))
24871 : return -1;
24872 : return 1664; /* *popcountsi2_falsedep */
24873 :
24874 : case 1:
24875 : if (!(
24876 : #line 22736 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24877 : (TARGET_POPCNT) &&
24878 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24879 : (TARGET_64BIT)))
24880 : return -1;
24881 : return 1665; /* *popcountdi2_falsedep */
24882 :
24883 : default:
24884 : return -1;
24885 : }
24886 :
24887 : case MEM:
24888 : return recog_436 (x1, insn, pnum_clobbers);
24889 :
24890 : case REG:
24891 : case SUBREG:
24892 : operands[2] = x3;
24893 : if (pattern235 (x1) != 0)
24894 : return -1;
24895 : x4 = XVECEXP (x1, 0, 2);
24896 : if (pattern385 (x4,
24897 : 37) != 0)
24898 : return -1;
24899 : x5 = XEXP (x2, 0);
24900 : x16 = XEXP (x5, 0);
24901 : operands[1] = x16;
24902 : x7 = XVECEXP (x1, 0, 1);
24903 : x12 = XEXP (x7, 0);
24904 : operands[0] = x12;
24905 : x17 = XEXP (x7, 1);
24906 : x18 = XEXP (x17, 0);
24907 : if (!rtx_equal_p (x18, operands[1]))
24908 : return -1;
24909 : x19 = XEXP (x17, 1);
24910 : switch (XWINT (x19, 0))
24911 : {
24912 : case 8L:
24913 : switch (pattern1586 (x1,
24914 : E_DImode))
24915 : {
24916 : case 0:
24917 : if (!(
24918 : #line 26280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24919 : (TARGET_64BIT
24920 : && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24921 : && ADDR_SPACE_GENERIC_P
24922 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24923 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24924 : (Pmode == SImode)))
24925 : return -1;
24926 : return 1809; /* *strsetdi_rex_1 */
24927 :
24928 : case 1:
24929 : if (!(
24930 : #line 26280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24931 : (TARGET_64BIT
24932 : && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24933 : && ADDR_SPACE_GENERIC_P
24934 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24935 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24936 : (Pmode == DImode)))
24937 : return -1;
24938 : return 1810; /* *strsetdi_rex_1 */
24939 :
24940 : default:
24941 : return -1;
24942 : }
24943 :
24944 : case 4L:
24945 : switch (pattern1586 (x1,
24946 : E_SImode))
24947 : {
24948 : case 0:
24949 : if (!(
24950 : #line 26296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24951 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24952 : && ADDR_SPACE_GENERIC_P
24953 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24954 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24955 : (Pmode == SImode)))
24956 : return -1;
24957 : return 1811; /* *strsetsi_1 */
24958 :
24959 : case 1:
24960 : if (!(
24961 : #line 26296 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24962 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24963 : && ADDR_SPACE_GENERIC_P
24964 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24965 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24966 : (Pmode == DImode)))
24967 : return -1;
24968 : return 1812; /* *strsetsi_1 */
24969 :
24970 : default:
24971 : return -1;
24972 : }
24973 :
24974 : case 2L:
24975 : switch (pattern1586 (x1,
24976 : E_HImode))
24977 : {
24978 : case 0:
24979 : if (!(
24980 : #line 26311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24981 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24982 : && ADDR_SPACE_GENERIC_P
24983 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24984 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24985 : (Pmode == SImode)))
24986 : return -1;
24987 : return 1813; /* *strsethi_1 */
24988 :
24989 : case 1:
24990 : if (!(
24991 : #line 26311 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24992 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24993 : && ADDR_SPACE_GENERIC_P
24994 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24995 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24996 : (Pmode == DImode)))
24997 : return -1;
24998 : return 1814; /* *strsethi_1 */
24999 :
25000 : default:
25001 : return -1;
25002 : }
25003 :
25004 : case 1L:
25005 : switch (pattern1586 (x1,
25006 : E_QImode))
25007 : {
25008 : case 0:
25009 : if (!(
25010 : #line 26326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25011 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25012 : && ADDR_SPACE_GENERIC_P
25013 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
25014 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25015 : (Pmode == SImode)))
25016 : return -1;
25017 : return 1815; /* *strsetqi_1 */
25018 :
25019 : case 1:
25020 : if (!(
25021 : #line 26326 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25022 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
25023 : && ADDR_SPACE_GENERIC_P
25024 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
25025 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25026 : (Pmode == DImode)))
25027 : return -1;
25028 : return 1816; /* *strsetqi_1 */
25029 :
25030 : default:
25031 : return -1;
25032 : }
25033 :
25034 : default:
25035 : return -1;
25036 : }
25037 :
25038 : case MINUS:
25039 : x7 = XVECEXP (x1, 0, 1);
25040 : if (pattern236 (x7,
25041 : E_CCmode,
25042 : 17) != 0)
25043 : return -1;
25044 : x4 = XVECEXP (x1, 0, 2);
25045 : if (pattern230 (x4) != 0)
25046 : return -1;
25047 : x5 = XEXP (x2, 0);
25048 : operands[0] = x5;
25049 : x6 = XEXP (x3, 0);
25050 : operands[1] = x6;
25051 : x14 = XEXP (x3, 1);
25052 : operands[2] = x14;
25053 : switch (GET_MODE (operands[0]))
25054 : {
25055 : case E_SImode:
25056 : if (pattern570 (x3,
25057 : E_SImode) != 0
25058 : || !
25059 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25060 : (Pmode == SImode))
25061 : return -1;
25062 : return 1911; /* pro_epilogue_adjust_stack_sub_si */
25063 :
25064 : case E_DImode:
25065 : if (pattern570 (x3,
25066 : E_DImode) != 0
25067 : || !
25068 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25069 : (Pmode == DImode))
25070 : return -1;
25071 : return 1912; /* pro_epilogue_adjust_stack_sub_di */
25072 :
25073 : default:
25074 : return -1;
25075 : }
25076 :
25077 : case UNSPEC_VOLATILE:
25078 : return recog_433 (x1, insn, pnum_clobbers);
25079 :
25080 : default:
25081 : return -1;
25082 : }
25083 :
25084 : case CALL:
25085 : x5 = XEXP (x2, 0);
25086 : if (GET_CODE (x5) != MEM
25087 : || GET_MODE (x5) != E_QImode
25088 : || pattern386 (x1) != 0)
25089 : return -1;
25090 : x16 = XEXP (x5, 0);
25091 : operands[0] = x16;
25092 : if (!memory_operand (operands[0], E_SImode))
25093 : return -1;
25094 : x3 = XEXP (x2, 1);
25095 : operands[1] = x3;
25096 : x7 = XVECEXP (x1, 0, 1);
25097 : x17 = XEXP (x7, 1);
25098 : x19 = XEXP (x17, 1);
25099 : operands[2] = x19;
25100 : if (!immediate_operand (operands[2], E_SImode)
25101 : || !
25102 : #line 20615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25103 : (!TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER))
25104 : return -1;
25105 : return 1506; /* *sibcall_pop_memory */
25106 :
25107 : default:
25108 : return -1;
25109 : }
25110 : }
25111 :
25112 : rtx_insn *
25113 : split_22 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25114 : {
25115 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25116 : rtx x2, x3, x4, x5, x6, x7, x8;
25117 : rtx_insn *res ATTRIBUTE_UNUSED;
25118 : x2 = XVECEXP (x1, 0, 0);
25119 : x3 = XEXP (x2, 1);
25120 : x4 = XEXP (x3, 0);
25121 : x5 = XEXP (x4, 0);
25122 : switch (GET_CODE (x5))
25123 : {
25124 : case REG:
25125 : case SUBREG:
25126 : operands[1] = x5;
25127 : if (!register_operand (operands[1], E_SImode))
25128 : return NULL;
25129 : x6 = XEXP (x2, 0);
25130 : operands[0] = x6;
25131 : if (!register_operand (operands[0], E_DImode)
25132 : || GET_MODE (x3) != E_DImode
25133 : || GET_MODE (x4) != E_DImode)
25134 : return NULL;
25135 : x7 = XEXP (x3, 1);
25136 : operands[2] = x7;
25137 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
25138 : || !
25139 : #line 12940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25140 : (TARGET_64BIT))
25141 : return NULL;
25142 : return gen_split_292 (insn, operands);
25143 :
25144 : case ASHIFTRT:
25145 : case LSHIFTRT:
25146 : case SIGN_EXTRACT:
25147 : case ZERO_EXTRACT:
25148 : operands[3] = x5;
25149 : if (GET_MODE (x3) != E_QImode
25150 : || GET_MODE (x4) != E_QImode)
25151 : return NULL;
25152 : x8 = XEXP (x5, 0);
25153 : if (!int248_register_operand (x8, E_VOIDmode))
25154 : return NULL;
25155 : operands[2] = x8;
25156 : switch (pattern1644 (x2))
25157 : {
25158 : case 0:
25159 : if ((
25160 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25161 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25162 : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25163 : ( reload_completed
25164 : && !rtx_equal_p (operands[0], operands[1]))))
25165 : return gen_split_299 (insn, operands);
25166 : break;
25167 :
25168 : case 1:
25169 : if ((
25170 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25171 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25172 : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25173 : ( reload_completed
25174 : && !rtx_equal_p (operands[0], operands[1]))))
25175 : return gen_split_302 (insn, operands);
25176 : break;
25177 :
25178 : case 2:
25179 : if (((
25180 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25181 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25182 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25183 : (TARGET_64BIT)) &&
25184 : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25185 : ( reload_completed
25186 : && !rtx_equal_p (operands[0], operands[1]))))
25187 : return gen_split_305 (insn, operands);
25188 : break;
25189 :
25190 : default:
25191 : break;
25192 : }
25193 : operands[1] = x8;
25194 : switch (pattern1645 (x2))
25195 : {
25196 : case 0:
25197 : if (!(
25198 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25199 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25200 : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25201 : ( reload_completed)))
25202 : return NULL;
25203 : return gen_split_308 (insn, operands);
25204 :
25205 : case 1:
25206 : if (!(
25207 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25208 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25209 : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25210 : ( reload_completed)))
25211 : return NULL;
25212 : return gen_split_311 (insn, operands);
25213 :
25214 : case 2:
25215 : if (!((
25216 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25217 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25218 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25219 : (TARGET_64BIT)) &&
25220 : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25221 : ( reload_completed)))
25222 : return NULL;
25223 : return gen_split_314 (insn, operands);
25224 :
25225 : case 3:
25226 : if (!
25227 : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25228 : ( reload_completed))
25229 : return NULL;
25230 : return gen_split_328 (insn, operands);
25231 :
25232 : case 4:
25233 : if (!
25234 : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25235 : ( reload_completed))
25236 : return NULL;
25237 : return gen_split_331 (insn, operands);
25238 :
25239 : case 5:
25240 : if (!(
25241 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25242 : (TARGET_64BIT) &&
25243 : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25244 : ( reload_completed)))
25245 : return NULL;
25246 : return gen_split_334 (insn, operands);
25247 :
25248 : default:
25249 : return NULL;
25250 : }
25251 :
25252 : case ROTATE:
25253 : if (GET_MODE (x5) != E_SImode)
25254 : return NULL;
25255 : x8 = XEXP (x5, 0);
25256 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
25257 : return NULL;
25258 : switch (pattern1443 (x2))
25259 : {
25260 : case 0:
25261 : if (!(
25262 : #line 19302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25263 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25264 : #line 19304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25265 : ( 1)))
25266 : return NULL;
25267 : return gen_split_814 (insn, operands);
25268 :
25269 : case 1:
25270 : if (!(
25271 : #line 19302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25272 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
25273 : #line 19304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25274 : ( 1)))
25275 : return NULL;
25276 : return gen_split_815 (insn, operands);
25277 :
25278 : default:
25279 : return NULL;
25280 : }
25281 :
25282 : default:
25283 : return NULL;
25284 : }
25285 : }
25286 :
25287 : rtx_insn *
25288 : split_28 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25289 : {
25290 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25291 : rtx x2, x3, x4, x5, x6, x7;
25292 : rtx_insn *res ATTRIBUTE_UNUSED;
25293 : x2 = XVECEXP (x1, 0, 0);
25294 : x3 = XEXP (x2, 1);
25295 : if (maybe_ne (SUBREG_BYTE (x3), 0))
25296 : return NULL;
25297 : x4 = XVECEXP (x1, 0, 1);
25298 : if (pattern236 (x4,
25299 : E_CCmode,
25300 : 17) != 0)
25301 : return NULL;
25302 : switch (pattern1047 (x2))
25303 : {
25304 : case 0:
25305 : x5 = XEXP (x3, 0);
25306 : x6 = XEXP (x5, 1);
25307 : operands[2] = x6;
25308 : if (general_operand (operands[2], E_QImode))
25309 : {
25310 : switch (pattern1045 (x2))
25311 : {
25312 : case 0:
25313 : if (
25314 : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25315 : (reload_completed
25316 : && !rtx_equal_p (operands[0], operands[1])))
25317 : return gen_split_143 (insn, operands);
25318 : break;
25319 :
25320 : case 1:
25321 : if (
25322 : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25323 : (reload_completed
25324 : && !rtx_equal_p (operands[0], operands[1])))
25325 : return gen_split_144 (insn, operands);
25326 : break;
25327 :
25328 : case 2:
25329 : if ((
25330 : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25331 : (reload_completed
25332 : && !rtx_equal_p (operands[0], operands[1])) &&
25333 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25334 : (TARGET_64BIT)))
25335 : return gen_split_145 (insn, operands);
25336 : break;
25337 :
25338 : default:
25339 : break;
25340 : }
25341 : }
25342 : if (GET_CODE (x6) != SUBREG)
25343 : return NULL;
25344 : switch (pattern1814 (x2))
25345 : {
25346 : case 0:
25347 : if (!
25348 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25349 : (reload_completed
25350 : && !(rtx_equal_p (operands[0], operands[1])
25351 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25352 : return NULL;
25353 : return gen_split_146 (insn, operands);
25354 :
25355 : case 1:
25356 : if (!
25357 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25358 : (reload_completed
25359 : && !(rtx_equal_p (operands[0], operands[1])
25360 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25361 : return NULL;
25362 : return gen_split_148 (insn, operands);
25363 :
25364 : case 2:
25365 : if (!(
25366 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25367 : (reload_completed
25368 : && !(rtx_equal_p (operands[0], operands[1])
25369 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
25370 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25371 : (TARGET_64BIT)))
25372 : return NULL;
25373 : return gen_split_150 (insn, operands);
25374 :
25375 : default:
25376 : return NULL;
25377 : }
25378 :
25379 : case 1:
25380 : x5 = XEXP (x3, 0);
25381 : x6 = XEXP (x5, 1);
25382 : if (GET_CODE (x6) == SUBREG)
25383 : {
25384 : switch (pattern1814 (x2))
25385 : {
25386 : case 0:
25387 : if (
25388 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25389 : (reload_completed
25390 : && !(rtx_equal_p (operands[0], operands[1])
25391 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25392 : return gen_split_147 (insn, operands);
25393 : break;
25394 :
25395 : case 1:
25396 : if (
25397 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25398 : (reload_completed
25399 : && !(rtx_equal_p (operands[0], operands[1])
25400 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
25401 : return gen_split_149 (insn, operands);
25402 : break;
25403 :
25404 : case 2:
25405 : if ((
25406 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25407 : (reload_completed
25408 : && !(rtx_equal_p (operands[0], operands[1])
25409 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
25410 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25411 : (TARGET_64BIT)))
25412 : return gen_split_151 (insn, operands);
25413 : break;
25414 :
25415 : default:
25416 : break;
25417 : }
25418 : }
25419 : operands[2] = x6;
25420 : if (!general_operand (operands[2], E_QImode))
25421 : return NULL;
25422 : switch (pattern1045 (x2))
25423 : {
25424 : case 0:
25425 : if (!
25426 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25427 : (reload_completed
25428 : && !(rtx_equal_p (operands[0], operands[1]))))
25429 : return NULL;
25430 : return gen_split_189 (insn, operands);
25431 :
25432 : case 1:
25433 : if (!
25434 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25435 : (reload_completed
25436 : && !(rtx_equal_p (operands[0], operands[1]))))
25437 : return NULL;
25438 : return gen_split_190 (insn, operands);
25439 :
25440 : case 2:
25441 : if (!(
25442 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25443 : (reload_completed
25444 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25445 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25446 : (TARGET_64BIT)))
25447 : return NULL;
25448 : return gen_split_191 (insn, operands);
25449 :
25450 : default:
25451 : return NULL;
25452 : }
25453 :
25454 : case 2:
25455 : x5 = XEXP (x3, 0);
25456 : x6 = XEXP (x5, 1);
25457 : operands[2] = x6;
25458 : if (general_operand (operands[2], E_QImode))
25459 : {
25460 : switch (pattern1045 (x2))
25461 : {
25462 : case 0:
25463 : if (
25464 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25465 : (reload_completed
25466 : && !(rtx_equal_p (operands[0], operands[1]))))
25467 : return gen_split_337 (insn, operands);
25468 : break;
25469 :
25470 : case 1:
25471 : if (
25472 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25473 : (reload_completed
25474 : && !(rtx_equal_p (operands[0], operands[1]))))
25475 : return gen_split_340 (insn, operands);
25476 : break;
25477 :
25478 : case 2:
25479 : if ((
25480 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25481 : (reload_completed
25482 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25483 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25484 : (TARGET_64BIT)))
25485 : return gen_split_343 (insn, operands);
25486 : break;
25487 :
25488 : default:
25489 : break;
25490 : }
25491 : }
25492 : if (GET_CODE (x6) != SUBREG)
25493 : return NULL;
25494 : switch (pattern1814 (x2))
25495 : {
25496 : case 0:
25497 : if (!
25498 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25499 : (reload_completed
25500 : && !(rtx_equal_p (operands[0], operands[1])
25501 : || rtx_equal_p (operands[0], operands[2]))))
25502 : return NULL;
25503 : return gen_split_355 (insn, operands);
25504 :
25505 : case 1:
25506 : if (!
25507 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25508 : (reload_completed
25509 : && !(rtx_equal_p (operands[0], operands[1])
25510 : || rtx_equal_p (operands[0], operands[2]))))
25511 : return NULL;
25512 : return gen_split_358 (insn, operands);
25513 :
25514 : case 2:
25515 : if (!(
25516 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25517 : (reload_completed
25518 : && !(rtx_equal_p (operands[0], operands[1])
25519 : || rtx_equal_p (operands[0], operands[2]))) &&
25520 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25521 : (TARGET_64BIT)))
25522 : return NULL;
25523 : return gen_split_361 (insn, operands);
25524 :
25525 : default:
25526 : return NULL;
25527 : }
25528 :
25529 : case 3:
25530 : x5 = XEXP (x3, 0);
25531 : x6 = XEXP (x5, 1);
25532 : operands[2] = x6;
25533 : if (general_operand (operands[2], E_QImode))
25534 : {
25535 : switch (pattern1045 (x2))
25536 : {
25537 : case 0:
25538 : if (
25539 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25540 : (reload_completed
25541 : && !(rtx_equal_p (operands[0], operands[1]))))
25542 : return gen_split_338 (insn, operands);
25543 : break;
25544 :
25545 : case 1:
25546 : if (
25547 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25548 : (reload_completed
25549 : && !(rtx_equal_p (operands[0], operands[1]))))
25550 : return gen_split_341 (insn, operands);
25551 : break;
25552 :
25553 : case 2:
25554 : if ((
25555 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25556 : (reload_completed
25557 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25558 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25559 : (TARGET_64BIT)))
25560 : return gen_split_344 (insn, operands);
25561 : break;
25562 :
25563 : default:
25564 : break;
25565 : }
25566 : }
25567 : if (GET_CODE (x6) != SUBREG)
25568 : return NULL;
25569 : switch (pattern1814 (x2))
25570 : {
25571 : case 0:
25572 : if (!
25573 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25574 : (reload_completed
25575 : && !(rtx_equal_p (operands[0], operands[1])
25576 : || rtx_equal_p (operands[0], operands[2]))))
25577 : return NULL;
25578 : return gen_split_356 (insn, operands);
25579 :
25580 : case 1:
25581 : if (!
25582 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25583 : (reload_completed
25584 : && !(rtx_equal_p (operands[0], operands[1])
25585 : || rtx_equal_p (operands[0], operands[2]))))
25586 : return NULL;
25587 : return gen_split_359 (insn, operands);
25588 :
25589 : case 2:
25590 : if (!(
25591 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25592 : (reload_completed
25593 : && !(rtx_equal_p (operands[0], operands[1])
25594 : || rtx_equal_p (operands[0], operands[2]))) &&
25595 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25596 : (TARGET_64BIT)))
25597 : return NULL;
25598 : return gen_split_362 (insn, operands);
25599 :
25600 : default:
25601 : return NULL;
25602 : }
25603 :
25604 : case 4:
25605 : x5 = XEXP (x3, 0);
25606 : x6 = XEXP (x5, 1);
25607 : operands[2] = x6;
25608 : if (general_operand (operands[2], E_QImode))
25609 : {
25610 : switch (pattern1045 (x2))
25611 : {
25612 : case 0:
25613 : if (
25614 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25615 : (reload_completed
25616 : && !(rtx_equal_p (operands[0], operands[1]))))
25617 : return gen_split_339 (insn, operands);
25618 : break;
25619 :
25620 : case 1:
25621 : if (
25622 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25623 : (reload_completed
25624 : && !(rtx_equal_p (operands[0], operands[1]))))
25625 : return gen_split_342 (insn, operands);
25626 : break;
25627 :
25628 : case 2:
25629 : if ((
25630 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25631 : (reload_completed
25632 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25633 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25634 : (TARGET_64BIT)))
25635 : return gen_split_345 (insn, operands);
25636 : break;
25637 :
25638 : default:
25639 : break;
25640 : }
25641 : }
25642 : if (GET_CODE (x6) != SUBREG)
25643 : return NULL;
25644 : switch (pattern1814 (x2))
25645 : {
25646 : case 0:
25647 : if (!
25648 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25649 : (reload_completed
25650 : && !(rtx_equal_p (operands[0], operands[1])
25651 : || rtx_equal_p (operands[0], operands[2]))))
25652 : return NULL;
25653 : return gen_split_357 (insn, operands);
25654 :
25655 : case 1:
25656 : if (!
25657 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25658 : (reload_completed
25659 : && !(rtx_equal_p (operands[0], operands[1])
25660 : || rtx_equal_p (operands[0], operands[2]))))
25661 : return NULL;
25662 : return gen_split_360 (insn, operands);
25663 :
25664 : case 2:
25665 : if (!(
25666 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25667 : (reload_completed
25668 : && !(rtx_equal_p (operands[0], operands[1])
25669 : || rtx_equal_p (operands[0], operands[2]))) &&
25670 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25671 : (TARGET_64BIT)))
25672 : return NULL;
25673 : return gen_split_363 (insn, operands);
25674 :
25675 : default:
25676 : return NULL;
25677 : }
25678 :
25679 : case 5:
25680 : if (!
25681 : #line 14832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25682 : (reload_completed
25683 : && !(rtx_equal_p (operands[0], operands[1]))))
25684 : return NULL;
25685 : return gen_split_500 (insn, operands);
25686 :
25687 : case 6:
25688 : if (!
25689 : #line 14832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25690 : (reload_completed
25691 : && !(rtx_equal_p (operands[0], operands[1]))))
25692 : return NULL;
25693 : return gen_split_501 (insn, operands);
25694 :
25695 : case 7:
25696 : if (!(
25697 : #line 14832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25698 : (reload_completed
25699 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25700 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25701 : (TARGET_64BIT)))
25702 : return NULL;
25703 : return gen_split_502 (insn, operands);
25704 :
25705 : case 8:
25706 : if (!
25707 : #line 16863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25708 : (reload_completed
25709 : && !(rtx_equal_p (operands[0], operands[1]))))
25710 : return NULL;
25711 : return gen_split_592 (insn, operands);
25712 :
25713 : case 9:
25714 : if (!
25715 : #line 16863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25716 : (reload_completed
25717 : && !(rtx_equal_p (operands[0], operands[1]))))
25718 : return NULL;
25719 : return gen_split_593 (insn, operands);
25720 :
25721 : case 10:
25722 : if (!(
25723 : #line 16863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25724 : (reload_completed
25725 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25726 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25727 : (TARGET_64BIT)))
25728 : return NULL;
25729 : return gen_split_594 (insn, operands);
25730 :
25731 : case 11:
25732 : x7 = XEXP (x2, 0);
25733 : operands[0] = x7;
25734 : switch (pattern1240 (x3))
25735 : {
25736 : case 0:
25737 : if (((
25738 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25739 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25740 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25741 : (!TARGET_64BIT)) &&
25742 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25743 : ( reload_completed)))
25744 : return gen_split_611 (insn, operands);
25745 : break;
25746 :
25747 : case 1:
25748 : if (((
25749 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25750 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25751 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25752 : (TARGET_64BIT)) &&
25753 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25754 : ( reload_completed)))
25755 : return gen_split_613 (insn, operands);
25756 : break;
25757 :
25758 : default:
25759 : break;
25760 : }
25761 : x5 = XEXP (x3, 0);
25762 : if (GET_MODE (x5) != E_QImode)
25763 : return NULL;
25764 : switch (pattern1046 (x2))
25765 : {
25766 : case 0:
25767 : if (!
25768 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25769 : (reload_completed
25770 : && !(rtx_equal_p (operands[0], operands[1]))))
25771 : return NULL;
25772 : return gen_split_638 (insn, operands);
25773 :
25774 : case 1:
25775 : if (!
25776 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25777 : (reload_completed
25778 : && !(rtx_equal_p (operands[0], operands[1]))))
25779 : return NULL;
25780 : return gen_split_640 (insn, operands);
25781 :
25782 : case 2:
25783 : if (!(
25784 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25785 : (reload_completed
25786 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25787 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25788 : (TARGET_64BIT)))
25789 : return NULL;
25790 : return gen_split_642 (insn, operands);
25791 :
25792 : default:
25793 : return NULL;
25794 : }
25795 :
25796 : case 12:
25797 : x7 = XEXP (x2, 0);
25798 : operands[0] = x7;
25799 : switch (pattern1240 (x3))
25800 : {
25801 : case 0:
25802 : if (((
25803 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25804 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25805 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25806 : (!TARGET_64BIT)) &&
25807 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25808 : ( reload_completed)))
25809 : return gen_split_612 (insn, operands);
25810 : break;
25811 :
25812 : case 1:
25813 : if (((
25814 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25815 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25816 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25817 : (TARGET_64BIT)) &&
25818 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25819 : ( reload_completed)))
25820 : return gen_split_614 (insn, operands);
25821 : break;
25822 :
25823 : default:
25824 : break;
25825 : }
25826 : x5 = XEXP (x3, 0);
25827 : if (GET_MODE (x5) != E_QImode)
25828 : return NULL;
25829 : switch (pattern1046 (x2))
25830 : {
25831 : case 0:
25832 : if (!
25833 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25834 : (reload_completed
25835 : && !(rtx_equal_p (operands[0], operands[1]))))
25836 : return NULL;
25837 : return gen_split_639 (insn, operands);
25838 :
25839 : case 1:
25840 : if (!
25841 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25842 : (reload_completed
25843 : && !(rtx_equal_p (operands[0], operands[1]))))
25844 : return NULL;
25845 : return gen_split_641 (insn, operands);
25846 :
25847 : case 2:
25848 : if (!(
25849 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25850 : (reload_completed
25851 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25852 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25853 : (TARGET_64BIT)))
25854 : return NULL;
25855 : return gen_split_643 (insn, operands);
25856 :
25857 : default:
25858 : return NULL;
25859 : }
25860 :
25861 : default:
25862 : return NULL;
25863 : }
25864 : }
25865 :
25866 : rtx_insn *
25867 : split_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25868 : {
25869 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25870 : rtx x2, x3, x4, x5, x6;
25871 : rtx_insn *res ATTRIBUTE_UNUSED;
25872 : switch (pattern407 (x1))
25873 : {
25874 : case 0:
25875 : if (!(
25876 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25877 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25878 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25879 : == GET_MODE_BITSIZE (QImode)-1
25880 : && ix86_pre_reload_split ()) &&
25881 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25882 : ( 1)))
25883 : return NULL;
25884 : return gen_split_700 (insn, operands);
25885 :
25886 : case 1:
25887 : if (!(
25888 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25889 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25890 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25891 : == GET_MODE_BITSIZE (HImode)-1
25892 : && ix86_pre_reload_split ()) &&
25893 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25894 : ( 1)))
25895 : return NULL;
25896 : return gen_split_702 (insn, operands);
25897 :
25898 : case 2:
25899 : if (!(
25900 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25901 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25902 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25903 : == GET_MODE_BITSIZE (SImode)-1
25904 : && ix86_pre_reload_split ()) &&
25905 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25906 : ( 1)))
25907 : return NULL;
25908 : return gen_split_704 (insn, operands);
25909 :
25910 : case 3:
25911 : if (!((
25912 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25913 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25914 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25915 : == GET_MODE_BITSIZE (DImode)-1
25916 : && ix86_pre_reload_split ()) &&
25917 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25918 : (TARGET_64BIT)) &&
25919 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25920 : ( 1)))
25921 : return NULL;
25922 : return gen_split_706 (insn, operands);
25923 :
25924 : case 4:
25925 : if (!(
25926 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25927 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25928 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25929 : && ix86_pre_reload_split ()) &&
25930 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25931 : ( 1)))
25932 : return NULL;
25933 : return gen_split_732 (insn, operands);
25934 :
25935 : case 5:
25936 : if (!(
25937 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25938 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25939 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25940 : && ix86_pre_reload_split ()) &&
25941 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25942 : ( 1)))
25943 : return NULL;
25944 : return gen_split_734 (insn, operands);
25945 :
25946 : case 6:
25947 : if (!(
25948 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25949 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25950 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25951 : && ix86_pre_reload_split ()) &&
25952 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25953 : ( 1)))
25954 : return NULL;
25955 : return gen_split_736 (insn, operands);
25956 :
25957 : case 7:
25958 : if (!((
25959 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25960 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25961 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25962 : && ix86_pre_reload_split ()) &&
25963 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25964 : (TARGET_64BIT)) &&
25965 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25966 : ( 1)))
25967 : return NULL;
25968 : return gen_split_738 (insn, operands);
25969 :
25970 : case 8:
25971 : if (!(
25972 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25973 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25974 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25975 : && ix86_pre_reload_split ()) &&
25976 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25977 : ( 1)))
25978 : return NULL;
25979 : return gen_split_764 (insn, operands);
25980 :
25981 : case 9:
25982 : if (!(
25983 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25984 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25985 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25986 : && ix86_pre_reload_split ()) &&
25987 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25988 : ( 1)))
25989 : return NULL;
25990 : return gen_split_766 (insn, operands);
25991 :
25992 : case 10:
25993 : if (!(
25994 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25995 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25996 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25997 : && ix86_pre_reload_split ()) &&
25998 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25999 : ( 1)))
26000 : return NULL;
26001 : return gen_split_768 (insn, operands);
26002 :
26003 : case 11:
26004 : if (!((
26005 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26006 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26007 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26008 : && ix86_pre_reload_split ()) &&
26009 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26010 : (TARGET_64BIT)) &&
26011 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26012 : ( 1)))
26013 : return NULL;
26014 : return gen_split_770 (insn, operands);
26015 :
26016 : case 12:
26017 : x2 = XVECEXP (x1, 0, 0);
26018 : x3 = XEXP (x2, 0);
26019 : operands[0] = x3;
26020 : x4 = XEXP (x2, 1);
26021 : switch (pattern1189 (x4))
26022 : {
26023 : case 0:
26024 : if ((
26025 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26026 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26027 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
26028 : == GET_MODE_BITSIZE (QImode)-1
26029 : && ix86_pre_reload_split ()) &&
26030 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26031 : ( 1)))
26032 : return gen_split_684 (insn, operands);
26033 : break;
26034 :
26035 : case 1:
26036 : if ((
26037 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26038 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26039 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
26040 : == GET_MODE_BITSIZE (HImode)-1
26041 : && ix86_pre_reload_split ()) &&
26042 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26043 : ( 1)))
26044 : return gen_split_686 (insn, operands);
26045 : break;
26046 :
26047 : case 2:
26048 : if ((
26049 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26050 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26051 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
26052 : == GET_MODE_BITSIZE (SImode)-1
26053 : && ix86_pre_reload_split ()) &&
26054 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26055 : ( 1)))
26056 : return gen_split_688 (insn, operands);
26057 : break;
26058 :
26059 : case 3:
26060 : if (((
26061 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26062 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26063 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
26064 : == GET_MODE_BITSIZE (DImode)-1
26065 : && ix86_pre_reload_split ()) &&
26066 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26067 : (TARGET_64BIT)) &&
26068 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26069 : ( 1)))
26070 : return gen_split_690 (insn, operands);
26071 : break;
26072 :
26073 : case 4:
26074 : if ((
26075 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26076 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26077 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
26078 : && ix86_pre_reload_split ()) &&
26079 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26080 : ( 1)))
26081 : return gen_split_716 (insn, operands);
26082 : break;
26083 :
26084 : case 5:
26085 : if ((
26086 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26087 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26088 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
26089 : && ix86_pre_reload_split ()) &&
26090 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26091 : ( 1)))
26092 : return gen_split_718 (insn, operands);
26093 : break;
26094 :
26095 : case 6:
26096 : if ((
26097 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26098 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26099 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26100 : && ix86_pre_reload_split ()) &&
26101 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26102 : ( 1)))
26103 : return gen_split_720 (insn, operands);
26104 : break;
26105 :
26106 : case 7:
26107 : if (((
26108 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26109 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26110 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26111 : && ix86_pre_reload_split ()) &&
26112 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26113 : (TARGET_64BIT)) &&
26114 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26115 : ( 1)))
26116 : return gen_split_722 (insn, operands);
26117 : break;
26118 :
26119 : case 8:
26120 : if ((
26121 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26122 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
26123 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
26124 : && ix86_pre_reload_split ()) &&
26125 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26126 : ( 1)))
26127 : return gen_split_748 (insn, operands);
26128 : break;
26129 :
26130 : case 9:
26131 : if ((
26132 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26133 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
26134 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
26135 : && ix86_pre_reload_split ()) &&
26136 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26137 : ( 1)))
26138 : return gen_split_750 (insn, operands);
26139 : break;
26140 :
26141 : case 10:
26142 : if ((
26143 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26144 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
26145 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
26146 : && ix86_pre_reload_split ()) &&
26147 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26148 : ( 1)))
26149 : return gen_split_752 (insn, operands);
26150 : break;
26151 :
26152 : case 11:
26153 : if (((
26154 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26155 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
26156 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
26157 : && ix86_pre_reload_split ()) &&
26158 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26159 : (TARGET_64BIT)) &&
26160 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26161 : ( 1)))
26162 : return gen_split_754 (insn, operands);
26163 : break;
26164 :
26165 : case 12:
26166 : x5 = XEXP (x4, 1);
26167 : operands[2] = x5;
26168 : switch (pattern1347 (x4))
26169 : {
26170 : case 0:
26171 : if (
26172 : #line 18883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26173 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
26174 : return gen_split_788 (insn, operands);
26175 : break;
26176 :
26177 : case 1:
26178 : if ((
26179 : #line 18883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26180 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) &&
26181 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26182 : (TARGET_64BIT)))
26183 : return gen_split_789 (insn, operands);
26184 : break;
26185 :
26186 : default:
26187 : break;
26188 : }
26189 : if (XWINT (x5, 0) == 8L
26190 : && QIreg_operand (operands[0], E_HImode)
26191 : && GET_MODE (x4) == E_HImode)
26192 : {
26193 : x6 = XEXP (x4, 0);
26194 : if (rtx_equal_p (x6, operands[0])
26195 : &&
26196 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26197 : (reload_completed
26198 : && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
26199 : return gen_split_800 (insn, operands);
26200 : }
26201 : break;
26202 :
26203 : default:
26204 : break;
26205 : }
26206 : x5 = XEXP (x4, 1);
26207 : operands[2] = x5;
26208 : switch (pattern1190 (x2))
26209 : {
26210 : case 0:
26211 : if (!(
26212 : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26213 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26214 : #line 19061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26215 : ( reload_completed
26216 : && !(rtx_equal_p (operands[0], operands[1])))))
26217 : return NULL;
26218 : return gen_split_796 (insn, operands);
26219 :
26220 : case 1:
26221 : if (!(
26222 : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26223 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
26224 : #line 19061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26225 : ( reload_completed
26226 : && !(rtx_equal_p (operands[0], operands[1])))))
26227 : return NULL;
26228 : return gen_split_798 (insn, operands);
26229 :
26230 : default:
26231 : return NULL;
26232 : }
26233 :
26234 : default:
26235 : return NULL;
26236 : }
26237 : }
26238 :
26239 : rtx_insn *
26240 : split_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26241 : {
26242 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26243 : rtx x2, x3, x4;
26244 : rtx_insn *res ATTRIBUTE_UNUSED;
26245 : x2 = XEXP (x1, 1);
26246 : operands[1] = x2;
26247 : x3 = XEXP (x1, 0);
26248 : operands[0] = x3;
26249 : switch (GET_MODE (operands[0]))
26250 : {
26251 : case E_V8QImode:
26252 : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
26253 : && nonimmediate_gr_operand (operands[1], E_V8QImode)
26254 : &&
26255 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26256 : (!TARGET_64BIT && reload_completed))
26257 : return gen_split_1017 (insn, operands);
26258 : if (general_reg_operand (operands[0], E_V8QImode)
26259 : && memory_operand (operands[1], E_V8QImode)
26260 : && (
26261 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26262 : (reload_completed
26263 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26264 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26265 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26266 : (TARGET_64BIT)))
26267 : return gen_split_1047 (insn, operands);
26268 : break;
26269 :
26270 : case E_V4HImode:
26271 : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
26272 : && nonimmediate_gr_operand (operands[1], E_V4HImode)
26273 : &&
26274 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26275 : (!TARGET_64BIT && reload_completed))
26276 : return gen_split_1018 (insn, operands);
26277 : if (general_reg_operand (operands[0], E_V4HImode)
26278 : && memory_operand (operands[1], E_V4HImode)
26279 : && (
26280 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26281 : (reload_completed
26282 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26283 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26284 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26285 : (TARGET_64BIT)))
26286 : return gen_split_1048 (insn, operands);
26287 : break;
26288 :
26289 : case E_V2SImode:
26290 : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
26291 : && nonimmediate_gr_operand (operands[1], E_V2SImode)
26292 : &&
26293 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26294 : (!TARGET_64BIT && reload_completed))
26295 : return gen_split_1019 (insn, operands);
26296 : if (general_reg_operand (operands[0], E_V2SImode)
26297 : && memory_operand (operands[1], E_V2SImode)
26298 : && (
26299 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26300 : (reload_completed
26301 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26302 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26303 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26304 : (TARGET_64BIT)))
26305 : return gen_split_1051 (insn, operands);
26306 : break;
26307 :
26308 : case E_V1DImode:
26309 : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
26310 : && nonimmediate_gr_operand (operands[1], E_V1DImode)
26311 : &&
26312 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26313 : (!TARGET_64BIT && reload_completed))
26314 : return gen_split_1020 (insn, operands);
26315 : if (general_reg_operand (operands[0], E_V1DImode)
26316 : && memory_operand (operands[1], E_V1DImode)
26317 : && (
26318 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26319 : (reload_completed
26320 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26321 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26322 : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26323 : (TARGET_64BIT)))
26324 : return gen_split_1053 (insn, operands);
26325 : break;
26326 :
26327 : case E_V2SFmode:
26328 : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
26329 : && nonimmediate_gr_operand (operands[1], E_V2SFmode)
26330 : &&
26331 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26332 : (!TARGET_64BIT && reload_completed))
26333 : return gen_split_1021 (insn, operands);
26334 : if (general_reg_operand (operands[0], E_V2SFmode)
26335 : && memory_operand (operands[1], E_V2SFmode)
26336 : && (
26337 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26338 : (reload_completed
26339 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26340 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26341 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26342 : (TARGET_64BIT)))
26343 : return gen_split_1052 (insn, operands);
26344 : break;
26345 :
26346 : case E_V4HFmode:
26347 : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
26348 : && nonimmediate_gr_operand (operands[1], E_V4HFmode)
26349 : &&
26350 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26351 : (!TARGET_64BIT && reload_completed))
26352 : return gen_split_1022 (insn, operands);
26353 : if (general_reg_operand (operands[0], E_V4HFmode)
26354 : && memory_operand (operands[1], E_V4HFmode)
26355 : && (
26356 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26357 : (reload_completed
26358 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26359 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26360 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26361 : (TARGET_64BIT)))
26362 : return gen_split_1049 (insn, operands);
26363 : break;
26364 :
26365 : case E_V4BFmode:
26366 : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
26367 : && nonimmediate_gr_operand (operands[1], E_V4BFmode)
26368 : &&
26369 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26370 : (!TARGET_64BIT && reload_completed))
26371 : return gen_split_1023 (insn, operands);
26372 : if (general_reg_operand (operands[0], E_V4BFmode)
26373 : && memory_operand (operands[1], E_V4BFmode)
26374 : && (
26375 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26376 : (reload_completed
26377 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26378 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
26379 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26380 : (TARGET_64BIT)))
26381 : return gen_split_1050 (insn, operands);
26382 : break;
26383 :
26384 : case E_V4QImode:
26385 : if (push_operand (operands[0], E_V4QImode)
26386 : && sse_reg_operand (operands[1], E_V4QImode))
26387 : {
26388 : if ((
26389 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26390 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26391 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26392 : (Pmode == SImode)))
26393 : return gen_split_1031 (insn, operands);
26394 : if ((
26395 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26396 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26397 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26398 : (Pmode == DImode)))
26399 : return gen_split_1036 (insn, operands);
26400 : }
26401 : if (general_reg_operand (operands[0], E_V4QImode)
26402 : && memory_operand (operands[1], E_V4QImode)
26403 : &&
26404 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26405 : (reload_completed
26406 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26407 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26408 : return gen_split_1042 (insn, operands);
26409 : break;
26410 :
26411 : case E_V2HImode:
26412 : if (push_operand (operands[0], E_V2HImode)
26413 : && sse_reg_operand (operands[1], E_V2HImode))
26414 : {
26415 : if ((
26416 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26417 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26418 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26419 : (Pmode == SImode)))
26420 : return gen_split_1032 (insn, operands);
26421 : if ((
26422 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26423 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26424 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26425 : (Pmode == DImode)))
26426 : return gen_split_1037 (insn, operands);
26427 : }
26428 : if (general_reg_operand (operands[0], E_V2HImode)
26429 : && memory_operand (operands[1], E_V2HImode)
26430 : &&
26431 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26432 : (reload_completed
26433 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26434 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26435 : return gen_split_1043 (insn, operands);
26436 : break;
26437 :
26438 : case E_V1SImode:
26439 : if (push_operand (operands[0], E_V1SImode)
26440 : && sse_reg_operand (operands[1], E_V1SImode))
26441 : {
26442 : if ((
26443 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26444 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26445 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26446 : (Pmode == SImode)))
26447 : return gen_split_1033 (insn, operands);
26448 : if ((
26449 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26450 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26451 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26452 : (Pmode == DImode)))
26453 : return gen_split_1038 (insn, operands);
26454 : }
26455 : if (general_reg_operand (operands[0], E_V1SImode)
26456 : && memory_operand (operands[1], E_V1SImode)
26457 : &&
26458 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26459 : (reload_completed
26460 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26461 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26462 : return gen_split_1044 (insn, operands);
26463 : break;
26464 :
26465 : case E_V2HFmode:
26466 : if (push_operand (operands[0], E_V2HFmode)
26467 : && sse_reg_operand (operands[1], E_V2HFmode))
26468 : {
26469 : if ((
26470 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26471 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26472 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26473 : (Pmode == SImode)))
26474 : return gen_split_1034 (insn, operands);
26475 : if ((
26476 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26477 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26478 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26479 : (Pmode == DImode)))
26480 : return gen_split_1039 (insn, operands);
26481 : }
26482 : if (general_reg_operand (operands[0], E_V2HFmode)
26483 : && memory_operand (operands[1], E_V2HFmode)
26484 : &&
26485 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26486 : (reload_completed
26487 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26488 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26489 : return gen_split_1045 (insn, operands);
26490 : break;
26491 :
26492 : case E_V2BFmode:
26493 : if (push_operand (operands[0], E_V2BFmode)
26494 : && sse_reg_operand (operands[1], E_V2BFmode))
26495 : {
26496 : if ((
26497 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26498 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26499 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26500 : (Pmode == SImode)))
26501 : return gen_split_1035 (insn, operands);
26502 : if ((
26503 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26504 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26505 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26506 : (Pmode == DImode)))
26507 : return gen_split_1040 (insn, operands);
26508 : }
26509 : if (general_reg_operand (operands[0], E_V2BFmode)
26510 : && memory_operand (operands[1], E_V2BFmode)
26511 : &&
26512 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26513 : (reload_completed
26514 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26515 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26516 : return gen_split_1046 (insn, operands);
26517 : break;
26518 :
26519 : case E_V2QImode:
26520 : if (general_reg_operand (operands[0], E_V2QImode)
26521 : && memory_operand (operands[1], E_V2QImode)
26522 : &&
26523 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26524 : (reload_completed
26525 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26526 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26527 : return gen_split_1041 (insn, operands);
26528 : if (push_operand (operands[0], E_V2QImode)
26529 : && sse_reg_operand (operands[1], E_V2QImode))
26530 : {
26531 : if ((
26532 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26533 : (TARGET_SSE4_1 && reload_completed) &&
26534 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26535 : (Pmode == SImode)))
26536 : return gen_split_1067 (insn, operands);
26537 : if ((
26538 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26539 : (TARGET_SSE4_1 && reload_completed) &&
26540 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26541 : (Pmode == DImode)))
26542 : return gen_split_1068 (insn, operands);
26543 : }
26544 : break;
26545 :
26546 : case E_P2QImode:
26547 : if (nonimmediate_operand (operands[0], E_P2QImode)
26548 : && nonimmediate_operand (operands[1], E_P2QImode)
26549 : && (
26550 : #line 31661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26551 : (TARGET_AVX512VP2INTERSECT
26552 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26553 : #line 31664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26554 : ( reload_completed)))
26555 : return gen_split_3926 (insn, operands);
26556 : break;
26557 :
26558 : case E_P2HImode:
26559 : if (nonimmediate_operand (operands[0], E_P2HImode)
26560 : && nonimmediate_operand (operands[1], E_P2HImode)
26561 : && (
26562 : #line 31661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26563 : (TARGET_AVX512VP2INTERSECT
26564 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26565 : #line 31664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26566 : ( reload_completed)))
26567 : return gen_split_3927 (insn, operands);
26568 : break;
26569 :
26570 : default:
26571 : break;
26572 : }
26573 : if (GET_CODE (x2) != SUBREG)
26574 : return NULL;
26575 : operands[0] = x3;
26576 : switch (SUBREG_BYTE (x2))
26577 : {
26578 : case 8:
26579 : if (GET_MODE (x2) != E_DFmode
26580 : || !register_operand (operands[0], E_DFmode))
26581 : return NULL;
26582 : x4 = XEXP (x2, 0);
26583 : operands[1] = x4;
26584 : if (!register_operand (operands[1], E_V2DFmode)
26585 : || !
26586 : #line 14964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26587 : (TARGET_SSE))
26588 : return NULL;
26589 : return gen_split_3254 (insn, operands);
26590 :
26591 : case 0:
26592 : x4 = XEXP (x2, 0);
26593 : switch (GET_CODE (x4))
26594 : {
26595 : case REG:
26596 : case SUBREG:
26597 : operands[1] = x4;
26598 : switch (GET_MODE (operands[0]))
26599 : {
26600 : case E_DFmode:
26601 : if (!register_operand (operands[0], E_DFmode)
26602 : || GET_MODE (x2) != E_DFmode
26603 : || !register_operand (operands[1], E_V2DFmode)
26604 : || !
26605 : #line 15017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26606 : (TARGET_SSE))
26607 : return NULL;
26608 : return gen_split_3256 (insn, operands);
26609 :
26610 : case E_SImode:
26611 : if (!nonimmediate_operand (operands[0], E_SImode)
26612 : || GET_MODE (x2) != E_SImode
26613 : || !register_operand (operands[1], E_VOIDmode)
26614 : || !
26615 : #line 21789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26616 : (can_create_pseudo_p ()
26617 : && REG_P (operands[1])
26618 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26619 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26620 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26621 : || (TARGET_AVX512F
26622 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26623 : && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26624 : return NULL;
26625 : return gen_split_3490 (insn, operands);
26626 :
26627 : case E_DImode:
26628 : if (!nonimmediate_operand (operands[0], E_DImode)
26629 : || GET_MODE (x2) != E_DImode
26630 : || !register_operand (operands[1], E_VOIDmode)
26631 : || !
26632 : #line 21789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26633 : (can_create_pseudo_p ()
26634 : && REG_P (operands[1])
26635 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26636 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26637 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26638 : || (TARGET_AVX512F
26639 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26640 : && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26641 : return NULL;
26642 : return gen_split_3491 (insn, operands);
26643 :
26644 : default:
26645 : return NULL;
26646 : }
26647 :
26648 : case SS_TRUNCATE:
26649 : switch (pattern731 (x2))
26650 : {
26651 : case 0:
26652 : if (!(
26653 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26654 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26655 : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26656 : ( 1)))
26657 : return NULL;
26658 : return gen_split_3268 (insn, operands);
26659 :
26660 : case 1:
26661 : if (!(
26662 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26663 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26664 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26665 : ( 1)))
26666 : return NULL;
26667 : return gen_split_3271 (insn, operands);
26668 :
26669 : case 2:
26670 : if (!(
26671 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26672 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26673 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26674 : ( 1)))
26675 : return NULL;
26676 : return gen_split_3274 (insn, operands);
26677 :
26678 : case 3:
26679 : if (!(
26680 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26681 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26682 : #line 16185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26683 : ( 1)))
26684 : return NULL;
26685 : return gen_split_3290 (insn, operands);
26686 :
26687 : case 4:
26688 : if (!((
26689 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26690 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26691 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26692 : (TARGET_AVX512BW)) &&
26693 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26694 : ( 1)))
26695 : return NULL;
26696 : return gen_split_3277 (insn, operands);
26697 :
26698 : case 5:
26699 : if (!(
26700 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26701 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26702 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26703 : ( 1)))
26704 : return NULL;
26705 : return gen_split_3280 (insn, operands);
26706 :
26707 : case 6:
26708 : if (!(
26709 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26710 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26711 : #line 16448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26712 : ( 1)))
26713 : return NULL;
26714 : return gen_split_3297 (insn, operands);
26715 :
26716 : case 7:
26717 : if (!(
26718 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26719 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26720 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26721 : ( 1)))
26722 : return NULL;
26723 : return gen_split_3284 (insn, operands);
26724 :
26725 : case 8:
26726 : if (!(
26727 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26728 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26729 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26730 : ( 1)))
26731 : return NULL;
26732 : return gen_split_3287 (insn, operands);
26733 :
26734 : case 9:
26735 : if (!(
26736 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26737 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26738 : #line 16335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26739 : ( 1)))
26740 : return NULL;
26741 : return gen_split_3294 (insn, operands);
26742 :
26743 : default:
26744 : return NULL;
26745 : }
26746 :
26747 : case TRUNCATE:
26748 : switch (pattern731 (x2))
26749 : {
26750 : case 0:
26751 : if (!(
26752 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26753 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26754 : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26755 : ( 1)))
26756 : return NULL;
26757 : return gen_split_3269 (insn, operands);
26758 :
26759 : case 1:
26760 : if (!(
26761 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26762 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26763 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26764 : ( 1)))
26765 : return NULL;
26766 : return gen_split_3272 (insn, operands);
26767 :
26768 : case 2:
26769 : if (!(
26770 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26771 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26772 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26773 : ( 1)))
26774 : return NULL;
26775 : return gen_split_3275 (insn, operands);
26776 :
26777 : case 3:
26778 : if (!(
26779 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26780 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26781 : #line 16185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26782 : ( 1)))
26783 : return NULL;
26784 : return gen_split_3291 (insn, operands);
26785 :
26786 : case 4:
26787 : if (!((
26788 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26789 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26790 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26791 : (TARGET_AVX512BW)) &&
26792 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26793 : ( 1)))
26794 : return NULL;
26795 : return gen_split_3278 (insn, operands);
26796 :
26797 : case 5:
26798 : if (!(
26799 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26800 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26801 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26802 : ( 1)))
26803 : return NULL;
26804 : return gen_split_3281 (insn, operands);
26805 :
26806 : case 6:
26807 : if (!(
26808 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26809 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26810 : #line 16448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26811 : ( 1)))
26812 : return NULL;
26813 : return gen_split_3298 (insn, operands);
26814 :
26815 : case 7:
26816 : if (!(
26817 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26818 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26819 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26820 : ( 1)))
26821 : return NULL;
26822 : return gen_split_3285 (insn, operands);
26823 :
26824 : case 8:
26825 : if (!(
26826 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26827 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26828 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26829 : ( 1)))
26830 : return NULL;
26831 : return gen_split_3288 (insn, operands);
26832 :
26833 : case 9:
26834 : if (!(
26835 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26836 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26837 : #line 16335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26838 : ( 1)))
26839 : return NULL;
26840 : return gen_split_3295 (insn, operands);
26841 :
26842 : default:
26843 : return NULL;
26844 : }
26845 :
26846 : case US_TRUNCATE:
26847 : switch (pattern731 (x2))
26848 : {
26849 : case 0:
26850 : if (!(
26851 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26852 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26853 : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26854 : ( 1)))
26855 : return NULL;
26856 : return gen_split_3270 (insn, operands);
26857 :
26858 : case 1:
26859 : if (!(
26860 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26861 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26862 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26863 : ( 1)))
26864 : return NULL;
26865 : return gen_split_3273 (insn, operands);
26866 :
26867 : case 2:
26868 : if (!(
26869 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26870 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26871 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26872 : ( 1)))
26873 : return NULL;
26874 : return gen_split_3276 (insn, operands);
26875 :
26876 : case 3:
26877 : if (!(
26878 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26879 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26880 : #line 16185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26881 : ( 1)))
26882 : return NULL;
26883 : return gen_split_3292 (insn, operands);
26884 :
26885 : case 4:
26886 : if (!((
26887 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26888 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26889 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26890 : (TARGET_AVX512BW)) &&
26891 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26892 : ( 1)))
26893 : return NULL;
26894 : return gen_split_3279 (insn, operands);
26895 :
26896 : case 5:
26897 : if (!(
26898 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26899 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26900 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26901 : ( 1)))
26902 : return NULL;
26903 : return gen_split_3282 (insn, operands);
26904 :
26905 : case 6:
26906 : if (!(
26907 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26908 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26909 : #line 16448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26910 : ( 1)))
26911 : return NULL;
26912 : return gen_split_3299 (insn, operands);
26913 :
26914 : case 7:
26915 : if (!(
26916 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26917 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26918 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26919 : ( 1)))
26920 : return NULL;
26921 : return gen_split_3286 (insn, operands);
26922 :
26923 : case 8:
26924 : if (!(
26925 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26926 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26927 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26928 : ( 1)))
26929 : return NULL;
26930 : return gen_split_3289 (insn, operands);
26931 :
26932 : case 9:
26933 : if (!(
26934 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26935 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26936 : #line 16335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26937 : ( 1)))
26938 : return NULL;
26939 : return gen_split_3296 (insn, operands);
26940 :
26941 : default:
26942 : return NULL;
26943 : }
26944 :
26945 : default:
26946 : return NULL;
26947 : }
26948 :
26949 : default:
26950 : return NULL;
26951 : }
26952 : }
26953 :
26954 : rtx_insn *
26955 : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26956 : {
26957 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26958 : rtx x2, x3, x4;
26959 : rtx_insn *res ATTRIBUTE_UNUSED;
26960 : x2 = XEXP (x1, 1);
26961 : x3 = XEXP (x2, 0);
26962 : x4 = XEXP (x3, 0);
26963 : switch (GET_CODE (x4))
26964 : {
26965 : case REG:
26966 : case SUBREG:
26967 : case MEM:
26968 : case NOT:
26969 : switch (pattern535 (x2))
26970 : {
26971 : case 0:
26972 : if (!((
26973 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26974 : ((64 == 64 || TARGET_AVX512VL
26975 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26976 : && ix86_pre_reload_split ()
26977 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26978 : STRIP_UNARY (operands[4]))
26979 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26980 : STRIP_UNARY (operands[4]))
26981 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26982 : STRIP_UNARY (operands[3]))
26983 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26984 : STRIP_UNARY (operands[3])))) &&
26985 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26986 : (TARGET_AVX512F)) &&
26987 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26988 : ( 1)))
26989 : return NULL;
26990 : return gen_split_1741 (insn, operands);
26991 :
26992 : case 1:
26993 : if (!((
26994 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26995 : ((32 == 64 || TARGET_AVX512VL
26996 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26997 : && ix86_pre_reload_split ()
26998 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26999 : STRIP_UNARY (operands[4]))
27000 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27001 : STRIP_UNARY (operands[4]))
27002 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27003 : STRIP_UNARY (operands[3]))
27004 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27005 : STRIP_UNARY (operands[3])))) &&
27006 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27007 : (TARGET_AVX)) &&
27008 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27009 : ( 1)))
27010 : return NULL;
27011 : return gen_split_1768 (insn, operands);
27012 :
27013 : case 2:
27014 : if (!(
27015 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27016 : ((16 == 64 || TARGET_AVX512VL
27017 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27018 : && ix86_pre_reload_split ()
27019 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27020 : STRIP_UNARY (operands[4]))
27021 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27022 : STRIP_UNARY (operands[4]))
27023 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27024 : STRIP_UNARY (operands[3]))
27025 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27026 : STRIP_UNARY (operands[3])))) &&
27027 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27028 : ( 1)))
27029 : return NULL;
27030 : return gen_split_1795 (insn, operands);
27031 :
27032 : case 3:
27033 : if (!((
27034 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27035 : ((64 == 64 || TARGET_AVX512VL
27036 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27037 : && ix86_pre_reload_split ()
27038 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27039 : STRIP_UNARY (operands[4]))
27040 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27041 : STRIP_UNARY (operands[4]))
27042 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27043 : STRIP_UNARY (operands[3]))
27044 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27045 : STRIP_UNARY (operands[3])))) &&
27046 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27047 : (TARGET_AVX512F)) &&
27048 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27049 : ( 1)))
27050 : return NULL;
27051 : return gen_split_1822 (insn, operands);
27052 :
27053 : case 4:
27054 : if (!((
27055 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27056 : ((32 == 64 || TARGET_AVX512VL
27057 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27058 : && ix86_pre_reload_split ()
27059 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27060 : STRIP_UNARY (operands[4]))
27061 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27062 : STRIP_UNARY (operands[4]))
27063 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27064 : STRIP_UNARY (operands[3]))
27065 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27066 : STRIP_UNARY (operands[3])))) &&
27067 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27068 : (TARGET_AVX)) &&
27069 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27070 : ( 1)))
27071 : return NULL;
27072 : return gen_split_1849 (insn, operands);
27073 :
27074 : case 5:
27075 : if (!(
27076 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27077 : ((16 == 64 || TARGET_AVX512VL
27078 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27079 : && ix86_pre_reload_split ()
27080 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27081 : STRIP_UNARY (operands[4]))
27082 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27083 : STRIP_UNARY (operands[4]))
27084 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27085 : STRIP_UNARY (operands[3]))
27086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27087 : STRIP_UNARY (operands[3])))) &&
27088 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27089 : ( 1)))
27090 : return NULL;
27091 : return gen_split_1876 (insn, operands);
27092 :
27093 : case 6:
27094 : if (!((
27095 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27096 : ((64 == 64 || TARGET_AVX512VL
27097 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27098 : && ix86_pre_reload_split ()
27099 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27100 : STRIP_UNARY (operands[4]))
27101 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27102 : STRIP_UNARY (operands[4]))
27103 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27104 : STRIP_UNARY (operands[3]))
27105 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27106 : STRIP_UNARY (operands[3])))) &&
27107 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27108 : (TARGET_AVX512F)) &&
27109 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27110 : ( 1)))
27111 : return NULL;
27112 : return gen_split_1903 (insn, operands);
27113 :
27114 : case 7:
27115 : if (!((
27116 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27117 : ((32 == 64 || TARGET_AVX512VL
27118 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27119 : && ix86_pre_reload_split ()
27120 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27121 : STRIP_UNARY (operands[4]))
27122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27123 : STRIP_UNARY (operands[4]))
27124 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27125 : STRIP_UNARY (operands[3]))
27126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27127 : STRIP_UNARY (operands[3])))) &&
27128 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27129 : (TARGET_AVX)) &&
27130 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27131 : ( 1)))
27132 : return NULL;
27133 : return gen_split_1930 (insn, operands);
27134 :
27135 : case 8:
27136 : if (!(
27137 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27138 : ((16 == 64 || TARGET_AVX512VL
27139 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27140 : && ix86_pre_reload_split ()
27141 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27142 : STRIP_UNARY (operands[4]))
27143 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27144 : STRIP_UNARY (operands[4]))
27145 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27146 : STRIP_UNARY (operands[3]))
27147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27148 : STRIP_UNARY (operands[3])))) &&
27149 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27150 : ( 1)))
27151 : return NULL;
27152 : return gen_split_1957 (insn, operands);
27153 :
27154 : case 9:
27155 : if (!((
27156 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27157 : ((64 == 64 || TARGET_AVX512VL
27158 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27159 : && ix86_pre_reload_split ()
27160 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27161 : STRIP_UNARY (operands[4]))
27162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27163 : STRIP_UNARY (operands[4]))
27164 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27165 : STRIP_UNARY (operands[3]))
27166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27167 : STRIP_UNARY (operands[3])))) &&
27168 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27169 : (TARGET_AVX512F)) &&
27170 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27171 : ( 1)))
27172 : return NULL;
27173 : return gen_split_1984 (insn, operands);
27174 :
27175 : case 10:
27176 : if (!((
27177 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27178 : ((32 == 64 || TARGET_AVX512VL
27179 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27180 : && ix86_pre_reload_split ()
27181 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27182 : STRIP_UNARY (operands[4]))
27183 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27184 : STRIP_UNARY (operands[4]))
27185 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27186 : STRIP_UNARY (operands[3]))
27187 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27188 : STRIP_UNARY (operands[3])))) &&
27189 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27190 : (TARGET_AVX)) &&
27191 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27192 : ( 1)))
27193 : return NULL;
27194 : return gen_split_2011 (insn, operands);
27195 :
27196 : case 11:
27197 : if (!(
27198 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27199 : ((16 == 64 || TARGET_AVX512VL
27200 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27201 : && ix86_pre_reload_split ()
27202 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27203 : STRIP_UNARY (operands[4]))
27204 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27205 : STRIP_UNARY (operands[4]))
27206 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27207 : STRIP_UNARY (operands[3]))
27208 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27209 : STRIP_UNARY (operands[3])))) &&
27210 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27211 : ( 1)))
27212 : return NULL;
27213 : return gen_split_2038 (insn, operands);
27214 :
27215 : case 12:
27216 : if (!((
27217 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27218 : ((64 == 64 || TARGET_AVX512VL
27219 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27220 : && ix86_pre_reload_split ()
27221 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27222 : STRIP_UNARY (operands[4]))
27223 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27224 : STRIP_UNARY (operands[4]))
27225 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27226 : STRIP_UNARY (operands[3]))
27227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27228 : STRIP_UNARY (operands[3])))) &&
27229 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27230 : (TARGET_AVX512F)) &&
27231 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27232 : ( 1)))
27233 : return NULL;
27234 : return gen_split_1744 (insn, operands);
27235 :
27236 : case 13:
27237 : if (!((
27238 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27239 : ((32 == 64 || TARGET_AVX512VL
27240 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27241 : && ix86_pre_reload_split ()
27242 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27243 : STRIP_UNARY (operands[4]))
27244 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27245 : STRIP_UNARY (operands[4]))
27246 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27247 : STRIP_UNARY (operands[3]))
27248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27249 : STRIP_UNARY (operands[3])))) &&
27250 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27251 : (TARGET_AVX)) &&
27252 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27253 : ( 1)))
27254 : return NULL;
27255 : return gen_split_1771 (insn, operands);
27256 :
27257 : case 14:
27258 : if (!(
27259 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27260 : ((16 == 64 || TARGET_AVX512VL
27261 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27262 : && ix86_pre_reload_split ()
27263 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27264 : STRIP_UNARY (operands[4]))
27265 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27266 : STRIP_UNARY (operands[4]))
27267 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27268 : STRIP_UNARY (operands[3]))
27269 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27270 : STRIP_UNARY (operands[3])))) &&
27271 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27272 : ( 1)))
27273 : return NULL;
27274 : return gen_split_1798 (insn, operands);
27275 :
27276 : case 15:
27277 : if (!((
27278 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27279 : ((64 == 64 || TARGET_AVX512VL
27280 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27281 : && ix86_pre_reload_split ()
27282 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27283 : STRIP_UNARY (operands[4]))
27284 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27285 : STRIP_UNARY (operands[4]))
27286 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27287 : STRIP_UNARY (operands[3]))
27288 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27289 : STRIP_UNARY (operands[3])))) &&
27290 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27291 : (TARGET_AVX512F)) &&
27292 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27293 : ( 1)))
27294 : return NULL;
27295 : return gen_split_1825 (insn, operands);
27296 :
27297 : case 16:
27298 : if (!((
27299 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27300 : ((32 == 64 || TARGET_AVX512VL
27301 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27302 : && ix86_pre_reload_split ()
27303 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27304 : STRIP_UNARY (operands[4]))
27305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27306 : STRIP_UNARY (operands[4]))
27307 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27308 : STRIP_UNARY (operands[3]))
27309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27310 : STRIP_UNARY (operands[3])))) &&
27311 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27312 : (TARGET_AVX)) &&
27313 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27314 : ( 1)))
27315 : return NULL;
27316 : return gen_split_1852 (insn, operands);
27317 :
27318 : case 17:
27319 : if (!(
27320 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27321 : ((16 == 64 || TARGET_AVX512VL
27322 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27323 : && ix86_pre_reload_split ()
27324 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27325 : STRIP_UNARY (operands[4]))
27326 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27327 : STRIP_UNARY (operands[4]))
27328 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27329 : STRIP_UNARY (operands[3]))
27330 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27331 : STRIP_UNARY (operands[3])))) &&
27332 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27333 : ( 1)))
27334 : return NULL;
27335 : return gen_split_1879 (insn, operands);
27336 :
27337 : case 18:
27338 : if (!((
27339 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27340 : ((64 == 64 || TARGET_AVX512VL
27341 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27342 : && ix86_pre_reload_split ()
27343 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27344 : STRIP_UNARY (operands[4]))
27345 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27346 : STRIP_UNARY (operands[4]))
27347 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27348 : STRIP_UNARY (operands[3]))
27349 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27350 : STRIP_UNARY (operands[3])))) &&
27351 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27352 : (TARGET_AVX512F)) &&
27353 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27354 : ( 1)))
27355 : return NULL;
27356 : return gen_split_1906 (insn, operands);
27357 :
27358 : case 19:
27359 : if (!((
27360 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27361 : ((32 == 64 || TARGET_AVX512VL
27362 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27363 : && ix86_pre_reload_split ()
27364 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27365 : STRIP_UNARY (operands[4]))
27366 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27367 : STRIP_UNARY (operands[4]))
27368 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27369 : STRIP_UNARY (operands[3]))
27370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27371 : STRIP_UNARY (operands[3])))) &&
27372 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27373 : (TARGET_AVX)) &&
27374 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27375 : ( 1)))
27376 : return NULL;
27377 : return gen_split_1933 (insn, operands);
27378 :
27379 : case 20:
27380 : if (!(
27381 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27382 : ((16 == 64 || TARGET_AVX512VL
27383 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27384 : && ix86_pre_reload_split ()
27385 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27386 : STRIP_UNARY (operands[4]))
27387 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27388 : STRIP_UNARY (operands[4]))
27389 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27390 : STRIP_UNARY (operands[3]))
27391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27392 : STRIP_UNARY (operands[3])))) &&
27393 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27394 : ( 1)))
27395 : return NULL;
27396 : return gen_split_1960 (insn, operands);
27397 :
27398 : case 21:
27399 : if (!((
27400 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27401 : ((64 == 64 || TARGET_AVX512VL
27402 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27403 : && ix86_pre_reload_split ()
27404 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27405 : STRIP_UNARY (operands[4]))
27406 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27407 : STRIP_UNARY (operands[4]))
27408 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27409 : STRIP_UNARY (operands[3]))
27410 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27411 : STRIP_UNARY (operands[3])))) &&
27412 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27413 : (TARGET_AVX512F)) &&
27414 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27415 : ( 1)))
27416 : return NULL;
27417 : return gen_split_1987 (insn, operands);
27418 :
27419 : case 22:
27420 : if (!((
27421 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27422 : ((32 == 64 || TARGET_AVX512VL
27423 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27424 : && ix86_pre_reload_split ()
27425 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27426 : STRIP_UNARY (operands[4]))
27427 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27428 : STRIP_UNARY (operands[4]))
27429 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27430 : STRIP_UNARY (operands[3]))
27431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27432 : STRIP_UNARY (operands[3])))) &&
27433 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27434 : (TARGET_AVX)) &&
27435 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27436 : ( 1)))
27437 : return NULL;
27438 : return gen_split_2014 (insn, operands);
27439 :
27440 : case 23:
27441 : if (!(
27442 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27443 : ((16 == 64 || TARGET_AVX512VL
27444 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27445 : && ix86_pre_reload_split ()
27446 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27447 : STRIP_UNARY (operands[4]))
27448 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27449 : STRIP_UNARY (operands[4]))
27450 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27451 : STRIP_UNARY (operands[3]))
27452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27453 : STRIP_UNARY (operands[3])))) &&
27454 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27455 : ( 1)))
27456 : return NULL;
27457 : return gen_split_2041 (insn, operands);
27458 :
27459 : case 24:
27460 : if (!((
27461 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27462 : ((64 == 64 || TARGET_AVX512VL
27463 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27464 : && ix86_pre_reload_split ()
27465 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27466 : STRIP_UNARY (operands[4]))
27467 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27468 : STRIP_UNARY (operands[4]))
27469 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27470 : STRIP_UNARY (operands[3]))
27471 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27472 : STRIP_UNARY (operands[3])))) &&
27473 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27474 : (TARGET_AVX512F)) &&
27475 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27476 : ( 1)))
27477 : return NULL;
27478 : return gen_split_1747 (insn, operands);
27479 :
27480 : case 25:
27481 : if (!((
27482 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27483 : ((32 == 64 || TARGET_AVX512VL
27484 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27485 : && ix86_pre_reload_split ()
27486 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27487 : STRIP_UNARY (operands[4]))
27488 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27489 : STRIP_UNARY (operands[4]))
27490 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27491 : STRIP_UNARY (operands[3]))
27492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27493 : STRIP_UNARY (operands[3])))) &&
27494 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27495 : (TARGET_AVX)) &&
27496 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27497 : ( 1)))
27498 : return NULL;
27499 : return gen_split_1774 (insn, operands);
27500 :
27501 : case 26:
27502 : if (!(
27503 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27504 : ((16 == 64 || TARGET_AVX512VL
27505 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27506 : && ix86_pre_reload_split ()
27507 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27508 : STRIP_UNARY (operands[4]))
27509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27510 : STRIP_UNARY (operands[4]))
27511 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27512 : STRIP_UNARY (operands[3]))
27513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27514 : STRIP_UNARY (operands[3])))) &&
27515 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27516 : ( 1)))
27517 : return NULL;
27518 : return gen_split_1801 (insn, operands);
27519 :
27520 : case 27:
27521 : if (!((
27522 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27523 : ((64 == 64 || TARGET_AVX512VL
27524 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27525 : && ix86_pre_reload_split ()
27526 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27527 : STRIP_UNARY (operands[4]))
27528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27529 : STRIP_UNARY (operands[4]))
27530 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27531 : STRIP_UNARY (operands[3]))
27532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27533 : STRIP_UNARY (operands[3])))) &&
27534 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27535 : (TARGET_AVX512F)) &&
27536 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27537 : ( 1)))
27538 : return NULL;
27539 : return gen_split_1828 (insn, operands);
27540 :
27541 : case 28:
27542 : if (!((
27543 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27544 : ((32 == 64 || TARGET_AVX512VL
27545 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27546 : && ix86_pre_reload_split ()
27547 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27548 : STRIP_UNARY (operands[4]))
27549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27550 : STRIP_UNARY (operands[4]))
27551 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27552 : STRIP_UNARY (operands[3]))
27553 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27554 : STRIP_UNARY (operands[3])))) &&
27555 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27556 : (TARGET_AVX)) &&
27557 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27558 : ( 1)))
27559 : return NULL;
27560 : return gen_split_1855 (insn, operands);
27561 :
27562 : case 29:
27563 : if (!(
27564 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27565 : ((16 == 64 || TARGET_AVX512VL
27566 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27567 : && ix86_pre_reload_split ()
27568 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27569 : STRIP_UNARY (operands[4]))
27570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27571 : STRIP_UNARY (operands[4]))
27572 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27573 : STRIP_UNARY (operands[3]))
27574 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27575 : STRIP_UNARY (operands[3])))) &&
27576 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27577 : ( 1)))
27578 : return NULL;
27579 : return gen_split_1882 (insn, operands);
27580 :
27581 : case 30:
27582 : if (!((
27583 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27584 : ((64 == 64 || TARGET_AVX512VL
27585 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27586 : && ix86_pre_reload_split ()
27587 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27588 : STRIP_UNARY (operands[4]))
27589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27590 : STRIP_UNARY (operands[4]))
27591 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27592 : STRIP_UNARY (operands[3]))
27593 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27594 : STRIP_UNARY (operands[3])))) &&
27595 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27596 : (TARGET_AVX512F)) &&
27597 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27598 : ( 1)))
27599 : return NULL;
27600 : return gen_split_1909 (insn, operands);
27601 :
27602 : case 31:
27603 : if (!((
27604 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27605 : ((32 == 64 || TARGET_AVX512VL
27606 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27607 : && ix86_pre_reload_split ()
27608 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27609 : STRIP_UNARY (operands[4]))
27610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27611 : STRIP_UNARY (operands[4]))
27612 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27613 : STRIP_UNARY (operands[3]))
27614 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27615 : STRIP_UNARY (operands[3])))) &&
27616 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27617 : (TARGET_AVX)) &&
27618 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27619 : ( 1)))
27620 : return NULL;
27621 : return gen_split_1936 (insn, operands);
27622 :
27623 : case 32:
27624 : if (!(
27625 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27626 : ((16 == 64 || TARGET_AVX512VL
27627 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27628 : && ix86_pre_reload_split ()
27629 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27630 : STRIP_UNARY (operands[4]))
27631 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27632 : STRIP_UNARY (operands[4]))
27633 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27634 : STRIP_UNARY (operands[3]))
27635 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27636 : STRIP_UNARY (operands[3])))) &&
27637 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27638 : ( 1)))
27639 : return NULL;
27640 : return gen_split_1963 (insn, operands);
27641 :
27642 : case 33:
27643 : if (!((
27644 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27645 : ((64 == 64 || TARGET_AVX512VL
27646 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27647 : && ix86_pre_reload_split ()
27648 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27649 : STRIP_UNARY (operands[4]))
27650 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27651 : STRIP_UNARY (operands[4]))
27652 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27653 : STRIP_UNARY (operands[3]))
27654 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27655 : STRIP_UNARY (operands[3])))) &&
27656 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27657 : (TARGET_AVX512F)) &&
27658 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27659 : ( 1)))
27660 : return NULL;
27661 : return gen_split_1990 (insn, operands);
27662 :
27663 : case 34:
27664 : if (!((
27665 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27666 : ((32 == 64 || TARGET_AVX512VL
27667 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27668 : && ix86_pre_reload_split ()
27669 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27670 : STRIP_UNARY (operands[4]))
27671 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27672 : STRIP_UNARY (operands[4]))
27673 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27674 : STRIP_UNARY (operands[3]))
27675 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27676 : STRIP_UNARY (operands[3])))) &&
27677 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27678 : (TARGET_AVX)) &&
27679 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27680 : ( 1)))
27681 : return NULL;
27682 : return gen_split_2017 (insn, operands);
27683 :
27684 : case 35:
27685 : if (!(
27686 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27687 : ((16 == 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 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27699 : ( 1)))
27700 : return NULL;
27701 : return gen_split_2044 (insn, operands);
27702 :
27703 : case 36:
27704 : if (!((
27705 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27706 : ((64 == 64 || TARGET_AVX512VL
27707 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27708 : && ix86_pre_reload_split ()) &&
27709 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27710 : (TARGET_AVX512F)) &&
27711 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27712 : ( 1)))
27713 : return NULL;
27714 : return gen_split_3037 (insn, operands);
27715 :
27716 : case 37:
27717 : if (!((
27718 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27719 : ((32 == 64 || TARGET_AVX512VL
27720 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27721 : && ix86_pre_reload_split ()) &&
27722 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27723 : (TARGET_AVX)) &&
27724 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27725 : ( 1)))
27726 : return NULL;
27727 : return gen_split_3046 (insn, operands);
27728 :
27729 : case 38:
27730 : if (!(
27731 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27732 : ((16 == 64 || TARGET_AVX512VL
27733 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27734 : && ix86_pre_reload_split ()) &&
27735 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27736 : ( 1)))
27737 : return NULL;
27738 : return gen_split_3055 (insn, operands);
27739 :
27740 : case 39:
27741 : if (!((
27742 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27743 : ((64 == 64 || TARGET_AVX512VL
27744 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27745 : && ix86_pre_reload_split ()) &&
27746 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27747 : (TARGET_AVX512F)) &&
27748 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27749 : ( 1)))
27750 : return NULL;
27751 : return gen_split_3064 (insn, operands);
27752 :
27753 : case 40:
27754 : if (!((
27755 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27756 : ((32 == 64 || TARGET_AVX512VL
27757 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27758 : && ix86_pre_reload_split ()) &&
27759 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27760 : (TARGET_AVX)) &&
27761 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27762 : ( 1)))
27763 : return NULL;
27764 : return gen_split_3073 (insn, operands);
27765 :
27766 : case 41:
27767 : if (!(
27768 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27769 : ((16 == 64 || TARGET_AVX512VL
27770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27771 : && ix86_pre_reload_split ()) &&
27772 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27773 : ( 1)))
27774 : return NULL;
27775 : return gen_split_3082 (insn, operands);
27776 :
27777 : case 42:
27778 : if (!((
27779 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27780 : ((64 == 64 || TARGET_AVX512VL
27781 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27782 : && ix86_pre_reload_split ()) &&
27783 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27784 : (TARGET_AVX512F)) &&
27785 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27786 : ( 1)))
27787 : return NULL;
27788 : return gen_split_3091 (insn, operands);
27789 :
27790 : case 43:
27791 : if (!((
27792 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27793 : ((32 == 64 || TARGET_AVX512VL
27794 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27795 : && ix86_pre_reload_split ()) &&
27796 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27797 : (TARGET_AVX)) &&
27798 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27799 : ( 1)))
27800 : return NULL;
27801 : return gen_split_3100 (insn, operands);
27802 :
27803 : case 44:
27804 : if (!(
27805 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27806 : ((16 == 64 || TARGET_AVX512VL
27807 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27808 : && ix86_pre_reload_split ()) &&
27809 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27810 : ( 1)))
27811 : return NULL;
27812 : return gen_split_3109 (insn, operands);
27813 :
27814 : case 45:
27815 : if (!((
27816 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27817 : ((64 == 64 || TARGET_AVX512VL
27818 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27819 : && ix86_pre_reload_split ()) &&
27820 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27821 : (TARGET_AVX512F)) &&
27822 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27823 : ( 1)))
27824 : return NULL;
27825 : return gen_split_3118 (insn, operands);
27826 :
27827 : case 46:
27828 : if (!((
27829 : #line 14271 "/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 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27834 : (TARGET_AVX)) &&
27835 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27836 : ( 1)))
27837 : return NULL;
27838 : return gen_split_3127 (insn, operands);
27839 :
27840 : case 47:
27841 : if (!(
27842 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27843 : ((16 == 64 || TARGET_AVX512VL
27844 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27845 : && ix86_pre_reload_split ()) &&
27846 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27847 : ( 1)))
27848 : return NULL;
27849 : return gen_split_3136 (insn, operands);
27850 :
27851 : default:
27852 : return NULL;
27853 : }
27854 :
27855 : case AND:
27856 : switch (pattern537 (x2))
27857 : {
27858 : case 0:
27859 : if (!((
27860 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27861 : ((64 == 64 || TARGET_AVX512VL
27862 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27863 : && ix86_pre_reload_split ()
27864 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27865 : STRIP_UNARY (operands[4]))
27866 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27867 : STRIP_UNARY (operands[4]))
27868 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27869 : STRIP_UNARY (operands[3]))
27870 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27871 : STRIP_UNARY (operands[3])))) &&
27872 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27873 : (TARGET_AVX512F)) &&
27874 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27875 : ( 1)))
27876 : return NULL;
27877 : return gen_split_2389 (insn, operands);
27878 :
27879 : case 1:
27880 : if (!((
27881 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27882 : ((32 == 64 || TARGET_AVX512VL
27883 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27884 : && ix86_pre_reload_split ()
27885 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27886 : STRIP_UNARY (operands[4]))
27887 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27888 : STRIP_UNARY (operands[4]))
27889 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27890 : STRIP_UNARY (operands[3]))
27891 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27892 : STRIP_UNARY (operands[3])))) &&
27893 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27894 : (TARGET_AVX)) &&
27895 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27896 : ( 1)))
27897 : return NULL;
27898 : return gen_split_2416 (insn, operands);
27899 :
27900 : case 2:
27901 : if (!(
27902 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27903 : ((16 == 64 || TARGET_AVX512VL
27904 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27905 : && ix86_pre_reload_split ()
27906 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27907 : STRIP_UNARY (operands[4]))
27908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27909 : STRIP_UNARY (operands[4]))
27910 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27911 : STRIP_UNARY (operands[3]))
27912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27913 : STRIP_UNARY (operands[3])))) &&
27914 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27915 : ( 1)))
27916 : return NULL;
27917 : return gen_split_2443 (insn, operands);
27918 :
27919 : case 3:
27920 : if (!((
27921 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27922 : ((64 == 64 || TARGET_AVX512VL
27923 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27924 : && ix86_pre_reload_split ()
27925 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27926 : STRIP_UNARY (operands[4]))
27927 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27928 : STRIP_UNARY (operands[4]))
27929 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27930 : STRIP_UNARY (operands[3]))
27931 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27932 : STRIP_UNARY (operands[3])))) &&
27933 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27934 : (TARGET_AVX512F)) &&
27935 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27936 : ( 1)))
27937 : return NULL;
27938 : return gen_split_2470 (insn, operands);
27939 :
27940 : case 4:
27941 : if (!((
27942 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27943 : ((32 == 64 || TARGET_AVX512VL
27944 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27945 : && ix86_pre_reload_split ()
27946 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27947 : STRIP_UNARY (operands[4]))
27948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27949 : STRIP_UNARY (operands[4]))
27950 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27951 : STRIP_UNARY (operands[3]))
27952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27953 : STRIP_UNARY (operands[3])))) &&
27954 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27955 : (TARGET_AVX)) &&
27956 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27957 : ( 1)))
27958 : return NULL;
27959 : return gen_split_2497 (insn, operands);
27960 :
27961 : case 5:
27962 : if (!(
27963 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27964 : ((16 == 64 || TARGET_AVX512VL
27965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27966 : && ix86_pre_reload_split ()
27967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27968 : STRIP_UNARY (operands[4]))
27969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27970 : STRIP_UNARY (operands[4]))
27971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27972 : STRIP_UNARY (operands[3]))
27973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27974 : STRIP_UNARY (operands[3])))) &&
27975 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27976 : ( 1)))
27977 : return NULL;
27978 : return gen_split_2524 (insn, operands);
27979 :
27980 : case 6:
27981 : if (!((
27982 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27983 : ((64 == 64 || TARGET_AVX512VL
27984 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27985 : && ix86_pre_reload_split ()
27986 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27987 : STRIP_UNARY (operands[4]))
27988 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27989 : STRIP_UNARY (operands[4]))
27990 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27991 : STRIP_UNARY (operands[3]))
27992 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27993 : STRIP_UNARY (operands[3])))) &&
27994 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27995 : (TARGET_AVX512F)) &&
27996 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27997 : ( 1)))
27998 : return NULL;
27999 : return gen_split_2551 (insn, operands);
28000 :
28001 : case 7:
28002 : if (!((
28003 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28004 : ((32 == 64 || TARGET_AVX512VL
28005 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28006 : && ix86_pre_reload_split ()
28007 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28008 : STRIP_UNARY (operands[4]))
28009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28010 : STRIP_UNARY (operands[4]))
28011 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28012 : STRIP_UNARY (operands[3]))
28013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28014 : STRIP_UNARY (operands[3])))) &&
28015 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28016 : (TARGET_AVX)) &&
28017 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28018 : ( 1)))
28019 : return NULL;
28020 : return gen_split_2578 (insn, operands);
28021 :
28022 : case 8:
28023 : if (!(
28024 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28025 : ((16 == 64 || TARGET_AVX512VL
28026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28027 : && ix86_pre_reload_split ()
28028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28029 : STRIP_UNARY (operands[4]))
28030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28031 : STRIP_UNARY (operands[4]))
28032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28033 : STRIP_UNARY (operands[3]))
28034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28035 : STRIP_UNARY (operands[3])))) &&
28036 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28037 : ( 1)))
28038 : return NULL;
28039 : return gen_split_2605 (insn, operands);
28040 :
28041 : case 9:
28042 : if (!((
28043 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28044 : ((64 == 64 || TARGET_AVX512VL
28045 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28046 : && ix86_pre_reload_split ()
28047 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28048 : STRIP_UNARY (operands[4]))
28049 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28050 : STRIP_UNARY (operands[4]))
28051 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28052 : STRIP_UNARY (operands[3]))
28053 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28054 : STRIP_UNARY (operands[3])))) &&
28055 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28056 : (TARGET_AVX512F)) &&
28057 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28058 : ( 1)))
28059 : return NULL;
28060 : return gen_split_2632 (insn, operands);
28061 :
28062 : case 10:
28063 : if (!((
28064 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28065 : ((32 == 64 || TARGET_AVX512VL
28066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28067 : && ix86_pre_reload_split ()
28068 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28069 : STRIP_UNARY (operands[4]))
28070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28071 : STRIP_UNARY (operands[4]))
28072 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28073 : STRIP_UNARY (operands[3]))
28074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28075 : STRIP_UNARY (operands[3])))) &&
28076 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28077 : (TARGET_AVX)) &&
28078 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28079 : ( 1)))
28080 : return NULL;
28081 : return gen_split_2659 (insn, operands);
28082 :
28083 : case 11:
28084 : if (!(
28085 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28086 : ((16 == 64 || TARGET_AVX512VL
28087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28088 : && ix86_pre_reload_split ()
28089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28090 : STRIP_UNARY (operands[4]))
28091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28092 : STRIP_UNARY (operands[4]))
28093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28094 : STRIP_UNARY (operands[3]))
28095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28096 : STRIP_UNARY (operands[3])))) &&
28097 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28098 : ( 1)))
28099 : return NULL;
28100 : return gen_split_2686 (insn, operands);
28101 :
28102 : default:
28103 : return NULL;
28104 : }
28105 :
28106 : case IOR:
28107 : switch (pattern537 (x2))
28108 : {
28109 : case 0:
28110 : if (!((
28111 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28112 : ((64 == 64 || TARGET_AVX512VL
28113 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28114 : && ix86_pre_reload_split ()
28115 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28116 : STRIP_UNARY (operands[4]))
28117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28118 : STRIP_UNARY (operands[4]))
28119 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28120 : STRIP_UNARY (operands[3]))
28121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28122 : STRIP_UNARY (operands[3])))) &&
28123 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28124 : (TARGET_AVX512F)) &&
28125 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28126 : ( 1)))
28127 : return NULL;
28128 : return gen_split_2392 (insn, operands);
28129 :
28130 : case 1:
28131 : if (!((
28132 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28133 : ((32 == 64 || TARGET_AVX512VL
28134 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28135 : && ix86_pre_reload_split ()
28136 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28137 : STRIP_UNARY (operands[4]))
28138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28139 : STRIP_UNARY (operands[4]))
28140 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28141 : STRIP_UNARY (operands[3]))
28142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28143 : STRIP_UNARY (operands[3])))) &&
28144 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28145 : (TARGET_AVX)) &&
28146 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28147 : ( 1)))
28148 : return NULL;
28149 : return gen_split_2419 (insn, operands);
28150 :
28151 : case 2:
28152 : if (!(
28153 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28154 : ((16 == 64 || TARGET_AVX512VL
28155 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28156 : && ix86_pre_reload_split ()
28157 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28158 : STRIP_UNARY (operands[4]))
28159 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28160 : STRIP_UNARY (operands[4]))
28161 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28162 : STRIP_UNARY (operands[3]))
28163 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28164 : STRIP_UNARY (operands[3])))) &&
28165 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28166 : ( 1)))
28167 : return NULL;
28168 : return gen_split_2446 (insn, operands);
28169 :
28170 : case 3:
28171 : if (!((
28172 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28173 : ((64 == 64 || TARGET_AVX512VL
28174 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28175 : && ix86_pre_reload_split ()
28176 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28177 : STRIP_UNARY (operands[4]))
28178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28179 : STRIP_UNARY (operands[4]))
28180 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28181 : STRIP_UNARY (operands[3]))
28182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28183 : STRIP_UNARY (operands[3])))) &&
28184 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28185 : (TARGET_AVX512F)) &&
28186 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28187 : ( 1)))
28188 : return NULL;
28189 : return gen_split_2473 (insn, operands);
28190 :
28191 : case 4:
28192 : if (!((
28193 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28194 : ((32 == 64 || TARGET_AVX512VL
28195 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28196 : && ix86_pre_reload_split ()
28197 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28198 : STRIP_UNARY (operands[4]))
28199 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28200 : STRIP_UNARY (operands[4]))
28201 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28202 : STRIP_UNARY (operands[3]))
28203 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28204 : STRIP_UNARY (operands[3])))) &&
28205 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28206 : (TARGET_AVX)) &&
28207 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28208 : ( 1)))
28209 : return NULL;
28210 : return gen_split_2500 (insn, operands);
28211 :
28212 : case 5:
28213 : if (!(
28214 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28215 : ((16 == 64 || TARGET_AVX512VL
28216 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28217 : && ix86_pre_reload_split ()
28218 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28219 : STRIP_UNARY (operands[4]))
28220 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28221 : STRIP_UNARY (operands[4]))
28222 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28223 : STRIP_UNARY (operands[3]))
28224 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28225 : STRIP_UNARY (operands[3])))) &&
28226 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28227 : ( 1)))
28228 : return NULL;
28229 : return gen_split_2527 (insn, operands);
28230 :
28231 : case 6:
28232 : if (!((
28233 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28234 : ((64 == 64 || TARGET_AVX512VL
28235 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28236 : && ix86_pre_reload_split ()
28237 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28238 : STRIP_UNARY (operands[4]))
28239 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28240 : STRIP_UNARY (operands[4]))
28241 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28242 : STRIP_UNARY (operands[3]))
28243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28244 : STRIP_UNARY (operands[3])))) &&
28245 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28246 : (TARGET_AVX512F)) &&
28247 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28248 : ( 1)))
28249 : return NULL;
28250 : return gen_split_2554 (insn, operands);
28251 :
28252 : case 7:
28253 : if (!((
28254 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28255 : ((32 == 64 || TARGET_AVX512VL
28256 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28257 : && ix86_pre_reload_split ()
28258 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28259 : STRIP_UNARY (operands[4]))
28260 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28261 : STRIP_UNARY (operands[4]))
28262 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28263 : STRIP_UNARY (operands[3]))
28264 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28265 : STRIP_UNARY (operands[3])))) &&
28266 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28267 : (TARGET_AVX)) &&
28268 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28269 : ( 1)))
28270 : return NULL;
28271 : return gen_split_2581 (insn, operands);
28272 :
28273 : case 8:
28274 : if (!(
28275 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28276 : ((16 == 64 || TARGET_AVX512VL
28277 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28278 : && ix86_pre_reload_split ()
28279 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28280 : STRIP_UNARY (operands[4]))
28281 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28282 : STRIP_UNARY (operands[4]))
28283 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28284 : STRIP_UNARY (operands[3]))
28285 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28286 : STRIP_UNARY (operands[3])))) &&
28287 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28288 : ( 1)))
28289 : return NULL;
28290 : return gen_split_2608 (insn, operands);
28291 :
28292 : case 9:
28293 : if (!((
28294 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28295 : ((64 == 64 || TARGET_AVX512VL
28296 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28297 : && ix86_pre_reload_split ()
28298 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28299 : STRIP_UNARY (operands[4]))
28300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28301 : STRIP_UNARY (operands[4]))
28302 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28303 : STRIP_UNARY (operands[3]))
28304 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28305 : STRIP_UNARY (operands[3])))) &&
28306 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28307 : (TARGET_AVX512F)) &&
28308 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28309 : ( 1)))
28310 : return NULL;
28311 : return gen_split_2635 (insn, operands);
28312 :
28313 : case 10:
28314 : if (!((
28315 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28316 : ((32 == 64 || TARGET_AVX512VL
28317 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28318 : && ix86_pre_reload_split ()
28319 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28320 : STRIP_UNARY (operands[4]))
28321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28322 : STRIP_UNARY (operands[4]))
28323 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28324 : STRIP_UNARY (operands[3]))
28325 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28326 : STRIP_UNARY (operands[3])))) &&
28327 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28328 : (TARGET_AVX)) &&
28329 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28330 : ( 1)))
28331 : return NULL;
28332 : return gen_split_2662 (insn, operands);
28333 :
28334 : case 11:
28335 : if (!(
28336 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28337 : ((16 == 64 || TARGET_AVX512VL
28338 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28339 : && ix86_pre_reload_split ()
28340 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28341 : STRIP_UNARY (operands[4]))
28342 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28343 : STRIP_UNARY (operands[4]))
28344 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28345 : STRIP_UNARY (operands[3]))
28346 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28347 : STRIP_UNARY (operands[3])))) &&
28348 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28349 : ( 1)))
28350 : return NULL;
28351 : return gen_split_2689 (insn, operands);
28352 :
28353 : default:
28354 : return NULL;
28355 : }
28356 :
28357 : case XOR:
28358 : switch (pattern537 (x2))
28359 : {
28360 : case 0:
28361 : if (!((
28362 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28363 : ((64 == 64 || TARGET_AVX512VL
28364 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28365 : && ix86_pre_reload_split ()
28366 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28367 : STRIP_UNARY (operands[4]))
28368 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28369 : STRIP_UNARY (operands[4]))
28370 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28371 : STRIP_UNARY (operands[3]))
28372 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28373 : STRIP_UNARY (operands[3])))) &&
28374 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28375 : (TARGET_AVX512F)) &&
28376 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28377 : ( 1)))
28378 : return NULL;
28379 : return gen_split_2395 (insn, operands);
28380 :
28381 : case 1:
28382 : if (!((
28383 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28384 : ((32 == 64 || TARGET_AVX512VL
28385 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28386 : && ix86_pre_reload_split ()
28387 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28388 : STRIP_UNARY (operands[4]))
28389 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28390 : STRIP_UNARY (operands[4]))
28391 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28392 : STRIP_UNARY (operands[3]))
28393 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28394 : STRIP_UNARY (operands[3])))) &&
28395 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28396 : (TARGET_AVX)) &&
28397 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28398 : ( 1)))
28399 : return NULL;
28400 : return gen_split_2422 (insn, operands);
28401 :
28402 : case 2:
28403 : if (!(
28404 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28405 : ((16 == 64 || TARGET_AVX512VL
28406 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28407 : && ix86_pre_reload_split ()
28408 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28409 : STRIP_UNARY (operands[4]))
28410 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28411 : STRIP_UNARY (operands[4]))
28412 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28413 : STRIP_UNARY (operands[3]))
28414 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28415 : STRIP_UNARY (operands[3])))) &&
28416 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28417 : ( 1)))
28418 : return NULL;
28419 : return gen_split_2449 (insn, operands);
28420 :
28421 : case 3:
28422 : if (!((
28423 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28424 : ((64 == 64 || TARGET_AVX512VL
28425 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28426 : && ix86_pre_reload_split ()
28427 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28428 : STRIP_UNARY (operands[4]))
28429 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28430 : STRIP_UNARY (operands[4]))
28431 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28432 : STRIP_UNARY (operands[3]))
28433 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28434 : STRIP_UNARY (operands[3])))) &&
28435 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28436 : (TARGET_AVX512F)) &&
28437 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28438 : ( 1)))
28439 : return NULL;
28440 : return gen_split_2476 (insn, operands);
28441 :
28442 : case 4:
28443 : if (!((
28444 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28445 : ((32 == 64 || TARGET_AVX512VL
28446 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28447 : && ix86_pre_reload_split ()
28448 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28449 : STRIP_UNARY (operands[4]))
28450 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28451 : STRIP_UNARY (operands[4]))
28452 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28453 : STRIP_UNARY (operands[3]))
28454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28455 : STRIP_UNARY (operands[3])))) &&
28456 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28457 : (TARGET_AVX)) &&
28458 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28459 : ( 1)))
28460 : return NULL;
28461 : return gen_split_2503 (insn, operands);
28462 :
28463 : case 5:
28464 : if (!(
28465 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28466 : ((16 == 64 || TARGET_AVX512VL
28467 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28468 : && ix86_pre_reload_split ()
28469 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28470 : STRIP_UNARY (operands[4]))
28471 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28472 : STRIP_UNARY (operands[4]))
28473 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28474 : STRIP_UNARY (operands[3]))
28475 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28476 : STRIP_UNARY (operands[3])))) &&
28477 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28478 : ( 1)))
28479 : return NULL;
28480 : return gen_split_2530 (insn, operands);
28481 :
28482 : case 6:
28483 : if (!((
28484 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28485 : ((64 == 64 || TARGET_AVX512VL
28486 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28487 : && ix86_pre_reload_split ()
28488 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28489 : STRIP_UNARY (operands[4]))
28490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28491 : STRIP_UNARY (operands[4]))
28492 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28493 : STRIP_UNARY (operands[3]))
28494 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28495 : STRIP_UNARY (operands[3])))) &&
28496 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28497 : (TARGET_AVX512F)) &&
28498 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28499 : ( 1)))
28500 : return NULL;
28501 : return gen_split_2557 (insn, operands);
28502 :
28503 : case 7:
28504 : if (!((
28505 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28506 : ((32 == 64 || TARGET_AVX512VL
28507 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28508 : && ix86_pre_reload_split ()
28509 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28510 : STRIP_UNARY (operands[4]))
28511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28512 : STRIP_UNARY (operands[4]))
28513 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28514 : STRIP_UNARY (operands[3]))
28515 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28516 : STRIP_UNARY (operands[3])))) &&
28517 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28518 : (TARGET_AVX)) &&
28519 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28520 : ( 1)))
28521 : return NULL;
28522 : return gen_split_2584 (insn, operands);
28523 :
28524 : case 8:
28525 : if (!(
28526 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28527 : ((16 == 64 || TARGET_AVX512VL
28528 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28529 : && ix86_pre_reload_split ()
28530 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28531 : STRIP_UNARY (operands[4]))
28532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28533 : STRIP_UNARY (operands[4]))
28534 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28535 : STRIP_UNARY (operands[3]))
28536 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28537 : STRIP_UNARY (operands[3])))) &&
28538 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28539 : ( 1)))
28540 : return NULL;
28541 : return gen_split_2611 (insn, operands);
28542 :
28543 : case 9:
28544 : if (!((
28545 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28546 : ((64 == 64 || TARGET_AVX512VL
28547 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28548 : && ix86_pre_reload_split ()
28549 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28550 : STRIP_UNARY (operands[4]))
28551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28552 : STRIP_UNARY (operands[4]))
28553 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28554 : STRIP_UNARY (operands[3]))
28555 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28556 : STRIP_UNARY (operands[3])))) &&
28557 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28558 : (TARGET_AVX512F)) &&
28559 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28560 : ( 1)))
28561 : return NULL;
28562 : return gen_split_2638 (insn, operands);
28563 :
28564 : case 10:
28565 : if (!((
28566 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28567 : ((32 == 64 || TARGET_AVX512VL
28568 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28569 : && ix86_pre_reload_split ()
28570 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28571 : STRIP_UNARY (operands[4]))
28572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28573 : STRIP_UNARY (operands[4]))
28574 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28575 : STRIP_UNARY (operands[3]))
28576 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28577 : STRIP_UNARY (operands[3])))) &&
28578 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28579 : (TARGET_AVX)) &&
28580 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28581 : ( 1)))
28582 : return NULL;
28583 : return gen_split_2665 (insn, operands);
28584 :
28585 : case 11:
28586 : if (!(
28587 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28588 : ((16 == 64 || TARGET_AVX512VL
28589 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28590 : && ix86_pre_reload_split ()
28591 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28592 : STRIP_UNARY (operands[4]))
28593 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28594 : STRIP_UNARY (operands[4]))
28595 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28596 : STRIP_UNARY (operands[3]))
28597 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28598 : STRIP_UNARY (operands[3])))) &&
28599 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28600 : ( 1)))
28601 : return NULL;
28602 : return gen_split_2692 (insn, operands);
28603 :
28604 : default:
28605 : return NULL;
28606 : }
28607 :
28608 : default:
28609 : return NULL;
28610 : }
28611 : }
28612 :
28613 : rtx_insn *
28614 : split_73 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28615 : {
28616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28617 : rtx x2, x3, x4;
28618 : rtx_insn *res ATTRIBUTE_UNUSED;
28619 : x2 = XEXP (x1, 1);
28620 : x3 = XEXP (x2, 0);
28621 : switch (GET_CODE (x3))
28622 : {
28623 : case AND:
28624 : x4 = XEXP (x3, 0);
28625 : switch (GET_CODE (x4))
28626 : {
28627 : case REG:
28628 : case SUBREG:
28629 : case MEM:
28630 : case NOT:
28631 : switch (pattern541 (x2))
28632 : {
28633 : case 0:
28634 : if (!((
28635 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28636 : ((64 == 64 || TARGET_AVX512VL
28637 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28638 : && ix86_pre_reload_split ()
28639 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28640 : STRIP_UNARY (operands[4]))
28641 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28642 : STRIP_UNARY (operands[4]))
28643 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28644 : STRIP_UNARY (operands[3]))
28645 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28646 : STRIP_UNARY (operands[3])))) &&
28647 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28648 : (TARGET_AVX512F)) &&
28649 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28650 : ( 1)))
28651 : return NULL;
28652 : return gen_split_2066 (insn, operands);
28653 :
28654 : case 1:
28655 : if (!((
28656 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28657 : ((32 == 64 || TARGET_AVX512VL
28658 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28659 : && ix86_pre_reload_split ()
28660 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28661 : STRIP_UNARY (operands[4]))
28662 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28663 : STRIP_UNARY (operands[4]))
28664 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28665 : STRIP_UNARY (operands[3]))
28666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28667 : STRIP_UNARY (operands[3])))) &&
28668 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28669 : (TARGET_AVX)) &&
28670 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28671 : ( 1)))
28672 : return NULL;
28673 : return gen_split_2093 (insn, operands);
28674 :
28675 : case 2:
28676 : if (!(
28677 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28678 : ((16 == 64 || TARGET_AVX512VL
28679 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28680 : && ix86_pre_reload_split ()
28681 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28682 : STRIP_UNARY (operands[4]))
28683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28684 : STRIP_UNARY (operands[4]))
28685 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28686 : STRIP_UNARY (operands[3]))
28687 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28688 : STRIP_UNARY (operands[3])))) &&
28689 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28690 : ( 1)))
28691 : return NULL;
28692 : return gen_split_2120 (insn, operands);
28693 :
28694 : case 3:
28695 : if (!((
28696 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28697 : ((64 == 64 || TARGET_AVX512VL
28698 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28699 : && ix86_pre_reload_split ()
28700 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28701 : STRIP_UNARY (operands[4]))
28702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28703 : STRIP_UNARY (operands[4]))
28704 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28705 : STRIP_UNARY (operands[3]))
28706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28707 : STRIP_UNARY (operands[3])))) &&
28708 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28709 : (TARGET_AVX512F)) &&
28710 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28711 : ( 1)))
28712 : return NULL;
28713 : return gen_split_2147 (insn, operands);
28714 :
28715 : case 4:
28716 : if (!((
28717 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28718 : ((32 == 64 || TARGET_AVX512VL
28719 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28720 : && ix86_pre_reload_split ()
28721 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28722 : STRIP_UNARY (operands[4]))
28723 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28724 : STRIP_UNARY (operands[4]))
28725 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28726 : STRIP_UNARY (operands[3]))
28727 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28728 : STRIP_UNARY (operands[3])))) &&
28729 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28730 : (TARGET_AVX)) &&
28731 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28732 : ( 1)))
28733 : return NULL;
28734 : return gen_split_2174 (insn, operands);
28735 :
28736 : case 5:
28737 : if (!(
28738 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28739 : ((16 == 64 || TARGET_AVX512VL
28740 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28741 : && ix86_pre_reload_split ()
28742 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28743 : STRIP_UNARY (operands[4]))
28744 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28745 : STRIP_UNARY (operands[4]))
28746 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28747 : STRIP_UNARY (operands[3]))
28748 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28749 : STRIP_UNARY (operands[3])))) &&
28750 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28751 : ( 1)))
28752 : return NULL;
28753 : return gen_split_2201 (insn, operands);
28754 :
28755 : case 6:
28756 : if (!((
28757 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28758 : ((64 == 64 || TARGET_AVX512VL
28759 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28760 : && ix86_pre_reload_split ()
28761 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28762 : STRIP_UNARY (operands[4]))
28763 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28764 : STRIP_UNARY (operands[4]))
28765 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28766 : STRIP_UNARY (operands[3]))
28767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28768 : STRIP_UNARY (operands[3])))) &&
28769 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28770 : (TARGET_AVX512F)) &&
28771 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28772 : ( 1)))
28773 : return NULL;
28774 : return gen_split_2228 (insn, operands);
28775 :
28776 : case 7:
28777 : if (!((
28778 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28779 : ((32 == 64 || TARGET_AVX512VL
28780 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28781 : && ix86_pre_reload_split ()
28782 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28783 : STRIP_UNARY (operands[4]))
28784 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28785 : STRIP_UNARY (operands[4]))
28786 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28787 : STRIP_UNARY (operands[3]))
28788 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28789 : STRIP_UNARY (operands[3])))) &&
28790 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28791 : (TARGET_AVX)) &&
28792 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28793 : ( 1)))
28794 : return NULL;
28795 : return gen_split_2255 (insn, operands);
28796 :
28797 : case 8:
28798 : if (!(
28799 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28800 : ((16 == 64 || TARGET_AVX512VL
28801 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28802 : && ix86_pre_reload_split ()
28803 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28804 : STRIP_UNARY (operands[4]))
28805 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28806 : STRIP_UNARY (operands[4]))
28807 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28808 : STRIP_UNARY (operands[3]))
28809 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28810 : STRIP_UNARY (operands[3])))) &&
28811 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28812 : ( 1)))
28813 : return NULL;
28814 : return gen_split_2282 (insn, operands);
28815 :
28816 : case 9:
28817 : if (!((
28818 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28819 : ((64 == 64 || TARGET_AVX512VL
28820 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28821 : && ix86_pre_reload_split ()
28822 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28823 : STRIP_UNARY (operands[4]))
28824 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28825 : STRIP_UNARY (operands[4]))
28826 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28827 : STRIP_UNARY (operands[3]))
28828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28829 : STRIP_UNARY (operands[3])))) &&
28830 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28831 : (TARGET_AVX512F)) &&
28832 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28833 : ( 1)))
28834 : return NULL;
28835 : return gen_split_2309 (insn, operands);
28836 :
28837 : case 10:
28838 : if (!((
28839 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28840 : ((32 == 64 || TARGET_AVX512VL
28841 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28842 : && ix86_pre_reload_split ()
28843 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28844 : STRIP_UNARY (operands[4]))
28845 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28846 : STRIP_UNARY (operands[4]))
28847 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28848 : STRIP_UNARY (operands[3]))
28849 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28850 : STRIP_UNARY (operands[3])))) &&
28851 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28852 : (TARGET_AVX)) &&
28853 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28854 : ( 1)))
28855 : return NULL;
28856 : return gen_split_2336 (insn, operands);
28857 :
28858 : case 11:
28859 : if (!((
28860 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28861 : ((16 == 64 || TARGET_AVX512VL
28862 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28863 : && ix86_pre_reload_split ()
28864 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28865 : STRIP_UNARY (operands[4]))
28866 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28867 : STRIP_UNARY (operands[4]))
28868 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28869 : STRIP_UNARY (operands[3]))
28870 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28871 : STRIP_UNARY (operands[3])))) &&
28872 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28873 : (TARGET_SSE2)) &&
28874 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28875 : ( 1)))
28876 : return NULL;
28877 : return gen_split_2363 (insn, operands);
28878 :
28879 : case 12:
28880 : if (!((
28881 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28882 : ((64 == 64 || TARGET_AVX512VL
28883 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28884 : && ix86_pre_reload_split ()
28885 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28886 : STRIP_UNARY (operands[4]))
28887 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28888 : STRIP_UNARY (operands[4]))
28889 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28890 : STRIP_UNARY (operands[3]))
28891 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28892 : STRIP_UNARY (operands[3])))) &&
28893 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28894 : (TARGET_AVX512F)) &&
28895 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28896 : ( 1)))
28897 : return NULL;
28898 : return gen_split_2069 (insn, operands);
28899 :
28900 : case 13:
28901 : if (!((
28902 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28903 : ((32 == 64 || TARGET_AVX512VL
28904 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28905 : && ix86_pre_reload_split ()
28906 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28907 : STRIP_UNARY (operands[4]))
28908 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28909 : STRIP_UNARY (operands[4]))
28910 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28911 : STRIP_UNARY (operands[3]))
28912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28913 : STRIP_UNARY (operands[3])))) &&
28914 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28915 : (TARGET_AVX)) &&
28916 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28917 : ( 1)))
28918 : return NULL;
28919 : return gen_split_2096 (insn, operands);
28920 :
28921 : case 14:
28922 : if (!(
28923 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28924 : ((16 == 64 || TARGET_AVX512VL
28925 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28926 : && ix86_pre_reload_split ()
28927 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28928 : STRIP_UNARY (operands[4]))
28929 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28930 : STRIP_UNARY (operands[4]))
28931 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28932 : STRIP_UNARY (operands[3]))
28933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28934 : STRIP_UNARY (operands[3])))) &&
28935 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28936 : ( 1)))
28937 : return NULL;
28938 : return gen_split_2123 (insn, operands);
28939 :
28940 : case 15:
28941 : if (!((
28942 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28943 : ((64 == 64 || TARGET_AVX512VL
28944 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28945 : && ix86_pre_reload_split ()
28946 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28947 : STRIP_UNARY (operands[4]))
28948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28949 : STRIP_UNARY (operands[4]))
28950 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28951 : STRIP_UNARY (operands[3]))
28952 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28953 : STRIP_UNARY (operands[3])))) &&
28954 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28955 : (TARGET_AVX512F)) &&
28956 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28957 : ( 1)))
28958 : return NULL;
28959 : return gen_split_2150 (insn, operands);
28960 :
28961 : case 16:
28962 : if (!((
28963 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28964 : ((32 == 64 || TARGET_AVX512VL
28965 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28966 : && ix86_pre_reload_split ()
28967 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28968 : STRIP_UNARY (operands[4]))
28969 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28970 : STRIP_UNARY (operands[4]))
28971 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28972 : STRIP_UNARY (operands[3]))
28973 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28974 : STRIP_UNARY (operands[3])))) &&
28975 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28976 : (TARGET_AVX)) &&
28977 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28978 : ( 1)))
28979 : return NULL;
28980 : return gen_split_2177 (insn, operands);
28981 :
28982 : case 17:
28983 : if (!(
28984 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28985 : ((16 == 64 || TARGET_AVX512VL
28986 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28987 : && ix86_pre_reload_split ()
28988 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28989 : STRIP_UNARY (operands[4]))
28990 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28991 : STRIP_UNARY (operands[4]))
28992 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28993 : STRIP_UNARY (operands[3]))
28994 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28995 : STRIP_UNARY (operands[3])))) &&
28996 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28997 : ( 1)))
28998 : return NULL;
28999 : return gen_split_2204 (insn, operands);
29000 :
29001 : case 18:
29002 : if (!((
29003 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29004 : ((64 == 64 || TARGET_AVX512VL
29005 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29006 : && ix86_pre_reload_split ()
29007 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29008 : STRIP_UNARY (operands[4]))
29009 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29010 : STRIP_UNARY (operands[4]))
29011 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29012 : STRIP_UNARY (operands[3]))
29013 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29014 : STRIP_UNARY (operands[3])))) &&
29015 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29016 : (TARGET_AVX512F)) &&
29017 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29018 : ( 1)))
29019 : return NULL;
29020 : return gen_split_2231 (insn, operands);
29021 :
29022 : case 19:
29023 : if (!((
29024 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29025 : ((32 == 64 || TARGET_AVX512VL
29026 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29027 : && ix86_pre_reload_split ()
29028 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29029 : STRIP_UNARY (operands[4]))
29030 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29031 : STRIP_UNARY (operands[4]))
29032 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29033 : STRIP_UNARY (operands[3]))
29034 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29035 : STRIP_UNARY (operands[3])))) &&
29036 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29037 : (TARGET_AVX)) &&
29038 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29039 : ( 1)))
29040 : return NULL;
29041 : return gen_split_2258 (insn, operands);
29042 :
29043 : case 20:
29044 : if (!(
29045 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29046 : ((16 == 64 || TARGET_AVX512VL
29047 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29048 : && ix86_pre_reload_split ()
29049 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29050 : STRIP_UNARY (operands[4]))
29051 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29052 : STRIP_UNARY (operands[4]))
29053 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29054 : STRIP_UNARY (operands[3]))
29055 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29056 : STRIP_UNARY (operands[3])))) &&
29057 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29058 : ( 1)))
29059 : return NULL;
29060 : return gen_split_2285 (insn, operands);
29061 :
29062 : case 21:
29063 : if (!((
29064 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29065 : ((64 == 64 || TARGET_AVX512VL
29066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29067 : && ix86_pre_reload_split ()
29068 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29069 : STRIP_UNARY (operands[4]))
29070 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29071 : STRIP_UNARY (operands[4]))
29072 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29073 : STRIP_UNARY (operands[3]))
29074 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29075 : STRIP_UNARY (operands[3])))) &&
29076 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29077 : (TARGET_AVX512F)) &&
29078 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29079 : ( 1)))
29080 : return NULL;
29081 : return gen_split_2312 (insn, operands);
29082 :
29083 : case 22:
29084 : if (!((
29085 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29086 : ((32 == 64 || TARGET_AVX512VL
29087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29088 : && ix86_pre_reload_split ()
29089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29090 : STRIP_UNARY (operands[4]))
29091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29092 : STRIP_UNARY (operands[4]))
29093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29094 : STRIP_UNARY (operands[3]))
29095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29096 : STRIP_UNARY (operands[3])))) &&
29097 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29098 : (TARGET_AVX)) &&
29099 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29100 : ( 1)))
29101 : return NULL;
29102 : return gen_split_2339 (insn, operands);
29103 :
29104 : case 23:
29105 : if (!((
29106 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29107 : ((16 == 64 || TARGET_AVX512VL
29108 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29109 : && ix86_pre_reload_split ()
29110 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29111 : STRIP_UNARY (operands[4]))
29112 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29113 : STRIP_UNARY (operands[4]))
29114 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29115 : STRIP_UNARY (operands[3]))
29116 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29117 : STRIP_UNARY (operands[3])))) &&
29118 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29119 : (TARGET_SSE2)) &&
29120 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29121 : ( 1)))
29122 : return NULL;
29123 : return gen_split_2366 (insn, operands);
29124 :
29125 : case 24:
29126 : if (!((
29127 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29128 : ((64 == 64 || TARGET_AVX512VL
29129 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29130 : && ix86_pre_reload_split ()
29131 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29132 : STRIP_UNARY (operands[4]))
29133 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29134 : STRIP_UNARY (operands[4]))
29135 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29136 : STRIP_UNARY (operands[3]))
29137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29138 : STRIP_UNARY (operands[3])))) &&
29139 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29140 : (TARGET_AVX512F)) &&
29141 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29142 : ( 1)))
29143 : return NULL;
29144 : return gen_split_2072 (insn, operands);
29145 :
29146 : case 25:
29147 : if (!((
29148 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29149 : ((32 == 64 || TARGET_AVX512VL
29150 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29151 : && ix86_pre_reload_split ()
29152 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29153 : STRIP_UNARY (operands[4]))
29154 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29155 : STRIP_UNARY (operands[4]))
29156 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29157 : STRIP_UNARY (operands[3]))
29158 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29159 : STRIP_UNARY (operands[3])))) &&
29160 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29161 : (TARGET_AVX)) &&
29162 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29163 : ( 1)))
29164 : return NULL;
29165 : return gen_split_2099 (insn, operands);
29166 :
29167 : case 26:
29168 : if (!(
29169 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29170 : ((16 == 64 || TARGET_AVX512VL
29171 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29172 : && ix86_pre_reload_split ()
29173 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29174 : STRIP_UNARY (operands[4]))
29175 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29176 : STRIP_UNARY (operands[4]))
29177 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29178 : STRIP_UNARY (operands[3]))
29179 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29180 : STRIP_UNARY (operands[3])))) &&
29181 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29182 : ( 1)))
29183 : return NULL;
29184 : return gen_split_2126 (insn, operands);
29185 :
29186 : case 27:
29187 : if (!((
29188 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29189 : ((64 == 64 || TARGET_AVX512VL
29190 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29191 : && ix86_pre_reload_split ()
29192 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29193 : STRIP_UNARY (operands[4]))
29194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29195 : STRIP_UNARY (operands[4]))
29196 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29197 : STRIP_UNARY (operands[3]))
29198 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29199 : STRIP_UNARY (operands[3])))) &&
29200 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29201 : (TARGET_AVX512F)) &&
29202 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29203 : ( 1)))
29204 : return NULL;
29205 : return gen_split_2153 (insn, operands);
29206 :
29207 : case 28:
29208 : if (!((
29209 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29210 : ((32 == 64 || TARGET_AVX512VL
29211 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29212 : && ix86_pre_reload_split ()
29213 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29214 : STRIP_UNARY (operands[4]))
29215 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29216 : STRIP_UNARY (operands[4]))
29217 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29218 : STRIP_UNARY (operands[3]))
29219 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29220 : STRIP_UNARY (operands[3])))) &&
29221 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29222 : (TARGET_AVX)) &&
29223 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29224 : ( 1)))
29225 : return NULL;
29226 : return gen_split_2180 (insn, operands);
29227 :
29228 : case 29:
29229 : if (!(
29230 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29231 : ((16 == 64 || TARGET_AVX512VL
29232 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29233 : && ix86_pre_reload_split ()
29234 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29235 : STRIP_UNARY (operands[4]))
29236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29237 : STRIP_UNARY (operands[4]))
29238 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29239 : STRIP_UNARY (operands[3]))
29240 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29241 : STRIP_UNARY (operands[3])))) &&
29242 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29243 : ( 1)))
29244 : return NULL;
29245 : return gen_split_2207 (insn, operands);
29246 :
29247 : case 30:
29248 : if (!((
29249 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29250 : ((64 == 64 || TARGET_AVX512VL
29251 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29252 : && ix86_pre_reload_split ()
29253 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29254 : STRIP_UNARY (operands[4]))
29255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29256 : STRIP_UNARY (operands[4]))
29257 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29258 : STRIP_UNARY (operands[3]))
29259 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29260 : STRIP_UNARY (operands[3])))) &&
29261 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29262 : (TARGET_AVX512F)) &&
29263 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29264 : ( 1)))
29265 : return NULL;
29266 : return gen_split_2234 (insn, operands);
29267 :
29268 : case 31:
29269 : if (!((
29270 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29271 : ((32 == 64 || TARGET_AVX512VL
29272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29273 : && ix86_pre_reload_split ()
29274 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29275 : STRIP_UNARY (operands[4]))
29276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29277 : STRIP_UNARY (operands[4]))
29278 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29279 : STRIP_UNARY (operands[3]))
29280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29281 : STRIP_UNARY (operands[3])))) &&
29282 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29283 : (TARGET_AVX)) &&
29284 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29285 : ( 1)))
29286 : return NULL;
29287 : return gen_split_2261 (insn, operands);
29288 :
29289 : case 32:
29290 : if (!(
29291 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29292 : ((16 == 64 || TARGET_AVX512VL
29293 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29294 : && ix86_pre_reload_split ()
29295 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29296 : STRIP_UNARY (operands[4]))
29297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29298 : STRIP_UNARY (operands[4]))
29299 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29300 : STRIP_UNARY (operands[3]))
29301 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29302 : STRIP_UNARY (operands[3])))) &&
29303 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29304 : ( 1)))
29305 : return NULL;
29306 : return gen_split_2288 (insn, operands);
29307 :
29308 : case 33:
29309 : if (!((
29310 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29311 : ((64 == 64 || TARGET_AVX512VL
29312 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29313 : && ix86_pre_reload_split ()
29314 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29315 : STRIP_UNARY (operands[4]))
29316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29317 : STRIP_UNARY (operands[4]))
29318 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29319 : STRIP_UNARY (operands[3]))
29320 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29321 : STRIP_UNARY (operands[3])))) &&
29322 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29323 : (TARGET_AVX512F)) &&
29324 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29325 : ( 1)))
29326 : return NULL;
29327 : return gen_split_2315 (insn, operands);
29328 :
29329 : case 34:
29330 : if (!((
29331 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29332 : ((32 == 64 || TARGET_AVX512VL
29333 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29334 : && ix86_pre_reload_split ()
29335 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29336 : STRIP_UNARY (operands[4]))
29337 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29338 : STRIP_UNARY (operands[4]))
29339 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29340 : STRIP_UNARY (operands[3]))
29341 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29342 : STRIP_UNARY (operands[3])))) &&
29343 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29344 : (TARGET_AVX)) &&
29345 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29346 : ( 1)))
29347 : return NULL;
29348 : return gen_split_2342 (insn, operands);
29349 :
29350 : case 35:
29351 : if (!((
29352 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29353 : ((16 == 64 || TARGET_AVX512VL
29354 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29355 : && ix86_pre_reload_split ()
29356 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29357 : STRIP_UNARY (operands[4]))
29358 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29359 : STRIP_UNARY (operands[4]))
29360 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29361 : STRIP_UNARY (operands[3]))
29362 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29363 : STRIP_UNARY (operands[3])))) &&
29364 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29365 : (TARGET_SSE2)) &&
29366 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29367 : ( 1)))
29368 : return NULL;
29369 : return gen_split_2369 (insn, operands);
29370 :
29371 : case 36:
29372 : if (!((
29373 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29374 : ((64 == 64 || TARGET_AVX512VL
29375 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29376 : && ix86_pre_reload_split ()) &&
29377 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29378 : (TARGET_AVX512F)) &&
29379 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29380 : ( 1)))
29381 : return NULL;
29382 : return gen_split_3146 (insn, operands);
29383 :
29384 : case 37:
29385 : if (!((
29386 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29387 : ((32 == 64 || TARGET_AVX512VL
29388 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29389 : && ix86_pre_reload_split ()) &&
29390 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29391 : (TARGET_AVX)) &&
29392 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29393 : ( 1)))
29394 : return NULL;
29395 : return gen_split_3155 (insn, operands);
29396 :
29397 : case 38:
29398 : if (!(
29399 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29400 : ((16 == 64 || TARGET_AVX512VL
29401 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29402 : && ix86_pre_reload_split ()) &&
29403 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29404 : ( 1)))
29405 : return NULL;
29406 : return gen_split_3164 (insn, operands);
29407 :
29408 : case 39:
29409 : if (!((
29410 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29411 : ((64 == 64 || TARGET_AVX512VL
29412 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29413 : && ix86_pre_reload_split ()) &&
29414 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29415 : (TARGET_AVX512F)) &&
29416 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29417 : ( 1)))
29418 : return NULL;
29419 : return gen_split_3173 (insn, operands);
29420 :
29421 : case 40:
29422 : if (!((
29423 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29424 : ((32 == 64 || TARGET_AVX512VL
29425 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29426 : && ix86_pre_reload_split ()) &&
29427 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29428 : (TARGET_AVX)) &&
29429 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29430 : ( 1)))
29431 : return NULL;
29432 : return gen_split_3182 (insn, operands);
29433 :
29434 : case 41:
29435 : if (!(
29436 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29437 : ((16 == 64 || TARGET_AVX512VL
29438 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29439 : && ix86_pre_reload_split ()) &&
29440 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29441 : ( 1)))
29442 : return NULL;
29443 : return gen_split_3191 (insn, operands);
29444 :
29445 : case 42:
29446 : if (!((
29447 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29448 : ((64 == 64 || TARGET_AVX512VL
29449 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29450 : && ix86_pre_reload_split ()) &&
29451 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29452 : (TARGET_AVX512F)) &&
29453 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29454 : ( 1)))
29455 : return NULL;
29456 : return gen_split_3200 (insn, operands);
29457 :
29458 : case 43:
29459 : if (!((
29460 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29461 : ((32 == 64 || TARGET_AVX512VL
29462 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29463 : && ix86_pre_reload_split ()) &&
29464 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29465 : (TARGET_AVX)) &&
29466 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29467 : ( 1)))
29468 : return NULL;
29469 : return gen_split_3209 (insn, operands);
29470 :
29471 : case 44:
29472 : if (!(
29473 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29474 : ((16 == 64 || TARGET_AVX512VL
29475 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29476 : && ix86_pre_reload_split ()) &&
29477 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29478 : ( 1)))
29479 : return NULL;
29480 : return gen_split_3218 (insn, operands);
29481 :
29482 : case 45:
29483 : if (!((
29484 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29485 : ((64 == 64 || TARGET_AVX512VL
29486 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29487 : && ix86_pre_reload_split ()) &&
29488 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29489 : (TARGET_AVX512F)) &&
29490 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29491 : ( 1)))
29492 : return NULL;
29493 : return gen_split_3227 (insn, operands);
29494 :
29495 : case 46:
29496 : if (!((
29497 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29498 : ((32 == 64 || TARGET_AVX512VL
29499 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29500 : && ix86_pre_reload_split ()) &&
29501 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29502 : (TARGET_AVX)) &&
29503 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29504 : ( 1)))
29505 : return NULL;
29506 : return gen_split_3236 (insn, operands);
29507 :
29508 : case 47:
29509 : if (!((
29510 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29511 : ((16 == 64 || TARGET_AVX512VL
29512 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29513 : && ix86_pre_reload_split ()) &&
29514 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29515 : (TARGET_SSE2)) &&
29516 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29517 : ( 1)))
29518 : return NULL;
29519 : return gen_split_3245 (insn, operands);
29520 :
29521 : default:
29522 : return NULL;
29523 : }
29524 :
29525 : case AND:
29526 : switch (pattern542 (x2))
29527 : {
29528 : case 0:
29529 : if (!((
29530 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29531 : ((64 == 64 || TARGET_AVX512VL
29532 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29533 : && ix86_pre_reload_split ()
29534 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29535 : STRIP_UNARY (operands[4]))
29536 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29537 : STRIP_UNARY (operands[4]))
29538 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29539 : STRIP_UNARY (operands[3]))
29540 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29541 : STRIP_UNARY (operands[3])))) &&
29542 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29543 : (TARGET_AVX512F)) &&
29544 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29545 : ( 1)))
29546 : return NULL;
29547 : return gen_split_2714 (insn, operands);
29548 :
29549 : case 1:
29550 : if (!((
29551 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29552 : ((32 == 64 || TARGET_AVX512VL
29553 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29554 : && ix86_pre_reload_split ()
29555 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29556 : STRIP_UNARY (operands[4]))
29557 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29558 : STRIP_UNARY (operands[4]))
29559 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29560 : STRIP_UNARY (operands[3]))
29561 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29562 : STRIP_UNARY (operands[3])))) &&
29563 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29564 : (TARGET_AVX)) &&
29565 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29566 : ( 1)))
29567 : return NULL;
29568 : return gen_split_2741 (insn, operands);
29569 :
29570 : case 2:
29571 : if (!(
29572 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29573 : ((16 == 64 || TARGET_AVX512VL
29574 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29575 : && ix86_pre_reload_split ()
29576 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29577 : STRIP_UNARY (operands[4]))
29578 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29579 : STRIP_UNARY (operands[4]))
29580 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29581 : STRIP_UNARY (operands[3]))
29582 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29583 : STRIP_UNARY (operands[3])))) &&
29584 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29585 : ( 1)))
29586 : return NULL;
29587 : return gen_split_2768 (insn, operands);
29588 :
29589 : case 3:
29590 : if (!((
29591 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29592 : ((64 == 64 || TARGET_AVX512VL
29593 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29594 : && ix86_pre_reload_split ()
29595 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29596 : STRIP_UNARY (operands[4]))
29597 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29598 : STRIP_UNARY (operands[4]))
29599 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29600 : STRIP_UNARY (operands[3]))
29601 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29602 : STRIP_UNARY (operands[3])))) &&
29603 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29604 : (TARGET_AVX512F)) &&
29605 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29606 : ( 1)))
29607 : return NULL;
29608 : return gen_split_2795 (insn, operands);
29609 :
29610 : case 4:
29611 : if (!((
29612 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29613 : ((32 == 64 || TARGET_AVX512VL
29614 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29615 : && ix86_pre_reload_split ()
29616 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29617 : STRIP_UNARY (operands[4]))
29618 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29619 : STRIP_UNARY (operands[4]))
29620 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29621 : STRIP_UNARY (operands[3]))
29622 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29623 : STRIP_UNARY (operands[3])))) &&
29624 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29625 : (TARGET_AVX)) &&
29626 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29627 : ( 1)))
29628 : return NULL;
29629 : return gen_split_2822 (insn, operands);
29630 :
29631 : case 5:
29632 : if (!(
29633 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29634 : ((16 == 64 || TARGET_AVX512VL
29635 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29636 : && ix86_pre_reload_split ()
29637 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29638 : STRIP_UNARY (operands[4]))
29639 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29640 : STRIP_UNARY (operands[4]))
29641 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29642 : STRIP_UNARY (operands[3]))
29643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29644 : STRIP_UNARY (operands[3])))) &&
29645 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29646 : ( 1)))
29647 : return NULL;
29648 : return gen_split_2849 (insn, operands);
29649 :
29650 : case 6:
29651 : if (!((
29652 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29653 : ((64 == 64 || TARGET_AVX512VL
29654 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29655 : && ix86_pre_reload_split ()
29656 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29657 : STRIP_UNARY (operands[4]))
29658 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29659 : STRIP_UNARY (operands[4]))
29660 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29661 : STRIP_UNARY (operands[3]))
29662 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29663 : STRIP_UNARY (operands[3])))) &&
29664 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29665 : (TARGET_AVX512F)) &&
29666 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29667 : ( 1)))
29668 : return NULL;
29669 : return gen_split_2876 (insn, operands);
29670 :
29671 : case 7:
29672 : if (!((
29673 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29674 : ((32 == 64 || TARGET_AVX512VL
29675 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29676 : && ix86_pre_reload_split ()
29677 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29678 : STRIP_UNARY (operands[4]))
29679 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29680 : STRIP_UNARY (operands[4]))
29681 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29682 : STRIP_UNARY (operands[3]))
29683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29684 : STRIP_UNARY (operands[3])))) &&
29685 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29686 : (TARGET_AVX)) &&
29687 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29688 : ( 1)))
29689 : return NULL;
29690 : return gen_split_2903 (insn, operands);
29691 :
29692 : case 8:
29693 : if (!(
29694 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29695 : ((16 == 64 || TARGET_AVX512VL
29696 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29697 : && ix86_pre_reload_split ()
29698 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29699 : STRIP_UNARY (operands[4]))
29700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29701 : STRIP_UNARY (operands[4]))
29702 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29703 : STRIP_UNARY (operands[3]))
29704 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29705 : STRIP_UNARY (operands[3])))) &&
29706 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29707 : ( 1)))
29708 : return NULL;
29709 : return gen_split_2930 (insn, operands);
29710 :
29711 : case 9:
29712 : if (!((
29713 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29714 : ((64 == 64 || TARGET_AVX512VL
29715 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29716 : && ix86_pre_reload_split ()
29717 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29718 : STRIP_UNARY (operands[4]))
29719 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29720 : STRIP_UNARY (operands[4]))
29721 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29722 : STRIP_UNARY (operands[3]))
29723 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29724 : STRIP_UNARY (operands[3])))) &&
29725 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29726 : (TARGET_AVX512F)) &&
29727 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29728 : ( 1)))
29729 : return NULL;
29730 : return gen_split_2957 (insn, operands);
29731 :
29732 : case 10:
29733 : if (!((
29734 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29735 : ((32 == 64 || TARGET_AVX512VL
29736 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29737 : && ix86_pre_reload_split ()
29738 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29739 : STRIP_UNARY (operands[4]))
29740 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29741 : STRIP_UNARY (operands[4]))
29742 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29743 : STRIP_UNARY (operands[3]))
29744 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29745 : STRIP_UNARY (operands[3])))) &&
29746 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29747 : (TARGET_AVX)) &&
29748 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29749 : ( 1)))
29750 : return NULL;
29751 : return gen_split_2984 (insn, operands);
29752 :
29753 : case 11:
29754 : if (!((
29755 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29756 : ((16 == 64 || TARGET_AVX512VL
29757 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29758 : && ix86_pre_reload_split ()
29759 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29760 : STRIP_UNARY (operands[4]))
29761 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29762 : STRIP_UNARY (operands[4]))
29763 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29764 : STRIP_UNARY (operands[3]))
29765 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29766 : STRIP_UNARY (operands[3])))) &&
29767 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29768 : (TARGET_SSE2)) &&
29769 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29770 : ( 1)))
29771 : return NULL;
29772 : return gen_split_3011 (insn, operands);
29773 :
29774 : default:
29775 : return NULL;
29776 : }
29777 :
29778 : case IOR:
29779 : switch (pattern542 (x2))
29780 : {
29781 : case 0:
29782 : if (!((
29783 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29784 : ((64 == 64 || TARGET_AVX512VL
29785 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29786 : && ix86_pre_reload_split ()
29787 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29788 : STRIP_UNARY (operands[4]))
29789 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29790 : STRIP_UNARY (operands[4]))
29791 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29792 : STRIP_UNARY (operands[3]))
29793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29794 : STRIP_UNARY (operands[3])))) &&
29795 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29796 : (TARGET_AVX512F)) &&
29797 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29798 : ( 1)))
29799 : return NULL;
29800 : return gen_split_2717 (insn, operands);
29801 :
29802 : case 1:
29803 : if (!((
29804 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29805 : ((32 == 64 || TARGET_AVX512VL
29806 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29807 : && ix86_pre_reload_split ()
29808 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29809 : STRIP_UNARY (operands[4]))
29810 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29811 : STRIP_UNARY (operands[4]))
29812 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29813 : STRIP_UNARY (operands[3]))
29814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29815 : STRIP_UNARY (operands[3])))) &&
29816 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29817 : (TARGET_AVX)) &&
29818 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29819 : ( 1)))
29820 : return NULL;
29821 : return gen_split_2744 (insn, operands);
29822 :
29823 : case 2:
29824 : if (!(
29825 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29826 : ((16 == 64 || TARGET_AVX512VL
29827 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29828 : && ix86_pre_reload_split ()
29829 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29830 : STRIP_UNARY (operands[4]))
29831 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29832 : STRIP_UNARY (operands[4]))
29833 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29834 : STRIP_UNARY (operands[3]))
29835 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29836 : STRIP_UNARY (operands[3])))) &&
29837 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29838 : ( 1)))
29839 : return NULL;
29840 : return gen_split_2771 (insn, operands);
29841 :
29842 : case 3:
29843 : if (!((
29844 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29845 : ((64 == 64 || TARGET_AVX512VL
29846 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29847 : && ix86_pre_reload_split ()
29848 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29849 : STRIP_UNARY (operands[4]))
29850 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29851 : STRIP_UNARY (operands[4]))
29852 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29853 : STRIP_UNARY (operands[3]))
29854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29855 : STRIP_UNARY (operands[3])))) &&
29856 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29857 : (TARGET_AVX512F)) &&
29858 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29859 : ( 1)))
29860 : return NULL;
29861 : return gen_split_2798 (insn, operands);
29862 :
29863 : case 4:
29864 : if (!((
29865 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29866 : ((32 == 64 || TARGET_AVX512VL
29867 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29868 : && ix86_pre_reload_split ()
29869 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29870 : STRIP_UNARY (operands[4]))
29871 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29872 : STRIP_UNARY (operands[4]))
29873 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29874 : STRIP_UNARY (operands[3]))
29875 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29876 : STRIP_UNARY (operands[3])))) &&
29877 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29878 : (TARGET_AVX)) &&
29879 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29880 : ( 1)))
29881 : return NULL;
29882 : return gen_split_2825 (insn, operands);
29883 :
29884 : case 5:
29885 : if (!(
29886 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29887 : ((16 == 64 || TARGET_AVX512VL
29888 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29889 : && ix86_pre_reload_split ()
29890 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29891 : STRIP_UNARY (operands[4]))
29892 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29893 : STRIP_UNARY (operands[4]))
29894 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29895 : STRIP_UNARY (operands[3]))
29896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29897 : STRIP_UNARY (operands[3])))) &&
29898 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29899 : ( 1)))
29900 : return NULL;
29901 : return gen_split_2852 (insn, operands);
29902 :
29903 : case 6:
29904 : if (!((
29905 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29906 : ((64 == 64 || TARGET_AVX512VL
29907 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29908 : && ix86_pre_reload_split ()
29909 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29910 : STRIP_UNARY (operands[4]))
29911 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29912 : STRIP_UNARY (operands[4]))
29913 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29914 : STRIP_UNARY (operands[3]))
29915 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29916 : STRIP_UNARY (operands[3])))) &&
29917 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29918 : (TARGET_AVX512F)) &&
29919 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29920 : ( 1)))
29921 : return NULL;
29922 : return gen_split_2879 (insn, operands);
29923 :
29924 : case 7:
29925 : if (!((
29926 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29927 : ((32 == 64 || TARGET_AVX512VL
29928 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29929 : && ix86_pre_reload_split ()
29930 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29931 : STRIP_UNARY (operands[4]))
29932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29933 : STRIP_UNARY (operands[4]))
29934 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29935 : STRIP_UNARY (operands[3]))
29936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29937 : STRIP_UNARY (operands[3])))) &&
29938 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29939 : (TARGET_AVX)) &&
29940 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29941 : ( 1)))
29942 : return NULL;
29943 : return gen_split_2906 (insn, operands);
29944 :
29945 : case 8:
29946 : if (!(
29947 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29948 : ((16 == 64 || TARGET_AVX512VL
29949 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29950 : && ix86_pre_reload_split ()
29951 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29952 : STRIP_UNARY (operands[4]))
29953 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29954 : STRIP_UNARY (operands[4]))
29955 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29956 : STRIP_UNARY (operands[3]))
29957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29958 : STRIP_UNARY (operands[3])))) &&
29959 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29960 : ( 1)))
29961 : return NULL;
29962 : return gen_split_2933 (insn, operands);
29963 :
29964 : case 9:
29965 : if (!((
29966 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29967 : ((64 == 64 || TARGET_AVX512VL
29968 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29969 : && ix86_pre_reload_split ()
29970 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29971 : STRIP_UNARY (operands[4]))
29972 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29973 : STRIP_UNARY (operands[4]))
29974 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29975 : STRIP_UNARY (operands[3]))
29976 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29977 : STRIP_UNARY (operands[3])))) &&
29978 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29979 : (TARGET_AVX512F)) &&
29980 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29981 : ( 1)))
29982 : return NULL;
29983 : return gen_split_2960 (insn, operands);
29984 :
29985 : case 10:
29986 : if (!((
29987 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29988 : ((32 == 64 || TARGET_AVX512VL
29989 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29990 : && ix86_pre_reload_split ()
29991 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29992 : STRIP_UNARY (operands[4]))
29993 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29994 : STRIP_UNARY (operands[4]))
29995 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29996 : STRIP_UNARY (operands[3]))
29997 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29998 : STRIP_UNARY (operands[3])))) &&
29999 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30000 : (TARGET_AVX)) &&
30001 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30002 : ( 1)))
30003 : return NULL;
30004 : return gen_split_2987 (insn, operands);
30005 :
30006 : case 11:
30007 : if (!((
30008 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30009 : ((16 == 64 || TARGET_AVX512VL
30010 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30011 : && ix86_pre_reload_split ()
30012 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30013 : STRIP_UNARY (operands[4]))
30014 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30015 : STRIP_UNARY (operands[4]))
30016 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30017 : STRIP_UNARY (operands[3]))
30018 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30019 : STRIP_UNARY (operands[3])))) &&
30020 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30021 : (TARGET_SSE2)) &&
30022 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30023 : ( 1)))
30024 : return NULL;
30025 : return gen_split_3014 (insn, operands);
30026 :
30027 : default:
30028 : return NULL;
30029 : }
30030 :
30031 : case XOR:
30032 : switch (pattern542 (x2))
30033 : {
30034 : case 0:
30035 : if (!((
30036 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30037 : ((64 == 64 || TARGET_AVX512VL
30038 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30039 : && ix86_pre_reload_split ()
30040 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30041 : STRIP_UNARY (operands[4]))
30042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30043 : STRIP_UNARY (operands[4]))
30044 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30045 : STRIP_UNARY (operands[3]))
30046 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30047 : STRIP_UNARY (operands[3])))) &&
30048 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30049 : (TARGET_AVX512F)) &&
30050 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30051 : ( 1)))
30052 : return NULL;
30053 : return gen_split_2720 (insn, operands);
30054 :
30055 : case 1:
30056 : if (!((
30057 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30058 : ((32 == 64 || TARGET_AVX512VL
30059 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30060 : && ix86_pre_reload_split ()
30061 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30062 : STRIP_UNARY (operands[4]))
30063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30064 : STRIP_UNARY (operands[4]))
30065 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30066 : STRIP_UNARY (operands[3]))
30067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30068 : STRIP_UNARY (operands[3])))) &&
30069 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30070 : (TARGET_AVX)) &&
30071 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30072 : ( 1)))
30073 : return NULL;
30074 : return gen_split_2747 (insn, operands);
30075 :
30076 : case 2:
30077 : if (!(
30078 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30079 : ((16 == 64 || TARGET_AVX512VL
30080 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30081 : && ix86_pre_reload_split ()
30082 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30083 : STRIP_UNARY (operands[4]))
30084 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30085 : STRIP_UNARY (operands[4]))
30086 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30087 : STRIP_UNARY (operands[3]))
30088 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30089 : STRIP_UNARY (operands[3])))) &&
30090 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30091 : ( 1)))
30092 : return NULL;
30093 : return gen_split_2774 (insn, operands);
30094 :
30095 : case 3:
30096 : if (!((
30097 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30098 : ((64 == 64 || TARGET_AVX512VL
30099 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30100 : && ix86_pre_reload_split ()
30101 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30102 : STRIP_UNARY (operands[4]))
30103 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30104 : STRIP_UNARY (operands[4]))
30105 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30106 : STRIP_UNARY (operands[3]))
30107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30108 : STRIP_UNARY (operands[3])))) &&
30109 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30110 : (TARGET_AVX512F)) &&
30111 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30112 : ( 1)))
30113 : return NULL;
30114 : return gen_split_2801 (insn, operands);
30115 :
30116 : case 4:
30117 : if (!((
30118 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30119 : ((32 == 64 || TARGET_AVX512VL
30120 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30121 : && ix86_pre_reload_split ()
30122 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30123 : STRIP_UNARY (operands[4]))
30124 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30125 : STRIP_UNARY (operands[4]))
30126 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30127 : STRIP_UNARY (operands[3]))
30128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30129 : STRIP_UNARY (operands[3])))) &&
30130 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30131 : (TARGET_AVX)) &&
30132 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30133 : ( 1)))
30134 : return NULL;
30135 : return gen_split_2828 (insn, operands);
30136 :
30137 : case 5:
30138 : if (!(
30139 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30140 : ((16 == 64 || TARGET_AVX512VL
30141 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30142 : && ix86_pre_reload_split ()
30143 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30144 : STRIP_UNARY (operands[4]))
30145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30146 : STRIP_UNARY (operands[4]))
30147 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30148 : STRIP_UNARY (operands[3]))
30149 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30150 : STRIP_UNARY (operands[3])))) &&
30151 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30152 : ( 1)))
30153 : return NULL;
30154 : return gen_split_2855 (insn, operands);
30155 :
30156 : case 6:
30157 : if (!((
30158 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30159 : ((64 == 64 || TARGET_AVX512VL
30160 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30161 : && ix86_pre_reload_split ()
30162 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30163 : STRIP_UNARY (operands[4]))
30164 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30165 : STRIP_UNARY (operands[4]))
30166 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30167 : STRIP_UNARY (operands[3]))
30168 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30169 : STRIP_UNARY (operands[3])))) &&
30170 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30171 : (TARGET_AVX512F)) &&
30172 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30173 : ( 1)))
30174 : return NULL;
30175 : return gen_split_2882 (insn, operands);
30176 :
30177 : case 7:
30178 : if (!((
30179 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30180 : ((32 == 64 || TARGET_AVX512VL
30181 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30182 : && ix86_pre_reload_split ()
30183 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30184 : STRIP_UNARY (operands[4]))
30185 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30186 : STRIP_UNARY (operands[4]))
30187 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30188 : STRIP_UNARY (operands[3]))
30189 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30190 : STRIP_UNARY (operands[3])))) &&
30191 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30192 : (TARGET_AVX)) &&
30193 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30194 : ( 1)))
30195 : return NULL;
30196 : return gen_split_2909 (insn, operands);
30197 :
30198 : case 8:
30199 : if (!(
30200 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30201 : ((16 == 64 || TARGET_AVX512VL
30202 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30203 : && ix86_pre_reload_split ()
30204 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30205 : STRIP_UNARY (operands[4]))
30206 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30207 : STRIP_UNARY (operands[4]))
30208 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30209 : STRIP_UNARY (operands[3]))
30210 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30211 : STRIP_UNARY (operands[3])))) &&
30212 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30213 : ( 1)))
30214 : return NULL;
30215 : return gen_split_2936 (insn, operands);
30216 :
30217 : case 9:
30218 : if (!((
30219 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30220 : ((64 == 64 || TARGET_AVX512VL
30221 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30222 : && ix86_pre_reload_split ()
30223 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30224 : STRIP_UNARY (operands[4]))
30225 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30226 : STRIP_UNARY (operands[4]))
30227 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30228 : STRIP_UNARY (operands[3]))
30229 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30230 : STRIP_UNARY (operands[3])))) &&
30231 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30232 : (TARGET_AVX512F)) &&
30233 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30234 : ( 1)))
30235 : return NULL;
30236 : return gen_split_2963 (insn, operands);
30237 :
30238 : case 10:
30239 : if (!((
30240 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30241 : ((32 == 64 || TARGET_AVX512VL
30242 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30243 : && ix86_pre_reload_split ()
30244 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30245 : STRIP_UNARY (operands[4]))
30246 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30247 : STRIP_UNARY (operands[4]))
30248 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30249 : STRIP_UNARY (operands[3]))
30250 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30251 : STRIP_UNARY (operands[3])))) &&
30252 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30253 : (TARGET_AVX)) &&
30254 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30255 : ( 1)))
30256 : return NULL;
30257 : return gen_split_2990 (insn, operands);
30258 :
30259 : case 11:
30260 : if (!((
30261 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30262 : ((16 == 64 || TARGET_AVX512VL
30263 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30264 : && ix86_pre_reload_split ()
30265 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30266 : STRIP_UNARY (operands[4]))
30267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30268 : STRIP_UNARY (operands[4]))
30269 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30270 : STRIP_UNARY (operands[3]))
30271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30272 : STRIP_UNARY (operands[3])))) &&
30273 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30274 : (TARGET_SSE2)) &&
30275 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30276 : ( 1)))
30277 : return NULL;
30278 : return gen_split_3017 (insn, operands);
30279 :
30280 : default:
30281 : return NULL;
30282 : }
30283 :
30284 : default:
30285 : return NULL;
30286 : }
30287 :
30288 : case IOR:
30289 : x4 = XEXP (x3, 0);
30290 : switch (GET_CODE (x4))
30291 : {
30292 : case REG:
30293 : case SUBREG:
30294 : case MEM:
30295 : case NOT:
30296 : switch (pattern541 (x2))
30297 : {
30298 : case 0:
30299 : if (!((
30300 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30301 : ((64 == 64 || TARGET_AVX512VL
30302 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30303 : && ix86_pre_reload_split ()
30304 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30305 : STRIP_UNARY (operands[4]))
30306 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30307 : STRIP_UNARY (operands[4]))
30308 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30309 : STRIP_UNARY (operands[3]))
30310 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30311 : STRIP_UNARY (operands[3])))) &&
30312 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30313 : (TARGET_AVX512F)) &&
30314 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30315 : ( 1)))
30316 : return NULL;
30317 : return gen_split_2075 (insn, operands);
30318 :
30319 : case 1:
30320 : if (!((
30321 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30322 : ((32 == 64 || TARGET_AVX512VL
30323 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30324 : && ix86_pre_reload_split ()
30325 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30326 : STRIP_UNARY (operands[4]))
30327 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30328 : STRIP_UNARY (operands[4]))
30329 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30330 : STRIP_UNARY (operands[3]))
30331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30332 : STRIP_UNARY (operands[3])))) &&
30333 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30334 : (TARGET_AVX)) &&
30335 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30336 : ( 1)))
30337 : return NULL;
30338 : return gen_split_2102 (insn, operands);
30339 :
30340 : case 2:
30341 : if (!(
30342 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30343 : ((16 == 64 || TARGET_AVX512VL
30344 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30345 : && ix86_pre_reload_split ()
30346 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30347 : STRIP_UNARY (operands[4]))
30348 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30349 : STRIP_UNARY (operands[4]))
30350 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30351 : STRIP_UNARY (operands[3]))
30352 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30353 : STRIP_UNARY (operands[3])))) &&
30354 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30355 : ( 1)))
30356 : return NULL;
30357 : return gen_split_2129 (insn, operands);
30358 :
30359 : case 3:
30360 : if (!((
30361 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30362 : ((64 == 64 || TARGET_AVX512VL
30363 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30364 : && ix86_pre_reload_split ()
30365 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30366 : STRIP_UNARY (operands[4]))
30367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30368 : STRIP_UNARY (operands[4]))
30369 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30370 : STRIP_UNARY (operands[3]))
30371 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30372 : STRIP_UNARY (operands[3])))) &&
30373 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30374 : (TARGET_AVX512F)) &&
30375 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30376 : ( 1)))
30377 : return NULL;
30378 : return gen_split_2156 (insn, operands);
30379 :
30380 : case 4:
30381 : if (!((
30382 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30383 : ((32 == 64 || TARGET_AVX512VL
30384 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30385 : && ix86_pre_reload_split ()
30386 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30387 : STRIP_UNARY (operands[4]))
30388 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30389 : STRIP_UNARY (operands[4]))
30390 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30391 : STRIP_UNARY (operands[3]))
30392 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30393 : STRIP_UNARY (operands[3])))) &&
30394 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30395 : (TARGET_AVX)) &&
30396 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30397 : ( 1)))
30398 : return NULL;
30399 : return gen_split_2183 (insn, operands);
30400 :
30401 : case 5:
30402 : if (!(
30403 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30404 : ((16 == 64 || TARGET_AVX512VL
30405 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30406 : && ix86_pre_reload_split ()
30407 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30408 : STRIP_UNARY (operands[4]))
30409 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30410 : STRIP_UNARY (operands[4]))
30411 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30412 : STRIP_UNARY (operands[3]))
30413 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30414 : STRIP_UNARY (operands[3])))) &&
30415 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30416 : ( 1)))
30417 : return NULL;
30418 : return gen_split_2210 (insn, operands);
30419 :
30420 : case 6:
30421 : if (!((
30422 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30423 : ((64 == 64 || TARGET_AVX512VL
30424 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30425 : && ix86_pre_reload_split ()
30426 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30427 : STRIP_UNARY (operands[4]))
30428 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30429 : STRIP_UNARY (operands[4]))
30430 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30431 : STRIP_UNARY (operands[3]))
30432 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30433 : STRIP_UNARY (operands[3])))) &&
30434 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30435 : (TARGET_AVX512F)) &&
30436 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30437 : ( 1)))
30438 : return NULL;
30439 : return gen_split_2237 (insn, operands);
30440 :
30441 : case 7:
30442 : if (!((
30443 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30444 : ((32 == 64 || TARGET_AVX512VL
30445 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30446 : && ix86_pre_reload_split ()
30447 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30448 : STRIP_UNARY (operands[4]))
30449 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30450 : STRIP_UNARY (operands[4]))
30451 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30452 : STRIP_UNARY (operands[3]))
30453 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30454 : STRIP_UNARY (operands[3])))) &&
30455 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30456 : (TARGET_AVX)) &&
30457 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30458 : ( 1)))
30459 : return NULL;
30460 : return gen_split_2264 (insn, operands);
30461 :
30462 : case 8:
30463 : if (!(
30464 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30465 : ((16 == 64 || TARGET_AVX512VL
30466 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30467 : && ix86_pre_reload_split ()
30468 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30469 : STRIP_UNARY (operands[4]))
30470 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30471 : STRIP_UNARY (operands[4]))
30472 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30473 : STRIP_UNARY (operands[3]))
30474 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30475 : STRIP_UNARY (operands[3])))) &&
30476 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30477 : ( 1)))
30478 : return NULL;
30479 : return gen_split_2291 (insn, operands);
30480 :
30481 : case 9:
30482 : if (!((
30483 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30484 : ((64 == 64 || TARGET_AVX512VL
30485 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30486 : && ix86_pre_reload_split ()
30487 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30488 : STRIP_UNARY (operands[4]))
30489 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30490 : STRIP_UNARY (operands[4]))
30491 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30492 : STRIP_UNARY (operands[3]))
30493 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30494 : STRIP_UNARY (operands[3])))) &&
30495 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30496 : (TARGET_AVX512F)) &&
30497 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30498 : ( 1)))
30499 : return NULL;
30500 : return gen_split_2318 (insn, operands);
30501 :
30502 : case 10:
30503 : if (!((
30504 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30505 : ((32 == 64 || TARGET_AVX512VL
30506 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30507 : && ix86_pre_reload_split ()
30508 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30509 : STRIP_UNARY (operands[4]))
30510 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30511 : STRIP_UNARY (operands[4]))
30512 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30513 : STRIP_UNARY (operands[3]))
30514 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30515 : STRIP_UNARY (operands[3])))) &&
30516 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30517 : (TARGET_AVX)) &&
30518 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30519 : ( 1)))
30520 : return NULL;
30521 : return gen_split_2345 (insn, operands);
30522 :
30523 : case 11:
30524 : if (!((
30525 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30526 : ((16 == 64 || TARGET_AVX512VL
30527 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30528 : && ix86_pre_reload_split ()
30529 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30530 : STRIP_UNARY (operands[4]))
30531 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30532 : STRIP_UNARY (operands[4]))
30533 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30534 : STRIP_UNARY (operands[3]))
30535 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30536 : STRIP_UNARY (operands[3])))) &&
30537 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30538 : (TARGET_SSE2)) &&
30539 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30540 : ( 1)))
30541 : return NULL;
30542 : return gen_split_2372 (insn, operands);
30543 :
30544 : case 12:
30545 : if (!((
30546 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30547 : ((64 == 64 || TARGET_AVX512VL
30548 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30549 : && ix86_pre_reload_split ()
30550 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30551 : STRIP_UNARY (operands[4]))
30552 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30553 : STRIP_UNARY (operands[4]))
30554 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30555 : STRIP_UNARY (operands[3]))
30556 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30557 : STRIP_UNARY (operands[3])))) &&
30558 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30559 : (TARGET_AVX512F)) &&
30560 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30561 : ( 1)))
30562 : return NULL;
30563 : return gen_split_2078 (insn, operands);
30564 :
30565 : case 13:
30566 : if (!((
30567 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30568 : ((32 == 64 || TARGET_AVX512VL
30569 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30570 : && ix86_pre_reload_split ()
30571 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30572 : STRIP_UNARY (operands[4]))
30573 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30574 : STRIP_UNARY (operands[4]))
30575 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30576 : STRIP_UNARY (operands[3]))
30577 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30578 : STRIP_UNARY (operands[3])))) &&
30579 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30580 : (TARGET_AVX)) &&
30581 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30582 : ( 1)))
30583 : return NULL;
30584 : return gen_split_2105 (insn, operands);
30585 :
30586 : case 14:
30587 : if (!(
30588 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30589 : ((16 == 64 || TARGET_AVX512VL
30590 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30591 : && ix86_pre_reload_split ()
30592 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30593 : STRIP_UNARY (operands[4]))
30594 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30595 : STRIP_UNARY (operands[4]))
30596 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30597 : STRIP_UNARY (operands[3]))
30598 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30599 : STRIP_UNARY (operands[3])))) &&
30600 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30601 : ( 1)))
30602 : return NULL;
30603 : return gen_split_2132 (insn, operands);
30604 :
30605 : case 15:
30606 : if (!((
30607 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30608 : ((64 == 64 || TARGET_AVX512VL
30609 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30610 : && ix86_pre_reload_split ()
30611 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30612 : STRIP_UNARY (operands[4]))
30613 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30614 : STRIP_UNARY (operands[4]))
30615 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30616 : STRIP_UNARY (operands[3]))
30617 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30618 : STRIP_UNARY (operands[3])))) &&
30619 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : (TARGET_AVX512F)) &&
30621 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30622 : ( 1)))
30623 : return NULL;
30624 : return gen_split_2159 (insn, operands);
30625 :
30626 : case 16:
30627 : if (!((
30628 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30629 : ((32 == 64 || TARGET_AVX512VL
30630 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30631 : && ix86_pre_reload_split ()
30632 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30633 : STRIP_UNARY (operands[4]))
30634 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30635 : STRIP_UNARY (operands[4]))
30636 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30637 : STRIP_UNARY (operands[3]))
30638 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30639 : STRIP_UNARY (operands[3])))) &&
30640 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30641 : (TARGET_AVX)) &&
30642 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30643 : ( 1)))
30644 : return NULL;
30645 : return gen_split_2186 (insn, operands);
30646 :
30647 : case 17:
30648 : if (!(
30649 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30650 : ((16 == 64 || TARGET_AVX512VL
30651 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30652 : && ix86_pre_reload_split ()
30653 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30654 : STRIP_UNARY (operands[4]))
30655 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30656 : STRIP_UNARY (operands[4]))
30657 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30658 : STRIP_UNARY (operands[3]))
30659 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30660 : STRIP_UNARY (operands[3])))) &&
30661 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30662 : ( 1)))
30663 : return NULL;
30664 : return gen_split_2213 (insn, operands);
30665 :
30666 : case 18:
30667 : if (!((
30668 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30669 : ((64 == 64 || TARGET_AVX512VL
30670 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30671 : && ix86_pre_reload_split ()
30672 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30673 : STRIP_UNARY (operands[4]))
30674 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30675 : STRIP_UNARY (operands[4]))
30676 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30677 : STRIP_UNARY (operands[3]))
30678 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30679 : STRIP_UNARY (operands[3])))) &&
30680 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30681 : (TARGET_AVX512F)) &&
30682 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30683 : ( 1)))
30684 : return NULL;
30685 : return gen_split_2240 (insn, operands);
30686 :
30687 : case 19:
30688 : if (!((
30689 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30690 : ((32 == 64 || TARGET_AVX512VL
30691 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30692 : && ix86_pre_reload_split ()
30693 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30694 : STRIP_UNARY (operands[4]))
30695 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30696 : STRIP_UNARY (operands[4]))
30697 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30698 : STRIP_UNARY (operands[3]))
30699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30700 : STRIP_UNARY (operands[3])))) &&
30701 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30702 : (TARGET_AVX)) &&
30703 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30704 : ( 1)))
30705 : return NULL;
30706 : return gen_split_2267 (insn, operands);
30707 :
30708 : case 20:
30709 : if (!(
30710 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30711 : ((16 == 64 || TARGET_AVX512VL
30712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30713 : && ix86_pre_reload_split ()
30714 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30715 : STRIP_UNARY (operands[4]))
30716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30717 : STRIP_UNARY (operands[4]))
30718 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30719 : STRIP_UNARY (operands[3]))
30720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30721 : STRIP_UNARY (operands[3])))) &&
30722 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30723 : ( 1)))
30724 : return NULL;
30725 : return gen_split_2294 (insn, operands);
30726 :
30727 : case 21:
30728 : if (!((
30729 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30730 : ((64 == 64 || TARGET_AVX512VL
30731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30732 : && ix86_pre_reload_split ()
30733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30734 : STRIP_UNARY (operands[4]))
30735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30736 : STRIP_UNARY (operands[4]))
30737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30738 : STRIP_UNARY (operands[3]))
30739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30740 : STRIP_UNARY (operands[3])))) &&
30741 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30742 : (TARGET_AVX512F)) &&
30743 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30744 : ( 1)))
30745 : return NULL;
30746 : return gen_split_2321 (insn, operands);
30747 :
30748 : case 22:
30749 : if (!((
30750 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30751 : ((32 == 64 || TARGET_AVX512VL
30752 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30753 : && ix86_pre_reload_split ()
30754 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30755 : STRIP_UNARY (operands[4]))
30756 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30757 : STRIP_UNARY (operands[4]))
30758 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30759 : STRIP_UNARY (operands[3]))
30760 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30761 : STRIP_UNARY (operands[3])))) &&
30762 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30763 : (TARGET_AVX)) &&
30764 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30765 : ( 1)))
30766 : return NULL;
30767 : return gen_split_2348 (insn, operands);
30768 :
30769 : case 23:
30770 : if (!((
30771 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30772 : ((16 == 64 || TARGET_AVX512VL
30773 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30774 : && ix86_pre_reload_split ()
30775 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30776 : STRIP_UNARY (operands[4]))
30777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30778 : STRIP_UNARY (operands[4]))
30779 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30780 : STRIP_UNARY (operands[3]))
30781 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30782 : STRIP_UNARY (operands[3])))) &&
30783 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30784 : (TARGET_SSE2)) &&
30785 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30786 : ( 1)))
30787 : return NULL;
30788 : return gen_split_2375 (insn, operands);
30789 :
30790 : case 24:
30791 : if (!((
30792 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30793 : ((64 == 64 || TARGET_AVX512VL
30794 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30795 : && ix86_pre_reload_split ()
30796 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30797 : STRIP_UNARY (operands[4]))
30798 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30799 : STRIP_UNARY (operands[4]))
30800 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30801 : STRIP_UNARY (operands[3]))
30802 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30803 : STRIP_UNARY (operands[3])))) &&
30804 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30805 : (TARGET_AVX512F)) &&
30806 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30807 : ( 1)))
30808 : return NULL;
30809 : return gen_split_2081 (insn, operands);
30810 :
30811 : case 25:
30812 : if (!((
30813 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30814 : ((32 == 64 || TARGET_AVX512VL
30815 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30816 : && ix86_pre_reload_split ()
30817 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30818 : STRIP_UNARY (operands[4]))
30819 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30820 : STRIP_UNARY (operands[4]))
30821 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30822 : STRIP_UNARY (operands[3]))
30823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30824 : STRIP_UNARY (operands[3])))) &&
30825 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30826 : (TARGET_AVX)) &&
30827 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30828 : ( 1)))
30829 : return NULL;
30830 : return gen_split_2108 (insn, operands);
30831 :
30832 : case 26:
30833 : if (!(
30834 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30835 : ((16 == 64 || TARGET_AVX512VL
30836 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30837 : && ix86_pre_reload_split ()
30838 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30839 : STRIP_UNARY (operands[4]))
30840 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30841 : STRIP_UNARY (operands[4]))
30842 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30843 : STRIP_UNARY (operands[3]))
30844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30845 : STRIP_UNARY (operands[3])))) &&
30846 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30847 : ( 1)))
30848 : return NULL;
30849 : return gen_split_2135 (insn, operands);
30850 :
30851 : case 27:
30852 : if (!((
30853 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30854 : ((64 == 64 || TARGET_AVX512VL
30855 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30856 : && ix86_pre_reload_split ()
30857 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30858 : STRIP_UNARY (operands[4]))
30859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30860 : STRIP_UNARY (operands[4]))
30861 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30862 : STRIP_UNARY (operands[3]))
30863 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30864 : STRIP_UNARY (operands[3])))) &&
30865 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30866 : (TARGET_AVX512F)) &&
30867 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30868 : ( 1)))
30869 : return NULL;
30870 : return gen_split_2162 (insn, operands);
30871 :
30872 : case 28:
30873 : if (!((
30874 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30875 : ((32 == 64 || TARGET_AVX512VL
30876 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30877 : && ix86_pre_reload_split ()
30878 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30879 : STRIP_UNARY (operands[4]))
30880 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30881 : STRIP_UNARY (operands[4]))
30882 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30883 : STRIP_UNARY (operands[3]))
30884 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30885 : STRIP_UNARY (operands[3])))) &&
30886 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30887 : (TARGET_AVX)) &&
30888 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30889 : ( 1)))
30890 : return NULL;
30891 : return gen_split_2189 (insn, operands);
30892 :
30893 : case 29:
30894 : if (!(
30895 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30896 : ((16 == 64 || TARGET_AVX512VL
30897 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30898 : && ix86_pre_reload_split ()
30899 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30900 : STRIP_UNARY (operands[4]))
30901 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30902 : STRIP_UNARY (operands[4]))
30903 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30904 : STRIP_UNARY (operands[3]))
30905 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30906 : STRIP_UNARY (operands[3])))) &&
30907 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30908 : ( 1)))
30909 : return NULL;
30910 : return gen_split_2216 (insn, operands);
30911 :
30912 : case 30:
30913 : if (!((
30914 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30915 : ((64 == 64 || TARGET_AVX512VL
30916 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30917 : && ix86_pre_reload_split ()
30918 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30919 : STRIP_UNARY (operands[4]))
30920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30921 : STRIP_UNARY (operands[4]))
30922 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30923 : STRIP_UNARY (operands[3]))
30924 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30925 : STRIP_UNARY (operands[3])))) &&
30926 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30927 : (TARGET_AVX512F)) &&
30928 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30929 : ( 1)))
30930 : return NULL;
30931 : return gen_split_2243 (insn, operands);
30932 :
30933 : case 31:
30934 : if (!((
30935 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30936 : ((32 == 64 || TARGET_AVX512VL
30937 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30938 : && ix86_pre_reload_split ()
30939 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30940 : STRIP_UNARY (operands[4]))
30941 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30942 : STRIP_UNARY (operands[4]))
30943 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30944 : STRIP_UNARY (operands[3]))
30945 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30946 : STRIP_UNARY (operands[3])))) &&
30947 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30948 : (TARGET_AVX)) &&
30949 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30950 : ( 1)))
30951 : return NULL;
30952 : return gen_split_2270 (insn, operands);
30953 :
30954 : case 32:
30955 : if (!(
30956 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30957 : ((16 == 64 || TARGET_AVX512VL
30958 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30959 : && ix86_pre_reload_split ()
30960 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30961 : STRIP_UNARY (operands[4]))
30962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30963 : STRIP_UNARY (operands[4]))
30964 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30965 : STRIP_UNARY (operands[3]))
30966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30967 : STRIP_UNARY (operands[3])))) &&
30968 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30969 : ( 1)))
30970 : return NULL;
30971 : return gen_split_2297 (insn, operands);
30972 :
30973 : case 33:
30974 : if (!((
30975 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30976 : ((64 == 64 || TARGET_AVX512VL
30977 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30978 : && ix86_pre_reload_split ()
30979 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30980 : STRIP_UNARY (operands[4]))
30981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30982 : STRIP_UNARY (operands[4]))
30983 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30984 : STRIP_UNARY (operands[3]))
30985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30986 : STRIP_UNARY (operands[3])))) &&
30987 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30988 : (TARGET_AVX512F)) &&
30989 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30990 : ( 1)))
30991 : return NULL;
30992 : return gen_split_2324 (insn, operands);
30993 :
30994 : case 34:
30995 : if (!((
30996 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30997 : ((32 == 64 || TARGET_AVX512VL
30998 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30999 : && ix86_pre_reload_split ()
31000 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31001 : STRIP_UNARY (operands[4]))
31002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31003 : STRIP_UNARY (operands[4]))
31004 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31005 : STRIP_UNARY (operands[3]))
31006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31007 : STRIP_UNARY (operands[3])))) &&
31008 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31009 : (TARGET_AVX)) &&
31010 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31011 : ( 1)))
31012 : return NULL;
31013 : return gen_split_2351 (insn, operands);
31014 :
31015 : case 35:
31016 : if (!((
31017 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31018 : ((16 == 64 || TARGET_AVX512VL
31019 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31020 : && ix86_pre_reload_split ()
31021 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31022 : STRIP_UNARY (operands[4]))
31023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31024 : STRIP_UNARY (operands[4]))
31025 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31026 : STRIP_UNARY (operands[3]))
31027 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31028 : STRIP_UNARY (operands[3])))) &&
31029 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31030 : (TARGET_SSE2)) &&
31031 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31032 : ( 1)))
31033 : return NULL;
31034 : return gen_split_2378 (insn, operands);
31035 :
31036 : case 36:
31037 : if (!((
31038 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31039 : ((64 == 64 || TARGET_AVX512VL
31040 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31041 : && ix86_pre_reload_split ()) &&
31042 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31043 : (TARGET_AVX512F)) &&
31044 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31045 : ( 1)))
31046 : return NULL;
31047 : return gen_split_3149 (insn, operands);
31048 :
31049 : case 37:
31050 : if (!((
31051 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31052 : ((32 == 64 || TARGET_AVX512VL
31053 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31054 : && ix86_pre_reload_split ()) &&
31055 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31056 : (TARGET_AVX)) &&
31057 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31058 : ( 1)))
31059 : return NULL;
31060 : return gen_split_3158 (insn, operands);
31061 :
31062 : case 38:
31063 : if (!(
31064 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31065 : ((16 == 64 || TARGET_AVX512VL
31066 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31067 : && ix86_pre_reload_split ()) &&
31068 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31069 : ( 1)))
31070 : return NULL;
31071 : return gen_split_3167 (insn, operands);
31072 :
31073 : case 39:
31074 : if (!((
31075 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31076 : ((64 == 64 || TARGET_AVX512VL
31077 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31078 : && ix86_pre_reload_split ()) &&
31079 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31080 : (TARGET_AVX512F)) &&
31081 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31082 : ( 1)))
31083 : return NULL;
31084 : return gen_split_3176 (insn, operands);
31085 :
31086 : case 40:
31087 : if (!((
31088 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31089 : ((32 == 64 || TARGET_AVX512VL
31090 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31091 : && ix86_pre_reload_split ()) &&
31092 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31093 : (TARGET_AVX)) &&
31094 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31095 : ( 1)))
31096 : return NULL;
31097 : return gen_split_3185 (insn, operands);
31098 :
31099 : case 41:
31100 : if (!(
31101 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31102 : ((16 == 64 || TARGET_AVX512VL
31103 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31104 : && ix86_pre_reload_split ()) &&
31105 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31106 : ( 1)))
31107 : return NULL;
31108 : return gen_split_3194 (insn, operands);
31109 :
31110 : case 42:
31111 : if (!((
31112 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31113 : ((64 == 64 || TARGET_AVX512VL
31114 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31115 : && ix86_pre_reload_split ()) &&
31116 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31117 : (TARGET_AVX512F)) &&
31118 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31119 : ( 1)))
31120 : return NULL;
31121 : return gen_split_3203 (insn, operands);
31122 :
31123 : case 43:
31124 : if (!((
31125 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31126 : ((32 == 64 || TARGET_AVX512VL
31127 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31128 : && ix86_pre_reload_split ()) &&
31129 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31130 : (TARGET_AVX)) &&
31131 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31132 : ( 1)))
31133 : return NULL;
31134 : return gen_split_3212 (insn, operands);
31135 :
31136 : case 44:
31137 : if (!(
31138 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31139 : ((16 == 64 || TARGET_AVX512VL
31140 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31141 : && ix86_pre_reload_split ()) &&
31142 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31143 : ( 1)))
31144 : return NULL;
31145 : return gen_split_3221 (insn, operands);
31146 :
31147 : case 45:
31148 : if (!((
31149 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31150 : ((64 == 64 || TARGET_AVX512VL
31151 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31152 : && ix86_pre_reload_split ()) &&
31153 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31154 : (TARGET_AVX512F)) &&
31155 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31156 : ( 1)))
31157 : return NULL;
31158 : return gen_split_3230 (insn, operands);
31159 :
31160 : case 46:
31161 : if (!((
31162 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31163 : ((32 == 64 || TARGET_AVX512VL
31164 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31165 : && ix86_pre_reload_split ()) &&
31166 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31167 : (TARGET_AVX)) &&
31168 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31169 : ( 1)))
31170 : return NULL;
31171 : return gen_split_3239 (insn, operands);
31172 :
31173 : case 47:
31174 : if (!((
31175 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31176 : ((16 == 64 || TARGET_AVX512VL
31177 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31178 : && ix86_pre_reload_split ()) &&
31179 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31180 : (TARGET_SSE2)) &&
31181 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31182 : ( 1)))
31183 : return NULL;
31184 : return gen_split_3248 (insn, operands);
31185 :
31186 : default:
31187 : return NULL;
31188 : }
31189 :
31190 : case AND:
31191 : switch (pattern542 (x2))
31192 : {
31193 : case 0:
31194 : if (!((
31195 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31196 : ((64 == 64 || TARGET_AVX512VL
31197 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31198 : && ix86_pre_reload_split ()
31199 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31200 : STRIP_UNARY (operands[4]))
31201 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31202 : STRIP_UNARY (operands[4]))
31203 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31204 : STRIP_UNARY (operands[3]))
31205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31206 : STRIP_UNARY (operands[3])))) &&
31207 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31208 : (TARGET_AVX512F)) &&
31209 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31210 : ( 1)))
31211 : return NULL;
31212 : return gen_split_2723 (insn, operands);
31213 :
31214 : case 1:
31215 : if (!((
31216 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31217 : ((32 == 64 || TARGET_AVX512VL
31218 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31219 : && ix86_pre_reload_split ()
31220 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31221 : STRIP_UNARY (operands[4]))
31222 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31223 : STRIP_UNARY (operands[4]))
31224 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31225 : STRIP_UNARY (operands[3]))
31226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31227 : STRIP_UNARY (operands[3])))) &&
31228 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31229 : (TARGET_AVX)) &&
31230 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31231 : ( 1)))
31232 : return NULL;
31233 : return gen_split_2750 (insn, operands);
31234 :
31235 : case 2:
31236 : if (!(
31237 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31238 : ((16 == 64 || TARGET_AVX512VL
31239 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31240 : && ix86_pre_reload_split ()
31241 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31242 : STRIP_UNARY (operands[4]))
31243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31244 : STRIP_UNARY (operands[4]))
31245 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31246 : STRIP_UNARY (operands[3]))
31247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31248 : STRIP_UNARY (operands[3])))) &&
31249 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31250 : ( 1)))
31251 : return NULL;
31252 : return gen_split_2777 (insn, operands);
31253 :
31254 : case 3:
31255 : if (!((
31256 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31257 : ((64 == 64 || TARGET_AVX512VL
31258 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31259 : && ix86_pre_reload_split ()
31260 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31261 : STRIP_UNARY (operands[4]))
31262 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31263 : STRIP_UNARY (operands[4]))
31264 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31265 : STRIP_UNARY (operands[3]))
31266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31267 : STRIP_UNARY (operands[3])))) &&
31268 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31269 : (TARGET_AVX512F)) &&
31270 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31271 : ( 1)))
31272 : return NULL;
31273 : return gen_split_2804 (insn, operands);
31274 :
31275 : case 4:
31276 : if (!((
31277 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31278 : ((32 == 64 || TARGET_AVX512VL
31279 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31280 : && ix86_pre_reload_split ()
31281 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31282 : STRIP_UNARY (operands[4]))
31283 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31284 : STRIP_UNARY (operands[4]))
31285 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31286 : STRIP_UNARY (operands[3]))
31287 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31288 : STRIP_UNARY (operands[3])))) &&
31289 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31290 : (TARGET_AVX)) &&
31291 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31292 : ( 1)))
31293 : return NULL;
31294 : return gen_split_2831 (insn, operands);
31295 :
31296 : case 5:
31297 : if (!(
31298 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31299 : ((16 == 64 || TARGET_AVX512VL
31300 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31301 : && ix86_pre_reload_split ()
31302 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31303 : STRIP_UNARY (operands[4]))
31304 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31305 : STRIP_UNARY (operands[4]))
31306 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31307 : STRIP_UNARY (operands[3]))
31308 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31309 : STRIP_UNARY (operands[3])))) &&
31310 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31311 : ( 1)))
31312 : return NULL;
31313 : return gen_split_2858 (insn, operands);
31314 :
31315 : case 6:
31316 : if (!((
31317 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31318 : ((64 == 64 || TARGET_AVX512VL
31319 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31320 : && ix86_pre_reload_split ()
31321 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31322 : STRIP_UNARY (operands[4]))
31323 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31324 : STRIP_UNARY (operands[4]))
31325 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31326 : STRIP_UNARY (operands[3]))
31327 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31328 : STRIP_UNARY (operands[3])))) &&
31329 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31330 : (TARGET_AVX512F)) &&
31331 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31332 : ( 1)))
31333 : return NULL;
31334 : return gen_split_2885 (insn, operands);
31335 :
31336 : case 7:
31337 : if (!((
31338 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31339 : ((32 == 64 || TARGET_AVX512VL
31340 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31341 : && ix86_pre_reload_split ()
31342 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31343 : STRIP_UNARY (operands[4]))
31344 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31345 : STRIP_UNARY (operands[4]))
31346 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31347 : STRIP_UNARY (operands[3]))
31348 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31349 : STRIP_UNARY (operands[3])))) &&
31350 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31351 : (TARGET_AVX)) &&
31352 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31353 : ( 1)))
31354 : return NULL;
31355 : return gen_split_2912 (insn, operands);
31356 :
31357 : case 8:
31358 : if (!(
31359 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31360 : ((16 == 64 || TARGET_AVX512VL
31361 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31362 : && ix86_pre_reload_split ()
31363 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31364 : STRIP_UNARY (operands[4]))
31365 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31366 : STRIP_UNARY (operands[4]))
31367 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31368 : STRIP_UNARY (operands[3]))
31369 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31370 : STRIP_UNARY (operands[3])))) &&
31371 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31372 : ( 1)))
31373 : return NULL;
31374 : return gen_split_2939 (insn, operands);
31375 :
31376 : case 9:
31377 : if (!((
31378 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31379 : ((64 == 64 || TARGET_AVX512VL
31380 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31381 : && ix86_pre_reload_split ()
31382 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31383 : STRIP_UNARY (operands[4]))
31384 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31385 : STRIP_UNARY (operands[4]))
31386 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31387 : STRIP_UNARY (operands[3]))
31388 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31389 : STRIP_UNARY (operands[3])))) &&
31390 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31391 : (TARGET_AVX512F)) &&
31392 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31393 : ( 1)))
31394 : return NULL;
31395 : return gen_split_2966 (insn, operands);
31396 :
31397 : case 10:
31398 : if (!((
31399 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31400 : ((32 == 64 || TARGET_AVX512VL
31401 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31402 : && ix86_pre_reload_split ()
31403 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31404 : STRIP_UNARY (operands[4]))
31405 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31406 : STRIP_UNARY (operands[4]))
31407 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31408 : STRIP_UNARY (operands[3]))
31409 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31410 : STRIP_UNARY (operands[3])))) &&
31411 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31412 : (TARGET_AVX)) &&
31413 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31414 : ( 1)))
31415 : return NULL;
31416 : return gen_split_2993 (insn, operands);
31417 :
31418 : case 11:
31419 : if (!((
31420 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31421 : ((16 == 64 || TARGET_AVX512VL
31422 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31423 : && ix86_pre_reload_split ()
31424 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31425 : STRIP_UNARY (operands[4]))
31426 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31427 : STRIP_UNARY (operands[4]))
31428 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31429 : STRIP_UNARY (operands[3]))
31430 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31431 : STRIP_UNARY (operands[3])))) &&
31432 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31433 : (TARGET_SSE2)) &&
31434 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31435 : ( 1)))
31436 : return NULL;
31437 : return gen_split_3020 (insn, operands);
31438 :
31439 : default:
31440 : return NULL;
31441 : }
31442 :
31443 : case IOR:
31444 : switch (pattern542 (x2))
31445 : {
31446 : case 0:
31447 : if (!((
31448 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31449 : ((64 == 64 || TARGET_AVX512VL
31450 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31451 : && ix86_pre_reload_split ()
31452 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31453 : STRIP_UNARY (operands[4]))
31454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31455 : STRIP_UNARY (operands[4]))
31456 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31457 : STRIP_UNARY (operands[3]))
31458 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31459 : STRIP_UNARY (operands[3])))) &&
31460 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31461 : (TARGET_AVX512F)) &&
31462 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31463 : ( 1)))
31464 : return NULL;
31465 : return gen_split_2726 (insn, operands);
31466 :
31467 : case 1:
31468 : if (!((
31469 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31470 : ((32 == 64 || TARGET_AVX512VL
31471 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31472 : && ix86_pre_reload_split ()
31473 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31474 : STRIP_UNARY (operands[4]))
31475 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31476 : STRIP_UNARY (operands[4]))
31477 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31478 : STRIP_UNARY (operands[3]))
31479 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31480 : STRIP_UNARY (operands[3])))) &&
31481 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31482 : (TARGET_AVX)) &&
31483 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31484 : ( 1)))
31485 : return NULL;
31486 : return gen_split_2753 (insn, operands);
31487 :
31488 : case 2:
31489 : if (!(
31490 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31491 : ((16 == 64 || TARGET_AVX512VL
31492 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31493 : && ix86_pre_reload_split ()
31494 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31495 : STRIP_UNARY (operands[4]))
31496 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31497 : STRIP_UNARY (operands[4]))
31498 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31499 : STRIP_UNARY (operands[3]))
31500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31501 : STRIP_UNARY (operands[3])))) &&
31502 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31503 : ( 1)))
31504 : return NULL;
31505 : return gen_split_2780 (insn, operands);
31506 :
31507 : case 3:
31508 : if (!((
31509 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31510 : ((64 == 64 || TARGET_AVX512VL
31511 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31512 : && ix86_pre_reload_split ()
31513 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31514 : STRIP_UNARY (operands[4]))
31515 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31516 : STRIP_UNARY (operands[4]))
31517 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31518 : STRIP_UNARY (operands[3]))
31519 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31520 : STRIP_UNARY (operands[3])))) &&
31521 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31522 : (TARGET_AVX512F)) &&
31523 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31524 : ( 1)))
31525 : return NULL;
31526 : return gen_split_2807 (insn, operands);
31527 :
31528 : case 4:
31529 : if (!((
31530 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31531 : ((32 == 64 || TARGET_AVX512VL
31532 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31533 : && ix86_pre_reload_split ()
31534 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31535 : STRIP_UNARY (operands[4]))
31536 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31537 : STRIP_UNARY (operands[4]))
31538 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31539 : STRIP_UNARY (operands[3]))
31540 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31541 : STRIP_UNARY (operands[3])))) &&
31542 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31543 : (TARGET_AVX)) &&
31544 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31545 : ( 1)))
31546 : return NULL;
31547 : return gen_split_2834 (insn, operands);
31548 :
31549 : case 5:
31550 : if (!(
31551 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31552 : ((16 == 64 || TARGET_AVX512VL
31553 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31554 : && ix86_pre_reload_split ()
31555 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31556 : STRIP_UNARY (operands[4]))
31557 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31558 : STRIP_UNARY (operands[4]))
31559 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31560 : STRIP_UNARY (operands[3]))
31561 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31562 : STRIP_UNARY (operands[3])))) &&
31563 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31564 : ( 1)))
31565 : return NULL;
31566 : return gen_split_2861 (insn, operands);
31567 :
31568 : case 6:
31569 : if (!((
31570 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31571 : ((64 == 64 || TARGET_AVX512VL
31572 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31573 : && ix86_pre_reload_split ()
31574 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31575 : STRIP_UNARY (operands[4]))
31576 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31577 : STRIP_UNARY (operands[4]))
31578 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31579 : STRIP_UNARY (operands[3]))
31580 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31581 : STRIP_UNARY (operands[3])))) &&
31582 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31583 : (TARGET_AVX512F)) &&
31584 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31585 : ( 1)))
31586 : return NULL;
31587 : return gen_split_2888 (insn, operands);
31588 :
31589 : case 7:
31590 : if (!((
31591 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31592 : ((32 == 64 || TARGET_AVX512VL
31593 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31594 : && ix86_pre_reload_split ()
31595 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31596 : STRIP_UNARY (operands[4]))
31597 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31598 : STRIP_UNARY (operands[4]))
31599 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31600 : STRIP_UNARY (operands[3]))
31601 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31602 : STRIP_UNARY (operands[3])))) &&
31603 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31604 : (TARGET_AVX)) &&
31605 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31606 : ( 1)))
31607 : return NULL;
31608 : return gen_split_2915 (insn, operands);
31609 :
31610 : case 8:
31611 : if (!(
31612 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31613 : ((16 == 64 || TARGET_AVX512VL
31614 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31615 : && ix86_pre_reload_split ()
31616 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31617 : STRIP_UNARY (operands[4]))
31618 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31619 : STRIP_UNARY (operands[4]))
31620 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31621 : STRIP_UNARY (operands[3]))
31622 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31623 : STRIP_UNARY (operands[3])))) &&
31624 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31625 : ( 1)))
31626 : return NULL;
31627 : return gen_split_2942 (insn, operands);
31628 :
31629 : case 9:
31630 : if (!((
31631 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31632 : ((64 == 64 || TARGET_AVX512VL
31633 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31634 : && ix86_pre_reload_split ()
31635 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31636 : STRIP_UNARY (operands[4]))
31637 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31638 : STRIP_UNARY (operands[4]))
31639 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31640 : STRIP_UNARY (operands[3]))
31641 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31642 : STRIP_UNARY (operands[3])))) &&
31643 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31644 : (TARGET_AVX512F)) &&
31645 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31646 : ( 1)))
31647 : return NULL;
31648 : return gen_split_2969 (insn, operands);
31649 :
31650 : case 10:
31651 : if (!((
31652 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31653 : ((32 == 64 || TARGET_AVX512VL
31654 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31655 : && ix86_pre_reload_split ()
31656 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31657 : STRIP_UNARY (operands[4]))
31658 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31659 : STRIP_UNARY (operands[4]))
31660 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31661 : STRIP_UNARY (operands[3]))
31662 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31663 : STRIP_UNARY (operands[3])))) &&
31664 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31665 : (TARGET_AVX)) &&
31666 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31667 : ( 1)))
31668 : return NULL;
31669 : return gen_split_2996 (insn, operands);
31670 :
31671 : case 11:
31672 : if (!((
31673 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31674 : ((16 == 64 || TARGET_AVX512VL
31675 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31676 : && ix86_pre_reload_split ()
31677 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31678 : STRIP_UNARY (operands[4]))
31679 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31680 : STRIP_UNARY (operands[4]))
31681 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31682 : STRIP_UNARY (operands[3]))
31683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31684 : STRIP_UNARY (operands[3])))) &&
31685 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31686 : (TARGET_SSE2)) &&
31687 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31688 : ( 1)))
31689 : return NULL;
31690 : return gen_split_3023 (insn, operands);
31691 :
31692 : default:
31693 : return NULL;
31694 : }
31695 :
31696 : case XOR:
31697 : switch (pattern542 (x2))
31698 : {
31699 : case 0:
31700 : if (!((
31701 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31702 : ((64 == 64 || TARGET_AVX512VL
31703 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31704 : && ix86_pre_reload_split ()
31705 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31706 : STRIP_UNARY (operands[4]))
31707 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31708 : STRIP_UNARY (operands[4]))
31709 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31710 : STRIP_UNARY (operands[3]))
31711 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31712 : STRIP_UNARY (operands[3])))) &&
31713 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31714 : (TARGET_AVX512F)) &&
31715 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31716 : ( 1)))
31717 : return NULL;
31718 : return gen_split_2729 (insn, operands);
31719 :
31720 : case 1:
31721 : if (!((
31722 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31723 : ((32 == 64 || TARGET_AVX512VL
31724 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31725 : && ix86_pre_reload_split ()
31726 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31727 : STRIP_UNARY (operands[4]))
31728 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31729 : STRIP_UNARY (operands[4]))
31730 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31731 : STRIP_UNARY (operands[3]))
31732 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31733 : STRIP_UNARY (operands[3])))) &&
31734 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31735 : (TARGET_AVX)) &&
31736 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31737 : ( 1)))
31738 : return NULL;
31739 : return gen_split_2756 (insn, operands);
31740 :
31741 : case 2:
31742 : if (!(
31743 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31744 : ((16 == 64 || TARGET_AVX512VL
31745 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31746 : && ix86_pre_reload_split ()
31747 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31748 : STRIP_UNARY (operands[4]))
31749 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31750 : STRIP_UNARY (operands[4]))
31751 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31752 : STRIP_UNARY (operands[3]))
31753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31754 : STRIP_UNARY (operands[3])))) &&
31755 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31756 : ( 1)))
31757 : return NULL;
31758 : return gen_split_2783 (insn, operands);
31759 :
31760 : case 3:
31761 : if (!((
31762 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31763 : ((64 == 64 || TARGET_AVX512VL
31764 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31765 : && ix86_pre_reload_split ()
31766 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31767 : STRIP_UNARY (operands[4]))
31768 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31769 : STRIP_UNARY (operands[4]))
31770 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31771 : STRIP_UNARY (operands[3]))
31772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31773 : STRIP_UNARY (operands[3])))) &&
31774 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31775 : (TARGET_AVX512F)) &&
31776 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31777 : ( 1)))
31778 : return NULL;
31779 : return gen_split_2810 (insn, operands);
31780 :
31781 : case 4:
31782 : if (!((
31783 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31784 : ((32 == 64 || TARGET_AVX512VL
31785 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31786 : && ix86_pre_reload_split ()
31787 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31788 : STRIP_UNARY (operands[4]))
31789 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31790 : STRIP_UNARY (operands[4]))
31791 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31792 : STRIP_UNARY (operands[3]))
31793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31794 : STRIP_UNARY (operands[3])))) &&
31795 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31796 : (TARGET_AVX)) &&
31797 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31798 : ( 1)))
31799 : return NULL;
31800 : return gen_split_2837 (insn, operands);
31801 :
31802 : case 5:
31803 : if (!(
31804 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31805 : ((16 == 64 || TARGET_AVX512VL
31806 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31807 : && ix86_pre_reload_split ()
31808 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31809 : STRIP_UNARY (operands[4]))
31810 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31811 : STRIP_UNARY (operands[4]))
31812 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31813 : STRIP_UNARY (operands[3]))
31814 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31815 : STRIP_UNARY (operands[3])))) &&
31816 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31817 : ( 1)))
31818 : return NULL;
31819 : return gen_split_2864 (insn, operands);
31820 :
31821 : case 6:
31822 : if (!((
31823 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31824 : ((64 == 64 || TARGET_AVX512VL
31825 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31826 : && ix86_pre_reload_split ()
31827 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31828 : STRIP_UNARY (operands[4]))
31829 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31830 : STRIP_UNARY (operands[4]))
31831 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31832 : STRIP_UNARY (operands[3]))
31833 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31834 : STRIP_UNARY (operands[3])))) &&
31835 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31836 : (TARGET_AVX512F)) &&
31837 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31838 : ( 1)))
31839 : return NULL;
31840 : return gen_split_2891 (insn, operands);
31841 :
31842 : case 7:
31843 : if (!((
31844 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31845 : ((32 == 64 || TARGET_AVX512VL
31846 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31847 : && ix86_pre_reload_split ()
31848 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31849 : STRIP_UNARY (operands[4]))
31850 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31851 : STRIP_UNARY (operands[4]))
31852 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31853 : STRIP_UNARY (operands[3]))
31854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31855 : STRIP_UNARY (operands[3])))) &&
31856 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31857 : (TARGET_AVX)) &&
31858 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31859 : ( 1)))
31860 : return NULL;
31861 : return gen_split_2918 (insn, operands);
31862 :
31863 : case 8:
31864 : if (!(
31865 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31866 : ((16 == 64 || TARGET_AVX512VL
31867 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31868 : && ix86_pre_reload_split ()
31869 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31870 : STRIP_UNARY (operands[4]))
31871 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31872 : STRIP_UNARY (operands[4]))
31873 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31874 : STRIP_UNARY (operands[3]))
31875 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31876 : STRIP_UNARY (operands[3])))) &&
31877 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31878 : ( 1)))
31879 : return NULL;
31880 : return gen_split_2945 (insn, operands);
31881 :
31882 : case 9:
31883 : if (!((
31884 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31885 : ((64 == 64 || TARGET_AVX512VL
31886 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31887 : && ix86_pre_reload_split ()
31888 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31889 : STRIP_UNARY (operands[4]))
31890 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31891 : STRIP_UNARY (operands[4]))
31892 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31893 : STRIP_UNARY (operands[3]))
31894 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31895 : STRIP_UNARY (operands[3])))) &&
31896 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31897 : (TARGET_AVX512F)) &&
31898 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31899 : ( 1)))
31900 : return NULL;
31901 : return gen_split_2972 (insn, operands);
31902 :
31903 : case 10:
31904 : if (!((
31905 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31906 : ((32 == 64 || TARGET_AVX512VL
31907 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31908 : && ix86_pre_reload_split ()
31909 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31910 : STRIP_UNARY (operands[4]))
31911 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31912 : STRIP_UNARY (operands[4]))
31913 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31914 : STRIP_UNARY (operands[3]))
31915 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31916 : STRIP_UNARY (operands[3])))) &&
31917 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31918 : (TARGET_AVX)) &&
31919 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31920 : ( 1)))
31921 : return NULL;
31922 : return gen_split_2999 (insn, operands);
31923 :
31924 : case 11:
31925 : if (!((
31926 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31927 : ((16 == 64 || TARGET_AVX512VL
31928 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31929 : && ix86_pre_reload_split ()
31930 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31931 : STRIP_UNARY (operands[4]))
31932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31933 : STRIP_UNARY (operands[4]))
31934 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31935 : STRIP_UNARY (operands[3]))
31936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31937 : STRIP_UNARY (operands[3])))) &&
31938 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31939 : (TARGET_SSE2)) &&
31940 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31941 : ( 1)))
31942 : return NULL;
31943 : return gen_split_3026 (insn, operands);
31944 :
31945 : default:
31946 : return NULL;
31947 : }
31948 :
31949 : default:
31950 : return NULL;
31951 : }
31952 :
31953 : case XOR:
31954 : return split_69 (x1, insn);
31955 :
31956 : default:
31957 : return NULL;
31958 : }
31959 : }
|