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 39193 : pattern2 (rtx x1, int *pnum_clobbers)
57 : {
58 39193 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
59 39193 : rtx x2, x3, x4, x5, x6, x7;
60 39193 : int res ATTRIBUTE_UNUSED;
61 39193 : x2 = XEXP (x1, 1);
62 39193 : x3 = XEXP (x2, 0);
63 39193 : operands[1] = x3;
64 39193 : x4 = XEXP (x2, 1);
65 39193 : switch (GET_CODE (x4))
66 : {
67 21 : case AND:
68 21 : if (pnum_clobbers == NULL
69 21 : || GET_MODE (x4) != E_QImode)
70 : return -1;
71 21 : x5 = XEXP (x1, 0);
72 21 : operands[0] = x5;
73 21 : x6 = XEXP (x4, 0);
74 21 : operands[2] = x6;
75 21 : if (!register_operand (operands[2], E_QImode))
76 : return -1;
77 15 : return pattern1 (x2); /* [-1, 1] */
78 :
79 48 : case PLUS:
80 48 : if (pnum_clobbers == NULL
81 48 : || GET_MODE (x4) != E_QImode)
82 : return -1;
83 48 : x5 = XEXP (x1, 0);
84 48 : operands[0] = x5;
85 48 : x6 = XEXP (x4, 0);
86 48 : operands[2] = x6;
87 48 : if (!nonimmediate_operand (operands[2], E_QImode))
88 : return -1;
89 48 : res = pattern1 (x2);
90 48 : if (res >= 0)
91 0 : return res + 2; /* [2, 3] */
92 : return -1;
93 :
94 40 : case MINUS:
95 40 : if (pnum_clobbers == NULL
96 40 : || GET_MODE (x4) != E_QImode)
97 : return -1;
98 40 : x5 = XEXP (x1, 0);
99 40 : operands[0] = x5;
100 40 : x6 = XEXP (x4, 0);
101 40 : operands[3] = x6;
102 40 : if (!const_int_operand (operands[3], E_QImode))
103 : return -1;
104 13 : x7 = XEXP (x4, 1);
105 13 : operands[2] = x7;
106 13 : if (!nonimmediate_operand (operands[2], E_QImode))
107 : return -1;
108 10 : res = pattern0 (x2);
109 10 : if (res >= 0)
110 0 : return res + 4; /* [4, 5] */
111 : return -1;
112 :
113 : case CONST_INT:
114 : case CONST_WIDE_INT:
115 : case CONST_POLY_INT:
116 : case CONST_FIXED:
117 : case CONST_DOUBLE:
118 : case CONST_VECTOR:
119 : case CONST:
120 : case REG:
121 : case SUBREG:
122 : case LABEL_REF:
123 : case SYMBOL_REF:
124 : case HIGH:
125 : return 6;
126 :
127 : default:
128 : return -1;
129 : }
130 : }
131 :
132 : int
133 592 : pattern32 (rtx x1, machine_mode i1)
134 : {
135 592 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
136 592 : int res ATTRIBUTE_UNUSED;
137 592 : if (!register_operand (operands[0], i1)
138 530 : || GET_MODE (x1) != i1
139 530 : || !nonimmediate_operand (operands[1], i1)
140 1122 : || !const_0_to_255_operand (operands[2], E_SImode))
141 62 : return -1;
142 : return 0;
143 : }
144 :
145 : int
146 139112 : pattern34 (rtx x1)
147 : {
148 139112 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
149 139112 : rtx x2, x3, x4, x5;
150 139112 : int res ATTRIBUTE_UNUSED;
151 139112 : x2 = XEXP (x1, 0);
152 139112 : operands[0] = x2;
153 139112 : x3 = XEXP (x1, 1);
154 139112 : x4 = XEXP (x3, 0);
155 139112 : operands[1] = x4;
156 139112 : x5 = XEXP (x3, 1);
157 139112 : operands[2] = x5;
158 139112 : switch (GET_MODE (operands[0]))
159 : {
160 437 : case E_V32QImode:
161 437 : return pattern3 (x3,
162 437 : E_V32QImode); /* [-1, 0] */
163 :
164 821 : case E_V16HImode:
165 821 : if (pattern3 (x3,
166 : E_V16HImode) != 0)
167 : return -1;
168 : return 1;
169 :
170 858 : case E_V8SImode:
171 858 : if (pattern3 (x3,
172 : E_V8SImode) != 0)
173 : return -1;
174 : return 2;
175 :
176 142 : case E_V16SImode:
177 142 : if (pattern3 (x3,
178 : E_V16SImode) != 0)
179 : return -1;
180 : return 3;
181 :
182 2337 : case E_V4SImode:
183 2337 : if (!register_operand (operands[0], E_V4SImode)
184 2337 : || GET_MODE (x3) != E_V4SImode)
185 : return -1;
186 : return 4;
187 :
188 1691 : case E_V8DImode:
189 1691 : if (pattern3 (x3,
190 : E_V8DImode) != 0)
191 : return -1;
192 : return 5;
193 :
194 304 : case E_V4DImode:
195 304 : if (pattern3 (x3,
196 : E_V4DImode) != 0)
197 : return -1;
198 : return 6;
199 :
200 154 : case E_V2DImode:
201 154 : if (pattern3 (x3,
202 : E_V2DImode) != 0)
203 : return -1;
204 : return 7;
205 :
206 170 : case E_V64QImode:
207 170 : if (pattern3 (x3,
208 : E_V64QImode) != 0)
209 : return -1;
210 : return 8;
211 :
212 10056 : case E_V16QImode:
213 10056 : if (!register_operand (operands[0], E_V16QImode)
214 10056 : || GET_MODE (x3) != E_V16QImode)
215 : return -1;
216 : return 9;
217 :
218 172 : case E_V32HImode:
219 172 : if (pattern3 (x3,
220 : E_V32HImode) != 0)
221 : return -1;
222 : return 10;
223 :
224 5435 : case E_V8HImode:
225 5435 : if (!register_operand (operands[0], E_V8HImode)
226 5435 : || GET_MODE (x3) != E_V8HImode)
227 : return -1;
228 : return 11;
229 :
230 : default:
231 : return -1;
232 : }
233 : }
234 :
235 : int
236 178120 : pattern43 (rtx x1, machine_mode i1, machine_mode i2)
237 : {
238 178120 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
239 178120 : rtx x2, x3, x4;
240 178120 : int res ATTRIBUTE_UNUSED;
241 178120 : if (!register_operand (operands[0], i2)
242 178120 : || GET_MODE (x1) != i2)
243 : return -1;
244 177875 : x2 = XEXP (x1, 0);
245 177875 : x3 = XEXP (x2, 0);
246 177875 : operands[1] = x3;
247 177875 : if (!nonimmediate_operand (operands[1], i1))
248 : return -1;
249 141086 : x4 = XEXP (x1, 1);
250 141086 : operands[2] = x4;
251 141086 : if (!const_int_operand (operands[2], E_QImode))
252 : return -1;
253 : return 0;
254 : }
255 :
256 : int
257 256274 : pattern49 (rtx x1)
258 : {
259 256274 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
260 256274 : int res ATTRIBUTE_UNUSED;
261 256274 : switch (GET_MODE (x1))
262 : {
263 82131 : case E_QImode:
264 82131 : if (!nonimmediate_operand (operands[1], E_QImode)
265 82131 : || !general_operand (operands[2], E_QImode))
266 50090 : return -1;
267 : return 0;
268 :
269 1365 : case E_HImode:
270 1365 : if (!nonimmediate_operand (operands[1], E_HImode)
271 1365 : || !general_operand (operands[2], E_HImode))
272 457 : return -1;
273 : return 1;
274 :
275 79958 : case E_SImode:
276 79958 : if (!nonimmediate_operand (operands[1], E_SImode)
277 79958 : || !x86_64_general_operand (operands[2], E_SImode))
278 41366 : return -1;
279 : return 2;
280 :
281 88510 : case E_DImode:
282 88510 : if (!nonimmediate_operand (operands[1], E_DImode)
283 88510 : || !x86_64_general_operand (operands[2], E_DImode))
284 48335 : return -1;
285 : return 3;
286 :
287 : default:
288 : return -1;
289 : }
290 : }
291 :
292 : int
293 2497 : pattern58 (rtx x1, machine_mode i1)
294 : {
295 2497 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
296 2497 : rtx x2, x3, x4;
297 2497 : int res ATTRIBUTE_UNUSED;
298 2497 : x2 = XEXP (x1, 1);
299 2497 : if (GET_MODE (x2) != E_CCmode)
300 : return -1;
301 2497 : x3 = XEXP (x1, 0);
302 2497 : if (GET_CODE (x3) != REG
303 2497 : || REGNO (x3) != 17
304 4992 : || GET_MODE (x3) != E_CCmode)
305 : return -1;
306 2495 : x4 = XVECEXP (x2, 0, 0);
307 2495 : operands[0] = x4;
308 2495 : if (!register_operand (operands[0], i1))
309 : return -1;
310 : return 0;
311 : }
312 :
313 : int
314 565 : pattern62 (rtx x1, int *pnum_clobbers, machine_mode i1)
315 : {
316 565 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
317 565 : rtx x2, x3, x4;
318 565 : int res ATTRIBUTE_UNUSED;
319 565 : if (pnum_clobbers == NULL)
320 : return -1;
321 565 : x2 = XEXP (x1, 1);
322 565 : if (GET_MODE (x2) != i1)
323 : return -1;
324 565 : x3 = XEXP (x1, 0);
325 565 : operands[0] = x3;
326 565 : if (!register_operand (operands[0], i1))
327 : return -1;
328 548 : x4 = XVECEXP (x2, 0, 0);
329 548 : operands[1] = x4;
330 548 : if (!register_operand (operands[1], i1))
331 : return -1;
332 : return 0;
333 : }
334 :
335 : int
336 47346 : pattern66 (rtx x1, machine_mode i1)
337 : {
338 47346 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
339 47346 : rtx x2, x3, x4, x5;
340 47346 : int res ATTRIBUTE_UNUSED;
341 47346 : x2 = XEXP (x1, 1);
342 47346 : if (GET_MODE (x2) != i1)
343 : return -1;
344 47293 : x3 = XEXP (x1, 0);
345 47293 : operands[0] = x3;
346 47293 : if (!register_operand (operands[0], i1))
347 : return -1;
348 47179 : x4 = XVECEXP (x2, 0, 0);
349 47179 : operands[1] = x4;
350 47179 : if (!register_operand (operands[1], i1))
351 : return -1;
352 30293 : x5 = XVECEXP (x2, 0, 1);
353 30293 : operands[2] = x5;
354 30293 : if (!nonimmediate_operand (operands[2], i1))
355 : return -1;
356 : return 0;
357 : }
358 :
359 : int
360 56 : pattern73 (rtx x1, machine_mode i1, machine_mode i2)
361 : {
362 56 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
363 56 : rtx x2;
364 56 : int res ATTRIBUTE_UNUSED;
365 56 : if (!register_operand (operands[0], i2)
366 56 : || GET_MODE (x1) != i2)
367 : return -1;
368 56 : x2 = XVECEXP (x1, 0, 0);
369 56 : if (GET_MODE (x2) != i1
370 56 : || !vector_operand (operands[1], i1)
371 56 : || !vector_operand (operands[2], i1)
372 112 : || !const0_operand (operands[3], i1))
373 28 : return -1;
374 : return 0;
375 : }
376 :
377 : int
378 673918 : pattern80 (rtx x1, machine_mode i1)
379 : {
380 673918 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
381 673918 : int res ATTRIBUTE_UNUSED;
382 673918 : if (!nonimmediate_operand (operands[0], i1)
383 669159 : || GET_MODE (x1) != i1
384 669159 : || !nonimmediate_operand (operands[1], i1)
385 1243317 : || !general_operand (operands[2], i1))
386 108280 : return -1;
387 : return 0;
388 : }
389 :
390 : int
391 10673 : pattern85 (rtx x1)
392 : {
393 10673 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
394 10673 : rtx x2, x3, x4;
395 10673 : int res ATTRIBUTE_UNUSED;
396 10673 : x2 = XEXP (x1, 0);
397 10673 : if (GET_MODE (x2) != E_QImode
398 6965 : || !register_operand (operands[0], E_HImode)
399 11077 : || GET_MODE (x1) != E_HImode)
400 10269 : return -1;
401 404 : x3 = XEXP (x2, 0);
402 404 : operands[1] = x3;
403 404 : if (!nonimmediate_operand (operands[1], E_QImode))
404 : return -1;
405 255 : x4 = XEXP (x2, 1);
406 255 : operands[2] = x4;
407 255 : if (!x86_64_general_operand (operands[2], E_QImode))
408 : return -1;
409 : return 0;
410 : }
411 :
412 : int
413 11013 : pattern92 (rtx x1, machine_mode i1, machine_mode i2)
414 : {
415 11013 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
416 11013 : int res ATTRIBUTE_UNUSED;
417 11013 : if (!register_operand (operands[0], i1)
418 11013 : || GET_MODE (x1) != i1)
419 : return -1;
420 11007 : return pattern91 (x1,
421 : i1,
422 11007 : i2); /* [-1, 1] */
423 : }
424 :
425 : int
426 256380 : pattern97 (rtx x1)
427 : {
428 256380 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
429 256380 : rtx x2, x3, x4, x5, x6, x7, x8;
430 256380 : int res ATTRIBUTE_UNUSED;
431 256380 : x2 = XEXP (x1, 1);
432 256380 : x3 = XEXP (x2, 0);
433 256380 : x4 = XEXP (x3, 1);
434 256380 : if (GET_CODE (x4) != PARALLEL)
435 : return -1;
436 256380 : x5 = XEXP (x2, 1);
437 256380 : if (GET_CODE (x5) != VEC_SELECT)
438 : return -1;
439 15083 : x6 = XEXP (x5, 1);
440 15083 : if (GET_CODE (x6) != PARALLEL)
441 : return -1;
442 15083 : x7 = XEXP (x1, 0);
443 15083 : operands[0] = x7;
444 15083 : x8 = XEXP (x3, 0);
445 15083 : switch (GET_CODE (x8))
446 : {
447 : case REG:
448 : case SUBREG:
449 : case MEM:
450 : return 0;
451 :
452 2365 : case VEC_CONCAT:
453 2365 : return 1;
454 :
455 : default:
456 : return -1;
457 : }
458 : }
459 :
460 : int
461 122859 : pattern102 (rtx x1, machine_mode i1, machine_mode i2)
462 : {
463 122859 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
464 122859 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
465 122859 : rtx x10, x11, x12, x13, x14;
466 122859 : int res ATTRIBUTE_UNUSED;
467 122859 : x2 = XEXP (x1, 0);
468 122859 : if (GET_MODE (x2) != i2)
469 : return -1;
470 1243 : x3 = XEXP (x2, 0);
471 1243 : if (GET_CODE (x3) != VEC_SELECT
472 323 : || GET_MODE (x3) != i2)
473 : return -1;
474 323 : x4 = XEXP (x3, 1);
475 323 : if (GET_CODE (x4) != PARALLEL
476 323 : || XVECLEN (x4, 0) != 1)
477 : return -1;
478 323 : x5 = XEXP (x2, 1);
479 323 : if (GET_CODE (x5) != VEC_SELECT
480 194 : || GET_MODE (x5) != i2)
481 : return -1;
482 194 : x6 = XEXP (x5, 1);
483 194 : if (GET_CODE (x6) != PARALLEL
484 194 : || XVECLEN (x6, 0) != 1)
485 : return -1;
486 194 : x7 = XEXP (x1, 1);
487 194 : if (GET_CODE (x7) != PLUS
488 190 : || GET_MODE (x7) != i2)
489 : return -1;
490 190 : x8 = XEXP (x7, 0);
491 190 : if (GET_CODE (x8) != VEC_SELECT
492 190 : || GET_MODE (x8) != i2)
493 : return -1;
494 190 : x9 = XEXP (x8, 1);
495 190 : if (GET_CODE (x9) != PARALLEL
496 190 : || XVECLEN (x9, 0) != 1)
497 : return -1;
498 190 : x10 = XEXP (x7, 1);
499 190 : if (GET_CODE (x10) != VEC_SELECT
500 190 : || GET_MODE (x10) != i2)
501 : return -1;
502 190 : x11 = XEXP (x10, 1);
503 190 : if (GET_CODE (x11) != PARALLEL
504 190 : || XVECLEN (x11, 0) != 1
505 190 : || !register_operand (operands[0], i1)
506 380 : || GET_MODE (x1) != i1)
507 0 : return -1;
508 190 : x12 = XEXP (x3, 0);
509 190 : operands[1] = x12;
510 190 : if (!register_operand (operands[1], i1))
511 : return -1;
512 173 : x13 = XVECEXP (x4, 0, 0);
513 173 : operands[3] = x13;
514 173 : if (!const_0_to_1_operand (operands[3], E_SImode))
515 : return -1;
516 173 : x14 = XVECEXP (x6, 0, 0);
517 173 : operands[4] = x14;
518 173 : if (!const_0_to_1_operand (operands[4], E_SImode))
519 : return -1;
520 : return 0;
521 : }
522 :
523 : int
524 1467898 : pattern124 (rtx x1, int *pnum_clobbers)
525 : {
526 1467898 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
527 1467898 : rtx x2, x3;
528 1467898 : int res ATTRIBUTE_UNUSED;
529 1467898 : x2 = XEXP (x1, 0);
530 1467898 : operands[1] = x2;
531 1467898 : x3 = XEXP (x1, 1);
532 1467898 : switch (GET_CODE (x3))
533 : {
534 : case CONST_INT:
535 : case CONST_WIDE_INT:
536 : case CONST_POLY_INT:
537 : case CONST_FIXED:
538 : case CONST_DOUBLE:
539 : case CONST_VECTOR:
540 : case CONST:
541 : case REG:
542 : case SUBREG:
543 : case LABEL_REF:
544 : case SYMBOL_REF:
545 : case HIGH:
546 : return 0;
547 :
548 2444 : case AND:
549 2444 : if (pnum_clobbers == NULL
550 2444 : || GET_MODE (x3) != E_QImode)
551 : return -1;
552 2199 : res = pattern122 (x1);
553 2199 : if (res >= 0)
554 1148 : return res + 1; /* [1, 2] */
555 : return -1;
556 :
557 16559 : case PLUS:
558 16559 : res = pattern17 (x1, pnum_clobbers);
559 16559 : if (res >= 0)
560 12194 : return res + 3; /* [3, 4] */
561 : return -1;
562 :
563 8037 : case MINUS:
564 8037 : if (pnum_clobbers == NULL
565 8037 : || GET_MODE (x3) != E_QImode)
566 : return -1;
567 7974 : res = pattern123 (x1);
568 7974 : if (res >= 0)
569 1007 : return res + 5; /* [5, 6] */
570 : return -1;
571 :
572 : default:
573 : return -1;
574 : }
575 : }
576 :
577 : int
578 6217 : pattern140 (rtx x1)
579 : {
580 6217 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
581 6217 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
582 6217 : int res ATTRIBUTE_UNUSED;
583 6217 : x2 = XEXP (x1, 1);
584 6217 : operands[2] = x2;
585 6217 : x3 = XEXP (x1, 2);
586 6217 : operands[3] = x3;
587 6217 : x4 = XEXP (x1, 0);
588 6217 : x5 = XEXP (x4, 0);
589 6217 : switch (GET_CODE (x5))
590 : {
591 5818 : case REG:
592 5818 : case SUBREG:
593 5818 : case MEM:
594 5818 : operands[1] = x5;
595 5818 : switch (GET_MODE (operands[0]))
596 : {
597 : case E_V8HFmode:
598 : return 0;
599 :
600 654 : case E_V16HFmode:
601 654 : return 1;
602 :
603 198 : case E_V32HFmode:
604 198 : return 2;
605 :
606 208 : case E_V16SFmode:
607 208 : return 3;
608 :
609 706 : case E_V8SFmode:
610 706 : return 4;
611 :
612 825 : case E_V4SFmode:
613 825 : return 5;
614 :
615 710 : case E_V8DFmode:
616 710 : return 6;
617 :
618 979 : case E_V4DFmode:
619 979 : return 7;
620 :
621 434 : case E_V2DFmode:
622 434 : return 8;
623 :
624 : default:
625 : return -1;
626 : }
627 :
628 381 : case VEC_SELECT:
629 381 : if (GET_MODE (x5) != E_V2SImode)
630 : return -1;
631 380 : x6 = XEXP (x5, 1);
632 380 : if (GET_CODE (x6) != PARALLEL
633 380 : || XVECLEN (x6, 0) != 2)
634 : return -1;
635 380 : x7 = XVECEXP (x6, 0, 0);
636 380 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
637 : return -1;
638 380 : x8 = XVECEXP (x6, 0, 1);
639 380 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
640 380 : || !register_operand (operands[0], E_V2DFmode)
641 370 : || GET_MODE (x1) != E_V2DFmode
642 750 : || GET_MODE (x4) != E_V2DFmode)
643 10 : return -1;
644 370 : x9 = XEXP (x5, 0);
645 370 : operands[1] = x9;
646 370 : if (!nonimmediate_operand (operands[1], E_V4SImode)
647 370 : || !nonimm_or_0_operand (operands[2], E_V2DFmode)
648 740 : || !register_operand (operands[3], E_QImode))
649 8 : return -1;
650 : return 9;
651 :
652 : default:
653 : return -1;
654 : }
655 : }
656 :
657 : int
658 8729 : pattern157 (rtx x1)
659 : {
660 8729 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
661 8729 : rtx x2, x3, x4, x5, x6;
662 8729 : int res ATTRIBUTE_UNUSED;
663 8729 : x2 = XEXP (x1, 1);
664 8729 : operands[2] = x2;
665 8729 : x3 = XEXP (x1, 2);
666 8729 : operands[3] = x3;
667 8729 : x4 = XEXP (x1, 0);
668 8729 : x5 = XEXP (x4, 0);
669 8729 : switch (GET_CODE (x5))
670 : {
671 4105 : case REG:
672 4105 : case SUBREG:
673 4105 : case MEM:
674 4105 : operands[1] = x5;
675 4105 : switch (GET_MODE (operands[0]))
676 : {
677 488 : case E_V16HImode:
678 488 : return pattern155 (x1,
679 : E_V16HImode,
680 : E_V16QImode,
681 488 : E_HImode); /* [-1, 0] */
682 :
683 566 : case E_V32HImode:
684 566 : if (pattern155 (x1,
685 : E_V32HImode,
686 : E_V32QImode,
687 : E_SImode) != 0)
688 : return -1;
689 : return 1;
690 :
691 9 : case E_V8HImode:
692 9 : if (pattern156 (x1,
693 : E_V8HImode,
694 : E_V8QImode) != 0)
695 : return -1;
696 : return 2;
697 :
698 1016 : case E_V16SImode:
699 1016 : if (!register_operand (operands[0], E_V16SImode)
700 976 : || GET_MODE (x1) != E_V16SImode
701 976 : || GET_MODE (x4) != E_V16SImode
702 976 : || !nonimm_or_0_operand (operands[2], E_V16SImode)
703 1960 : || !register_operand (operands[3], E_HImode))
704 145 : return -1;
705 871 : switch (GET_MODE (operands[1]))
706 : {
707 382 : case E_V16QImode:
708 382 : if (!nonimmediate_operand (operands[1], E_V16QImode))
709 : return -1;
710 : return 3;
711 :
712 489 : case E_V16HImode:
713 489 : if (!nonimmediate_operand (operands[1], E_V16HImode))
714 : return -1;
715 : return 4;
716 :
717 : default:
718 : return -1;
719 : }
720 :
721 504 : case E_V8SImode:
722 504 : if (!register_operand (operands[0], E_V8SImode)
723 479 : || GET_MODE (x1) != E_V8SImode
724 479 : || GET_MODE (x4) != E_V8SImode
725 479 : || !nonimm_or_0_operand (operands[2], E_V8SImode)
726 971 : || !register_operand (operands[3], E_QImode))
727 80 : return -1;
728 424 : switch (GET_MODE (operands[1]))
729 : {
730 9 : case E_V8QImode:
731 9 : if (!memory_operand (operands[1], E_V8QImode))
732 : return -1;
733 : return 5;
734 :
735 415 : case E_V8HImode:
736 415 : if (!nonimmediate_operand (operands[1], E_V8HImode))
737 : return -1;
738 : return 6;
739 :
740 : default:
741 : return -1;
742 : }
743 :
744 18 : case E_V4SImode:
745 18 : if (!register_operand (operands[0], E_V4SImode)
746 12 : || GET_MODE (x1) != E_V4SImode
747 12 : || GET_MODE (x4) != E_V4SImode
748 12 : || !nonimm_or_0_operand (operands[2], E_V4SImode)
749 30 : || !register_operand (operands[3], E_QImode))
750 6 : return -1;
751 12 : switch (GET_MODE (operands[1]))
752 : {
753 6 : case E_V4QImode:
754 6 : if (!memory_operand (operands[1], E_V4QImode))
755 : return -1;
756 : return 7;
757 :
758 6 : case E_V4HImode:
759 6 : if (!memory_operand (operands[1], E_V4HImode))
760 : return -1;
761 : return 8;
762 :
763 : default:
764 : return -1;
765 : }
766 :
767 1002 : case E_V8DImode:
768 1002 : if (!register_operand (operands[0], E_V8DImode)
769 927 : || GET_MODE (x1) != E_V8DImode
770 927 : || GET_MODE (x4) != E_V8DImode
771 927 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
772 1893 : || !register_operand (operands[3], E_QImode))
773 193 : return -1;
774 809 : switch (GET_MODE (operands[1]))
775 : {
776 9 : case E_V8QImode:
777 9 : if (!memory_operand (operands[1], E_V8QImode))
778 : return -1;
779 : return 9;
780 :
781 400 : case E_V8HImode:
782 400 : if (!nonimmediate_operand (operands[1], E_V8HImode))
783 : return -1;
784 : return 10;
785 :
786 400 : case E_V8SImode:
787 400 : if (!nonimmediate_operand (operands[1], E_V8SImode))
788 : return -1;
789 : return 11;
790 :
791 : default:
792 : return -1;
793 : }
794 :
795 484 : case E_V4DImode:
796 484 : if (!register_operand (operands[0], E_V4DImode)
797 442 : || GET_MODE (x1) != E_V4DImode
798 442 : || GET_MODE (x4) != E_V4DImode
799 442 : || !nonimm_or_0_operand (operands[2], E_V4DImode)
800 914 : || !register_operand (operands[3], E_QImode))
801 104 : return -1;
802 380 : switch (GET_MODE (operands[1]))
803 : {
804 9 : case E_V4QImode:
805 9 : if (!memory_operand (operands[1], E_V4QImode))
806 : return -1;
807 : return 12;
808 :
809 9 : case E_V4HImode:
810 9 : if (!memory_operand (operands[1], E_V4HImode))
811 : return -1;
812 : return 13;
813 :
814 362 : case E_V4SImode:
815 362 : if (!nonimmediate_operand (operands[1], E_V4SImode))
816 : return -1;
817 : return 14;
818 :
819 : default:
820 : return -1;
821 : }
822 :
823 18 : case E_V2DImode:
824 18 : if (!register_operand (operands[0], E_V2DImode)
825 12 : || GET_MODE (x1) != E_V2DImode
826 12 : || GET_MODE (x4) != E_V2DImode
827 12 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
828 30 : || !register_operand (operands[3], E_QImode))
829 6 : return -1;
830 12 : switch (GET_MODE (operands[1]))
831 : {
832 0 : case E_V2QImode:
833 0 : if (!memory_operand (operands[1], E_V2QImode))
834 : return -1;
835 : return 15;
836 :
837 6 : case E_V2HImode:
838 6 : if (!memory_operand (operands[1], E_V2HImode))
839 : return -1;
840 : return 16;
841 :
842 6 : case E_V2SImode:
843 6 : if (!memory_operand (operands[1], E_V2SImode))
844 : return -1;
845 : return 17;
846 :
847 : default:
848 : return -1;
849 : }
850 :
851 : default:
852 : return -1;
853 : }
854 :
855 4624 : case VEC_SELECT:
856 4624 : x6 = XEXP (x5, 1);
857 4624 : if (GET_CODE (x6) != PARALLEL)
858 : return -1;
859 : return 18;
860 :
861 : default:
862 : return -1;
863 : }
864 : }
865 :
866 : int
867 271 : pattern207 (rtx x1)
868 : {
869 271 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
870 271 : rtx x2, x3;
871 271 : int res ATTRIBUTE_UNUSED;
872 271 : x2 = XEXP (x1, 1);
873 271 : x3 = XEXP (x2, 1);
874 271 : operands[3] = x3;
875 271 : if (!const_int_operand (operands[3], E_QImode))
876 : return -1;
877 271 : return pattern206 (x1); /* [-1, 3] */
878 : }
879 :
880 : int
881 87 : pattern209 (rtx x1)
882 : {
883 87 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
884 87 : rtx x2, x3;
885 87 : int res ATTRIBUTE_UNUSED;
886 87 : x2 = XEXP (x1, 1);
887 87 : x3 = XEXP (x2, 0);
888 87 : operands[2] = x3;
889 87 : if (!nonimmediate_operand (operands[2], E_QImode))
890 : return -1;
891 87 : return pattern207 (x1); /* [-1, 3] */
892 : }
893 :
894 : int
895 43346 : pattern213 (rtx x1, machine_mode i1)
896 : {
897 43346 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
898 43346 : int res ATTRIBUTE_UNUSED;
899 43346 : if (!register_operand (operands[0], i1)
900 43238 : || GET_MODE (x1) != i1
901 43238 : || !nonimmediate_operand (operands[1], i1)
902 86281 : || !nonimmediate_operand (operands[2], i1))
903 3924 : return -1;
904 : return 0;
905 : }
906 :
907 : int
908 505524 : pattern216 (rtx x1)
909 : {
910 505524 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
911 505524 : rtx x2, x3;
912 505524 : int res ATTRIBUTE_UNUSED;
913 505524 : x2 = XEXP (x1, 0);
914 505524 : operands[1] = x2;
915 505524 : x3 = XEXP (x1, 1);
916 505524 : operands[2] = x3;
917 505524 : switch (GET_MODE (operands[0]))
918 : {
919 425325 : case E_DImode:
920 425325 : return pattern212 (x1,
921 425325 : E_DImode); /* [-1, 0] */
922 :
923 166 : case E_TImode:
924 166 : if (pattern212 (x1,
925 : E_TImode) != 0)
926 : return -1;
927 : return 1;
928 :
929 9337 : case E_QImode:
930 9337 : if (pattern212 (x1,
931 : E_QImode) != 0)
932 : return -1;
933 : return 2;
934 :
935 1254 : case E_HImode:
936 1254 : if (pattern212 (x1,
937 : E_HImode) != 0)
938 : return -1;
939 : return 3;
940 :
941 69442 : case E_SImode:
942 69442 : if (pattern212 (x1,
943 : E_SImode) != 0)
944 : return -1;
945 : return 4;
946 :
947 : default:
948 : return -1;
949 : }
950 : }
951 :
952 : int
953 312410 : pattern222 (rtx x1, machine_mode i1)
954 : {
955 312410 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
956 312410 : int res ATTRIBUTE_UNUSED;
957 312410 : if (!register_operand (operands[0], i1)
958 312409 : || GET_MODE (x1) != i1
959 312409 : || !register_operand (operands[1], i1)
960 274676 : || !nonimmediate_operand (operands[2], i1)
961 487606 : || !scratch_operand (operands[3], i1))
962 137243 : return -1;
963 : return 0;
964 : }
965 :
966 : int
967 524425 : pattern224 (rtx x1)
968 : {
969 524425 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
970 524425 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
971 524425 : rtx x10, x11;
972 524425 : int res ATTRIBUTE_UNUSED;
973 524425 : x2 = XVECEXP (x1, 0, 1);
974 524425 : if (GET_CODE (x2) != SET)
975 : return -1;
976 524074 : x3 = XEXP (x2, 1);
977 524074 : if (GET_CODE (x3) != MOD)
978 : return -1;
979 500833 : x4 = XVECEXP (x1, 0, 0);
980 500833 : x5 = XEXP (x4, 0);
981 500833 : operands[0] = x5;
982 500833 : x6 = XEXP (x4, 1);
983 500833 : x7 = XEXP (x6, 0);
984 500833 : operands[2] = x7;
985 500833 : x8 = XEXP (x6, 1);
986 500833 : operands[3] = x8;
987 500833 : x9 = XEXP (x2, 0);
988 500833 : operands[1] = x9;
989 500833 : x10 = XEXP (x3, 0);
990 500833 : if (!rtx_equal_p (x10, operands[2]))
991 : return -1;
992 468187 : x11 = XEXP (x3, 1);
993 468187 : if (!rtx_equal_p (x11, operands[3]))
994 : return -1;
995 445177 : switch (GET_CODE (operands[2]))
996 : {
997 : case REG:
998 : case SUBREG:
999 : return 0;
1000 :
1001 29716 : case CONST_INT:
1002 29716 : return 1;
1003 :
1004 : default:
1005 : return -1;
1006 : }
1007 : }
1008 :
1009 : int
1010 830 : pattern234 (rtx x1)
1011 : {
1012 830 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1013 830 : rtx x2, x3, x4, x5, x6, x7, x8;
1014 830 : int res ATTRIBUTE_UNUSED;
1015 830 : x2 = XVECEXP (x1, 0, 1);
1016 830 : if (GET_CODE (x2) != UNSPEC
1017 655 : || XVECLEN (x2, 0) != 1
1018 655 : || XINT (x2, 1) != 39)
1019 : return -1;
1020 655 : x3 = XVECEXP (x1, 0, 2);
1021 655 : if (GET_CODE (x3) != CLOBBER)
1022 : return -1;
1023 655 : x4 = XEXP (x3, 0);
1024 655 : if (GET_CODE (x4) != REG
1025 655 : || REGNO (x4) != 17
1026 1310 : || GET_MODE (x4) != E_CCmode)
1027 : return -1;
1028 655 : x5 = XVECEXP (x1, 0, 0);
1029 655 : x6 = XEXP (x5, 0);
1030 655 : operands[0] = x6;
1031 655 : x7 = XEXP (x5, 1);
1032 655 : x8 = XEXP (x7, 0);
1033 655 : operands[1] = x8;
1034 655 : return pattern233 (x1); /* [-1, 1] */
1035 : }
1036 :
1037 : int
1038 275442 : pattern248 (rtx x1)
1039 : {
1040 275442 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1041 275442 : rtx x2, x3, x4, x5, x6, x7;
1042 275442 : int res ATTRIBUTE_UNUSED;
1043 275442 : x2 = XVECEXP (x1, 0, 1);
1044 275442 : if (GET_CODE (x2) != CLOBBER)
1045 : return -1;
1046 274476 : x3 = XEXP (x2, 0);
1047 274476 : if (GET_CODE (x3) != REG
1048 274476 : || REGNO (x3) != 17
1049 548952 : || GET_MODE (x3) != E_CCmode)
1050 : return -1;
1051 274476 : x4 = XVECEXP (x1, 0, 0);
1052 274476 : x5 = XEXP (x4, 0);
1053 274476 : operands[0] = x5;
1054 274476 : x6 = XEXP (x4, 1);
1055 274476 : x7 = XEXP (x6, 0);
1056 274476 : operands[1] = x7;
1057 274476 : return 0;
1058 : }
1059 :
1060 : int
1061 1933 : pattern254 (rtx x1)
1062 : {
1063 1933 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1064 1933 : rtx x2, x3, x4;
1065 1933 : int res ATTRIBUTE_UNUSED;
1066 1933 : x2 = XEXP (x1, 1);
1067 1933 : x3 = XVECEXP (x2, 0, 1);
1068 1933 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1069 : return -1;
1070 1933 : x4 = XEXP (x1, 0);
1071 1933 : if (GET_CODE (x4) != REG
1072 1933 : || REGNO (x4) != 17
1073 3866 : || GET_MODE (x4) != E_CCCmode)
1074 0 : return -1;
1075 : return 0;
1076 : }
1077 :
1078 : int
1079 1959 : pattern264 (rtx x1, machine_mode i1)
1080 : {
1081 1959 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1082 1959 : int res ATTRIBUTE_UNUSED;
1083 1959 : if (!register_operand (operands[0], i1)
1084 1959 : || GET_MODE (x1) != i1)
1085 : return -1;
1086 1868 : switch (GET_MODE (operands[1]))
1087 : {
1088 1454 : case E_SImode:
1089 1454 : if (!nonimmediate_operand (operands[1], E_SImode))
1090 : return -1;
1091 : return 0;
1092 :
1093 218 : case E_DImode:
1094 218 : if (!nonimmediate_operand (operands[1], E_DImode))
1095 : return -1;
1096 : return 1;
1097 :
1098 : default:
1099 : return -1;
1100 : }
1101 : }
1102 :
1103 : int
1104 78553 : pattern273 (rtx x1, machine_mode i1, machine_mode i2)
1105 : {
1106 78553 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1107 78553 : rtx x2;
1108 78553 : int res ATTRIBUTE_UNUSED;
1109 78553 : if (!register_operand (operands[0], i1)
1110 78553 : || GET_MODE (x1) != i1)
1111 : return -1;
1112 77547 : x2 = XEXP (x1, 0);
1113 77547 : if (GET_MODE (x2) != i2
1114 77547 : || !register_operand (operands[1], i1)
1115 147478 : || !register_mmxmem_operand (operands[2], i1))
1116 20731 : return -1;
1117 : return 0;
1118 : }
1119 :
1120 : int
1121 48974 : pattern279 (rtx x1)
1122 : {
1123 48974 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1124 48974 : rtx x2;
1125 48974 : int res ATTRIBUTE_UNUSED;
1126 48974 : switch (GET_MODE (operands[0]))
1127 : {
1128 8341 : case E_SImode:
1129 8341 : if (!register_operand (operands[0], E_SImode)
1130 8341 : || GET_MODE (x1) != E_SImode)
1131 : return -1;
1132 8222 : x2 = XEXP (x1, 0);
1133 8222 : switch (GET_MODE (x2))
1134 : {
1135 : case E_QImode:
1136 : return 0;
1137 :
1138 3836 : case E_HImode:
1139 3836 : return 1;
1140 :
1141 : default:
1142 : return -1;
1143 : }
1144 :
1145 18255 : case E_DImode:
1146 18255 : if (!register_operand (operands[0], E_DImode)
1147 18255 : || GET_MODE (x1) != E_DImode)
1148 : return -1;
1149 16856 : x2 = XEXP (x1, 0);
1150 16856 : switch (GET_MODE (x2))
1151 : {
1152 : case E_QImode:
1153 : return 2;
1154 :
1155 : case E_HImode:
1156 : return 3;
1157 :
1158 : case E_SImode:
1159 : return 4;
1160 :
1161 : default:
1162 : return -1;
1163 : }
1164 :
1165 : default:
1166 : return -1;
1167 : }
1168 : }
1169 :
1170 : int
1171 26830 : pattern293 (rtx x1, machine_mode i1)
1172 : {
1173 26830 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1174 26830 : rtx x2, x3, x4, x5;
1175 26830 : int res ATTRIBUTE_UNUSED;
1176 26830 : x2 = XEXP (x1, 0);
1177 26830 : if (GET_MODE (x2) != i1
1178 12170 : || !register_operand (operands[0], i1)
1179 38963 : || GET_MODE (x1) != i1)
1180 14697 : return -1;
1181 12133 : x3 = XEXP (x2, 0);
1182 12133 : operands[1] = x3;
1183 12133 : if (!nonimmediate_operand (operands[1], i1))
1184 : return -1;
1185 12120 : x4 = XEXP (x2, 1);
1186 12120 : operands[2] = x4;
1187 12120 : if (!const_int_operand (operands[2], E_QImode))
1188 : return -1;
1189 11917 : x5 = XEXP (x1, 1);
1190 11917 : operands[3] = x5;
1191 11917 : if (!const_int_operand (operands[3], E_QImode))
1192 : return -1;
1193 : return 0;
1194 : }
1195 :
1196 : int
1197 4627 : pattern301 (rtx x1)
1198 : {
1199 4627 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1200 4627 : int res ATTRIBUTE_UNUSED;
1201 4627 : switch (GET_MODE (operands[0]))
1202 : {
1203 1156 : case E_DImode:
1204 1156 : return pattern169 (x1,
1205 : E_DImode,
1206 1156 : E_V64QImode); /* [-1, 0] */
1207 :
1208 2249 : case E_SImode:
1209 2249 : if (!register_operand (operands[0], E_SImode)
1210 2249 : || GET_MODE (x1) != E_SImode)
1211 : return -1;
1212 2213 : switch (GET_MODE (operands[1]))
1213 : {
1214 994 : case E_V32QImode:
1215 994 : if (!register_operand (operands[1], E_V32QImode)
1216 994 : || !nonimmediate_operand (operands[2], E_V32QImode))
1217 89 : return -1;
1218 : return 1;
1219 :
1220 1219 : case E_V32HImode:
1221 1219 : if (!register_operand (operands[1], E_V32HImode)
1222 1219 : || !nonimmediate_operand (operands[2], E_V32HImode))
1223 132 : return -1;
1224 : return 2;
1225 :
1226 : default:
1227 : return -1;
1228 : }
1229 :
1230 : default:
1231 : return -1;
1232 : }
1233 : }
1234 :
1235 : int
1236 3467 : pattern312 (rtx x1)
1237 : {
1238 3467 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1239 3467 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1240 3467 : rtx x10;
1241 3467 : int res ATTRIBUTE_UNUSED;
1242 3467 : x2 = XEXP (x1, 0);
1243 3467 : x3 = XEXP (x2, 0);
1244 3467 : x4 = XEXP (x3, 0);
1245 3467 : if (GET_CODE (x4) != VEC_SELECT)
1246 : return -1;
1247 261 : x5 = XEXP (x4, 1);
1248 261 : if (GET_CODE (x5) != PARALLEL
1249 261 : || XVECLEN (x5, 0) != 1)
1250 : return -1;
1251 261 : x6 = XVECEXP (x5, 0, 0);
1252 261 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1253 : return -1;
1254 261 : x7 = XEXP (x1, 2);
1255 261 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
1256 : return -1;
1257 261 : x8 = XEXP (x4, 0);
1258 261 : operands[1] = x8;
1259 261 : x9 = XEXP (x3, 1);
1260 261 : operands[2] = x9;
1261 261 : x10 = XEXP (x1, 1);
1262 261 : if (!rtx_equal_p (x10, operands[1]))
1263 : return -1;
1264 261 : switch (GET_MODE (operands[0]))
1265 : {
1266 197 : case E_V8HFmode:
1267 197 : return pattern311 (x1,
1268 : E_HFmode,
1269 197 : E_V8HFmode); /* [-1, 0] */
1270 :
1271 8 : case E_V4SFmode:
1272 8 : if (pattern311 (x1,
1273 : E_SFmode,
1274 : E_V4SFmode) != 0)
1275 : return -1;
1276 : return 1;
1277 :
1278 56 : case E_V2DFmode:
1279 56 : if (pattern311 (x1,
1280 : E_DFmode,
1281 : E_V2DFmode) != 0)
1282 : return -1;
1283 : return 2;
1284 :
1285 : default:
1286 : return -1;
1287 : }
1288 : }
1289 :
1290 : int
1291 2378 : pattern326 (rtx x1)
1292 : {
1293 2378 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1294 2378 : rtx x2, x3, x4, x5, x6;
1295 2378 : int res ATTRIBUTE_UNUSED;
1296 2378 : x2 = XVECEXP (x1, 0, 0);
1297 2378 : switch (GET_CODE (x2))
1298 : {
1299 2104 : case REG:
1300 2104 : case SUBREG:
1301 2104 : case MEM:
1302 2104 : operands[1] = x2;
1303 2104 : switch (GET_MODE (operands[0]))
1304 : {
1305 : case E_V32HImode:
1306 : return 0;
1307 :
1308 114 : case E_V16SImode:
1309 114 : return 1;
1310 :
1311 160 : case E_V8DImode:
1312 160 : return 2;
1313 :
1314 114 : case E_V16HImode:
1315 114 : return 3;
1316 :
1317 356 : case E_V8SImode:
1318 356 : return 4;
1319 :
1320 374 : case E_V4DImode:
1321 374 : return 5;
1322 :
1323 114 : case E_V8HImode:
1324 114 : return 6;
1325 :
1326 557 : case E_V4SImode:
1327 557 : return 7;
1328 :
1329 244 : case E_V2DImode:
1330 244 : return 8;
1331 :
1332 : default:
1333 : return -1;
1334 : }
1335 :
1336 186 : case VEC_SELECT:
1337 186 : if (GET_MODE (x2) != E_V2SFmode)
1338 : return -1;
1339 126 : x3 = XEXP (x2, 1);
1340 126 : if (GET_CODE (x3) != PARALLEL
1341 126 : || XVECLEN (x3, 0) != 2)
1342 : return -1;
1343 126 : x4 = XVECEXP (x3, 0, 0);
1344 126 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1345 : return -1;
1346 126 : x5 = XVECEXP (x3, 0, 1);
1347 126 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
1348 126 : || !register_operand (operands[0], E_V2DImode)
1349 240 : || GET_MODE (x1) != E_V2DImode)
1350 12 : return -1;
1351 114 : x6 = XEXP (x2, 0);
1352 114 : operands[1] = x6;
1353 114 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
1354 : return -1;
1355 : return 9;
1356 :
1357 : default:
1358 : return -1;
1359 : }
1360 : }
1361 :
1362 : int
1363 398 : pattern336 (rtx x1, machine_mode i1, machine_mode i2)
1364 : {
1365 398 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1366 398 : rtx x2, x3, x4, x5;
1367 398 : int res ATTRIBUTE_UNUSED;
1368 398 : if (GET_MODE (x1) != i2)
1369 : return -1;
1370 398 : x2 = XEXP (x1, 0);
1371 398 : if (GET_MODE (x2) != i2)
1372 : return -1;
1373 398 : x3 = XEXP (x2, 0);
1374 398 : if (GET_MODE (x3) != i1)
1375 : return -1;
1376 398 : x4 = XEXP (x1, 1);
1377 398 : if (GET_MODE (x4) != i2)
1378 : return -1;
1379 398 : x5 = XEXP (x4, 0);
1380 398 : if (GET_MODE (x5) != i1)
1381 0 : return -1;
1382 : return 0;
1383 : }
1384 :
1385 : int
1386 5661 : pattern339 (rtx x1)
1387 : {
1388 5661 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1389 5661 : rtx x2, x3, x4, x5, x6;
1390 5661 : int res ATTRIBUTE_UNUSED;
1391 5661 : x2 = XEXP (x1, 0);
1392 5661 : operands[0] = x2;
1393 5661 : x3 = XEXP (x1, 1);
1394 5661 : x4 = XEXP (x3, 1);
1395 5661 : x5 = XEXP (x4, 0);
1396 5661 : operands[2] = x5;
1397 5661 : if (!register_operand (operands[2], E_QImode))
1398 : return -1;
1399 4591 : x6 = XEXP (x4, 1);
1400 4591 : operands[3] = x6;
1401 4591 : if (!const_int_operand (operands[3], E_QImode))
1402 : return -1;
1403 4591 : switch (GET_MODE (operands[0]))
1404 : {
1405 3450 : case E_DImode:
1406 3450 : if (GET_MODE (x3) != E_DImode)
1407 : return -1;
1408 : return 0;
1409 :
1410 6 : case E_TImode:
1411 6 : if (!register_operand (operands[0], E_TImode)
1412 6 : || GET_MODE (x3) != E_TImode
1413 12 : || !register_operand (operands[1], E_TImode))
1414 0 : return -1;
1415 : return 1;
1416 :
1417 1005 : case E_SImode:
1418 1005 : if (!nonimmediate_operand (operands[0], E_SImode)
1419 1005 : || GET_MODE (x3) != E_SImode
1420 2010 : || !nonimmediate_operand (operands[1], E_SImode))
1421 264 : return -1;
1422 : return 2;
1423 :
1424 : default:
1425 : return -1;
1426 : }
1427 : }
1428 :
1429 : int
1430 570 : pattern346 (rtx x1, int *pnum_clobbers, rtx_code i1)
1431 : {
1432 570 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1433 570 : rtx x2, x3, x4, x5, x6, x7;
1434 570 : int res ATTRIBUTE_UNUSED;
1435 570 : if (pnum_clobbers == NULL)
1436 : return -1;
1437 569 : x2 = XVECEXP (x1, 0, 0);
1438 569 : x3 = XEXP (x2, 1);
1439 569 : x4 = XEXP (x3, 0);
1440 569 : if (GET_MODE (x4) != E_SImode)
1441 : return -1;
1442 427 : x5 = XVECEXP (x1, 0, 1);
1443 427 : if (GET_CODE (x5) != SET)
1444 : return -1;
1445 427 : x6 = XEXP (x5, 1);
1446 427 : if (GET_CODE (x6) != i1
1447 413 : || GET_MODE (x6) != E_SImode)
1448 : return -1;
1449 413 : x7 = XEXP (x2, 0);
1450 413 : operands[0] = x7;
1451 413 : if (!register_operand (operands[0], E_DImode)
1452 413 : || GET_MODE (x3) != E_DImode)
1453 : return -1;
1454 : return 0;
1455 : }
1456 :
1457 : int
1458 113 : pattern350 (rtx x1, machine_mode i1, machine_mode i2)
1459 : {
1460 113 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1461 113 : rtx x2;
1462 113 : int res ATTRIBUTE_UNUSED;
1463 113 : if (!register_operand (operands[0], i2)
1464 113 : || GET_MODE (x1) != i2)
1465 : return -1;
1466 113 : x2 = XEXP (x1, 0);
1467 113 : if (GET_MODE (x2) != i1
1468 113 : || !nonimmediate_operand (operands[1], i1))
1469 28 : return -1;
1470 : return 0;
1471 : }
1472 :
1473 : int
1474 790915 : pattern355 (rtx x1)
1475 : {
1476 790915 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1477 790915 : rtx x2;
1478 790915 : int res ATTRIBUTE_UNUSED;
1479 790915 : if (GET_CODE (x1) != CLOBBER)
1480 : return -1;
1481 666071 : x2 = XEXP (x1, 0);
1482 666071 : if (GET_CODE (x2) != REG
1483 666070 : || REGNO (x2) != 17
1484 1297745 : || GET_MODE (x2) != E_CCmode)
1485 34397 : return -1;
1486 : return 0;
1487 : }
1488 :
1489 : int
1490 39 : pattern357 (rtx x1, machine_mode i1, machine_mode i2)
1491 : {
1492 39 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1493 39 : rtx x2, x3, x4, x5, x6;
1494 39 : int res ATTRIBUTE_UNUSED;
1495 39 : if (!register_operand (operands[0], i2)
1496 39 : || GET_MODE (x1) != i2)
1497 : return -1;
1498 36 : x2 = XEXP (x1, 0);
1499 36 : if (GET_MODE (x2) != i2)
1500 : return -1;
1501 36 : x3 = XEXP (x2, 0);
1502 36 : if (GET_MODE (x3) != i2)
1503 : return -1;
1504 36 : x4 = XEXP (x3, 0);
1505 36 : if (GET_MODE (x4) != i2
1506 36 : || !nonimmediate_operand (operands[2], i1))
1507 0 : return -1;
1508 36 : x5 = XEXP (x2, 1);
1509 36 : if (GET_MODE (x5) != i2
1510 36 : || !nonimmediate_operand (operands[4], i1))
1511 0 : return -1;
1512 36 : x6 = XEXP (x1, 1);
1513 36 : if (GET_MODE (x6) != i2
1514 36 : || !nonimmediate_operand (operands[1], i1))
1515 10 : return -1;
1516 : return 0;
1517 : }
1518 :
1519 : int
1520 4250 : pattern362 (rtx x1, machine_mode i1)
1521 : {
1522 4250 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1523 4250 : rtx x2;
1524 4250 : int res ATTRIBUTE_UNUSED;
1525 4250 : if (!nonimmediate_operand (operands[0], i1)
1526 4250 : || GET_MODE (x1) != i1)
1527 : return -1;
1528 4250 : x2 = XEXP (x1, 0);
1529 4250 : if (GET_MODE (x2) != i1
1530 4250 : || !x86_64_general_operand (operands[1], i1))
1531 212 : return -1;
1532 : return 0;
1533 : }
1534 :
1535 : int
1536 4384 : pattern367 (rtx x1, rtx_code i1)
1537 : {
1538 4384 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1539 4384 : rtx x2, x3, x4, x5, x6, x7, x8;
1540 4384 : int res ATTRIBUTE_UNUSED;
1541 4384 : x2 = XVECEXP (x1, 0, 0);
1542 4384 : x3 = XEXP (x2, 1);
1543 4384 : x4 = XEXP (x3, 0);
1544 4384 : x5 = XEXP (x4, 0);
1545 4384 : if (XVECLEN (x5, 0) != 2
1546 4384 : || XINT (x5, 1) != 110)
1547 : return -1;
1548 4384 : x6 = XEXP (x2, 0);
1549 4384 : if (GET_CODE (x6) != REG
1550 4384 : || REGNO (x6) != 17
1551 8768 : || GET_MODE (x6) != E_CCNOmode)
1552 : return -1;
1553 3968 : x7 = XVECEXP (x1, 0, 1);
1554 3968 : if (GET_CODE (x7) != SET)
1555 : return -1;
1556 3968 : x8 = XEXP (x7, 1);
1557 3968 : if (GET_CODE (x8) != i1)
1558 : return -1;
1559 3968 : return pattern366 (x1,
1560 3968 : E_CCNOmode); /* [-1, 3] */
1561 : }
1562 :
1563 : int
1564 1089 : pattern373 (rtx x1)
1565 : {
1566 1089 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1567 1089 : rtx x2, x3, x4, x5, x6;
1568 1089 : int res ATTRIBUTE_UNUSED;
1569 1089 : x2 = XEXP (x1, 0);
1570 1089 : x3 = XEXP (x2, 1);
1571 1089 : switch (GET_CODE (x3))
1572 : {
1573 : case REG:
1574 : case SUBREG:
1575 : return 0;
1576 :
1577 3 : case AND:
1578 3 : if (GET_MODE (x3) != E_QImode)
1579 : return -1;
1580 3 : x4 = XEXP (x3, 0);
1581 3 : operands[1] = x4;
1582 3 : if (!register_operand (operands[1], E_QImode))
1583 : return -1;
1584 3 : x5 = XEXP (x3, 1);
1585 3 : operands[2] = x5;
1586 3 : if (!const_int_operand (operands[2], E_QImode))
1587 : return -1;
1588 3 : x6 = XEXP (x1, 1);
1589 3 : operands[3] = x6;
1590 3 : switch (GET_MODE (operands[0]))
1591 : {
1592 3 : case E_SImode:
1593 3 : if (pattern372 (x1,
1594 : E_SImode) != 0)
1595 : return -1;
1596 : return 1;
1597 :
1598 0 : case E_DImode:
1599 0 : if (pattern372 (x1,
1600 : E_DImode) != 0)
1601 : return -1;
1602 : return 2;
1603 :
1604 : default:
1605 : return -1;
1606 : }
1607 :
1608 : default:
1609 : return -1;
1610 : }
1611 : }
1612 :
1613 : int
1614 90 : pattern386 (rtx x1)
1615 : {
1616 90 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1617 90 : rtx x2, x3, x4, x5, x6;
1618 90 : int res ATTRIBUTE_UNUSED;
1619 90 : x2 = XVECEXP (x1, 0, 1);
1620 90 : if (GET_CODE (x2) != SET)
1621 : return -1;
1622 90 : x3 = XEXP (x2, 1);
1623 90 : if (GET_CODE (x3) != PLUS
1624 90 : || GET_MODE (x3) != E_SImode)
1625 : return -1;
1626 90 : x4 = XEXP (x3, 0);
1627 90 : if (GET_CODE (x4) != REG
1628 90 : || REGNO (x4) != 7
1629 180 : || GET_MODE (x4) != E_SImode)
1630 : return -1;
1631 90 : x5 = XEXP (x2, 0);
1632 90 : if (GET_CODE (x5) != REG
1633 90 : || REGNO (x5) != 7
1634 180 : || GET_MODE (x5) != E_SImode)
1635 : return -1;
1636 90 : x6 = XVECEXP (x1, 0, 2);
1637 90 : return pattern385 (x6,
1638 90 : 38); /* [-1, 0] */
1639 : }
1640 :
1641 : int
1642 48 : pattern396 (rtx x1)
1643 : {
1644 48 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1645 48 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
1646 48 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
1647 48 : int res ATTRIBUTE_UNUSED;
1648 48 : x2 = XVECEXP (x1, 0, 0);
1649 48 : x3 = XEXP (x2, 1);
1650 48 : if (GET_MODE (x3) != E_SImode)
1651 : return -1;
1652 48 : x4 = XEXP (x3, 0);
1653 48 : if (GET_CODE (x4) != UNSPEC
1654 48 : || XVECLEN (x4, 0) != 3
1655 48 : || XINT (x4, 1) != 22
1656 48 : || GET_MODE (x4) != E_SImode)
1657 : return -1;
1658 48 : x5 = XVECEXP (x4, 0, 2);
1659 48 : if (GET_CODE (x5) != REG
1660 48 : || REGNO (x5) != 7
1661 96 : || GET_MODE (x5) != E_SImode)
1662 : return -1;
1663 48 : x6 = XEXP (x3, 1);
1664 48 : if (GET_CODE (x6) != CONST
1665 48 : || GET_MODE (x6) != E_SImode)
1666 : return -1;
1667 48 : x7 = XEXP (x6, 0);
1668 48 : if (GET_CODE (x7) != UNSPEC
1669 48 : || XVECLEN (x7, 0) != 1
1670 48 : || XINT (x7, 1) != 6
1671 48 : || GET_MODE (x7) != E_SImode)
1672 : return -1;
1673 48 : x8 = XVECEXP (x1, 0, 1);
1674 48 : if (GET_CODE (x8) != CLOBBER)
1675 : return -1;
1676 48 : x9 = XVECEXP (x1, 0, 2);
1677 48 : if (GET_CODE (x9) != CLOBBER)
1678 : return -1;
1679 48 : x10 = XVECEXP (x1, 0, 3);
1680 48 : x11 = XEXP (x10, 0);
1681 48 : if (GET_CODE (x11) != REG
1682 48 : || REGNO (x11) != 17
1683 96 : || GET_MODE (x11) != E_CCmode)
1684 : return -1;
1685 48 : x12 = XEXP (x2, 0);
1686 48 : operands[0] = x12;
1687 48 : if (!register_operand (operands[0], E_SImode))
1688 : return -1;
1689 48 : x13 = XVECEXP (x4, 0, 0);
1690 48 : operands[1] = x13;
1691 48 : if (!register_operand (operands[1], E_SImode))
1692 : return -1;
1693 48 : x14 = XVECEXP (x4, 0, 1);
1694 48 : operands[2] = x14;
1695 48 : if (!constant_call_address_operand (operands[2], E_VOIDmode))
1696 : return -1;
1697 48 : x15 = XVECEXP (x7, 0, 0);
1698 48 : operands[3] = x15;
1699 48 : if (!tls_symbolic_operand (operands[3], E_VOIDmode))
1700 : return -1;
1701 48 : x16 = XEXP (x8, 0);
1702 48 : operands[4] = x16;
1703 48 : if (!scratch_operand (operands[4], E_SImode))
1704 : return -1;
1705 48 : x17 = XEXP (x9, 0);
1706 48 : operands[5] = x17;
1707 48 : if (!scratch_operand (operands[5], E_SImode))
1708 : return -1;
1709 : return 0;
1710 : }
1711 :
1712 : int
1713 22634137 : pattern418 (rtx x1, machine_mode i1)
1714 : {
1715 22634137 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1716 22634137 : rtx x2, x3, x4, x5, x6, x7;
1717 22634137 : int res ATTRIBUTE_UNUSED;
1718 22634137 : if (!memory_operand (operands[3], i1))
1719 : return -1;
1720 4673427 : operands[0] = x1;
1721 4673427 : if (!general_reg_operand (operands[0], i1))
1722 : return -1;
1723 3158458 : x2 = PATTERN (peep2_next_insn (1));
1724 3158458 : if (GET_CODE (x2) != SET)
1725 : return -1;
1726 2850018 : x3 = XEXP (x2, 1);
1727 2850018 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1728 : return -1;
1729 127573 : x4 = XEXP (x2, 0);
1730 127573 : operands[1] = x4;
1731 127573 : if (!memory_operand (operands[1], i1))
1732 : return -1;
1733 54446 : x5 = PATTERN (peep2_next_insn (2));
1734 54446 : if (GET_CODE (x5) != SET)
1735 : return -1;
1736 51562 : x6 = XEXP (x5, 1);
1737 51562 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1738 : return -1;
1739 19455 : x7 = XEXP (x5, 0);
1740 19455 : operands[2] = x7;
1741 19455 : if (!memory_operand (operands[2], i1))
1742 : return -1;
1743 : return 0;
1744 : }
1745 :
1746 : int
1747 903162 : pattern429 (rtx x1, machine_mode i1)
1748 : {
1749 903162 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1750 903162 : int res ATTRIBUTE_UNUSED;
1751 903162 : if (!register_operand (operands[0], i1)
1752 903162 : || GET_MODE (x1) != i1)
1753 : return -1;
1754 868797 : switch (GET_MODE (operands[1]))
1755 : {
1756 10859 : case E_HImode:
1757 10859 : if (!nonimmediate_operand (operands[1], E_HImode))
1758 : return -1;
1759 : return 0;
1760 :
1761 522203 : case E_SImode:
1762 522203 : if (!nonimmediate_operand (operands[1], E_SImode))
1763 : return -1;
1764 : return 1;
1765 :
1766 331187 : case E_DImode:
1767 331187 : if (!nonimmediate_operand (operands[1], E_DImode))
1768 : return -1;
1769 : return 2;
1770 :
1771 : default:
1772 : return -1;
1773 : }
1774 : }
1775 :
1776 : int
1777 12747833 : pattern439 (rtx x1)
1778 : {
1779 12747833 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1780 12747833 : int res ATTRIBUTE_UNUSED;
1781 12747833 : switch (GET_MODE (operands[0]))
1782 : {
1783 5275965 : case E_DImode:
1784 5275965 : if (!nonimmediate_operand (operands[0], E_DImode)
1785 5183581 : || GET_MODE (x1) != E_DImode
1786 10459546 : || !nonimmediate_operand (operands[1], E_DImode))
1787 399596 : return -1;
1788 : return 0;
1789 :
1790 3442753 : case E_SImode:
1791 3442753 : if (!nonimmediate_operand (operands[0], E_SImode)
1792 2145325 : || GET_MODE (x1) != E_SImode
1793 2145325 : || !nonimmediate_operand (operands[1], E_SImode)
1794 5106554 : || !x86_64_general_operand (operands[2], E_SImode))
1795 1856800 : return -1;
1796 : return 1;
1797 :
1798 : default:
1799 : return -1;
1800 : }
1801 : }
1802 :
1803 : int
1804 9336 : pattern450 (rtx x1, int *pnum_clobbers)
1805 : {
1806 9336 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1807 9336 : rtx x2, x3, x4;
1808 9336 : int res ATTRIBUTE_UNUSED;
1809 9336 : if (pnum_clobbers == NULL)
1810 : return -1;
1811 9336 : x2 = XEXP (x1, 1);
1812 9336 : x3 = XEXP (x2, 1);
1813 9336 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
1814 : return -1;
1815 7699 : x4 = XEXP (x2, 0);
1816 7699 : operands[2] = x4;
1817 7699 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
1818 : return -1;
1819 3877 : switch (GET_MODE (operands[0]))
1820 : {
1821 208 : case E_SImode:
1822 208 : return pattern449 (x1,
1823 208 : E_SImode); /* [-1, 0] */
1824 :
1825 3524 : case E_DImode:
1826 3524 : if (pattern449 (x1,
1827 : E_DImode) != 0)
1828 : return -1;
1829 : return 1;
1830 :
1831 : default:
1832 : return -1;
1833 : }
1834 : }
1835 :
1836 : int
1837 4989 : pattern459 (rtx x1, machine_mode i1)
1838 : {
1839 4989 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1840 4989 : rtx x2;
1841 4989 : int res ATTRIBUTE_UNUSED;
1842 4989 : if (!register_operand (operands[0], i1)
1843 4989 : || GET_MODE (x1) != i1)
1844 : return -1;
1845 4494 : x2 = XEXP (x1, 0);
1846 4494 : if (GET_MODE (x2) != i1
1847 4494 : || !register_operand (operands[1], i1)
1848 8812 : || !nonimmediate_operand (operands[2], i1))
1849 527 : return -1;
1850 : return 0;
1851 : }
1852 :
1853 : int
1854 1523 : pattern463 (rtx x1)
1855 : {
1856 1523 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1857 1523 : rtx x2, x3, x4, x5, x6, x7;
1858 1523 : int res ATTRIBUTE_UNUSED;
1859 1523 : x2 = XEXP (x1, 0);
1860 1523 : x3 = XVECEXP (x2, 0, 0);
1861 1523 : operands[1] = x3;
1862 1523 : x4 = XVECEXP (x2, 0, 1);
1863 1523 : operands[2] = x4;
1864 1523 : x5 = XEXP (x1, 2);
1865 1523 : switch (GET_CODE (x5))
1866 : {
1867 1436 : case UNSPEC:
1868 1436 : if (XVECLEN (x5, 0) != 1
1869 1436 : || XINT (x5, 1) != 224)
1870 : return -1;
1871 1436 : x6 = XEXP (x1, 1);
1872 1436 : operands[3] = x6;
1873 1436 : x7 = XVECEXP (x5, 0, 0);
1874 1436 : operands[4] = x7;
1875 1436 : switch (GET_MODE (operands[0]))
1876 : {
1877 296 : case E_V32HFmode:
1878 296 : if (!register_operand (operands[0], E_V32HFmode)
1879 250 : || GET_MODE (x1) != E_V32HFmode
1880 250 : || GET_MODE (x2) != E_V32HFmode
1881 250 : || !vector_operand (operands[1], E_V32HFmode)
1882 250 : || !vector_operand (operands[2], E_V32HFmode)
1883 250 : || !nonimm_or_0_operand (operands[3], E_V32HFmode)
1884 246 : || GET_MODE (x5) != E_SImode
1885 542 : || !register_operand (operands[4], E_HImode))
1886 114 : return -1;
1887 : return 0;
1888 :
1889 573 : case E_V16HFmode:
1890 573 : if (pattern462 (x1,
1891 : E_HImode,
1892 : E_V16HFmode) != 0)
1893 : return -1;
1894 : return 1;
1895 :
1896 567 : case E_V8HFmode:
1897 567 : if (pattern462 (x1,
1898 : E_QImode,
1899 : E_V8HFmode) != 0)
1900 : return -1;
1901 : return 2;
1902 :
1903 : default:
1904 : return -1;
1905 : }
1906 :
1907 87 : case CONST_INT:
1908 87 : if (XWINT (x5, 0) != 3L
1909 87 : || !register_operand (operands[0], E_V8HFmode)
1910 67 : || GET_MODE (x1) != E_V8HFmode
1911 67 : || GET_MODE (x2) != E_V8HFmode
1912 67 : || !nonimmediate_operand (operands[1], E_V8HFmode)
1913 154 : || !vector_operand (operands[2], E_V8HFmode))
1914 20 : return -1;
1915 67 : x6 = XEXP (x1, 1);
1916 67 : if (!rtx_equal_p (x6, operands[1]))
1917 : return -1;
1918 : return 3;
1919 :
1920 : default:
1921 : return -1;
1922 : }
1923 : }
1924 :
1925 : int
1926 3876 : pattern487 (rtx x1, machine_mode i1, machine_mode i2)
1927 : {
1928 3876 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1929 3876 : rtx x2;
1930 3876 : int res ATTRIBUTE_UNUSED;
1931 3876 : if (!register_operand (operands[0], i1)
1932 3876 : || GET_MODE (x1) != i1)
1933 : return -1;
1934 3660 : x2 = XEXP (x1, 0);
1935 3660 : if (GET_MODE (x2) != i1
1936 3660 : || !register_operand (operands[1], i1)
1937 3600 : || !register_operand (operands[2], i1)
1938 3600 : || !nonimmediate_operand (operands[3], i1)
1939 3600 : || !const0_operand (operands[5], i1)
1940 7260 : || !register_operand (operands[4], i2))
1941 276 : return -1;
1942 : return 0;
1943 : }
1944 :
1945 : int
1946 379 : pattern494 (rtx x1, machine_mode i1, machine_mode i2)
1947 : {
1948 379 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1949 379 : rtx x2;
1950 379 : int res ATTRIBUTE_UNUSED;
1951 379 : if (!register_operand (operands[0], i2)
1952 379 : || GET_MODE (x1) != i2)
1953 : return -1;
1954 366 : x2 = XVECEXP (x1, 0, 0);
1955 366 : if (GET_MODE (x2) != i2
1956 366 : || !register_operand (operands[1], i1))
1957 21 : return -1;
1958 : return 0;
1959 : }
1960 :
1961 : int
1962 0 : pattern495 (rtx x1)
1963 : {
1964 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
1965 0 : rtx x2, x3, x4;
1966 0 : int res ATTRIBUTE_UNUSED;
1967 0 : x2 = XVECEXP (x1, 0, 0);
1968 0 : x3 = XEXP (x2, 0);
1969 0 : operands[1] = x3;
1970 0 : x4 = XVECEXP (x1, 0, 1);
1971 0 : operands[2] = x4;
1972 0 : if (!const48_operand (operands[2], E_SImode))
1973 : return -1;
1974 0 : switch (GET_MODE (operands[0]))
1975 : {
1976 0 : case E_V8HImode:
1977 0 : return pattern494 (x1,
1978 : E_V8HFmode,
1979 0 : E_V8HImode); /* [-1, 0] */
1980 :
1981 0 : case E_V16HImode:
1982 0 : if (pattern494 (x1,
1983 : E_V16HFmode,
1984 : E_V16HImode) != 0)
1985 : return -1;
1986 : return 1;
1987 :
1988 0 : case E_V32HImode:
1989 0 : if (pattern494 (x1,
1990 : E_V32HFmode,
1991 : E_V32HImode) != 0)
1992 : return -1;
1993 : return 2;
1994 :
1995 0 : case E_V8SImode:
1996 0 : if (!register_operand (operands[0], E_V8SImode)
1997 0 : || GET_MODE (x1) != E_V8SImode
1998 0 : || GET_MODE (x2) != E_V8SImode)
1999 : return -1;
2000 0 : switch (GET_MODE (operands[1]))
2001 : {
2002 0 : case E_V8HFmode:
2003 0 : if (!register_operand (operands[1], E_V8HFmode))
2004 : return -1;
2005 : return 3;
2006 :
2007 0 : case E_V8DFmode:
2008 0 : if (!register_operand (operands[1], E_V8DFmode))
2009 : return -1;
2010 : return 4;
2011 :
2012 : default:
2013 : return -1;
2014 : }
2015 :
2016 0 : case E_V16SImode:
2017 0 : if (!register_operand (operands[0], E_V16SImode)
2018 0 : || GET_MODE (x1) != E_V16SImode
2019 0 : || GET_MODE (x2) != E_V16SImode)
2020 : return -1;
2021 0 : switch (GET_MODE (operands[1]))
2022 : {
2023 0 : case E_V16HFmode:
2024 0 : if (!register_operand (operands[1], E_V16HFmode))
2025 : return -1;
2026 : return 5;
2027 :
2028 0 : case E_V16SFmode:
2029 0 : if (!register_operand (operands[1], E_V16SFmode))
2030 : return -1;
2031 : return 6;
2032 :
2033 : default:
2034 : return -1;
2035 : }
2036 :
2037 0 : case E_V8DImode:
2038 0 : if (!register_operand (operands[0], E_V8DImode)
2039 0 : || GET_MODE (x1) != E_V8DImode
2040 0 : || GET_MODE (x2) != E_V8DImode)
2041 : return -1;
2042 0 : switch (GET_MODE (operands[1]))
2043 : {
2044 0 : case E_V8HFmode:
2045 0 : if (!register_operand (operands[1], E_V8HFmode))
2046 : return -1;
2047 : return 7;
2048 :
2049 0 : case E_V8DFmode:
2050 0 : if (!register_operand (operands[1], E_V8DFmode))
2051 : return -1;
2052 : return 8;
2053 :
2054 0 : case E_V8SFmode:
2055 0 : if (!register_operand (operands[1], E_V8SFmode))
2056 : return -1;
2057 : return 9;
2058 :
2059 : default:
2060 : return -1;
2061 : }
2062 :
2063 : default:
2064 : return -1;
2065 : }
2066 : }
2067 :
2068 : int
2069 22347 : pattern516 (rtx x1, machine_mode i1)
2070 : {
2071 22347 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2072 22347 : int res ATTRIBUTE_UNUSED;
2073 22347 : if (!register_operand (operands[0], i1)
2074 19255 : || GET_MODE (x1) != i1
2075 19255 : || !register_operand (operands[1], i1)
2076 36712 : || !bcst_vector_operand (operands[2], i1))
2077 9916 : return -1;
2078 : return 0;
2079 : }
2080 :
2081 : int
2082 840 : pattern521 (rtx x1, machine_mode i1)
2083 : {
2084 840 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2085 840 : int res ATTRIBUTE_UNUSED;
2086 840 : if (!register_operand (operands[0], i1)
2087 840 : || GET_MODE (x1) != i1)
2088 : return -1;
2089 758 : switch (GET_MODE (operands[1]))
2090 : {
2091 589 : case E_V4SImode:
2092 589 : if (!nonimmediate_operand (operands[1], E_V4SImode))
2093 : return -1;
2094 : return 0;
2095 :
2096 167 : case E_V4DImode:
2097 167 : if (!nonimmediate_operand (operands[1], E_V4DImode))
2098 : return -1;
2099 : return 1;
2100 :
2101 : default:
2102 : return -1;
2103 : }
2104 : }
2105 :
2106 : int
2107 51 : pattern526 (rtx x1, machine_mode i1, machine_mode i2)
2108 : {
2109 51 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2110 51 : rtx x2;
2111 51 : int res ATTRIBUTE_UNUSED;
2112 51 : if (!nonimmediate_operand (operands[0], i2)
2113 51 : || GET_MODE (x1) != i2)
2114 : return -1;
2115 51 : x2 = XEXP (x1, 0);
2116 51 : if (GET_MODE (x2) != i1
2117 51 : || !register_operand (operands[1], i1)
2118 94 : || !permvar_truncate_operand (operands[2], i1))
2119 39 : return -1;
2120 : return 0;
2121 : }
2122 :
2123 : int
2124 125 : pattern530 (rtx x1, machine_mode i1)
2125 : {
2126 125 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2127 125 : rtx x2;
2128 125 : int res ATTRIBUTE_UNUSED;
2129 125 : if (!register_operand (operands[0], i1)
2130 125 : || GET_MODE (x1) != i1)
2131 : return -1;
2132 125 : x2 = XEXP (x1, 0);
2133 125 : if (GET_MODE (x2) != i1
2134 125 : || !register_operand (operands[1], i1)
2135 105 : || !register_operand (operands[2], i1)
2136 230 : || !const1_operand (operands[3], i1))
2137 125 : return -1;
2138 : return 0;
2139 : }
2140 :
2141 : int
2142 248029 : pattern534 (rtx x1, machine_mode i1)
2143 : {
2144 248029 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2145 248029 : rtx x2;
2146 248029 : int res ATTRIBUTE_UNUSED;
2147 248029 : if (!register_operand (operands[0], i1)
2148 248029 : || GET_MODE (x1) != i1)
2149 : return -1;
2150 244659 : x2 = XEXP (x1, 0);
2151 244659 : if (GET_MODE (x2) != i1
2152 244659 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
2153 165012 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
2154 394672 : || !regmem_or_bitnot_regmem_operand (operands[3], i1))
2155 95298 : return -1;
2156 : return 0;
2157 : }
2158 :
2159 : int
2160 81655 : pattern540 (rtx x1)
2161 : {
2162 81655 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2163 81655 : rtx x2, x3, x4;
2164 81655 : int res ATTRIBUTE_UNUSED;
2165 81655 : x2 = XEXP (x1, 1);
2166 81655 : x3 = XEXP (x2, 0);
2167 81655 : operands[3] = x3;
2168 81655 : x4 = XEXP (x2, 1);
2169 81655 : operands[4] = x4;
2170 81655 : switch (GET_MODE (operands[0]))
2171 : {
2172 1 : case E_V32HFmode:
2173 1 : return pattern532 (x1,
2174 1 : E_V32HFmode); /* [-1, 0] */
2175 :
2176 1 : case E_V16HFmode:
2177 1 : if (pattern532 (x1,
2178 : E_V16HFmode) != 0)
2179 : return -1;
2180 : return 1;
2181 :
2182 52 : case E_V8HFmode:
2183 52 : if (pattern532 (x1,
2184 : E_V8HFmode) != 0)
2185 : return -1;
2186 : return 2;
2187 :
2188 0 : case E_V32BFmode:
2189 0 : if (pattern532 (x1,
2190 : E_V32BFmode) != 0)
2191 : return -1;
2192 : return 3;
2193 :
2194 0 : case E_V16BFmode:
2195 0 : if (pattern532 (x1,
2196 : E_V16BFmode) != 0)
2197 : return -1;
2198 : return 4;
2199 :
2200 0 : case E_V8BFmode:
2201 0 : if (pattern532 (x1,
2202 : E_V8BFmode) != 0)
2203 : return -1;
2204 : return 5;
2205 :
2206 2 : case E_V16SFmode:
2207 2 : if (pattern532 (x1,
2208 : E_V16SFmode) != 0)
2209 : return -1;
2210 : return 6;
2211 :
2212 4 : case E_V8SFmode:
2213 4 : if (pattern532 (x1,
2214 : E_V8SFmode) != 0)
2215 : return -1;
2216 : return 7;
2217 :
2218 5437 : case E_V4SFmode:
2219 5437 : if (pattern532 (x1,
2220 : E_V4SFmode) != 0)
2221 : return -1;
2222 : return 8;
2223 :
2224 0 : case E_V8DFmode:
2225 0 : if (pattern532 (x1,
2226 : E_V8DFmode) != 0)
2227 : return -1;
2228 : return 9;
2229 :
2230 9 : case E_V4DFmode:
2231 9 : if (pattern532 (x1,
2232 : E_V4DFmode) != 0)
2233 : return -1;
2234 : return 10;
2235 :
2236 5411 : case E_V2DFmode:
2237 5411 : if (pattern532 (x1,
2238 : E_V2DFmode) != 0)
2239 : return -1;
2240 : return 11;
2241 :
2242 : default:
2243 : return -1;
2244 : }
2245 : }
2246 :
2247 : int
2248 78905 : pattern545 (rtx x1)
2249 : {
2250 78905 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2251 78905 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2252 78905 : rtx x10, x11;
2253 78905 : int res ATTRIBUTE_UNUSED;
2254 78905 : x2 = XEXP (x1, 0);
2255 78905 : x3 = XEXP (x2, 1);
2256 78905 : switch (XVECLEN (x3, 0))
2257 : {
2258 24552 : case 8:
2259 24552 : x4 = XVECEXP (x3, 0, 0);
2260 24552 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2261 : return -1;
2262 23062 : x5 = XVECEXP (x3, 0, 1);
2263 23062 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2264 : return -1;
2265 23062 : x6 = XVECEXP (x3, 0, 2);
2266 23062 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2267 : return -1;
2268 23062 : x7 = XVECEXP (x3, 0, 3);
2269 23062 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2270 : return -1;
2271 23062 : x8 = XVECEXP (x3, 0, 4);
2272 23062 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
2273 : return -1;
2274 23062 : x9 = XVECEXP (x3, 0, 5);
2275 23062 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
2276 : return -1;
2277 23062 : x10 = XVECEXP (x3, 0, 6);
2278 23062 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
2279 : return -1;
2280 23062 : x11 = XVECEXP (x3, 0, 7);
2281 23062 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
2282 23062 : || GET_MODE (x2) != E_V8QImode
2283 44680 : || !register_operand (operands[1], E_V16QImode))
2284 4787 : return -1;
2285 18275 : return pattern543 (x1); /* [-1, 2] */
2286 :
2287 13576 : case 4:
2288 13576 : x4 = XVECEXP (x3, 0, 0);
2289 13576 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2290 : return -1;
2291 12471 : x5 = XVECEXP (x3, 0, 1);
2292 12471 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
2293 : return -1;
2294 12471 : x6 = XVECEXP (x3, 0, 2);
2295 12471 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
2296 : return -1;
2297 12471 : x7 = XVECEXP (x3, 0, 3);
2298 12471 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
2299 : return -1;
2300 12471 : switch (GET_MODE (operands[0]))
2301 : {
2302 10531 : case E_V4SImode:
2303 10531 : res = pattern544 (x1,
2304 : E_V4SImode);
2305 10531 : if (res >= 0)
2306 7435 : return res + 3; /* [3, 4] */
2307 : return -1;
2308 :
2309 1554 : case E_V4DImode:
2310 1554 : res = pattern544 (x1,
2311 : E_V4DImode);
2312 1554 : if (res >= 0)
2313 380 : return res + 5; /* [5, 6] */
2314 : return -1;
2315 :
2316 : default:
2317 : return -1;
2318 : }
2319 :
2320 9291 : case 2:
2321 9291 : x4 = XVECEXP (x3, 0, 0);
2322 9291 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2323 : return -1;
2324 9289 : x5 = XVECEXP (x3, 0, 1);
2325 9289 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2326 9140 : || !register_operand (operands[0], E_V2DImode)
2327 15865 : || GET_MODE (x1) != E_V2DImode)
2328 2713 : return -1;
2329 6576 : switch (GET_MODE (x2))
2330 : {
2331 284 : case E_V2QImode:
2332 284 : if (!register_operand (operands[1], E_V16QImode))
2333 : return -1;
2334 : return 7;
2335 :
2336 232 : case E_V2HImode:
2337 232 : if (!register_operand (operands[1], E_V8HImode))
2338 : return -1;
2339 : return 8;
2340 :
2341 6060 : case E_V2SImode:
2342 6060 : if (!register_operand (operands[1], E_V4SImode))
2343 : return -1;
2344 : return 9;
2345 :
2346 : default:
2347 : return -1;
2348 : }
2349 :
2350 : default:
2351 : return -1;
2352 : }
2353 : }
2354 :
2355 : int
2356 258 : pattern578 (rtx x1)
2357 : {
2358 258 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2359 258 : int res ATTRIBUTE_UNUSED;
2360 258 : if (GET_MODE (x1) != E_SImode
2361 258 : || !register_operand (operands[0], E_SImode)
2362 255 : || !register_operand (operands[1], E_SImode)
2363 447 : || !register_operand (operands[2], E_SImode))
2364 152 : return -1;
2365 : return 0;
2366 : }
2367 :
2368 : int
2369 18 : pattern583 (rtx x1)
2370 : {
2371 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2372 18 : rtx x2, x3, x4;
2373 18 : int res ATTRIBUTE_UNUSED;
2374 18 : x2 = XEXP (x1, 1);
2375 18 : x3 = XEXP (x2, 0);
2376 18 : operands[2] = x3;
2377 18 : if (!register_operand (operands[2], E_QImode))
2378 : return -1;
2379 15 : x4 = XEXP (x2, 1);
2380 15 : operands[3] = x4;
2381 15 : if (!const_int_operand (operands[3], E_QImode))
2382 : return -1;
2383 15 : return pattern581 (x1); /* [-1, 3] */
2384 : }
2385 :
2386 : int
2387 836 : pattern588 (rtx x1)
2388 : {
2389 836 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2390 836 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2391 836 : int res ATTRIBUTE_UNUSED;
2392 836 : x2 = XEXP (x1, 0);
2393 836 : x3 = XEXP (x2, 0);
2394 836 : operands[0] = x3;
2395 836 : if (!int248_register_operand (operands[0], E_VOIDmode))
2396 : return -1;
2397 836 : x4 = XEXP (x1, 1);
2398 836 : x5 = XEXP (x4, 0);
2399 836 : x6 = XEXP (x5, 0);
2400 836 : x7 = XEXP (x6, 0);
2401 836 : x8 = XEXP (x7, 0);
2402 836 : if (!rtx_equal_p (x8, operands[0]))
2403 : return -1;
2404 836 : x9 = XEXP (x5, 1);
2405 836 : if (!rtx_equal_p (x9, operands[2]))
2406 : return -1;
2407 836 : switch (GET_MODE (operands[3]))
2408 : {
2409 836 : case E_HImode:
2410 836 : return pattern587 (x1,
2411 836 : E_HImode); /* [-1, 0] */
2412 :
2413 0 : case E_SImode:
2414 0 : if (pattern587 (x1,
2415 : E_SImode) != 0)
2416 : return -1;
2417 : return 1;
2418 :
2419 0 : case E_DImode:
2420 0 : if (pattern587 (x1,
2421 : E_DImode) != 0)
2422 : return -1;
2423 : return 2;
2424 :
2425 : default:
2426 : return -1;
2427 : }
2428 : }
2429 :
2430 : int
2431 4420 : pattern597 (rtx x1)
2432 : {
2433 4420 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2434 4420 : int res ATTRIBUTE_UNUSED;
2435 4420 : if (!register_operand (operands[0], E_SImode)
2436 4420 : || GET_MODE (x1) != E_SImode)
2437 : return -1;
2438 4390 : switch (GET_MODE (operands[1]))
2439 : {
2440 1732 : case E_V32QImode:
2441 1732 : if (!general_operand (operands[1], E_V32QImode)
2442 1732 : || !general_operand (operands[2], E_V32QImode))
2443 22 : return -1;
2444 : return 0;
2445 :
2446 2457 : case E_V32HImode:
2447 2457 : if (!general_operand (operands[1], E_V32HImode)
2448 2457 : || !general_operand (operands[2], E_V32HImode))
2449 34 : return -1;
2450 : return 1;
2451 :
2452 : default:
2453 : return -1;
2454 : }
2455 : }
2456 :
2457 : int
2458 18 : pattern604 (rtx x1, machine_mode i1, machine_mode i2)
2459 : {
2460 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2461 18 : rtx x2, x3;
2462 18 : int res ATTRIBUTE_UNUSED;
2463 18 : if (!register_operand (operands[0], i1)
2464 18 : || GET_MODE (x1) != i1)
2465 : return -1;
2466 18 : x2 = XEXP (x1, 0);
2467 18 : if (GET_MODE (x2) != i1)
2468 : return -1;
2469 18 : x3 = XEXP (x2, 0);
2470 18 : if (GET_MODE (x3) != i2
2471 18 : || !nonimmediate_operand (operands[1], i2)
2472 36 : || !vector_operand (operands[2], i1))
2473 0 : return -1;
2474 : return 0;
2475 : }
2476 :
2477 : int
2478 19411 : pattern609 (rtx x1)
2479 : {
2480 19411 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2481 19411 : rtx x2;
2482 19411 : int res ATTRIBUTE_UNUSED;
2483 19411 : if (GET_CODE (x1) != SUBREG
2484 6250 : || maybe_ne (SUBREG_BYTE (x1), 0)
2485 25661 : || GET_MODE (x1) != E_QImode)
2486 : return -1;
2487 6250 : x2 = XEXP (x1, 0);
2488 6250 : switch (GET_CODE (x2))
2489 : {
2490 : case ASHIFTRT:
2491 : case LSHIFTRT:
2492 : case SIGN_EXTRACT:
2493 : case ZERO_EXTRACT:
2494 : return 0;
2495 :
2496 : default:
2497 : return -1;
2498 : }
2499 : }
2500 :
2501 : int
2502 18407 : pattern614 (rtx x1, machine_mode i1)
2503 : {
2504 18407 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2505 18407 : rtx x2;
2506 18407 : int res ATTRIBUTE_UNUSED;
2507 18407 : if (!register_operand (operands[0], i1)
2508 18407 : || GET_MODE (x1) != i1)
2509 : return -1;
2510 14542 : x2 = XEXP (x1, 0);
2511 14542 : if (GET_MODE (x2) != i1
2512 14542 : || !register_no_SP_operand (operands[1], i1)
2513 11193 : || !const_0_to_3_operand (operands[2], E_VOIDmode)
2514 19287 : || !const_int_operand (operands[3], E_VOIDmode))
2515 9797 : return -1;
2516 : return 0;
2517 : }
2518 :
2519 : int
2520 14055 : pattern618 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2521 : {
2522 14055 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2523 14055 : rtx x2;
2524 14055 : int res ATTRIBUTE_UNUSED;
2525 14055 : if (!register_operand (operands[0], i3)
2526 14055 : || GET_MODE (x1) != i3)
2527 : return -1;
2528 1936 : x2 = XEXP (x1, 0);
2529 1936 : if (GET_MODE (x2) != i2
2530 1936 : || !register_operand (operands[1], i1))
2531 459 : return -1;
2532 : return 0;
2533 : }
2534 :
2535 : int
2536 3893 : pattern622 (rtx x1, machine_mode i1)
2537 : {
2538 3893 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2539 3893 : rtx x2;
2540 3893 : int res ATTRIBUTE_UNUSED;
2541 3893 : if (!register_operand (operands[0], i1)
2542 3893 : || GET_MODE (x1) != i1)
2543 : return -1;
2544 3864 : x2 = XEXP (x1, 0);
2545 3864 : if (GET_MODE (x2) != i1
2546 3864 : || !register_operand (operands[1], i1)
2547 7407 : || !register_mmxmem_operand (operands[2], i1))
2548 1179 : return -1;
2549 : return 0;
2550 : }
2551 :
2552 : int
2553 909 : pattern627 (rtx x1)
2554 : {
2555 909 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2556 909 : rtx x2, x3, x4, x5;
2557 909 : int res ATTRIBUTE_UNUSED;
2558 909 : x2 = XEXP (x1, 0);
2559 909 : if (GET_CODE (x2) != MULT)
2560 : return -1;
2561 909 : x3 = XEXP (x2, 0);
2562 909 : if (GET_CODE (x3) != SIGN_EXTEND)
2563 : return -1;
2564 909 : x4 = XEXP (x2, 1);
2565 909 : if (GET_CODE (x4) != SIGN_EXTEND)
2566 : return -1;
2567 899 : x5 = XEXP (x1, 1);
2568 899 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
2569 0 : return -1;
2570 : return 0;
2571 : }
2572 :
2573 : int
2574 863735 : pattern635 (rtx x1, machine_mode i1)
2575 : {
2576 863735 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2577 863735 : int res ATTRIBUTE_UNUSED;
2578 863735 : if (!nonimmediate_operand (operands[0], i1)
2579 851894 : || GET_MODE (x1) != i1
2580 851894 : || !nonimmediate_operand (operands[1], i1)
2581 1411182 : || !nonmemory_operand (operands[2], E_QImode))
2582 336082 : return -1;
2583 : return 0;
2584 : }
2585 :
2586 : int
2587 7706 : pattern641 (rtx x1)
2588 : {
2589 7706 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2590 7706 : rtx x2, x3, x4, x5, x6, x7, x8;
2591 7706 : int res ATTRIBUTE_UNUSED;
2592 7706 : x2 = XEXP (x1, 2);
2593 7706 : operands[3] = x2;
2594 7706 : x3 = XEXP (x1, 0);
2595 7706 : x4 = XVECEXP (x3, 0, 0);
2596 7706 : switch (GET_CODE (x4))
2597 : {
2598 7182 : case REG:
2599 7182 : case SUBREG:
2600 7182 : case MEM:
2601 7182 : operands[1] = x4;
2602 7182 : switch (GET_MODE (operands[0]))
2603 : {
2604 : case E_V32HImode:
2605 : return 0;
2606 :
2607 366 : case E_V16SImode:
2608 366 : return 1;
2609 :
2610 662 : case E_V8DImode:
2611 662 : return 2;
2612 :
2613 486 : case E_V16HImode:
2614 486 : return 3;
2615 :
2616 1154 : case E_V8SImode:
2617 1154 : return 4;
2618 :
2619 1536 : case E_V4DImode:
2620 1536 : return 5;
2621 :
2622 486 : case E_V8HImode:
2623 486 : return 6;
2624 :
2625 1376 : case E_V4SImode:
2626 1376 : return 7;
2627 :
2628 936 : case E_V2DImode:
2629 936 : return 8;
2630 :
2631 : default:
2632 : return -1;
2633 : }
2634 :
2635 492 : case VEC_SELECT:
2636 492 : if (GET_MODE (x4) != E_V2SFmode)
2637 : return -1;
2638 492 : x5 = XEXP (x4, 1);
2639 492 : if (GET_CODE (x5) != PARALLEL
2640 492 : || XVECLEN (x5, 0) != 2)
2641 : return -1;
2642 492 : x6 = XVECEXP (x5, 0, 0);
2643 492 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2644 : return -1;
2645 492 : x7 = XVECEXP (x5, 0, 1);
2646 492 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2647 492 : || !register_operand (operands[0], E_V2DImode)
2648 472 : || GET_MODE (x1) != E_V2DImode
2649 964 : || GET_MODE (x3) != E_V2DImode)
2650 20 : return -1;
2651 472 : x8 = XEXP (x4, 0);
2652 472 : operands[1] = x8;
2653 472 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
2654 468 : || !nonimm_or_0_operand (operands[2], E_V2DImode)
2655 928 : || !register_operand (operands[3], E_QImode))
2656 34 : return -1;
2657 : return 9;
2658 :
2659 : default:
2660 : return -1;
2661 : }
2662 : }
2663 :
2664 : int
2665 2052 : pattern658 (rtx x1, machine_mode i1)
2666 : {
2667 2052 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2668 2052 : rtx x2, x3;
2669 2052 : int res ATTRIBUTE_UNUSED;
2670 2052 : if (!register_operand (operands[0], i1)
2671 2052 : || GET_MODE (x1) != i1)
2672 : return -1;
2673 1988 : x2 = XVECEXP (x1, 0, 0);
2674 1988 : if (GET_MODE (x2) != i1)
2675 : return -1;
2676 1988 : x3 = XEXP (x2, 0);
2677 1988 : if (GET_MODE (x3) != i1
2678 1988 : || !register_operand (operands[1], i1)
2679 3896 : || !nonimmediate_operand (operands[2], i1))
2680 100 : return -1;
2681 : return 0;
2682 : }
2683 :
2684 : int
2685 2643 : pattern663 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
2686 : {
2687 2643 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2688 2643 : rtx x2, x3;
2689 2643 : int res ATTRIBUTE_UNUSED;
2690 2643 : if (!register_operand (operands[0], i2)
2691 2643 : || GET_MODE (x1) != i2)
2692 : return -1;
2693 2575 : x2 = XVECEXP (x1, 0, 0);
2694 2575 : if (GET_MODE (x2) != i2)
2695 : return -1;
2696 2575 : x3 = XEXP (x2, 0);
2697 2575 : if (GET_MODE (x3) != i2
2698 2575 : || !register_operand (operands[1], i3)
2699 2549 : || !nonimm_or_0_operand (operands[2], i2)
2700 5122 : || !register_operand (operands[3], i1))
2701 82 : return -1;
2702 : return 0;
2703 : }
2704 :
2705 : int
2706 2397 : pattern668 (rtx x1)
2707 : {
2708 2397 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2709 2397 : rtx x2, x3, x4, x5;
2710 2397 : int res ATTRIBUTE_UNUSED;
2711 2397 : x2 = XVECEXP (x1, 0, 1);
2712 2397 : operands[2] = x2;
2713 2397 : x3 = XVECEXP (x1, 0, 2);
2714 2397 : x4 = XEXP (x3, 0);
2715 2397 : operands[3] = x4;
2716 2397 : x5 = XEXP (x3, 1);
2717 2397 : operands[4] = x5;
2718 2397 : switch (GET_CODE (operands[4]))
2719 : {
2720 1759 : case REG:
2721 1759 : case SUBREG:
2722 1759 : case MEM:
2723 1759 : switch (GET_MODE (operands[0]))
2724 : {
2725 308 : case E_V8SFmode:
2726 308 : return pattern665 (x1,
2727 308 : E_V8SFmode); /* [-1, 0] */
2728 :
2729 967 : case E_V4SFmode:
2730 967 : if (pattern665 (x1,
2731 : E_V4SFmode) != 0)
2732 : return -1;
2733 : return 1;
2734 :
2735 233 : case E_V4DFmode:
2736 233 : if (pattern665 (x1,
2737 : E_V4DFmode) != 0)
2738 : return -1;
2739 : return 2;
2740 :
2741 224 : case E_V2DFmode:
2742 224 : if (pattern665 (x1,
2743 : E_V2DFmode) != 0)
2744 : return -1;
2745 : return 3;
2746 :
2747 : default:
2748 : return -1;
2749 : }
2750 :
2751 447 : case CONST_INT:
2752 447 : case CONST_DOUBLE:
2753 447 : case CONST_VECTOR:
2754 447 : switch (GET_MODE (operands[0]))
2755 : {
2756 57 : case E_V8SFmode:
2757 57 : if (pattern666 (x1,
2758 : E_V8SImode,
2759 : E_V8SFmode) != 0)
2760 : return -1;
2761 : return 4;
2762 :
2763 92 : case E_V4SFmode:
2764 92 : if (pattern666 (x1,
2765 : E_V4SImode,
2766 : E_V4SFmode) != 0)
2767 : return -1;
2768 : return 5;
2769 :
2770 61 : case E_V4DFmode:
2771 61 : if (pattern666 (x1,
2772 : E_V4DImode,
2773 : E_V4DFmode) != 0)
2774 : return -1;
2775 : return 6;
2776 :
2777 65 : case E_V2DFmode:
2778 65 : if (pattern666 (x1,
2779 : E_V2DImode,
2780 : E_V2DFmode) != 0)
2781 : return -1;
2782 : return 7;
2783 :
2784 53 : case E_V32QImode:
2785 53 : if (pattern667 (x1,
2786 : E_V32QImode) != 0)
2787 : return -1;
2788 : return 8;
2789 :
2790 119 : case E_V16QImode:
2791 119 : if (pattern667 (x1,
2792 : E_V16QImode) != 0)
2793 : return -1;
2794 : return 9;
2795 :
2796 : default:
2797 : return -1;
2798 : }
2799 :
2800 : default:
2801 : return -1;
2802 : }
2803 : }
2804 :
2805 : int
2806 12 : pattern688 (rtx x1, machine_mode i1, machine_mode i2)
2807 : {
2808 12 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2809 12 : rtx x2, x3, x4, x5, x6;
2810 12 : int res ATTRIBUTE_UNUSED;
2811 12 : x2 = XEXP (x1, 0);
2812 12 : x3 = XEXP (x2, 1);
2813 12 : x4 = XVECEXP (x3, 0, 0);
2814 12 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2815 : return -1;
2816 12 : x5 = XVECEXP (x3, 0, 1);
2817 12 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
2818 12 : || !register_operand (operands[0], E_V2DImode)
2819 10 : || GET_MODE (x1) != E_V2DImode
2820 22 : || GET_MODE (x2) != i1)
2821 2 : return -1;
2822 10 : x6 = XEXP (x2, 0);
2823 10 : if (GET_MODE (x6) != i2)
2824 : return -1;
2825 : return 0;
2826 : }
2827 :
2828 : int
2829 6 : pattern694 (rtx x1)
2830 : {
2831 6 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2832 6 : rtx x2, x3, x4, x5, x6;
2833 6 : int res ATTRIBUTE_UNUSED;
2834 6 : x2 = XVECEXP (x1, 0, 0);
2835 6 : x3 = XEXP (x2, 1);
2836 6 : x4 = XEXP (x3, 1);
2837 6 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
2838 : return -1;
2839 6 : x5 = XEXP (x2, 0);
2840 6 : if (GET_CODE (x5) != REG
2841 6 : || REGNO (x5) != 17
2842 12 : || GET_MODE (x5) != E_CCZmode)
2843 : return -1;
2844 6 : x6 = XVECEXP (x1, 0, 1);
2845 6 : if (GET_CODE (x6) != CLOBBER
2846 2 : || GET_MODE (x3) != E_CCZmode)
2847 4 : return -1;
2848 : return 0;
2849 : }
2850 :
2851 : int
2852 13218 : pattern701 (rtx x1)
2853 : {
2854 13218 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2855 13218 : rtx x2, x3, x4, x5;
2856 13218 : int res ATTRIBUTE_UNUSED;
2857 13218 : x2 = XEXP (x1, 0);
2858 13218 : operands[0] = x2;
2859 13218 : x3 = XEXP (x1, 1);
2860 13218 : x4 = XEXP (x3, 1);
2861 13218 : x5 = XEXP (x4, 0);
2862 13218 : operands[2] = x5;
2863 13218 : if (!int_nonimmediate_operand (operands[2], E_VOIDmode))
2864 : return -1;
2865 9621 : switch (GET_MODE (operands[0]))
2866 : {
2867 236 : case E_QImode:
2868 236 : return pattern699 (x3,
2869 236 : E_QImode); /* [-1, 0] */
2870 :
2871 11 : case E_HImode:
2872 11 : if (pattern699 (x3,
2873 : E_HImode) != 0)
2874 : return -1;
2875 : return 1;
2876 :
2877 494 : case E_SImode:
2878 494 : if (pattern700 (x3,
2879 : E_SImode) != 0)
2880 : return -1;
2881 : return 2;
2882 :
2883 8832 : case E_DImode:
2884 8832 : if (pattern700 (x3,
2885 : E_DImode) != 0)
2886 : return -1;
2887 : return 3;
2888 :
2889 : default:
2890 : return -1;
2891 : }
2892 : }
2893 :
2894 : int
2895 242 : pattern712 (rtx x1, int i1)
2896 : {
2897 242 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2898 242 : rtx x2, x3, x4, x5, x6, x7, x8;
2899 242 : int res ATTRIBUTE_UNUSED;
2900 242 : x2 = XVECEXP (x1, 0, 0);
2901 242 : x3 = XEXP (x2, 1);
2902 242 : if (GET_MODE (x3) != E_DImode)
2903 : return -1;
2904 242 : x4 = XVECEXP (x1, 0, 1);
2905 242 : if (GET_CODE (x4) != SET)
2906 : return -1;
2907 242 : x5 = XEXP (x4, 1);
2908 242 : if (GET_CODE (x5) != UNSPEC_VOLATILE
2909 242 : || XVECLEN (x5, 0) != 1
2910 242 : || XINT (x5, 1) != i1
2911 242 : || GET_MODE (x5) != E_DImode
2912 484 : || !register_operand (operands[0], E_DImode))
2913 0 : return -1;
2914 242 : x6 = XVECEXP (x3, 0, 0);
2915 242 : operands[2] = x6;
2916 242 : if (!register_operand (operands[2], E_SImode))
2917 : return -1;
2918 237 : x7 = XEXP (x4, 0);
2919 237 : operands[1] = x7;
2920 237 : if (!register_operand (operands[1], E_DImode))
2921 : return -1;
2922 237 : x8 = XVECEXP (x5, 0, 0);
2923 237 : if (!rtx_equal_p (x8, operands[2]))
2924 : return -1;
2925 : return 0;
2926 : }
2927 :
2928 : int
2929 263502 : pattern720 (rtx x1, unsigned int i1, rtx_code i2)
2930 : {
2931 263502 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2932 263502 : rtx x2, x3, x4;
2933 263502 : int res ATTRIBUTE_UNUSED;
2934 263502 : if (GET_CODE (x1) != SET)
2935 : return -1;
2936 235900 : x2 = XEXP (x1, 1);
2937 235900 : if (GET_CODE (x2) != i2)
2938 : return -1;
2939 235900 : x3 = XEXP (x2, 0);
2940 235900 : if (GET_CODE (x3) != REG
2941 235900 : || REGNO (x3) != i1)
2942 : return -1;
2943 235900 : x4 = XEXP (x1, 0);
2944 235900 : if (GET_CODE (x4) != REG
2945 235900 : || REGNO (x4) != i1)
2946 0 : return -1;
2947 : return 0;
2948 : }
2949 :
2950 : int
2951 17392 : pattern727 (rtx x1, machine_mode i1, machine_mode i2)
2952 : {
2953 17392 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2954 17392 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
2955 17392 : int res ATTRIBUTE_UNUSED;
2956 17392 : x2 = XVECEXP (x1, 0, 0);
2957 17392 : x3 = XEXP (x2, 1);
2958 17392 : x4 = XEXP (x3, 0);
2959 17392 : x5 = XEXP (x4, 0);
2960 17392 : if (GET_MODE (x5) != i2
2961 17392 : || !nonimmediate_operand (operands[1], i1)
2962 31746 : || !const_scalar_int_operand (operands[3], i2))
2963 8042 : return -1;
2964 9350 : x6 = XEXP (x3, 1);
2965 9350 : if (GET_MODE (x6) != i2)
2966 : return -1;
2967 9350 : x7 = XEXP (x6, 0);
2968 9350 : if (GET_MODE (x7) != i1
2969 9350 : || !x86_64_hilo_general_operand (operands[2], i1)
2970 18316 : || !nonimmediate_operand (operands[0], i1))
2971 384 : return -1;
2972 8966 : x8 = XVECEXP (x1, 0, 1);
2973 8966 : x9 = XEXP (x8, 1);
2974 8966 : if (GET_MODE (x9) != i1)
2975 : return -1;
2976 : return 0;
2977 : }
2978 :
2979 : int
2980 224806 : pattern736 (rtx x1, machine_mode i1)
2981 : {
2982 224806 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
2983 224806 : rtx x2, x3, x4, x5, x6;
2984 224806 : int res ATTRIBUTE_UNUSED;
2985 224806 : if (!register_operand (operands[0], i1)
2986 224806 : || GET_CODE (x1) != SET)
2987 : return -1;
2988 182451 : x2 = XEXP (x1, 1);
2989 182451 : if (GET_CODE (x2) != PLUS
2990 5189 : || GET_MODE (x2) != E_SImode)
2991 : return -1;
2992 3966 : x3 = XEXP (x1, 0);
2993 3966 : operands[3] = x3;
2994 3966 : if (!register_operand (operands[3], E_SImode))
2995 : return -1;
2996 3966 : x4 = XEXP (x2, 0);
2997 3966 : operands[4] = x4;
2998 3966 : if (!register_operand (operands[4], E_SImode))
2999 : return -1;
3000 3895 : x5 = XEXP (x2, 1);
3001 3895 : operands[2] = x5;
3002 3895 : if (!nonmemory_operand (operands[2], E_SImode))
3003 : return -1;
3004 3888 : x6 = PATTERN (peep2_next_insn (2));
3005 3888 : return pattern735 (x6,
3006 3888 : i1); /* [-1, 0] */
3007 : }
3008 :
3009 : int
3010 3541 : pattern748 (rtx x1)
3011 : {
3012 3541 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3013 3541 : rtx x2, x3;
3014 3541 : int res ATTRIBUTE_UNUSED;
3015 3541 : x2 = XEXP (x1, 1);
3016 3541 : operands[3] = x2;
3017 3541 : switch (GET_MODE (operands[0]))
3018 : {
3019 873 : case E_HImode:
3020 873 : if (!register_operand (operands[0], E_HImode)
3021 873 : || GET_MODE (x1) != E_HImode)
3022 : return -1;
3023 849 : x3 = XEXP (x1, 0);
3024 849 : if (GET_MODE (x3) != E_HImode
3025 849 : || !register_operand (operands[3], E_HImode))
3026 144 : return -1;
3027 705 : return pattern746 (); /* [-1, 2] */
3028 :
3029 1808 : case E_QImode:
3030 1808 : if (!register_operand (operands[0], E_QImode)
3031 1808 : || GET_MODE (x1) != E_QImode)
3032 : return -1;
3033 1754 : x3 = XEXP (x1, 0);
3034 1754 : if (GET_MODE (x3) != E_QImode
3035 1754 : || !register_operand (operands[3], E_QImode))
3036 304 : return -1;
3037 1450 : res = pattern747 ();
3038 1450 : if (res >= 0)
3039 1444 : return res + 3; /* [3, 8] */
3040 : return -1;
3041 :
3042 : default:
3043 : return -1;
3044 : }
3045 : }
3046 :
3047 : int
3048 49 : pattern760 (rtx x1, int *pnum_clobbers)
3049 : {
3050 49 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3051 49 : rtx x2, x3, x4, x5;
3052 49 : int res ATTRIBUTE_UNUSED;
3053 49 : if (pnum_clobbers == NULL)
3054 : return -1;
3055 49 : x2 = XEXP (x1, 0);
3056 49 : x3 = XEXP (x2, 1);
3057 49 : x4 = XEXP (x3, 0);
3058 49 : if (GET_CODE (x4) != REG
3059 49 : || REGNO (x4) != 17)
3060 : return -1;
3061 25 : x5 = XEXP (x3, 1);
3062 25 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3063 : return -1;
3064 25 : return pattern279 (x1); /* [-1, 4] */
3065 : }
3066 :
3067 : int
3068 30 : pattern769 (rtx x1)
3069 : {
3070 30 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3071 30 : rtx x2, x3;
3072 30 : int res ATTRIBUTE_UNUSED;
3073 30 : x2 = XEXP (x1, 0);
3074 30 : operands[1] = x2;
3075 30 : x3 = XEXP (x1, 1);
3076 30 : operands[2] = x3;
3077 30 : switch (GET_MODE (x1))
3078 : {
3079 0 : case E_V8SFmode:
3080 0 : if (!register_operand (operands[1], E_V8SImode)
3081 0 : || !const0_operand (operands[2], E_V8SImode))
3082 0 : return -1;
3083 : return 0;
3084 :
3085 0 : case E_V4SFmode:
3086 0 : if (!register_operand (operands[1], E_V4SImode)
3087 0 : || !const0_operand (operands[2], E_V4SImode))
3088 0 : return -1;
3089 : return 1;
3090 :
3091 10 : case E_V4DFmode:
3092 10 : if (!register_operand (operands[1], E_V4DImode)
3093 10 : || !const0_operand (operands[2], E_V4DImode))
3094 0 : return -1;
3095 : return 2;
3096 :
3097 0 : case E_V2DFmode:
3098 0 : if (!register_operand (operands[1], E_V2DImode)
3099 0 : || !const0_operand (operands[2], E_V2DImode))
3100 0 : return -1;
3101 : return 3;
3102 :
3103 11 : case E_V32QImode:
3104 11 : if (!register_operand (operands[1], E_V32QImode)
3105 11 : || !const0_operand (operands[2], E_V32QImode))
3106 0 : return -1;
3107 : return 4;
3108 :
3109 9 : case E_V16QImode:
3110 9 : if (!register_operand (operands[1], E_V16QImode)
3111 9 : || !const0_operand (operands[2], E_V16QImode))
3112 0 : return -1;
3113 : return 5;
3114 :
3115 : default:
3116 : return -1;
3117 : }
3118 : }
3119 :
3120 : int
3121 0 : pattern784 (rtx x1)
3122 : {
3123 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3124 0 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3125 0 : rtx x10;
3126 0 : int res ATTRIBUTE_UNUSED;
3127 0 : x2 = XVECEXP (x1, 0, 0);
3128 0 : x3 = XEXP (x2, 2);
3129 0 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3130 : return -1;
3131 0 : x4 = XEXP (x2, 0);
3132 0 : x5 = XEXP (x4, 0);
3133 0 : x6 = XEXP (x5, 0);
3134 0 : operands[1] = x6;
3135 0 : x7 = XEXP (x5, 1);
3136 0 : operands[2] = x7;
3137 0 : x8 = XEXP (x4, 1);
3138 0 : operands[3] = x8;
3139 0 : x9 = XEXP (x4, 2);
3140 0 : operands[4] = x9;
3141 0 : if (!register_operand (operands[4], E_QImode))
3142 : return -1;
3143 0 : x10 = XVECEXP (x1, 0, 1);
3144 0 : operands[5] = x10;
3145 0 : if (!const48_operand (operands[5], E_SImode))
3146 : return -1;
3147 0 : return pattern782 (x1); /* [-1, 2] */
3148 : }
3149 :
3150 : int
3151 182882 : pattern801 (rtx x1, machine_mode i1, machine_mode i2)
3152 : {
3153 182882 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3154 182882 : int res ATTRIBUTE_UNUSED;
3155 182882 : if (!register_operand (operands[0], i2)
3156 176125 : || GET_MODE (x1) != i2
3157 176125 : || !nonimmediate_operand (operands[1], i1)
3158 350872 : || !nonimm_or_0_operand (operands[2], i1))
3159 21266 : return -1;
3160 : return 0;
3161 : }
3162 :
3163 : int
3164 748 : pattern808 (rtx x1, machine_mode i1, machine_mode i2)
3165 : {
3166 748 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3167 748 : rtx x2;
3168 748 : int res ATTRIBUTE_UNUSED;
3169 748 : if (!register_operand (operands[0], i1)
3170 748 : || GET_MODE (x1) != i1)
3171 : return -1;
3172 745 : x2 = XEXP (x1, 0);
3173 745 : if (GET_MODE (x2) != i2
3174 745 : || !nonimmediate_operand (operands[1], i1)
3175 1466 : || !const0_operand (operands[2], i1))
3176 226 : return -1;
3177 : return 0;
3178 : }
3179 :
3180 : int
3181 9 : pattern815 (rtx x1, machine_mode i1)
3182 : {
3183 9 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3184 9 : rtx x2;
3185 9 : int res ATTRIBUTE_UNUSED;
3186 9 : if (!register_operand (operands[0], i1)
3187 9 : || GET_MODE (x1) != i1)
3188 : return -1;
3189 9 : x2 = XEXP (x1, 0);
3190 9 : if (GET_MODE (x2) != i1
3191 9 : || !bcst_vector_operand (operands[1], i1)
3192 10 : || !bcst_vector_operand (operands[2], i1))
3193 8 : return -1;
3194 : return 0;
3195 : }
3196 :
3197 : int
3198 13904 : pattern820 (rtx x1)
3199 : {
3200 13904 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3201 13904 : int res ATTRIBUTE_UNUSED;
3202 13904 : switch (GET_MODE (operands[0]))
3203 : {
3204 1573 : case E_QImode:
3205 1573 : if (!register_operand (operands[0], E_QImode)
3206 1553 : || GET_MODE (x1) != E_QImode
3207 3126 : || !register_operand (operands[1], E_QImode))
3208 46 : return -1;
3209 : return 0;
3210 :
3211 9394 : case E_HImode:
3212 9394 : if (!register_operand (operands[0], E_HImode)
3213 9374 : || GET_MODE (x1) != E_HImode
3214 18768 : || !register_operand (operands[1], E_HImode))
3215 2969 : return -1;
3216 : return 1;
3217 :
3218 1959 : case E_SImode:
3219 1959 : if (!register_operand (operands[0], E_SImode)
3220 1939 : || GET_MODE (x1) != E_SImode
3221 3898 : || !register_operand (operands[1], E_SImode))
3222 52 : return -1;
3223 : return 2;
3224 :
3225 978 : case E_DImode:
3226 978 : if (!register_operand (operands[0], E_DImode)
3227 958 : || GET_MODE (x1) != E_DImode
3228 1936 : || !register_operand (operands[1], E_DImode))
3229 87 : return -1;
3230 : return 3;
3231 :
3232 : default:
3233 : return -1;
3234 : }
3235 : }
3236 :
3237 : int
3238 63 : pattern830 (rtx x1, int *pnum_clobbers)
3239 : {
3240 63 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3241 63 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3242 63 : int res ATTRIBUTE_UNUSED;
3243 63 : x2 = XVECEXP (x1, 0, 0);
3244 63 : x3 = XEXP (x2, 1);
3245 63 : x4 = XEXP (x3, 0);
3246 63 : x5 = XEXP (x4, 0);
3247 63 : if (GET_MODE (x5) != E_SImode)
3248 : return -1;
3249 41 : x6 = XEXP (x3, 1);
3250 41 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
3251 : return -1;
3252 0 : x7 = XEXP (x2, 0);
3253 0 : operands[0] = x7;
3254 0 : if (!register_operand (operands[0], E_DImode)
3255 0 : || GET_MODE (x3) != E_DImode
3256 0 : || GET_MODE (x4) != E_DImode)
3257 : return -1;
3258 0 : x8 = XEXP (x5, 0);
3259 0 : operands[1] = x8;
3260 0 : if (!nonimmediate_operand (operands[1], E_SImode))
3261 : return -1;
3262 0 : x9 = XVECEXP (x1, 0, 1);
3263 0 : return pattern829 (x9, pnum_clobbers); /* [-1, 1] */
3264 : }
3265 :
3266 : int
3267 8 : pattern838 (rtx x1)
3268 : {
3269 8 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3270 8 : rtx x2, x3, x4, x5;
3271 8 : int res ATTRIBUTE_UNUSED;
3272 8 : x2 = XVECEXP (x1, 0, 2);
3273 8 : if (GET_CODE (x2) != CLOBBER)
3274 : return -1;
3275 8 : x3 = XEXP (x2, 0);
3276 8 : if (GET_CODE (x3) != REG
3277 8 : || REGNO (x3) != 17
3278 16 : || GET_MODE (x3) != E_CCmode)
3279 : return -1;
3280 8 : x4 = XVECEXP (x1, 0, 0);
3281 8 : x5 = XEXP (x4, 0);
3282 8 : operands[0] = x5;
3283 8 : return 0;
3284 : }
3285 :
3286 : int
3287 54 : pattern842 (rtx x1)
3288 : {
3289 54 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3290 54 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3291 54 : int res ATTRIBUTE_UNUSED;
3292 54 : x2 = XEXP (x1, 1);
3293 54 : x3 = XEXP (x2, 0);
3294 54 : if (GET_MODE (x3) != E_DImode)
3295 : return -1;
3296 54 : x4 = XEXP (x3, 0);
3297 54 : if (GET_CODE (x4) != MINUS
3298 54 : || GET_MODE (x4) != E_SImode)
3299 : return -1;
3300 54 : x5 = XEXP (x4, 0);
3301 54 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
3302 : return -1;
3303 54 : x6 = XEXP (x4, 1);
3304 54 : if (GET_CODE (x6) != SUBREG
3305 54 : || maybe_ne (SUBREG_BYTE (x6), 0)
3306 108 : || GET_MODE (x6) != E_SImode)
3307 : return -1;
3308 54 : x7 = XEXP (x6, 0);
3309 54 : if (GET_CODE (x7) != CLZ
3310 54 : || GET_MODE (x7) != E_DImode)
3311 : return -1;
3312 54 : x8 = XEXP (x2, 1);
3313 54 : if (XWINT (x8, 0) != 63L
3314 54 : || !register_operand (operands[0], E_DImode)
3315 54 : || GET_MODE (x1) != E_DImode
3316 54 : || !const_int_operand (operands[2], E_DImode)
3317 92 : || GET_MODE (x2) != E_DImode)
3318 16 : return -1;
3319 38 : x9 = XEXP (x7, 0);
3320 38 : operands[1] = x9;
3321 38 : if (!nonimmediate_operand (operands[1], E_DImode))
3322 : return -1;
3323 : return 0;
3324 : }
3325 :
3326 : int
3327 176 : pattern855 (rtx x1)
3328 : {
3329 176 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3330 176 : rtx x2, x3, x4, x5, x6, x7;
3331 176 : int res ATTRIBUTE_UNUSED;
3332 176 : x2 = XVECEXP (x1, 0, 0);
3333 176 : if (GET_CODE (x2) != VEC_SELECT)
3334 : return -1;
3335 176 : x3 = XEXP (x2, 1);
3336 176 : if (GET_CODE (x3) != PARALLEL
3337 176 : || XVECLEN (x3, 0) != 1)
3338 : return -1;
3339 176 : x4 = XVECEXP (x3, 0, 0);
3340 176 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3341 : return -1;
3342 176 : x5 = XVECEXP (x1, 0, 1);
3343 176 : if (GET_CODE (x5) != VEC_SELECT)
3344 : return -1;
3345 176 : x6 = XEXP (x5, 1);
3346 176 : if (GET_CODE (x6) != PARALLEL
3347 176 : || XVECLEN (x6, 0) != 1)
3348 : return -1;
3349 176 : x7 = XVECEXP (x6, 0, 0);
3350 176 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3351 0 : return -1;
3352 : return 0;
3353 : }
3354 :
3355 : int
3356 1051 : pattern863 (rtx x1, machine_mode i1, machine_mode i2)
3357 : {
3358 1051 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3359 1051 : rtx x2, x3, x4, x5;
3360 1051 : int res ATTRIBUTE_UNUSED;
3361 1051 : if (!register_operand (operands[0], i2)
3362 1051 : || GET_MODE (x1) != i2)
3363 : return -1;
3364 674 : x2 = XEXP (x1, 0);
3365 674 : if (GET_MODE (x2) != i2)
3366 : return -1;
3367 674 : x3 = XEXP (x2, 0);
3368 674 : if (GET_MODE (x3) != i1
3369 674 : || !register_operand (operands[1], i2)
3370 1300 : || !register_mmxmem_operand (operands[2], i2))
3371 80 : return -1;
3372 594 : x4 = XEXP (x1, 1);
3373 594 : if (GET_MODE (x4) != i2)
3374 : return -1;
3375 594 : x5 = XEXP (x4, 0);
3376 594 : if (GET_MODE (x5) != i1)
3377 : return -1;
3378 : return 0;
3379 : }
3380 :
3381 : int
3382 5678 : pattern869 (rtx x1)
3383 : {
3384 5678 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3385 5678 : rtx x2, x3, x4;
3386 5678 : int res ATTRIBUTE_UNUSED;
3387 5678 : x2 = XVECEXP (x1, 0, 0);
3388 5678 : x3 = XEXP (x2, 1);
3389 5678 : operands[1] = x3;
3390 5678 : x4 = XEXP (x2, 0);
3391 5678 : if (!rtx_equal_p (x4, operands[0]))
3392 : return -1;
3393 3555 : switch (GET_MODE (operands[0]))
3394 : {
3395 405 : case E_QImode:
3396 405 : return pattern868 (x1,
3397 405 : E_QImode); /* [-1, 0] */
3398 :
3399 139 : case E_HImode:
3400 139 : if (pattern868 (x1,
3401 : E_HImode) != 0)
3402 : return -1;
3403 : return 1;
3404 :
3405 : default:
3406 : return -1;
3407 : }
3408 : }
3409 :
3410 : int
3411 5796 : pattern876 (rtx x1, machine_mode i1)
3412 : {
3413 5796 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3414 5796 : rtx x2;
3415 5796 : int res ATTRIBUTE_UNUSED;
3416 5796 : if (!register_operand (operands[0], i1)
3417 5796 : || GET_MODE (x1) != i1)
3418 : return -1;
3419 5626 : x2 = XEXP (x1, 0);
3420 5626 : if (GET_MODE (x2) != i1
3421 5626 : || !bcst_vector_operand (operands[1], i1)
3422 4974 : || !bcst_vector_operand (operands[2], i1)
3423 10083 : || !bcst_vector_operand (operands[3], i1))
3424 1187 : return -1;
3425 : return 0;
3426 : }
3427 :
3428 : int
3429 2300 : pattern885 (rtx x1)
3430 : {
3431 2300 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3432 2300 : rtx x2, x3, x4, x5, x6;
3433 2300 : int res ATTRIBUTE_UNUSED;
3434 2300 : x2 = XVECEXP (x1, 0, 0);
3435 2300 : x3 = XVECEXP (x2, 0, 0);
3436 2300 : if (GET_CODE (x3) != VEC_SELECT)
3437 : return -1;
3438 1392 : x4 = XEXP (x3, 1);
3439 1392 : if (GET_CODE (x4) != PARALLEL
3440 1392 : || XVECLEN (x4, 0) != 1)
3441 : return -1;
3442 1392 : x5 = XVECEXP (x4, 0, 0);
3443 1392 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3444 : return -1;
3445 1392 : x6 = XEXP (x3, 0);
3446 1392 : operands[1] = x6;
3447 1392 : if (!const_4_or_8_to_11_operand (operands[2], E_SImode))
3448 : return -1;
3449 1392 : switch (GET_MODE (operands[0]))
3450 : {
3451 702 : case E_SImode:
3452 702 : return pattern884 (x1,
3453 702 : E_SImode); /* [-1, 2] */
3454 :
3455 690 : case E_DImode:
3456 690 : res = pattern884 (x1,
3457 : E_DImode);
3458 690 : if (res >= 0)
3459 642 : return res + 3; /* [3, 5] */
3460 : return -1;
3461 :
3462 : default:
3463 : return -1;
3464 : }
3465 : }
3466 :
3467 : int
3468 1535 : pattern898 (rtx x1, machine_mode i1, machine_mode i2)
3469 : {
3470 1535 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3471 1535 : rtx x2;
3472 1535 : int res ATTRIBUTE_UNUSED;
3473 1535 : if (!register_operand (operands[0], i1)
3474 1535 : || GET_MODE (x1) != i1)
3475 : return -1;
3476 1468 : x2 = XEXP (x1, 0);
3477 1468 : if (GET_MODE (x2) != i1
3478 1468 : || !vector_operand (operands[1], i1)
3479 1468 : || !nonimm_or_0_operand (operands[2], i1)
3480 2909 : || !register_operand (operands[3], i2))
3481 27 : return -1;
3482 : return 0;
3483 : }
3484 :
3485 : int
3486 4624 : pattern907 (rtx x1)
3487 : {
3488 4624 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3489 4624 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
3490 4624 : rtx x10, x11, x12;
3491 4624 : int res ATTRIBUTE_UNUSED;
3492 4624 : if (!register_operand (operands[3], E_QImode))
3493 : return -1;
3494 4280 : x2 = XEXP (x1, 0);
3495 4280 : x3 = XEXP (x2, 0);
3496 4280 : x4 = XEXP (x3, 1);
3497 4280 : switch (XVECLEN (x4, 0))
3498 : {
3499 1336 : case 8:
3500 1336 : x5 = XVECEXP (x4, 0, 0);
3501 1336 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3502 : return -1;
3503 1336 : x6 = XVECEXP (x4, 0, 1);
3504 1336 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3505 : return -1;
3506 1336 : x7 = XVECEXP (x4, 0, 2);
3507 1336 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3508 : return -1;
3509 1336 : x8 = XVECEXP (x4, 0, 3);
3510 1336 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3511 : return -1;
3512 1336 : x9 = XVECEXP (x4, 0, 4);
3513 1336 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 4])
3514 : return -1;
3515 1336 : x10 = XVECEXP (x4, 0, 5);
3516 1336 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
3517 : return -1;
3518 1336 : x11 = XVECEXP (x4, 0, 6);
3519 1336 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
3520 : return -1;
3521 1336 : x12 = XVECEXP (x4, 0, 7);
3522 1336 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
3523 1336 : || GET_MODE (x3) != E_V8QImode
3524 2672 : || !register_operand (operands[1], E_V16QImode))
3525 32 : return -1;
3526 1304 : switch (GET_MODE (operands[0]))
3527 : {
3528 402 : case E_V8HImode:
3529 402 : return pattern143 (x1,
3530 402 : E_V8HImode); /* [-1, 0] */
3531 :
3532 425 : case E_V8SImode:
3533 425 : if (pattern143 (x1,
3534 : E_V8SImode) != 0)
3535 : return -1;
3536 : return 1;
3537 :
3538 477 : case E_V8DImode:
3539 477 : if (pattern143 (x1,
3540 : E_V8DImode) != 0)
3541 : return -1;
3542 : return 2;
3543 :
3544 : default:
3545 : return -1;
3546 : }
3547 :
3548 1707 : case 4:
3549 1707 : x5 = XVECEXP (x4, 0, 0);
3550 1707 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3551 : return -1;
3552 1707 : x6 = XVECEXP (x4, 0, 1);
3553 1707 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
3554 : return -1;
3555 1707 : x7 = XVECEXP (x4, 0, 2);
3556 1707 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 2])
3557 : return -1;
3558 1707 : x8 = XVECEXP (x4, 0, 3);
3559 1707 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
3560 : return -1;
3561 1707 : switch (GET_MODE (operands[0]))
3562 : {
3563 828 : case E_V4SImode:
3564 828 : res = pattern906 (x1,
3565 : E_V4SImode);
3566 828 : if (res >= 0)
3567 788 : return res + 3; /* [3, 4] */
3568 : return -1;
3569 :
3570 879 : case E_V4DImode:
3571 879 : res = pattern906 (x1,
3572 : E_V4DImode);
3573 879 : if (res >= 0)
3574 779 : return res + 5; /* [5, 6] */
3575 : return -1;
3576 :
3577 : default:
3578 : return -1;
3579 : }
3580 :
3581 1237 : case 2:
3582 1237 : x5 = XVECEXP (x4, 0, 0);
3583 1237 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3584 : return -1;
3585 1237 : x6 = XVECEXP (x4, 0, 1);
3586 1237 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
3587 1237 : || !register_operand (operands[0], E_V2DImode)
3588 1183 : || GET_MODE (x1) != E_V2DImode
3589 1183 : || GET_MODE (x2) != E_V2DImode
3590 2420 : || !nonimm_or_0_operand (operands[2], E_V2DImode))
3591 91 : return -1;
3592 1146 : switch (GET_MODE (x3))
3593 : {
3594 390 : case E_V2QImode:
3595 390 : if (!register_operand (operands[1], E_V16QImode))
3596 : return -1;
3597 : return 7;
3598 :
3599 378 : case E_V2HImode:
3600 378 : if (!register_operand (operands[1], E_V8HImode))
3601 : return -1;
3602 : return 8;
3603 :
3604 378 : case E_V2SImode:
3605 378 : if (!register_operand (operands[1], E_V4SImode))
3606 : return -1;
3607 : return 9;
3608 :
3609 : default:
3610 : return -1;
3611 : }
3612 :
3613 : default:
3614 : return -1;
3615 : }
3616 : }
3617 :
3618 : int
3619 8017 : pattern948 (rtx x1)
3620 : {
3621 8017 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3622 8017 : rtx x2;
3623 8017 : int res ATTRIBUTE_UNUSED;
3624 8017 : x2 = XEXP (x1, 1);
3625 8017 : operands[1] = x2;
3626 8017 : switch (GET_MODE (operands[0]))
3627 : {
3628 619 : case E_SImode:
3629 619 : return pattern947 (x1,
3630 619 : E_SImode); /* [-1, 0] */
3631 :
3632 7244 : case E_DImode:
3633 7244 : if (pattern947 (x1,
3634 : E_DImode) != 0)
3635 : return -1;
3636 : return 1;
3637 :
3638 : default:
3639 : return -1;
3640 : }
3641 : }
3642 :
3643 : int
3644 137608 : pattern957 (rtx x1, machine_mode i1)
3645 : {
3646 137608 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3647 137608 : int res ATTRIBUTE_UNUSED;
3648 137608 : if (!nonimmediate_operand (operands[0], i1)
3649 137608 : || GET_MODE (x1) != i1
3650 137608 : || !nonimmediate_operand (operands[1], i1)
3651 274007 : || !float_vector_all_ones_operand (operands[2], i1))
3652 137601 : return -1;
3653 : return 0;
3654 : }
3655 :
3656 : int
3657 12486 : pattern963 (rtx x1, machine_mode i1)
3658 : {
3659 12486 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3660 12486 : rtx x2, x3, x4, x5, x6, x7, x8;
3661 12486 : int res ATTRIBUTE_UNUSED;
3662 12486 : if (GET_CODE (x1) != SET)
3663 : return -1;
3664 11216 : x2 = XEXP (x1, 1);
3665 11216 : if (GET_CODE (x2) != IF_THEN_ELSE
3666 9501 : || GET_MODE (x2) != i1)
3667 : return -1;
3668 1078 : x3 = XEXP (x2, 0);
3669 1078 : if (!ix86_comparison_operator (x3, E_VOIDmode))
3670 : return -1;
3671 1078 : operands[4] = x3;
3672 1078 : x4 = XEXP (x3, 0);
3673 1078 : if (GET_CODE (x4) != REG
3674 1078 : || REGNO (x4) != 17)
3675 : return -1;
3676 1078 : x5 = XEXP (x3, 1);
3677 1078 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
3678 : return -1;
3679 1078 : x6 = XEXP (x2, 1);
3680 1078 : if (!rtx_equal_p (x6, operands[0]))
3681 : return -1;
3682 958 : x7 = XEXP (x2, 2);
3683 958 : if (!rtx_equal_p (x7, operands[2]))
3684 : return -1;
3685 901 : x8 = XEXP (x1, 0);
3686 901 : if (!rtx_equal_p (x8, operands[0]))
3687 : return -1;
3688 : return 0;
3689 : }
3690 :
3691 : int
3692 8439 : pattern970 (rtx x1, machine_mode i1)
3693 : {
3694 8439 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3695 8439 : int res ATTRIBUTE_UNUSED;
3696 8439 : if (!register_operand (operands[0], i1)
3697 8087 : || GET_MODE (x1) != i1
3698 8087 : || !nonimmediate_operand (operands[2], i1)
3699 16416 : || !register_operand (operands[1], i1))
3700 945 : return -1;
3701 : return 0;
3702 : }
3703 :
3704 : int
3705 57 : pattern974 (rtx x1)
3706 : {
3707 57 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3708 57 : rtx x2;
3709 57 : int res ATTRIBUTE_UNUSED;
3710 57 : if (!register_operand (operands[0], E_HImode)
3711 57 : || GET_MODE (x1) != E_HImode)
3712 : return -1;
3713 57 : x2 = XEXP (x1, 0);
3714 57 : if (GET_MODE (x2) != E_HImode)
3715 : return -1;
3716 57 : switch (GET_MODE (operands[1]))
3717 : {
3718 21 : case E_V16SImode:
3719 21 : if (!register_operand (operands[1], E_V16SImode)
3720 21 : || !nonimmediate_operand (operands[2], E_V16SImode)
3721 42 : || !const_0_to_7_operand (operands[3], E_SImode))
3722 0 : return -1;
3723 : return 0;
3724 :
3725 0 : case E_V16HFmode:
3726 0 : if (!register_operand (operands[1], E_V16HFmode)
3727 0 : || !nonimmediate_operand (operands[2], E_V16HFmode)
3728 0 : || !const_0_to_31_operand (operands[3], E_SImode))
3729 0 : return -1;
3730 : return 1;
3731 :
3732 30 : case E_V16SFmode:
3733 30 : if (!register_operand (operands[1], E_V16SFmode)
3734 30 : || !nonimmediate_operand (operands[2], E_V16SFmode)
3735 60 : || !const_0_to_31_operand (operands[3], E_SImode))
3736 0 : return -1;
3737 : return 2;
3738 :
3739 3 : case E_V16QImode:
3740 3 : if (!register_operand (operands[1], E_V16QImode)
3741 3 : || !nonimmediate_operand (operands[2], E_V16QImode)
3742 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3743 0 : return -1;
3744 : return 3;
3745 :
3746 3 : case E_V16HImode:
3747 3 : if (!register_operand (operands[1], E_V16HImode)
3748 3 : || !nonimmediate_operand (operands[2], E_V16HImode)
3749 6 : || !const_0_to_7_operand (operands[3], E_SImode))
3750 0 : return -1;
3751 : return 4;
3752 :
3753 : default:
3754 : return -1;
3755 : }
3756 : }
3757 :
3758 : int
3759 11 : pattern983 (rtx x1)
3760 : {
3761 11 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3762 11 : rtx x2, x3;
3763 11 : int res ATTRIBUTE_UNUSED;
3764 11 : x2 = XEXP (x1, 0);
3765 11 : operands[1] = x2;
3766 11 : x3 = XEXP (x1, 1);
3767 11 : operands[2] = x3;
3768 11 : switch (GET_MODE (x1))
3769 : {
3770 0 : case E_V8SFmode:
3771 0 : if (!register_operand (operands[1], E_V8SImode)
3772 0 : || !const0_operand (operands[2], E_V8SImode))
3773 0 : return -1;
3774 : return 0;
3775 :
3776 0 : case E_V4SFmode:
3777 0 : if (!register_operand (operands[1], E_V4SImode)
3778 0 : || !const0_operand (operands[2], E_V4SImode))
3779 0 : return -1;
3780 : return 1;
3781 :
3782 3 : case E_V4DFmode:
3783 3 : if (!register_operand (operands[1], E_V4DImode)
3784 3 : || !const0_operand (operands[2], E_V4DImode))
3785 0 : return -1;
3786 : return 2;
3787 :
3788 0 : case E_V2DFmode:
3789 0 : if (!register_operand (operands[1], E_V2DImode)
3790 0 : || !const0_operand (operands[2], E_V2DImode))
3791 0 : return -1;
3792 : return 3;
3793 :
3794 2 : case E_V32QImode:
3795 2 : if (!register_operand (operands[1], E_V32QImode)
3796 2 : || !const0_operand (operands[2], E_V32QImode))
3797 0 : return -1;
3798 : return 4;
3799 :
3800 6 : case E_V16QImode:
3801 6 : if (!register_operand (operands[1], E_V16QImode)
3802 6 : || !const0_operand (operands[2], E_V16QImode))
3803 0 : return -1;
3804 : return 5;
3805 :
3806 : default:
3807 : return -1;
3808 : }
3809 : }
3810 :
3811 : int
3812 0 : pattern995 (rtx x1)
3813 : {
3814 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3815 0 : rtx x2, x3;
3816 0 : int res ATTRIBUTE_UNUSED;
3817 0 : x2 = XEXP (x1, 0);
3818 0 : operands[1] = x2;
3819 0 : x3 = XEXP (x1, 1);
3820 0 : operands[2] = x3;
3821 0 : switch (GET_MODE (x1))
3822 : {
3823 0 : case E_V8SFmode:
3824 0 : if (!register_operand (operands[1], E_V8SImode)
3825 0 : || !const0_operand (operands[2], E_V8SImode))
3826 0 : return -1;
3827 : return 0;
3828 :
3829 0 : case E_V4SFmode:
3830 0 : if (!register_operand (operands[1], E_V4SImode)
3831 0 : || !const0_operand (operands[2], E_V4SImode))
3832 0 : return -1;
3833 : return 1;
3834 :
3835 0 : case E_V4DFmode:
3836 0 : if (!register_operand (operands[1], E_V4DImode)
3837 0 : || !const0_operand (operands[2], E_V4DImode))
3838 0 : return -1;
3839 : return 2;
3840 :
3841 0 : case E_V2DFmode:
3842 0 : if (!register_operand (operands[1], E_V2DImode)
3843 0 : || !const0_operand (operands[2], E_V2DImode))
3844 0 : return -1;
3845 : return 3;
3846 :
3847 0 : case E_V16QImode:
3848 0 : if (!register_operand (operands[1], E_V16QImode)
3849 0 : || !const0_operand (operands[2], E_V16QImode))
3850 0 : return -1;
3851 : return 4;
3852 :
3853 : default:
3854 : return -1;
3855 : }
3856 : }
3857 :
3858 : int
3859 1171 : pattern1005 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
3860 : {
3861 1171 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3862 1171 : rtx x2, x3;
3863 1171 : int res ATTRIBUTE_UNUSED;
3864 1171 : if (GET_MODE (x1) != i3)
3865 : return -1;
3866 1171 : x2 = XEXP (x1, 0);
3867 1171 : if (GET_MODE (x2) != i3
3868 1171 : || !register_operand (operands[1], i2))
3869 9 : return -1;
3870 1162 : x3 = XEXP (x1, 2);
3871 1162 : if (!register_operand (x3, i1))
3872 : return -1;
3873 : return 0;
3874 : }
3875 :
3876 : int
3877 32 : pattern1013 (rtx x1, machine_mode i1, machine_mode i2)
3878 : {
3879 32 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3880 32 : rtx x2, x3;
3881 32 : int res ATTRIBUTE_UNUSED;
3882 32 : if (!register_operand (operands[0], i1)
3883 32 : || GET_MODE (x1) != i1)
3884 : return -1;
3885 32 : x2 = XEXP (x1, 0);
3886 32 : if (GET_MODE (x2) != i1)
3887 : return -1;
3888 32 : x3 = XEXP (x2, 0);
3889 32 : if (GET_MODE (x3) != i2
3890 32 : || !nonimmediate_operand (operands[2], i1)
3891 64 : || !reg_or_0_operand (operands[1], i1))
3892 0 : return -1;
3893 : return 0;
3894 : }
3895 :
3896 : int
3897 136 : pattern1021 (rtx x1, machine_mode i1, machine_mode i2)
3898 : {
3899 136 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3900 136 : rtx x2;
3901 136 : int res ATTRIBUTE_UNUSED;
3902 136 : if (!register_operand (operands[0], i1)
3903 136 : || GET_MODE (x1) != i1)
3904 : return -1;
3905 136 : x2 = XEXP (x1, 0);
3906 136 : if (GET_MODE (x2) != i1
3907 136 : || !bcst_vector_operand (operands[1], i1)
3908 136 : || !vector_all_ones_operand (operands[2], i1)
3909 0 : || !nonimm_or_0_operand (operands[3], i1)
3910 136 : || !register_operand (operands[4], i2))
3911 136 : return -1;
3912 : return 0;
3913 : }
3914 :
3915 : int
3916 1006 : pattern1028 (rtx x1)
3917 : {
3918 1006 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3919 1006 : rtx x2;
3920 1006 : int res ATTRIBUTE_UNUSED;
3921 1006 : if (!const48_operand (operands[2], E_SImode))
3922 : return -1;
3923 1006 : switch (GET_MODE (operands[0]))
3924 : {
3925 0 : case E_V8HImode:
3926 0 : return pattern1025 (x1,
3927 : E_V8HFmode,
3928 0 : E_V8HImode); /* [-1, 0] */
3929 :
3930 0 : case E_V16HImode:
3931 0 : if (pattern1025 (x1,
3932 : E_V16HFmode,
3933 : E_V16HImode) != 0)
3934 : return -1;
3935 : return 1;
3936 :
3937 150 : case E_V32HImode:
3938 150 : if (pattern1025 (x1,
3939 : E_V32HFmode,
3940 : E_V32HImode) != 0)
3941 : return -1;
3942 : return 2;
3943 :
3944 130 : case E_V8SImode:
3945 130 : res = pattern1026 (x1);
3946 130 : if (res >= 0)
3947 128 : return res + 3; /* [3, 4] */
3948 : return -1;
3949 :
3950 280 : case E_V16SImode:
3951 280 : res = pattern1027 (x1);
3952 280 : if (res >= 0)
3953 260 : return res + 5; /* [5, 6] */
3954 : return -1;
3955 :
3956 350 : case E_V8DImode:
3957 350 : if (!register_operand (operands[0], E_V8DImode)
3958 350 : || GET_MODE (x1) != E_V8DImode)
3959 : return -1;
3960 326 : x2 = XVECEXP (x1, 0, 0);
3961 326 : if (GET_MODE (x2) != E_V8DImode)
3962 : return -1;
3963 326 : switch (GET_MODE (operands[1]))
3964 : {
3965 118 : case E_V8HFmode:
3966 118 : if (!register_operand (operands[1], E_V8HFmode))
3967 : return -1;
3968 : return 7;
3969 :
3970 104 : case E_V8DFmode:
3971 104 : if (!register_operand (operands[1], E_V8DFmode))
3972 : return -1;
3973 : return 8;
3974 :
3975 104 : case E_V8SFmode:
3976 104 : if (!register_operand (operands[1], E_V8SFmode))
3977 : return -1;
3978 : return 9;
3979 :
3980 : default:
3981 : return -1;
3982 : }
3983 :
3984 : default:
3985 : return -1;
3986 : }
3987 : }
3988 :
3989 : int
3990 177 : pattern1051 (rtx x1, machine_mode i1)
3991 : {
3992 177 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
3993 177 : rtx x2, x3, x4, x5, x6;
3994 177 : int res ATTRIBUTE_UNUSED;
3995 177 : if (!register_operand (operands[0], i1))
3996 : return -1;
3997 177 : x2 = XVECEXP (x1, 0, 0);
3998 177 : x3 = XEXP (x2, 1);
3999 177 : if (GET_MODE (x3) != i1)
4000 : return -1;
4001 177 : x4 = XEXP (x3, 0);
4002 177 : switch (GET_MODE (x4))
4003 : {
4004 0 : case E_DImode:
4005 0 : if (!nonimmediate_operand (operands[1], E_V64QImode)
4006 0 : || !nonimmediate_operand (operands[2], E_V64QImode)
4007 0 : || !register_operand (operands[4], E_DImode))
4008 0 : return -1;
4009 0 : x5 = XVECEXP (x1, 0, 1);
4010 0 : x6 = XEXP (x5, 1);
4011 0 : if (GET_MODE (x6) != E_DImode)
4012 : return -1;
4013 : return 0;
4014 :
4015 46 : case E_HImode:
4016 46 : if (!register_operand (operands[4], E_HImode))
4017 : return -1;
4018 46 : x5 = XVECEXP (x1, 0, 1);
4019 46 : x6 = XEXP (x5, 1);
4020 46 : if (GET_MODE (x6) != E_HImode)
4021 : return -1;
4022 46 : switch (GET_MODE (operands[1]))
4023 : {
4024 14 : case E_V16QImode:
4025 14 : if (!nonimmediate_operand (operands[1], E_V16QImode)
4026 14 : || !nonimmediate_operand (operands[2], E_V16QImode))
4027 2 : return -1;
4028 : return 1;
4029 :
4030 14 : case E_V16HImode:
4031 14 : if (!nonimmediate_operand (operands[1], E_V16HImode)
4032 14 : || !nonimmediate_operand (operands[2], E_V16HImode))
4033 2 : return -1;
4034 : return 2;
4035 :
4036 18 : case E_V16SImode:
4037 18 : if (!nonimmediate_operand (operands[1], E_V16SImode)
4038 18 : || !nonimmediate_operand (operands[2], E_V16SImode))
4039 4 : return -1;
4040 : return 3;
4041 :
4042 : default:
4043 : return -1;
4044 : }
4045 :
4046 14 : case E_SImode:
4047 14 : if (!register_operand (operands[4], E_SImode))
4048 : return -1;
4049 14 : x5 = XVECEXP (x1, 0, 1);
4050 14 : x6 = XEXP (x5, 1);
4051 14 : if (GET_MODE (x6) != E_SImode)
4052 : return -1;
4053 14 : switch (GET_MODE (operands[1]))
4054 : {
4055 7 : case E_V32QImode:
4056 7 : if (!nonimmediate_operand (operands[1], E_V32QImode)
4057 7 : || !nonimmediate_operand (operands[2], E_V32QImode))
4058 1 : return -1;
4059 : return 4;
4060 :
4061 7 : case E_V32HImode:
4062 7 : if (!nonimmediate_operand (operands[1], E_V32HImode)
4063 7 : || !nonimmediate_operand (operands[2], E_V32HImode))
4064 1 : return -1;
4065 : return 5;
4066 :
4067 : default:
4068 : return -1;
4069 : }
4070 :
4071 117 : case E_QImode:
4072 117 : if (!register_operand (operands[4], E_QImode))
4073 : return -1;
4074 117 : x5 = XVECEXP (x1, 0, 1);
4075 117 : x6 = XEXP (x5, 1);
4076 117 : if (GET_MODE (x6) != E_QImode)
4077 : return -1;
4078 117 : switch (GET_MODE (operands[1]))
4079 : {
4080 12 : case E_V8HImode:
4081 12 : if (!nonimmediate_operand (operands[1], E_V8HImode)
4082 12 : || !nonimmediate_operand (operands[2], E_V8HImode))
4083 0 : return -1;
4084 : return 6;
4085 :
4086 21 : case E_V8SImode:
4087 21 : if (!nonimmediate_operand (operands[1], E_V8SImode)
4088 21 : || !nonimmediate_operand (operands[2], E_V8SImode))
4089 3 : return -1;
4090 : return 7;
4091 :
4092 21 : case E_V4SImode:
4093 21 : if (!nonimmediate_operand (operands[1], E_V4SImode)
4094 21 : || !nonimmediate_operand (operands[2], E_V4SImode))
4095 3 : return -1;
4096 : return 8;
4097 :
4098 21 : case E_V8DImode:
4099 21 : if (!nonimmediate_operand (operands[1], E_V8DImode)
4100 21 : || !nonimmediate_operand (operands[2], E_V8DImode))
4101 3 : return -1;
4102 : return 9;
4103 :
4104 21 : case E_V4DImode:
4105 21 : if (!nonimmediate_operand (operands[1], E_V4DImode)
4106 21 : || !nonimmediate_operand (operands[2], E_V4DImode))
4107 3 : return -1;
4108 : return 10;
4109 :
4110 21 : case E_V2DImode:
4111 21 : if (!nonimmediate_operand (operands[1], E_V2DImode)
4112 21 : || !nonimmediate_operand (operands[2], E_V2DImode))
4113 3 : return -1;
4114 : return 11;
4115 :
4116 : default:
4117 : return -1;
4118 : }
4119 :
4120 : default:
4121 : return -1;
4122 : }
4123 : }
4124 :
4125 : int
4126 0 : pattern1088 (rtx x1)
4127 : {
4128 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4129 0 : rtx x2;
4130 0 : int res ATTRIBUTE_UNUSED;
4131 0 : if (!register_operand (operands[0], E_HImode)
4132 0 : || GET_MODE (x1) != E_HImode)
4133 : return -1;
4134 0 : x2 = XEXP (x1, 0);
4135 0 : if (GET_MODE (x2) != E_HImode)
4136 : return -1;
4137 0 : return pattern746 (); /* [-1, 2] */
4138 : }
4139 :
4140 : int
4141 0 : pattern1096 (rtx x1, machine_mode i1)
4142 : {
4143 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4144 0 : rtx x2;
4145 0 : int res ATTRIBUTE_UNUSED;
4146 0 : if (!register_operand (operands[0], i1)
4147 0 : || GET_MODE (x1) != i1)
4148 : return -1;
4149 0 : x2 = XEXP (x1, 0);
4150 0 : return pattern1095 (x2); /* [-1, 11] */
4151 : }
4152 :
4153 : int
4154 1056 : pattern1103 (rtx x1, machine_mode i1, machine_mode i2)
4155 : {
4156 1056 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4157 1056 : rtx x2;
4158 1056 : int res ATTRIBUTE_UNUSED;
4159 1056 : if (!register_operand (operands[0], i2)
4160 1056 : || GET_MODE (x1) != i2)
4161 : return -1;
4162 1030 : x2 = XEXP (x1, 0);
4163 1030 : if (GET_MODE (x2) != i2
4164 1030 : || !register_operand (operands[1], i1)
4165 2060 : || !nonimmediate_operand (operands[2], i1))
4166 0 : return -1;
4167 : return 0;
4168 : }
4169 :
4170 : int
4171 138 : pattern1108 (rtx x1, machine_mode i1)
4172 : {
4173 138 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4174 138 : rtx x2;
4175 138 : int res ATTRIBUTE_UNUSED;
4176 138 : if (!register_operand (operands[0], i1)
4177 138 : || GET_MODE (x1) != i1)
4178 : return -1;
4179 114 : x2 = XVECEXP (x1, 0, 0);
4180 114 : switch (GET_MODE (x2))
4181 : {
4182 22 : case E_HFmode:
4183 22 : if (!register_operand (operands[1], E_V8HFmode))
4184 : return -1;
4185 : return 0;
4186 :
4187 46 : case E_SFmode:
4188 46 : if (!vector_operand (operands[1], E_V4SFmode))
4189 : return -1;
4190 : return 1;
4191 :
4192 46 : case E_DFmode:
4193 46 : if (!vector_operand (operands[1], E_V2DFmode))
4194 : return -1;
4195 : return 2;
4196 :
4197 : default:
4198 : return -1;
4199 : }
4200 : }
4201 :
4202 : int
4203 1485 : pattern1113 (rtx x1, machine_mode i1)
4204 : {
4205 1485 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4206 1485 : rtx x2;
4207 1485 : int res ATTRIBUTE_UNUSED;
4208 1485 : if (!register_operand (operands[0], i1)
4209 1485 : || GET_MODE (x1) != i1)
4210 : return -1;
4211 1422 : x2 = XEXP (x1, 0);
4212 1422 : if (GET_MODE (x2) != i1
4213 1422 : || !nonimm_or_0_operand (operands[2], i1)
4214 2817 : || !register_operand (operands[3], E_QImode))
4215 94 : return -1;
4216 1328 : switch (GET_MODE (operands[1]))
4217 : {
4218 439 : case E_V8HFmode:
4219 439 : if (!vector_operand (operands[1], E_V8HFmode))
4220 : return -1;
4221 : return 0;
4222 :
4223 443 : case E_V4SFmode:
4224 443 : if (!nonimmediate_operand (operands[1], E_V4SFmode))
4225 : return -1;
4226 : return 1;
4227 :
4228 446 : case E_V4DFmode:
4229 446 : if (!nonimmediate_operand (operands[1], E_V4DFmode))
4230 : return -1;
4231 : return 2;
4232 :
4233 : default:
4234 : return -1;
4235 : }
4236 : }
4237 :
4238 : int
4239 1743 : pattern1121 (rtx x1)
4240 : {
4241 1743 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4242 1743 : rtx x2;
4243 1743 : int res ATTRIBUTE_UNUSED;
4244 1743 : x2 = XEXP (x1, 1);
4245 1743 : if (!rtx_equal_p (x2, operands[1]))
4246 : return -1;
4247 1743 : switch (GET_MODE (operands[0]))
4248 : {
4249 901 : case E_V4SFmode:
4250 901 : return pattern459 (x1,
4251 901 : E_V4SFmode); /* [-1, 0] */
4252 :
4253 842 : case E_V2DFmode:
4254 842 : if (pattern459 (x1,
4255 : E_V2DFmode) != 0)
4256 : return -1;
4257 : return 1;
4258 :
4259 : default:
4260 : return -1;
4261 : }
4262 : }
4263 :
4264 : int
4265 68 : pattern1127 (rtx x1, machine_mode i1, machine_mode i2)
4266 : {
4267 68 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4268 68 : rtx x2, x3;
4269 68 : int res ATTRIBUTE_UNUSED;
4270 68 : if (!register_operand (operands[0], i1)
4271 68 : || GET_MODE (x1) != i1)
4272 : return -1;
4273 68 : x2 = XEXP (x1, 0);
4274 68 : if (GET_MODE (x2) != i1)
4275 : return -1;
4276 68 : x3 = XEXP (x2, 0);
4277 68 : if (GET_MODE (x3) != i2
4278 68 : || !nonimmediate_operand (operands[1], i2)
4279 132 : || !register_operand (operands[2], i1))
4280 8 : return -1;
4281 : return 0;
4282 : }
4283 :
4284 : int
4285 558 : pattern1137 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3, machine_mode i4)
4286 : {
4287 558 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4288 558 : rtx x2, x3, x4;
4289 558 : int res ATTRIBUTE_UNUSED;
4290 558 : if (!register_operand (operands[0], i2)
4291 558 : || GET_MODE (x1) != i2)
4292 : return -1;
4293 543 : x2 = XEXP (x1, 0);
4294 543 : if (GET_MODE (x2) != i2)
4295 : return -1;
4296 543 : x3 = XEXP (x2, 0);
4297 543 : if (GET_MODE (x3) != i4
4298 543 : || !nonimmediate_operand (operands[2], i3))
4299 0 : return -1;
4300 543 : x4 = XEXP (x2, 1);
4301 543 : return pattern1136 (x4,
4302 : i1,
4303 : i2,
4304 : i3,
4305 543 : i4); /* [-1, 0] */
4306 : }
4307 :
4308 : int
4309 486 : pattern1144 (rtx x1)
4310 : {
4311 486 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4312 486 : int res ATTRIBUTE_UNUSED;
4313 486 : if (!const48_operand (operands[3], E_SImode))
4314 : return -1;
4315 486 : switch (GET_MODE (operands[0]))
4316 : {
4317 114 : case E_V32HFmode:
4318 114 : return pattern1143 (x1,
4319 114 : E_V32HFmode); /* [-1, 0] */
4320 :
4321 186 : case E_V16SFmode:
4322 186 : if (pattern1143 (x1,
4323 : E_V16SFmode) != 0)
4324 : return -1;
4325 : return 1;
4326 :
4327 186 : case E_V8DFmode:
4328 186 : if (pattern1143 (x1,
4329 : E_V8DFmode) != 0)
4330 : return -1;
4331 : return 2;
4332 :
4333 : default:
4334 : return -1;
4335 : }
4336 : }
4337 :
4338 : int
4339 92 : pattern1153 (rtx x1, machine_mode i1)
4340 : {
4341 92 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4342 92 : rtx x2, x3;
4343 92 : int res ATTRIBUTE_UNUSED;
4344 92 : if (!register_operand (operands[0], i1)
4345 92 : || GET_MODE (x1) != i1)
4346 : return -1;
4347 92 : x2 = XEXP (x1, 0);
4348 92 : if (GET_MODE (x2) != i1)
4349 : return -1;
4350 92 : x3 = XEXP (x2, 0);
4351 92 : if (GET_MODE (x3) != i1
4352 92 : || !nonimmediate_operand (operands[1], i1)
4353 92 : || !general_operand (operands[2], i1)
4354 92 : || !const0_operand (operands[3], i1)
4355 100 : || !const0_operand (operands[4], i1))
4356 84 : return -1;
4357 : return 0;
4358 : }
4359 :
4360 : int
4361 53 : pattern1163 (rtx x1)
4362 : {
4363 53 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4364 53 : rtx x2;
4365 53 : int res ATTRIBUTE_UNUSED;
4366 53 : switch (GET_MODE (operands[0]))
4367 : {
4368 0 : case E_HImode:
4369 0 : if (!register_operand (operands[0], E_HImode)
4370 0 : || GET_MODE (x1) != E_HImode)
4371 : return -1;
4372 0 : x2 = XEXP (x1, 0);
4373 0 : if (GET_MODE (x2) != E_QImode)
4374 : return -1;
4375 : return 0;
4376 :
4377 1 : case E_SImode:
4378 1 : if (!register_operand (operands[0], E_SImode)
4379 1 : || GET_MODE (x1) != E_SImode)
4380 : return -1;
4381 1 : x2 = XEXP (x1, 0);
4382 1 : switch (GET_MODE (x2))
4383 : {
4384 : case E_QImode:
4385 : return 1;
4386 :
4387 0 : case E_HImode:
4388 0 : return 2;
4389 :
4390 : default:
4391 : return -1;
4392 : }
4393 :
4394 52 : case E_DImode:
4395 52 : if (!register_operand (operands[0], E_DImode)
4396 52 : || GET_MODE (x1) != E_DImode)
4397 : return -1;
4398 52 : x2 = XEXP (x1, 0);
4399 52 : switch (GET_MODE (x2))
4400 : {
4401 : case E_QImode:
4402 : return 3;
4403 :
4404 : case E_HImode:
4405 : return 4;
4406 :
4407 : case E_SImode:
4408 : return 5;
4409 :
4410 : default:
4411 : return -1;
4412 : }
4413 :
4414 : default:
4415 : return -1;
4416 : }
4417 : }
4418 :
4419 : int
4420 14878 : pattern1180 (rtx x1)
4421 : {
4422 14878 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4423 14878 : rtx x2, x3;
4424 14878 : int res ATTRIBUTE_UNUSED;
4425 14878 : switch (XVECLEN (x1, 0))
4426 : {
4427 13977 : case 2:
4428 13977 : if (XINT (x1, 1) != 21)
4429 : return -1;
4430 13977 : x2 = XVECEXP (x1, 0, 1);
4431 13977 : if (GET_CODE (x2) != REG
4432 13977 : || REGNO (x2) != 7)
4433 0 : return -1;
4434 : return 0;
4435 :
4436 901 : case 1:
4437 901 : if (XINT (x1, 1) != 22)
4438 : return -1;
4439 901 : x3 = XVECEXP (x1, 0, 0);
4440 901 : if (GET_CODE (x3) != REG
4441 901 : || REGNO (x3) != 7)
4442 0 : return -1;
4443 : return 1;
4444 :
4445 : default:
4446 : return -1;
4447 : }
4448 : }
4449 :
4450 : int
4451 24628 : pattern1190 (rtx x1)
4452 : {
4453 24628 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4454 24628 : rtx x2, x3, x4, x5;
4455 24628 : int res ATTRIBUTE_UNUSED;
4456 24628 : if (!nonmemory_operand (operands[2], E_QImode))
4457 : return -1;
4458 24617 : x2 = XEXP (x1, 0);
4459 24617 : if (GET_CODE (x2) != STRICT_LOW_PART)
4460 : return -1;
4461 12 : x3 = XEXP (x2, 0);
4462 12 : operands[0] = x3;
4463 12 : x4 = XEXP (x1, 1);
4464 12 : x5 = XEXP (x4, 0);
4465 12 : operands[1] = x5;
4466 12 : return pattern377 (x4); /* [-1, 1] */
4467 : }
4468 :
4469 : int
4470 0 : pattern1197 (rtx x1, machine_mode i1)
4471 : {
4472 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4473 0 : rtx x2, x3, x4;
4474 0 : int res ATTRIBUTE_UNUSED;
4475 0 : if (!register_operand (operands[0], i1)
4476 0 : || GET_MODE (x1) != i1)
4477 : return -1;
4478 0 : x2 = XEXP (x1, 0);
4479 0 : if (GET_MODE (x2) != i1)
4480 : return -1;
4481 0 : x3 = XEXP (x2, 0);
4482 0 : if (GET_MODE (x3) != i1
4483 0 : || !regmem_or_bitnot_regmem_operand (operands[1], i1)
4484 0 : || !regmem_or_bitnot_regmem_operand (operands[2], i1)
4485 0 : || !regmem_or_bitnot_regmem_operand (operands[3], i1))
4486 0 : return -1;
4487 0 : x4 = XEXP (x1, 1);
4488 0 : operands[4] = x4;
4489 0 : if (!regmem_or_bitnot_regmem_operand (operands[4], i1))
4490 : return -1;
4491 : return 0;
4492 : }
4493 :
4494 : int
4495 1432 : pattern1206 (rtx x1, machine_mode i1)
4496 : {
4497 1432 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4498 1432 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4499 1432 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
4500 1432 : rtx x18, x19;
4501 1432 : int res ATTRIBUTE_UNUSED;
4502 1432 : if (GET_CODE (x1) != PARALLEL
4503 1253 : || XVECLEN (x1, 0) != 2)
4504 : return -1;
4505 1253 : x2 = XVECEXP (x1, 0, 0);
4506 1253 : if (GET_CODE (x2) != SET)
4507 : return -1;
4508 1253 : x3 = XEXP (x2, 1);
4509 1253 : if (GET_CODE (x3) != PLUS
4510 682 : || GET_MODE (x3) != i1)
4511 : return -1;
4512 682 : x4 = XEXP (x3, 0);
4513 682 : if (GET_CODE (x4) != PLUS
4514 682 : || GET_MODE (x4) != i1)
4515 : return -1;
4516 682 : x5 = XEXP (x4, 0);
4517 682 : if (GET_CODE (x5) != LTU
4518 682 : || GET_MODE (x5) != i1)
4519 : return -1;
4520 682 : x6 = XEXP (x5, 0);
4521 682 : if (GET_CODE (x6) != REG
4522 682 : || REGNO (x6) != 17
4523 1364 : || GET_MODE (x6) != E_CCmode)
4524 : return -1;
4525 682 : x7 = XEXP (x5, 1);
4526 682 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4527 : return -1;
4528 682 : x8 = XEXP (x3, 1);
4529 682 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
4530 : return -1;
4531 682 : x9 = XVECEXP (x1, 0, 1);
4532 682 : if (GET_CODE (x9) != CLOBBER)
4533 : return -1;
4534 682 : x10 = XEXP (x9, 0);
4535 682 : if (GET_CODE (x10) != REG
4536 682 : || REGNO (x10) != 17
4537 1364 : || GET_MODE (x10) != E_CCmode)
4538 : return -1;
4539 682 : x11 = XEXP (x4, 1);
4540 682 : if (!rtx_equal_p (x11, operands[0]))
4541 : return -1;
4542 658 : x12 = XEXP (x2, 0);
4543 658 : if (!rtx_equal_p (x12, operands[0]))
4544 : return -1;
4545 658 : x13 = PATTERN (peep2_next_insn (3));
4546 658 : if (GET_CODE (x13) != PARALLEL
4547 658 : || XVECLEN (x13, 0) != 2)
4548 : return -1;
4549 658 : x14 = XVECEXP (x13, 0, 0);
4550 658 : if (GET_CODE (x14) != SET)
4551 : return -1;
4552 658 : x15 = XEXP (x14, 1);
4553 658 : if (GET_CODE (x15) != NEG
4554 649 : || GET_MODE (x15) != i1)
4555 : return -1;
4556 649 : x16 = XVECEXP (x13, 0, 1);
4557 649 : if (GET_CODE (x16) != CLOBBER)
4558 : return -1;
4559 649 : x17 = XEXP (x16, 0);
4560 649 : if (GET_CODE (x17) != REG
4561 649 : || REGNO (x17) != 17
4562 1298 : || GET_MODE (x17) != E_CCmode)
4563 : return -1;
4564 649 : x18 = XEXP (x15, 0);
4565 649 : if (!rtx_equal_p (x18, operands[0]))
4566 : return -1;
4567 649 : x19 = XEXP (x14, 0);
4568 649 : if (!rtx_equal_p (x19, operands[0]))
4569 : return -1;
4570 : return 0;
4571 : }
4572 :
4573 : int
4574 444 : pattern1232 (rtx x1, machine_mode i1)
4575 : {
4576 444 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4577 444 : rtx x2;
4578 444 : int res ATTRIBUTE_UNUSED;
4579 444 : if (!register_operand (operands[0], i1)
4580 444 : || GET_MODE (x1) != i1)
4581 : return -1;
4582 410 : x2 = XVECEXP (x1, 0, 0);
4583 410 : if (GET_MODE (x2) != i1
4584 410 : || !register_operand (operands[1], i1))
4585 56 : return -1;
4586 : return 0;
4587 : }
4588 :
4589 : int
4590 326 : pattern1237 (rtx x1, machine_mode i1, machine_mode i2)
4591 : {
4592 326 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4593 326 : rtx x2;
4594 326 : int res ATTRIBUTE_UNUSED;
4595 326 : if (!register_operand (operands[0], i1)
4596 317 : || GET_MODE (x1) != i1
4597 643 : || !nonimmediate_operand (operands[2], i2))
4598 9 : return -1;
4599 317 : x2 = XEXP (x1, 1);
4600 317 : if (GET_MODE (x2) != i2
4601 317 : || !register_operand (operands[1], i1))
4602 18 : return -1;
4603 : return 0;
4604 : }
4605 :
4606 : int
4607 2094671 : pattern1241 (rtx x1)
4608 : {
4609 2094671 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4610 2094671 : rtx x2, x3, x4, x5;
4611 2094671 : int res ATTRIBUTE_UNUSED;
4612 2094671 : x2 = XEXP (x1, 1);
4613 2094671 : x3 = XEXP (x2, 1);
4614 2094671 : if (XWINT (x3, 0) != 32L)
4615 : return -1;
4616 318729 : x4 = XEXP (x1, 0);
4617 318729 : if (GET_CODE (x4) != SUBREG
4618 9566 : || maybe_ne (SUBREG_BYTE (x4), 0)
4619 328295 : || GET_MODE (x4) != E_DImode)
4620 : return -1;
4621 9566 : x5 = XEXP (x4, 0);
4622 9566 : operands[0] = x5;
4623 9566 : if (!register_operand (operands[0], E_SImode))
4624 : return -1;
4625 : return 0;
4626 : }
4627 :
4628 : int
4629 123 : pattern1245 (rtx x1, machine_mode i1)
4630 : {
4631 123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4632 123 : int res ATTRIBUTE_UNUSED;
4633 123 : if (!memory_operand (operands[0], i1)
4634 123 : || GET_MODE (x1) != i1
4635 246 : || !memory_operand (operands[3], i1))
4636 0 : return -1;
4637 123 : switch (GET_MODE (operands[1]))
4638 : {
4639 2 : case E_SImode:
4640 2 : if (!register_operand (operands[1], E_SImode))
4641 : return -1;
4642 : return 0;
4643 :
4644 121 : case E_DImode:
4645 121 : if (!register_operand (operands[1], E_DImode))
4646 : return -1;
4647 : return 1;
4648 :
4649 : default:
4650 : return -1;
4651 : }
4652 : }
4653 :
4654 : int
4655 0 : pattern1250 (rtx x1, rtx_code i1)
4656 : {
4657 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4658 0 : rtx x2, x3, x4, x5, x6, x7, x8;
4659 0 : int res ATTRIBUTE_UNUSED;
4660 0 : x2 = XVECEXP (x1, 0, 1);
4661 0 : x3 = XEXP (x2, 1);
4662 0 : if (GET_MODE (x3) != E_DImode)
4663 : return -1;
4664 0 : x4 = XEXP (x3, 0);
4665 0 : if (GET_CODE (x4) != i1
4666 0 : || GET_MODE (x4) != E_SImode)
4667 : return -1;
4668 0 : x5 = XVECEXP (x1, 0, 0);
4669 0 : x6 = XEXP (x5, 1);
4670 0 : x7 = XEXP (x6, 0);
4671 0 : if (GET_MODE (x7) != E_SImode
4672 0 : || !nonimmediate_operand (operands[1], E_SImode)
4673 0 : || !register_operand (operands[0], E_DImode))
4674 0 : return -1;
4675 0 : x8 = XEXP (x4, 0);
4676 0 : if (!rtx_equal_p (x8, operands[1]))
4677 : return -1;
4678 : return 0;
4679 : }
4680 :
4681 : int
4682 12491 : pattern1260 (rtx x1)
4683 : {
4684 12491 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4685 12491 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4686 12491 : int res ATTRIBUTE_UNUSED;
4687 12491 : x2 = XVECEXP (x1, 0, 1);
4688 12491 : if (GET_CODE (x2) != CLOBBER)
4689 : return -1;
4690 12491 : x3 = XVECEXP (x1, 0, 2);
4691 12491 : if (GET_CODE (x3) != CLOBBER)
4692 : return -1;
4693 12491 : x4 = XVECEXP (x1, 0, 3);
4694 12491 : x5 = XEXP (x4, 0);
4695 12491 : if (GET_CODE (x5) != REG
4696 12491 : || REGNO (x5) != 17
4697 12491 : || GET_MODE (x5) != E_CCmode
4698 24982 : || !register_operand (operands[0], E_SImode))
4699 0 : return -1;
4700 12491 : x6 = XVECEXP (x1, 0, 0);
4701 12491 : x7 = XEXP (x6, 1);
4702 12491 : x8 = XVECEXP (x7, 0, 0);
4703 12491 : operands[1] = x8;
4704 12491 : if (!register_operand (operands[1], E_SImode))
4705 : return -1;
4706 12036 : x9 = XVECEXP (x7, 0, 1);
4707 12036 : operands[2] = x9;
4708 12036 : return 0;
4709 : }
4710 :
4711 : int
4712 5097 : pattern1269 (rtx x1, machine_mode i1)
4713 : {
4714 5097 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4715 5097 : int res ATTRIBUTE_UNUSED;
4716 5097 : if (GET_MODE (x1) != i1
4717 5097 : || !fcmov_comparison_operator (operands[1], E_VOIDmode)
4718 5040 : || !nonimmediate_operand (operands[2], i1)
4719 10137 : || !nonimmediate_operand (operands[3], i1))
4720 164 : return -1;
4721 : return 0;
4722 : }
4723 :
4724 : int
4725 3 : pattern1273 (rtx x1, machine_mode i1)
4726 : {
4727 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4728 3 : rtx x2, x3;
4729 3 : int res ATTRIBUTE_UNUSED;
4730 3 : if (!nonimmediate_operand (operands[0], i1)
4731 3 : || GET_MODE (x1) != i1)
4732 : return -1;
4733 3 : x2 = XEXP (x1, 0);
4734 3 : if (GET_MODE (x2) != i1)
4735 : return -1;
4736 3 : x3 = XEXP (x2, 0);
4737 3 : if (GET_MODE (x3) != i1
4738 3 : || !nonimmediate_operand (operands[1], i1)
4739 6 : || !general_operand (operands[2], i1))
4740 0 : return -1;
4741 : return 0;
4742 : }
4743 :
4744 : int
4745 2118 : pattern1280 (rtx x1, machine_mode i1, machine_mode i2)
4746 : {
4747 2118 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4748 2118 : rtx x2;
4749 2118 : int res ATTRIBUTE_UNUSED;
4750 2118 : if (!register_operand (operands[0], i1)
4751 2118 : || GET_MODE (x1) != i1)
4752 : return -1;
4753 1987 : x2 = XEXP (x1, 0);
4754 1987 : if (GET_MODE (x2) != i1
4755 1987 : || !vector_operand (operands[2], i1)
4756 3972 : || !register_operand (operands[4], i2))
4757 115 : return -1;
4758 : return 0;
4759 : }
4760 :
4761 : int
4762 518 : pattern1288 (rtx x1, machine_mode i1, machine_mode i2)
4763 : {
4764 518 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4765 518 : rtx x2, x3;
4766 518 : int res ATTRIBUTE_UNUSED;
4767 518 : if (!register_operand (operands[0], i1)
4768 518 : || GET_MODE (x1) != i1)
4769 : return -1;
4770 512 : x2 = XEXP (x1, 0);
4771 512 : if (GET_MODE (x2) != i1)
4772 : return -1;
4773 512 : x3 = XEXP (x2, 0);
4774 512 : if (GET_MODE (x3) != i1
4775 512 : || !memory_operand (operands[1], i2)
4776 510 : || !nonimm_or_0_operand (operands[2], i1)
4777 1020 : || !const0_operand (operands[4], i1))
4778 4 : return -1;
4779 : return 0;
4780 : }
4781 :
4782 : int
4783 2116 : pattern1296 (rtx x1, machine_mode i1, machine_mode i2)
4784 : {
4785 2116 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4786 2116 : rtx x2;
4787 2116 : int res ATTRIBUTE_UNUSED;
4788 2116 : if (!register_operand (operands[0], i1)
4789 2116 : || GET_MODE (x1) != i1)
4790 : return -1;
4791 1995 : x2 = XEXP (x1, 0);
4792 1995 : if (GET_MODE (x2) != i1
4793 1995 : || !vector_operand (operands[2], i1)
4794 3982 : || !register_operand (operands[4], i2))
4795 8 : return -1;
4796 : return 0;
4797 : }
4798 :
4799 : int
4800 1952 : pattern1303 (rtx x1, machine_mode i1, machine_mode i2)
4801 : {
4802 1952 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4803 1952 : rtx x2, x3, x4;
4804 1952 : int res ATTRIBUTE_UNUSED;
4805 1952 : if (!register_operand (operands[0], i1)
4806 1952 : || GET_MODE (x1) != i1)
4807 : return -1;
4808 1821 : x2 = XEXP (x1, 0);
4809 1821 : if (GET_MODE (x2) != i1)
4810 : return -1;
4811 1821 : x3 = XEXP (x2, 0);
4812 1821 : if (GET_MODE (x3) != i1
4813 1821 : || !vector_operand (operands[2], i1))
4814 0 : return -1;
4815 1821 : x4 = XEXP (x2, 2);
4816 1821 : if (GET_MODE (x4) != i1
4817 1821 : || !register_operand (operands[4], i2))
4818 0 : return -1;
4819 : return 0;
4820 : }
4821 :
4822 : int
4823 5692 : pattern1311 (rtx x1)
4824 : {
4825 5692 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4826 5692 : rtx x2, x3;
4827 5692 : int res ATTRIBUTE_UNUSED;
4828 5692 : if (!const48_operand (operands[4], E_SImode))
4829 : return -1;
4830 5692 : switch (GET_MODE (operands[0]))
4831 : {
4832 0 : case E_V8HImode:
4833 0 : return pattern1308 (x1,
4834 : E_QImode,
4835 : E_V8HImode,
4836 0 : E_V8HFmode); /* [-1, 0] */
4837 :
4838 0 : case E_V16HImode:
4839 0 : if (pattern1308 (x1,
4840 : E_HImode,
4841 : E_V16HImode,
4842 : E_V16HFmode) != 0)
4843 : return -1;
4844 : return 1;
4845 :
4846 882 : case E_V32HImode:
4847 882 : if (pattern1308 (x1,
4848 : E_SImode,
4849 : E_V32HImode,
4850 : E_V32HFmode) != 0)
4851 : return -1;
4852 : return 2;
4853 :
4854 754 : case E_V8SImode:
4855 754 : res = pattern1309 (x1);
4856 754 : if (res >= 0)
4857 752 : return res + 3; /* [3, 4] */
4858 : return -1;
4859 :
4860 1636 : case E_V16SImode:
4861 1636 : res = pattern1310 (x1);
4862 1636 : if (res >= 0)
4863 1576 : return res + 5; /* [5, 6] */
4864 : return -1;
4865 :
4866 2420 : case E_V8DImode:
4867 2420 : if (!register_operand (operands[0], E_V8DImode)
4868 2420 : || GET_MODE (x1) != E_V8DImode)
4869 : return -1;
4870 2348 : x2 = XVECEXP (x1, 0, 0);
4871 2348 : if (GET_MODE (x2) != E_V8DImode)
4872 : return -1;
4873 2348 : x3 = XEXP (x2, 0);
4874 2348 : if (GET_MODE (x3) != E_V8DImode
4875 2348 : || !nonimm_or_0_operand (operands[2], E_V8DImode)
4876 4692 : || !register_operand (operands[3], E_QImode))
4877 28 : return -1;
4878 2320 : switch (GET_MODE (operands[1]))
4879 : {
4880 846 : case E_V8HFmode:
4881 846 : if (!register_operand (operands[1], E_V8HFmode))
4882 : return -1;
4883 : return 7;
4884 :
4885 738 : case E_V8DFmode:
4886 738 : if (!register_operand (operands[1], E_V8DFmode))
4887 : return -1;
4888 : return 8;
4889 :
4890 736 : case E_V8SFmode:
4891 736 : if (!register_operand (operands[1], E_V8SFmode))
4892 : return -1;
4893 : return 9;
4894 :
4895 : default:
4896 : return -1;
4897 : }
4898 :
4899 : default:
4900 : return -1;
4901 : }
4902 : }
4903 :
4904 : int
4905 24 : pattern1332 (rtx x1, rtx_code i1)
4906 : {
4907 24 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4908 24 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
4909 24 : int res ATTRIBUTE_UNUSED;
4910 24 : x2 = XVECEXP (x1, 0, 1);
4911 24 : x3 = XEXP (x2, 1);
4912 24 : if (GET_MODE (x3) != E_DImode)
4913 : return -1;
4914 14 : x4 = XEXP (x3, 0);
4915 14 : if (GET_CODE (x4) != i1
4916 8 : || GET_MODE (x4) != E_SImode)
4917 : return -1;
4918 8 : x5 = XVECEXP (x1, 0, 0);
4919 8 : x6 = XEXP (x5, 1);
4920 8 : x7 = XEXP (x6, 0);
4921 8 : if (GET_MODE (x7) != E_SImode
4922 8 : || !nonimmediate_operand (operands[1], E_SImode)
4923 8 : || !const_1_to_31_operand (operands[2], E_QImode)
4924 16 : || !register_operand (operands[0], E_DImode))
4925 0 : return -1;
4926 8 : x8 = XEXP (x4, 0);
4927 8 : if (!rtx_equal_p (x8, operands[1]))
4928 : return -1;
4929 8 : x9 = XEXP (x4, 1);
4930 8 : if (!rtx_equal_p (x9, operands[2]))
4931 : return -1;
4932 : return 0;
4933 : }
4934 :
4935 : int
4936 15949 : pattern1347 (rtx x1)
4937 : {
4938 15949 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4939 15949 : rtx x2;
4940 15949 : int res ATTRIBUTE_UNUSED;
4941 15949 : if (!const_int_operand (operands[2], E_QImode))
4942 : return -1;
4943 15949 : x2 = XEXP (x1, 0);
4944 15949 : operands[1] = x2;
4945 15949 : return pattern408 (x1); /* [-1, 1] */
4946 : }
4947 :
4948 : int
4949 26341 : pattern1353 (rtx x1)
4950 : {
4951 26341 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4952 26341 : rtx x2, x3, x4, x5, x6, x7;
4953 26341 : int res ATTRIBUTE_UNUSED;
4954 26341 : x2 = XVECEXP (x1, 0, 1);
4955 26341 : if (GET_CODE (x2) != CLOBBER)
4956 : return -1;
4957 26341 : x3 = XEXP (x2, 0);
4958 26341 : if (GET_CODE (x3) != REG
4959 26341 : || REGNO (x3) != 17
4960 52682 : || GET_MODE (x3) != E_CCmode)
4961 : return -1;
4962 26341 : x4 = XVECEXP (x1, 0, 0);
4963 26341 : x5 = XEXP (x4, 1);
4964 26341 : x6 = XEXP (x5, 0);
4965 26341 : if (!rtx_equal_p (x6, operands[0]))
4966 : return -1;
4967 25088 : x7 = XEXP (x4, 0);
4968 25088 : if (!rtx_equal_p (x7, operands[0]))
4969 : return -1;
4970 : return 0;
4971 : }
4972 :
4973 : int
4974 21859 : pattern1362 (rtx x1, machine_mode i1)
4975 : {
4976 21859 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
4977 21859 : rtx x2, x3, x4, x5, x6, x7, x8;
4978 21859 : int res ATTRIBUTE_UNUSED;
4979 21859 : x2 = XVECEXP (x1, 0, 0);
4980 21859 : x3 = XEXP (x2, 1);
4981 21859 : if (GET_MODE (x3) != i1)
4982 : return -1;
4983 21795 : x4 = XVECEXP (x1, 0, 1);
4984 21795 : if (GET_CODE (x4) != CLOBBER)
4985 : return -1;
4986 21795 : x5 = XEXP (x4, 0);
4987 21795 : if (GET_CODE (x5) != REG
4988 21795 : || REGNO (x5) != 17
4989 43590 : || GET_MODE (x5) != E_CCmode)
4990 : return -1;
4991 21795 : x6 = XEXP (x2, 0);
4992 21795 : operands[4] = x6;
4993 21795 : if (!register_operand (operands[4], i1))
4994 : return -1;
4995 21758 : x7 = XEXP (x3, 0);
4996 21758 : operands[3] = x7;
4997 21758 : if (!register_operand (operands[3], i1))
4998 : return -1;
4999 21749 : x8 = XEXP (x3, 1);
5000 21749 : operands[2] = x8;
5001 21749 : if (!x86_64_nonmemory_operand (operands[2], i1))
5002 : return -1;
5003 : return 0;
5004 : }
5005 :
5006 : int
5007 782 : pattern1372 (rtx x1)
5008 : {
5009 782 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5010 782 : rtx x2, x3, x4, x5, x6, x7, x8;
5011 782 : int res ATTRIBUTE_UNUSED;
5012 782 : if (!register_operand (operands[0], E_DImode))
5013 : return -1;
5014 560 : x2 = XEXP (x1, 0);
5015 560 : x3 = XEXP (x2, 0);
5016 560 : operands[1] = x3;
5017 560 : if (!nonimmediate_operand (operands[1], E_DImode))
5018 : return -1;
5019 560 : x4 = XEXP (x1, 1);
5020 560 : if (GET_MODE (x4) != E_DImode)
5021 : return -1;
5022 560 : x5 = XEXP (x4, 0);
5023 560 : if (GET_MODE (x5) != E_TImode)
5024 : return -1;
5025 560 : x6 = XEXP (x5, 0);
5026 560 : if (GET_MODE (x6) != E_TImode)
5027 : return -1;
5028 560 : x7 = XEXP (x6, 0);
5029 560 : operands[2] = x7;
5030 560 : if (!register_operand (operands[2], E_DImode))
5031 : return -1;
5032 560 : x8 = XEXP (x5, 1);
5033 560 : operands[4] = x8;
5034 560 : if (!const_0_to_255_operand (operands[4], E_QImode))
5035 : return -1;
5036 : return 0;
5037 : }
5038 :
5039 : int
5040 849 : pattern1382 (rtx x1, machine_mode i1)
5041 : {
5042 849 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5043 849 : rtx x2, x3;
5044 849 : int res ATTRIBUTE_UNUSED;
5045 849 : if (!register_operand (operands[0], i1)
5046 849 : || GET_MODE (x1) != i1)
5047 : return -1;
5048 816 : x2 = XEXP (x1, 0);
5049 816 : if (GET_MODE (x2) != i1)
5050 : return -1;
5051 816 : x3 = XEXP (x2, 0);
5052 816 : if (GET_MODE (x3) != i1
5053 816 : || !nonimmediate_operand (operands[1], i1)
5054 798 : || !nonimm_or_0_operand (operands[3], i1)
5055 1614 : || !register_operand (operands[2], i1))
5056 39 : return -1;
5057 : return 0;
5058 : }
5059 :
5060 : int
5061 279 : pattern1392 (rtx x1, machine_mode i1, machine_mode i2)
5062 : {
5063 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5064 279 : rtx x2, x3;
5065 279 : int res ATTRIBUTE_UNUSED;
5066 279 : if (!register_operand (operands[0], i2)
5067 279 : || GET_MODE (x1) != i2)
5068 : return -1;
5069 273 : x2 = XEXP (x1, 0);
5070 273 : if (GET_MODE (x2) != i2
5071 273 : || !nonimmediate_operand (operands[1], i2))
5072 0 : return -1;
5073 273 : x3 = XEXP (x2, 2);
5074 273 : return pattern1391 (x3,
5075 : i1,
5076 273 : i2); /* [-1, 0] */
5077 : }
5078 :
5079 : int
5080 279 : pattern1402 (rtx x1, machine_mode i1, machine_mode i2)
5081 : {
5082 279 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5083 279 : rtx x2, x3, x4;
5084 279 : int res ATTRIBUTE_UNUSED;
5085 279 : if (!register_operand (operands[0], i2)
5086 279 : || GET_MODE (x1) != i2)
5087 : return -1;
5088 273 : x2 = XEXP (x1, 0);
5089 273 : if (GET_MODE (x2) != i2)
5090 : return -1;
5091 273 : x3 = XEXP (x2, 0);
5092 273 : if (GET_MODE (x3) != i2
5093 273 : || !nonimmediate_operand (operands[1], i2))
5094 0 : return -1;
5095 273 : x4 = XEXP (x2, 2);
5096 273 : return pattern1391 (x4,
5097 : i1,
5098 273 : i2); /* [-1, 0] */
5099 : }
5100 :
5101 : int
5102 1561 : pattern1411 (rtx x1)
5103 : {
5104 1561 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5105 1561 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5106 1561 : rtx x10, x11;
5107 1561 : int res ATTRIBUTE_UNUSED;
5108 1561 : x2 = XVECEXP (x1, 0, 0);
5109 1561 : x3 = XEXP (x2, 0);
5110 1561 : x4 = XEXP (x3, 1);
5111 1561 : switch (GET_CODE (x4))
5112 : {
5113 1126 : case REG:
5114 1126 : case SUBREG:
5115 1126 : case MEM:
5116 1126 : x5 = XEXP (x3, 2);
5117 1126 : operands[4] = x5;
5118 1126 : x6 = XVECEXP (x1, 0, 1);
5119 1126 : operands[5] = x6;
5120 1126 : switch (GET_MODE (operands[0]))
5121 : {
5122 572 : case E_V8HFmode:
5123 572 : return pattern1410 (x1,
5124 572 : E_V8HFmode); /* [-1, 0] */
5125 :
5126 277 : case E_V4SFmode:
5127 277 : if (pattern1410 (x1,
5128 : E_V4SFmode) != 0)
5129 : return -1;
5130 : return 1;
5131 :
5132 277 : case E_V2DFmode:
5133 277 : if (pattern1410 (x1,
5134 : E_V2DFmode) != 0)
5135 : return -1;
5136 : return 2;
5137 :
5138 : default:
5139 : return -1;
5140 : }
5141 :
5142 435 : case CONST_INT:
5143 435 : case CONST_DOUBLE:
5144 435 : case CONST_VECTOR:
5145 435 : operands[4] = x4;
5146 435 : x7 = XEXP (x3, 0);
5147 435 : x8 = XEXP (x7, 0);
5148 435 : x9 = XEXP (x8, 0);
5149 435 : operands[2] = x9;
5150 435 : x10 = XEXP (x7, 1);
5151 435 : operands[1] = x10;
5152 435 : x5 = XEXP (x3, 2);
5153 435 : operands[5] = x5;
5154 435 : x6 = XVECEXP (x1, 0, 1);
5155 435 : operands[6] = x6;
5156 435 : x11 = XEXP (x2, 1);
5157 435 : if (!rtx_equal_p (x11, operands[1]))
5158 : return -1;
5159 435 : switch (GET_MODE (operands[0]))
5160 : {
5161 : case E_V8HFmode:
5162 : return 3;
5163 :
5164 : case E_V4SFmode:
5165 : return 4;
5166 :
5167 : case E_V2DFmode:
5168 : return 5;
5169 :
5170 : default:
5171 : return -1;
5172 : }
5173 :
5174 : default:
5175 : return -1;
5176 : }
5177 : }
5178 :
5179 : int
5180 0 : pattern1433 (rtx x1)
5181 : {
5182 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5183 0 : int res ATTRIBUTE_UNUSED;
5184 0 : operands[2] = x1;
5185 0 : if (!register_operand (operands[2], E_DImode))
5186 : return -1;
5187 0 : switch (GET_MODE (operands[1]))
5188 : {
5189 0 : case E_SImode:
5190 0 : if (!nonimmediate_operand (operands[1], E_SImode))
5191 : return -1;
5192 : return 0;
5193 :
5194 0 : case E_DImode:
5195 0 : if (!nonimmediate_operand (operands[1], E_DImode))
5196 : return -1;
5197 : return 1;
5198 :
5199 : default:
5200 : return -1;
5201 : }
5202 : }
5203 :
5204 : int
5205 45578 : pattern1444 (rtx x1, machine_mode i1)
5206 : {
5207 45578 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5208 45578 : rtx x2;
5209 45578 : int res ATTRIBUTE_UNUSED;
5210 45578 : if (!register_operand (operands[0], i1)
5211 45578 : || GET_MODE (x1) != i1)
5212 : return -1;
5213 43494 : x2 = XEXP (x1, 0);
5214 43494 : if (GET_MODE (x2) != i1
5215 43494 : || !register_operand (operands[1], i1)
5216 86368 : || !nonimmediate_operand (operands[2], i1))
5217 6915 : return -1;
5218 : return 0;
5219 : }
5220 :
5221 : int
5222 87800 : pattern1450 (rtx x1)
5223 : {
5224 87800 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5225 87800 : rtx x2, x3, x4;
5226 87800 : int res ATTRIBUTE_UNUSED;
5227 87800 : x2 = XVECEXP (x1, 0, 0);
5228 87800 : x3 = XEXP (x2, 1);
5229 87800 : operands[1] = x3;
5230 87800 : x4 = XEXP (x2, 0);
5231 87800 : if (!rtx_equal_p (x4, operands[0]))
5232 : return -1;
5233 85860 : switch (GET_MODE (operands[0]))
5234 : {
5235 5462 : case E_QImode:
5236 5462 : return pattern1449 (x1,
5237 5462 : E_QImode); /* [-1, 0] */
5238 :
5239 4047 : case E_HImode:
5240 4047 : if (pattern1449 (x1,
5241 : E_HImode) != 0)
5242 : return -1;
5243 : return 1;
5244 :
5245 54064 : case E_SImode:
5246 54064 : if (pattern1449 (x1,
5247 : E_SImode) != 0)
5248 : return -1;
5249 : return 2;
5250 :
5251 22287 : case E_DImode:
5252 22287 : if (pattern1449 (x1,
5253 : E_DImode) != 0)
5254 : return -1;
5255 : return 3;
5256 :
5257 : default:
5258 : return -1;
5259 : }
5260 : }
5261 :
5262 : int
5263 0 : pattern1462 (rtx x1)
5264 : {
5265 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5266 0 : rtx x2, x3, x4, x5;
5267 0 : int res ATTRIBUTE_UNUSED;
5268 0 : x2 = XEXP (x1, 2);
5269 0 : x3 = XEXP (x2, 0);
5270 0 : x4 = XEXP (x3, 0);
5271 0 : operands[1] = x4;
5272 0 : x5 = XEXP (x3, 1);
5273 0 : operands[2] = x5;
5274 0 : if (!const_int_operand (operands[2], E_VOIDmode))
5275 : return -1;
5276 0 : switch (GET_MODE (x1))
5277 : {
5278 0 : case E_SImode:
5279 0 : return pattern1461 (x3,
5280 0 : E_SImode); /* [-1, 2] */
5281 :
5282 0 : case E_DImode:
5283 0 : res = pattern1461 (x3,
5284 : E_DImode);
5285 0 : if (res >= 0)
5286 0 : return res + 3; /* [3, 5] */
5287 : return -1;
5288 :
5289 : default:
5290 : return -1;
5291 : }
5292 : }
5293 :
5294 : int
5295 114 : pattern1473 (rtx x1, machine_mode i1, machine_mode i2)
5296 : {
5297 114 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5298 114 : rtx x2, x3;
5299 114 : int res ATTRIBUTE_UNUSED;
5300 114 : if (!register_operand (operands[0], i1)
5301 114 : || GET_MODE (x1) != i1)
5302 : return -1;
5303 108 : x2 = XEXP (x1, 0);
5304 108 : if (GET_MODE (x2) != i1)
5305 : return -1;
5306 108 : x3 = XEXP (x2, 0);
5307 108 : if (GET_MODE (x3) != i2
5308 108 : || !register_operand (operands[2], i1))
5309 2 : return -1;
5310 : return 0;
5311 : }
5312 :
5313 : int
5314 27 : pattern1478 (rtx x1, machine_mode i1, machine_mode i2)
5315 : {
5316 27 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5317 27 : rtx x2, x3;
5318 27 : int res ATTRIBUTE_UNUSED;
5319 27 : if (!register_operand (operands[0], i1)
5320 27 : || GET_MODE (x1) != i1
5321 27 : || !vector_operand (operands[1], i1)
5322 54 : || !vector_operand (operands[2], i1))
5323 0 : return -1;
5324 27 : x2 = XEXP (x1, 2);
5325 27 : if (GET_MODE (x2) != i2)
5326 : return -1;
5327 27 : x3 = XVECEXP (x2, 0, 0);
5328 27 : if (GET_MODE (x3) != i1
5329 27 : || !register_operand (operands[3], E_VOIDmode)
5330 48 : || !const0_operand (operands[4], i1))
5331 14 : return -1;
5332 : return 0;
5333 : }
5334 :
5335 : int
5336 493 : pattern1488 (rtx x1, machine_mode i1)
5337 : {
5338 493 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5339 493 : rtx x2;
5340 493 : int res ATTRIBUTE_UNUSED;
5341 493 : if (!register_operand (operands[0], i1)
5342 493 : || GET_MODE (x1) != i1)
5343 : return -1;
5344 474 : x2 = XVECEXP (x1, 0, 0);
5345 474 : if (GET_MODE (x2) != i1
5346 474 : || !register_operand (operands[1], i1)
5347 463 : || !register_operand (operands[2], i1)
5348 933 : || !register_operand (operands[3], i1))
5349 15 : return -1;
5350 : return 0;
5351 : }
5352 :
5353 : int
5354 460732 : pattern1494 (rtx x1, machine_mode i1, machine_mode i2)
5355 : {
5356 460732 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5357 460732 : rtx x2;
5358 460732 : int res ATTRIBUTE_UNUSED;
5359 460732 : if (!register_operand (operands[0], i1)
5360 460732 : || GET_MODE (x1) != i1)
5361 : return -1;
5362 440866 : x2 = XEXP (x1, 0);
5363 440866 : if (GET_MODE (x2) != i2
5364 440866 : || !register_operand (operands[1], i1)
5365 818706 : || !vector_operand (operands[2], i1))
5366 94811 : return -1;
5367 : return 0;
5368 : }
5369 :
5370 : int
5371 379 : pattern1503 (rtx x1)
5372 : {
5373 379 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5374 379 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5375 379 : int res ATTRIBUTE_UNUSED;
5376 379 : x2 = XVECEXP (x1, 0, 1);
5377 379 : x3 = XEXP (x2, 1);
5378 379 : x4 = XEXP (x3, 0);
5379 379 : x5 = XEXP (x4, 0);
5380 379 : if (!rtx_equal_p (x5, operands[1]))
5381 : return -1;
5382 379 : x6 = XEXP (x3, 1);
5383 379 : if (!rtx_equal_p (x6, operands[1]))
5384 : return -1;
5385 379 : x7 = XVECEXP (x1, 0, 0);
5386 379 : x8 = XEXP (x7, 1);
5387 379 : x9 = XEXP (x8, 0);
5388 379 : switch (GET_MODE (x9))
5389 : {
5390 108 : case E_SImode:
5391 108 : return pattern1502 (x1,
5392 108 : E_SImode); /* [-1, 0] */
5393 :
5394 136 : case E_DImode:
5395 136 : if (pattern1502 (x1,
5396 : E_DImode) != 0)
5397 : return -1;
5398 : return 1;
5399 :
5400 : default:
5401 : return -1;
5402 : }
5403 : }
5404 :
5405 : int
5406 6344 : pattern1513 (rtx x1, machine_mode i1)
5407 : {
5408 6344 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5409 6344 : rtx x2;
5410 6344 : int res ATTRIBUTE_UNUSED;
5411 6344 : if (!mask_reg_operand (operands[0], i1)
5412 6344 : || GET_MODE (x1) != i1)
5413 : return -1;
5414 0 : x2 = XEXP (x1, 0);
5415 0 : if (GET_MODE (x2) != i1
5416 0 : || !mask_reg_operand (operands[1], i1)
5417 0 : || !mask_reg_operand (operands[2], i1))
5418 0 : return -1;
5419 : return 0;
5420 : }
5421 :
5422 : int
5423 4423 : pattern1518 (rtx x1)
5424 : {
5425 4423 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5426 4423 : rtx x2, x3, x4, x5, x6;
5427 4423 : int res ATTRIBUTE_UNUSED;
5428 4423 : x2 = XVECEXP (x1, 0, 2);
5429 4423 : if (GET_CODE (x2) != CLOBBER)
5430 : return -1;
5431 4423 : x3 = XEXP (x2, 0);
5432 4423 : if (GET_CODE (x3) != REG
5433 4423 : || REGNO (x3) != 17
5434 8846 : || GET_MODE (x3) != E_CCmode)
5435 : return -1;
5436 4423 : x4 = XVECEXP (x1, 0, 0);
5437 4423 : x5 = XEXP (x4, 1);
5438 4423 : x6 = XVECEXP (x5, 0, 0);
5439 4423 : operands[1] = x6;
5440 4423 : return 0;
5441 : }
5442 :
5443 : int
5444 155 : pattern1526 (rtx x1, machine_mode i1, machine_mode i2)
5445 : {
5446 155 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5447 155 : rtx x2;
5448 155 : int res ATTRIBUTE_UNUSED;
5449 155 : if (!register_operand (operands[0], i2)
5450 155 : || GET_MODE (x1) != i2)
5451 : return -1;
5452 139 : x2 = XEXP (x1, 0);
5453 139 : if (GET_MODE (x2) != i2
5454 139 : || !register_operand (operands[1], i2)
5455 127 : || !register_operand (operands[2], i2)
5456 266 : || !nonimmediate_operand (operands[3], i1))
5457 24 : return -1;
5458 : return 0;
5459 : }
5460 :
5461 : int
5462 283352 : pattern1533 (rtx x1, machine_mode i1)
5463 : {
5464 283352 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5465 283352 : int res ATTRIBUTE_UNUSED;
5466 283352 : if (!nonimmediate_operand (operands[0], i1)
5467 283169 : || GET_MODE (x1) != i1
5468 283169 : || !nonimmediate_operand (operands[1], i1)
5469 564108 : || !nonmemory_operand (operands[2], E_QImode))
5470 6620 : return -1;
5471 : return 0;
5472 : }
5473 :
5474 : int
5475 156 : pattern1540 (rtx x1, machine_mode i1)
5476 : {
5477 156 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5478 156 : rtx x2, x3;
5479 156 : int res ATTRIBUTE_UNUSED;
5480 156 : if (!register_operand (operands[0], i1)
5481 156 : || GET_MODE (x1) != i1
5482 156 : || !nonimmediate_operand (operands[3], i1)
5483 217 : || !nonimmediate_operand (operands[4], i1))
5484 100 : return -1;
5485 56 : x2 = XEXP (x1, 0);
5486 56 : x3 = XEXP (x2, 0);
5487 56 : switch (GET_MODE (x3))
5488 : {
5489 46 : case E_SImode:
5490 46 : if (!register_operand (operands[1], E_SImode))
5491 : return -1;
5492 : return 0;
5493 :
5494 10 : case E_DImode:
5495 10 : if (!register_operand (operands[1], E_DImode))
5496 : return -1;
5497 : return 1;
5498 :
5499 : default:
5500 : return -1;
5501 : }
5502 : }
5503 :
5504 : int
5505 3 : pattern1550 (rtx x1, machine_mode i1)
5506 : {
5507 3 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5508 3 : int res ATTRIBUTE_UNUSED;
5509 3 : if (GET_MODE (x1) != i1
5510 3 : || !nonimmediate_operand (operands[1], i1)
5511 3 : || !ix86_carry_flag_operator (operands[3], i1)
5512 6 : || !x86_64_general_operand (operands[2], i1))
5513 0 : return -1;
5514 : return 0;
5515 : }
5516 :
5517 : int
5518 937 : pattern1556 (rtx x1, machine_mode i1, machine_mode i2)
5519 : {
5520 937 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5521 937 : rtx x2;
5522 937 : int res ATTRIBUTE_UNUSED;
5523 937 : if (!nonimmediate_operand (operands[0], i1)
5524 937 : || GET_MODE (x1) != i1)
5525 : return -1;
5526 913 : x2 = XEXP (x1, 0);
5527 913 : if (GET_MODE (x2) != i1
5528 913 : || !register_operand (operands[1], i2)
5529 1288 : || !nonimm_or_0_operand (operands[4], i1))
5530 541 : return -1;
5531 : return 0;
5532 : }
5533 :
5534 : int
5535 2799 : pattern1563 (rtx x1, machine_mode i1, machine_mode i2)
5536 : {
5537 2799 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5538 2799 : rtx x2, x3;
5539 2799 : int res ATTRIBUTE_UNUSED;
5540 2799 : if (!register_operand (operands[0], i1)
5541 2799 : || GET_MODE (x1) != i1)
5542 : return -1;
5543 2739 : x2 = XVECEXP (x1, 0, 0);
5544 2739 : if (GET_MODE (x2) != i1)
5545 : return -1;
5546 2739 : x3 = XEXP (x2, 0);
5547 2739 : if (GET_MODE (x3) != i1
5548 2739 : || !nonimmediate_operand (operands[1], i1)
5549 2737 : || !nonimm_or_0_operand (operands[3], i1)
5550 5474 : || !register_operand (operands[4], i2))
5551 43 : return -1;
5552 : return 0;
5553 : }
5554 :
5555 : int
5556 66 : pattern1571 (rtx x1)
5557 : {
5558 66 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5559 66 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5560 66 : rtx x10;
5561 66 : int res ATTRIBUTE_UNUSED;
5562 66 : x2 = XVECEXP (x1, 0, 1);
5563 66 : x3 = XEXP (x2, 1);
5564 66 : x4 = XEXP (x3, 1);
5565 66 : if (!rtx_equal_p (x4, operands[2]))
5566 : return -1;
5567 66 : x5 = XVECEXP (x1, 0, 0);
5568 66 : x6 = XEXP (x5, 1);
5569 66 : x7 = XEXP (x6, 0);
5570 66 : x8 = XEXP (x7, 1);
5571 66 : x9 = XEXP (x8, 0);
5572 66 : operands[3] = x9;
5573 66 : if (!flags_reg_operand (operands[3], E_VOIDmode))
5574 : return -1;
5575 66 : x10 = XEXP (x3, 0);
5576 66 : if (!rtx_equal_p (x10, operands[1]))
5577 : return -1;
5578 66 : switch (GET_MODE (x7))
5579 : {
5580 : case E_QImode:
5581 : return 0;
5582 :
5583 : case E_HImode:
5584 : return 1;
5585 :
5586 : case E_SImode:
5587 : return 2;
5588 :
5589 : case E_DImode:
5590 : return 3;
5591 :
5592 : default:
5593 : return -1;
5594 : }
5595 : }
5596 :
5597 : int
5598 4 : pattern1585 (rtx x1)
5599 : {
5600 4 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5601 4 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
5602 4 : rtx x10, x11, x12;
5603 4 : int res ATTRIBUTE_UNUSED;
5604 4 : x2 = XVECEXP (x1, 0, 0);
5605 4 : x3 = XEXP (x2, 1);
5606 4 : x4 = XEXP (x3, 0);
5607 4 : x5 = XEXP (x4, 0);
5608 4 : x6 = XEXP (x5, 0);
5609 4 : operands[1] = x6;
5610 4 : x7 = XEXP (x4, 1);
5611 4 : if (!rtx_equal_p (x7, operands[1]))
5612 : return -1;
5613 4 : x8 = XVECEXP (x1, 0, 1);
5614 4 : x9 = XEXP (x8, 1);
5615 4 : x10 = XEXP (x9, 0);
5616 4 : x11 = XEXP (x10, 0);
5617 4 : if (!rtx_equal_p (x11, operands[1]))
5618 : return -1;
5619 4 : x12 = XEXP (x9, 1);
5620 4 : if (!rtx_equal_p (x12, operands[1]))
5621 : return -1;
5622 4 : switch (GET_MODE (x4))
5623 : {
5624 4 : case E_SImode:
5625 4 : return pattern1584 (x1,
5626 4 : E_SImode); /* [-1, 0] */
5627 :
5628 0 : case E_DImode:
5629 0 : if (pattern1584 (x1,
5630 : E_DImode) != 0)
5631 : return -1;
5632 : return 1;
5633 :
5634 : default:
5635 : return -1;
5636 : }
5637 : }
5638 :
5639 : int
5640 1535 : pattern1598 (rtx x1, machine_mode i1, machine_mode i2)
5641 : {
5642 1535 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5643 1535 : rtx x2, x3;
5644 1535 : int res ATTRIBUTE_UNUSED;
5645 1535 : if (!register_operand (operands[0], i1)
5646 1535 : || GET_MODE (x1) != i1)
5647 : return -1;
5648 1502 : x2 = XVECEXP (x1, 0, 0);
5649 1502 : if (GET_MODE (x2) != i1)
5650 : return -1;
5651 1502 : x3 = XEXP (x2, 0);
5652 1502 : if (GET_MODE (x3) != i1
5653 1502 : || !register_operand (operands[2], i1)
5654 2992 : || !register_operand (operands[4], i2))
5655 22 : return -1;
5656 : return 0;
5657 : }
5658 :
5659 : int
5660 0 : pattern1607 (rtx x1, machine_mode i1, machine_mode i2)
5661 : {
5662 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5663 0 : rtx x2, x3, x4, x5;
5664 0 : int res ATTRIBUTE_UNUSED;
5665 0 : if (!register_operand (operands[0], i1)
5666 0 : || GET_MODE (x1) != i1)
5667 : return -1;
5668 0 : x2 = XVECEXP (x1, 0, 0);
5669 0 : if (GET_MODE (x2) != i1)
5670 : return -1;
5671 0 : x3 = XEXP (x2, 0);
5672 0 : if (GET_MODE (x3) != i1
5673 0 : || !nonimmediate_operand (operands[1], i1)
5674 0 : || !register_operand (operands[2], i1))
5675 0 : return -1;
5676 0 : x4 = XEXP (x3, 2);
5677 0 : if (GET_MODE (x4) != i1
5678 0 : || !register_operand (operands[3], i1)
5679 0 : || !register_operand (operands[4], i2))
5680 0 : return -1;
5681 0 : x5 = XEXP (x2, 1);
5682 0 : if (!rtx_equal_p (x5, operands[1]))
5683 : return -1;
5684 : return 0;
5685 : }
5686 :
5687 : int
5688 270 : pattern1618 (rtx x1, machine_mode i1)
5689 : {
5690 270 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5691 270 : rtx x2, x3, x4;
5692 270 : int res ATTRIBUTE_UNUSED;
5693 270 : if (!vsib_mem_operator (operands[5], i1)
5694 270 : || !register_operand (operands[6], E_QImode))
5695 114 : return -1;
5696 156 : x2 = XEXP (x1, 1);
5697 156 : if (GET_MODE (x2) != i1
5698 156 : || !register_operand (operands[3], i1))
5699 0 : return -1;
5700 156 : x3 = XEXP (x1, 0);
5701 156 : x4 = XEXP (x3, 0);
5702 156 : switch (GET_MODE (x4))
5703 : {
5704 0 : case E_SImode:
5705 0 : return pattern1617 (
5706 0 : E_SImode); /* [-1, 1] */
5707 :
5708 156 : case E_DImode:
5709 156 : res = pattern1617 (
5710 : E_DImode);
5711 156 : if (res >= 0)
5712 88 : return res + 2; /* [2, 3] */
5713 : return -1;
5714 :
5715 : default:
5716 : return -1;
5717 : }
5718 : }
5719 :
5720 : int
5721 36 : pattern1629 (machine_mode i1)
5722 : {
5723 36 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5724 36 : int res ATTRIBUTE_UNUSED;
5725 36 : if (!vsib_address_operand (operands[3], i1))
5726 : return -1;
5727 36 : switch (GET_MODE (operands[2]))
5728 : {
5729 9 : case E_V4SImode:
5730 9 : if (!register_operand (operands[2], E_V4SImode))
5731 : return -1;
5732 : return 0;
5733 :
5734 27 : case E_V2DImode:
5735 27 : if (!register_operand (operands[2], E_V2DImode))
5736 : return -1;
5737 : return 1;
5738 :
5739 : default:
5740 : return -1;
5741 : }
5742 : }
5743 :
5744 : int
5745 46003 : pattern1637 (rtx x1, machine_mode i1)
5746 : {
5747 46003 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5748 46003 : rtx x2;
5749 46003 : int res ATTRIBUTE_UNUSED;
5750 46003 : if (!nonimmediate_operand (operands[0], i1)
5751 46003 : || GET_MODE (x1) != i1)
5752 : return -1;
5753 46003 : x2 = XEXP (x1, 0);
5754 46003 : if (GET_MODE (x2) != i1
5755 46003 : || !ix86_carry_flag_operator (operands[4], i1)
5756 46003 : || !nonimmediate_operand (operands[1], i1)
5757 91975 : || !x86_64_general_operand (operands[2], i1))
5758 37 : return -1;
5759 : return 0;
5760 : }
5761 :
5762 : int
5763 1987 : pattern1645 (rtx x1)
5764 : {
5765 1987 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5766 1987 : rtx x2, x3, x4;
5767 1987 : int res ATTRIBUTE_UNUSED;
5768 1987 : x2 = XEXP (x1, 1);
5769 1987 : x3 = XEXP (x2, 1);
5770 1987 : if (GET_CODE (x3) != SUBREG
5771 890 : || maybe_ne (SUBREG_BYTE (x3), 0)
5772 2877 : || GET_MODE (x3) != E_QImode)
5773 : return -1;
5774 890 : x4 = XEXP (x3, 0);
5775 890 : switch (GET_CODE (x4))
5776 : {
5777 239 : case ASHIFTRT:
5778 239 : case LSHIFTRT:
5779 239 : case SIGN_EXTRACT:
5780 239 : case ZERO_EXTRACT:
5781 239 : operands[4] = x4;
5782 239 : return pattern1054 (x1); /* [-1, 5] */
5783 :
5784 : default:
5785 : return -1;
5786 : }
5787 : }
5788 :
5789 : int
5790 125 : pattern1655 (rtx x1, machine_mode i1, machine_mode i2)
5791 : {
5792 125 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5793 125 : rtx x2, x3;
5794 125 : int res ATTRIBUTE_UNUSED;
5795 125 : if (!register_operand (operands[0], i2)
5796 125 : || GET_MODE (x1) != i2)
5797 : return -1;
5798 113 : x2 = XEXP (x1, 0);
5799 113 : if (GET_MODE (x2) != i2)
5800 : return -1;
5801 113 : x3 = XEXP (x2, 0);
5802 113 : if (GET_MODE (x3) != i2
5803 113 : || !register_operand (operands[1], i2)
5804 107 : || !register_operand (operands[2], i2)
5805 220 : || !nonimmediate_operand (operands[3], i1))
5806 14 : return -1;
5807 : return 0;
5808 : }
5809 :
5810 : int
5811 850 : pattern1665 (rtx x1, machine_mode i1, machine_mode i2)
5812 : {
5813 850 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5814 850 : rtx x2, x3;
5815 850 : int res ATTRIBUTE_UNUSED;
5816 850 : if (!register_operand (operands[0], i1)
5817 850 : || GET_MODE (x1) != i1)
5818 : return -1;
5819 836 : x2 = XVECEXP (x1, 0, 0);
5820 836 : if (GET_MODE (x2) != i1)
5821 : return -1;
5822 836 : x3 = XEXP (x2, 0);
5823 836 : if (GET_MODE (x3) != i1
5824 836 : || !register_operand (operands[1], i1)
5825 836 : || !register_operand (operands[2], i1)
5826 836 : || !nonimm_or_0_operand (operands[4], i1)
5827 1672 : || !register_operand (operands[5], i2))
5828 0 : return -1;
5829 : return 0;
5830 : }
5831 :
5832 : int
5833 190 : pattern1672 (rtx x1, machine_mode i1, machine_mode i2)
5834 : {
5835 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5836 190 : int res ATTRIBUTE_UNUSED;
5837 190 : if (!register_operand (operands[0], i2)
5838 189 : || GET_MODE (x1) != i2
5839 189 : || !register_operand (operands[7], E_QImode)
5840 342 : || !vsib_mem_operator (operands[6], i1))
5841 38 : return -1;
5842 : return 0;
5843 : }
5844 :
5845 : int
5846 6950 : pattern1678 (rtx x1, machine_mode i1)
5847 : {
5848 6950 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5849 6950 : int res ATTRIBUTE_UNUSED;
5850 6950 : if (!nonimmediate_operand (operands[1], i1)
5851 6950 : || !const_int_operand (operands[2], i1)
5852 6950 : || !nonimmediate_operand (operands[0], i1)
5853 13900 : || GET_MODE (x1) != i1)
5854 0 : return -1;
5855 : return 0;
5856 : }
5857 :
5858 : int
5859 64 : pattern1685 (rtx x1)
5860 : {
5861 64 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5862 64 : rtx x2, x3, x4, x5, x6, x7;
5863 64 : int res ATTRIBUTE_UNUSED;
5864 64 : x2 = XEXP (x1, 1);
5865 64 : x3 = XEXP (x2, 0);
5866 64 : x4 = XEXP (x3, 1);
5867 64 : if (maybe_ne (SUBREG_BYTE (x4), 0)
5868 64 : || GET_MODE (x4) != E_QImode)
5869 : return -1;
5870 64 : x5 = XEXP (x4, 0);
5871 64 : switch (GET_CODE (x5))
5872 : {
5873 64 : case ASHIFTRT:
5874 64 : case LSHIFTRT:
5875 64 : case SIGN_EXTRACT:
5876 64 : case ZERO_EXTRACT:
5877 64 : operands[4] = x5;
5878 64 : x6 = XEXP (x5, 0);
5879 64 : operands[2] = x6;
5880 64 : if (!int248_register_operand (operands[2], E_VOIDmode))
5881 : return -1;
5882 43 : x7 = XEXP (x1, 0);
5883 43 : switch (GET_MODE (x7))
5884 : {
5885 8 : case E_HImode:
5886 8 : if (GET_MODE (x2) != E_HImode
5887 8 : || !extract_high_operator (operands[3], E_HImode)
5888 16 : || !extract_high_operator (operands[4], E_HImode))
5889 0 : return -1;
5890 : return 0;
5891 :
5892 31 : case E_SImode:
5893 31 : if (GET_MODE (x2) != E_SImode
5894 31 : || !extract_high_operator (operands[3], E_SImode)
5895 62 : || !extract_high_operator (operands[4], E_SImode))
5896 0 : return -1;
5897 : return 1;
5898 :
5899 4 : case E_DImode:
5900 4 : if (GET_MODE (x2) != E_DImode
5901 4 : || !extract_high_operator (operands[3], E_DImode)
5902 8 : || !extract_high_operator (operands[4], E_DImode))
5903 0 : return -1;
5904 : return 2;
5905 :
5906 : default:
5907 : return -1;
5908 : }
5909 :
5910 : default:
5911 : return -1;
5912 : }
5913 : }
5914 :
5915 : int
5916 18 : pattern1709 (rtx x1, machine_mode i1)
5917 : {
5918 18 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5919 18 : rtx x2, x3, x4, x5;
5920 18 : int res ATTRIBUTE_UNUSED;
5921 18 : x2 = XVECEXP (x1, 0, 0);
5922 18 : x3 = XEXP (x2, 0);
5923 18 : if (GET_MODE (x3) != i1
5924 18 : || !register_operand (operands[1], i1)
5925 36 : || !register_operand (operands[2], i1))
5926 0 : return -1;
5927 18 : x4 = XVECEXP (x1, 0, 1);
5928 18 : if (GET_MODE (x4) != i1)
5929 : return -1;
5930 18 : x5 = XEXP (x4, 0);
5931 18 : if (GET_MODE (x5) != i1)
5932 : return -1;
5933 : return 0;
5934 : }
5935 :
5936 : int
5937 447 : pattern1718 (rtx x1, machine_mode i1, machine_mode i2, machine_mode i3)
5938 : {
5939 447 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5940 447 : rtx x2, x3;
5941 447 : int res ATTRIBUTE_UNUSED;
5942 447 : if (!register_operand (operands[0], i2)
5943 447 : || GET_MODE (x1) != i2)
5944 : return -1;
5945 441 : x2 = XVECEXP (x1, 0, 0);
5946 441 : if (GET_MODE (x2) != i2)
5947 : return -1;
5948 441 : x3 = XEXP (x2, 0);
5949 441 : if (GET_MODE (x3) != i2
5950 441 : || !register_operand (operands[1], i2)
5951 441 : || !register_operand (operands[2], i2)
5952 441 : || !nonimmediate_operand (operands[3], i1)
5953 882 : || !register_operand (operands[5], i3))
5954 0 : return -1;
5955 : return 0;
5956 : }
5957 :
5958 : int
5959 96369 : pattern1727 (rtx x1)
5960 : {
5961 96369 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5962 96369 : rtx x2, x3, x4, x5, x6, x7, x8;
5963 96369 : int res ATTRIBUTE_UNUSED;
5964 96369 : x2 = XEXP (x1, 1);
5965 96369 : x3 = XVECEXP (x2, 0, 4);
5966 96369 : if (XWINT (x3, 0) != 6L)
5967 : return -1;
5968 96369 : x4 = XVECEXP (x2, 0, 5);
5969 96369 : if (XWINT (x4, 0) != 14L)
5970 : return -1;
5971 96369 : x5 = XVECEXP (x2, 0, 6);
5972 96369 : if (XWINT (x5, 0) != 7L)
5973 : return -1;
5974 96369 : x6 = XVECEXP (x2, 0, 7);
5975 96369 : if (XWINT (x6, 0) != 15L)
5976 : return -1;
5977 96369 : x7 = XEXP (x1, 0);
5978 96369 : x8 = XEXP (x7, 1);
5979 96369 : operands[2] = x8;
5980 96369 : return 0;
5981 : }
5982 :
5983 : int
5984 1786 : pattern1735 (rtx x1, machine_mode i1)
5985 : {
5986 1786 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
5987 1786 : rtx x2, x3, x4;
5988 1786 : int res ATTRIBUTE_UNUSED;
5989 1786 : if (!vsib_mem_operator (operands[5], i1)
5990 1786 : || !register_operand (operands[6], E_QImode))
5991 166 : return -1;
5992 1620 : x2 = XEXP (x1, 1);
5993 1620 : if (GET_MODE (x2) != i1
5994 1620 : || !register_operand (operands[3], i1)
5995 3190 : || !scratch_operand (operands[1], E_QImode))
5996 50 : return -1;
5997 1570 : x3 = XEXP (x1, 0);
5998 1570 : x4 = XEXP (x3, 0);
5999 1570 : switch (GET_MODE (x4))
6000 : {
6001 0 : case E_SImode:
6002 0 : return pattern1734 (
6003 0 : E_SImode); /* [-1, 1] */
6004 :
6005 1570 : case E_DImode:
6006 1570 : res = pattern1734 (
6007 : E_DImode);
6008 1570 : if (res >= 0)
6009 1460 : return res + 2; /* [2, 3] */
6010 : return -1;
6011 :
6012 : default:
6013 : return -1;
6014 : }
6015 : }
6016 :
6017 : int
6018 2 : pattern1747 (rtx x1, machine_mode i1)
6019 : {
6020 2 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6021 2 : int res ATTRIBUTE_UNUSED;
6022 2 : if (!ix86_carry_flag_unset_operator (operands[2], i1)
6023 2 : || !nonimmediate_operand (operands[1], i1)
6024 2 : || !nonimmediate_operand (operands[0], i1)
6025 4 : || GET_MODE (x1) != i1)
6026 0 : return -1;
6027 : return 0;
6028 : }
6029 :
6030 : int
6031 768 : pattern1753 (rtx x1, machine_mode i1)
6032 : {
6033 768 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6034 768 : rtx x2;
6035 768 : int res ATTRIBUTE_UNUSED;
6036 768 : if (!register_operand (operands[0], i1)
6037 768 : || GET_MODE (x1) != i1)
6038 : return -1;
6039 718 : x2 = XEXP (x1, 0);
6040 718 : if (GET_MODE (x2) != i1
6041 718 : || !register_operand (operands[1], i1)
6042 637 : || !const_0_to_7_operand (operands[2], E_VOIDmode)
6043 637 : || !const_0_to_7_operand (operands[3], E_VOIDmode)
6044 637 : || !const_0_to_7_operand (operands[4], E_VOIDmode)
6045 637 : || !const_0_to_7_operand (operands[5], E_VOIDmode)
6046 637 : || !const_0_to_7_operand (operands[6], E_VOIDmode)
6047 637 : || !const_0_to_7_operand (operands[7], E_VOIDmode)
6048 637 : || !const_0_to_7_operand (operands[8], E_VOIDmode)
6049 637 : || !const_0_to_7_operand (operands[9], E_VOIDmode)
6050 1355 : || !nonimm_or_0_operand (operands[10], i1))
6051 105 : return -1;
6052 : return 0;
6053 : }
6054 :
6055 : int
6056 200 : pattern1763 (machine_mode i1)
6057 : {
6058 200 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6059 200 : int res ATTRIBUTE_UNUSED;
6060 200 : if (!vsib_address_operand (operands[3], i1))
6061 : return -1;
6062 180 : switch (GET_MODE (operands[4]))
6063 : {
6064 90 : case E_V4SImode:
6065 90 : if (!register_operand (operands[4], E_V4SImode))
6066 : return -1;
6067 : return 0;
6068 :
6069 90 : case E_V4DImode:
6070 90 : if (!register_operand (operands[4], E_V4DImode))
6071 : return -1;
6072 : return 1;
6073 :
6074 : default:
6075 : return -1;
6076 : }
6077 : }
6078 :
6079 : int
6080 1299 : pattern1771 (rtx x1, machine_mode i1, machine_mode i2)
6081 : {
6082 1299 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6083 1299 : rtx x2, x3;
6084 1299 : int res ATTRIBUTE_UNUSED;
6085 1299 : if (!register_operand (operands[0], i2)
6086 1299 : || GET_MODE (x1) != i2
6087 1299 : || !register_operand (operands[1], i2)
6088 1299 : || !register_operand (operands[7], E_QImode)
6089 1295 : || !vsib_mem_operator (operands[6], i1)
6090 2594 : || !scratch_operand (operands[2], E_QImode))
6091 4 : return -1;
6092 1295 : x2 = XVECEXP (x1, 0, 2);
6093 1295 : x3 = XEXP (x2, 0);
6094 1295 : switch (GET_MODE (x3))
6095 : {
6096 0 : case E_SImode:
6097 0 : return pattern1770 (
6098 0 : E_SImode); /* [-1, 1] */
6099 :
6100 1295 : case E_DImode:
6101 1295 : res = pattern1770 (
6102 : E_DImode);
6103 1295 : if (res >= 0)
6104 1236 : return res + 2; /* [2, 3] */
6105 : return -1;
6106 :
6107 : default:
6108 : return -1;
6109 : }
6110 : }
6111 :
6112 : int
6113 53 : pattern1786 (rtx x1, machine_mode i1)
6114 : {
6115 53 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6116 53 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6117 53 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6118 53 : int res ATTRIBUTE_UNUSED;
6119 53 : if (!constm1_operand (operands[2], i1))
6120 : return -1;
6121 49 : x2 = XVECEXP (x1, 0, 0);
6122 49 : x3 = XEXP (x2, 1);
6123 49 : if (XVECLEN (x3, 0) != 2
6124 49 : || XINT (x3, 1) != 110
6125 49 : || GET_MODE (x3) != i1)
6126 : return -1;
6127 35 : x4 = XVECEXP (x1, 0, 1);
6128 35 : x5 = XEXP (x4, 1);
6129 35 : if (GET_CODE (x5) != PLUS
6130 35 : || GET_MODE (x5) != i1)
6131 : return -1;
6132 35 : x6 = XVECEXP (x1, 0, 2);
6133 35 : if (GET_CODE (x6) != CLOBBER)
6134 : return -1;
6135 35 : x7 = XEXP (x6, 0);
6136 35 : if (GET_CODE (x7) != REG
6137 35 : || REGNO (x7) != 17
6138 70 : || GET_MODE (x7) != E_CCmode)
6139 : return -1;
6140 35 : x8 = XVECEXP (x3, 0, 0);
6141 35 : operands[1] = x8;
6142 35 : if (!memory_operand (operands[1], i1))
6143 : return -1;
6144 35 : x9 = XVECEXP (x3, 0, 1);
6145 35 : operands[4] = x9;
6146 35 : if (!const_int_operand (operands[4], E_SImode))
6147 : return -1;
6148 35 : x10 = XEXP (x2, 0);
6149 35 : if (!rtx_equal_p (x10, operands[0]))
6150 : return -1;
6151 35 : x11 = XEXP (x5, 0);
6152 35 : if (!rtx_equal_p (x11, operands[1]))
6153 : return -1;
6154 35 : x12 = XEXP (x5, 1);
6155 35 : if (!rtx_equal_p (x12, operands[0]))
6156 : return -1;
6157 35 : x13 = XEXP (x4, 0);
6158 35 : if (!rtx_equal_p (x13, operands[1]))
6159 : return -1;
6160 35 : x14 = PATTERN (peep2_next_insn (2));
6161 35 : x15 = XEXP (x14, 1);
6162 35 : x16 = XEXP (x15, 1);
6163 35 : operands[3] = x16;
6164 35 : if (!const_int_operand (operands[3], i1))
6165 : return -1;
6166 33 : x17 = XEXP (x15, 0);
6167 33 : if (!rtx_equal_p (x17, operands[0]))
6168 : return -1;
6169 : return 0;
6170 : }
6171 :
6172 : int
6173 4876 : pattern1808 (rtx x1, machine_mode i1, machine_mode i2, rtx_code i3)
6174 : {
6175 4876 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6176 4876 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6177 4876 : rtx x10, x11, x12, x13, x14, x15;
6178 4876 : int res ATTRIBUTE_UNUSED;
6179 4876 : if (GET_CODE (x1) != MULT
6180 4876 : || GET_MODE (x1) != i2)
6181 : return -1;
6182 4876 : x2 = XEXP (x1, 0);
6183 4876 : if (GET_CODE (x2) != i3
6184 4876 : || GET_MODE (x2) != i2)
6185 : return -1;
6186 4876 : x3 = XEXP (x2, 0);
6187 4876 : if (GET_CODE (x3) != VEC_SELECT
6188 4876 : || GET_MODE (x3) != i1)
6189 : return -1;
6190 4876 : x4 = XEXP (x3, 1);
6191 4876 : if (GET_CODE (x4) != PARALLEL
6192 4876 : || XVECLEN (x4, 0) != 4)
6193 : return -1;
6194 4876 : x5 = XVECEXP (x4, 0, 0);
6195 4876 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6196 : return -1;
6197 4876 : x6 = XVECEXP (x4, 0, 1);
6198 4876 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6199 : return -1;
6200 4876 : x7 = XVECEXP (x4, 0, 2);
6201 4876 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6202 : return -1;
6203 4876 : x8 = XVECEXP (x4, 0, 3);
6204 4876 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6205 : return -1;
6206 4876 : x9 = XEXP (x1, 1);
6207 4876 : if (GET_CODE (x9) != SIGN_EXTEND
6208 4876 : || GET_MODE (x9) != i2)
6209 : return -1;
6210 4876 : x10 = XEXP (x9, 0);
6211 4876 : if (GET_CODE (x10) != VEC_SELECT
6212 4876 : || GET_MODE (x10) != i1)
6213 : return -1;
6214 4876 : x11 = XEXP (x10, 1);
6215 4876 : if (GET_CODE (x11) != PARALLEL
6216 4876 : || XVECLEN (x11, 0) != 4)
6217 : return -1;
6218 4876 : x12 = XVECEXP (x11, 0, 0);
6219 4876 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
6220 : return -1;
6221 4876 : x13 = XVECEXP (x11, 0, 1);
6222 4876 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + 3])
6223 : return -1;
6224 4876 : x14 = XVECEXP (x11, 0, 2);
6225 4876 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
6226 : return -1;
6227 4876 : x15 = XVECEXP (x11, 0, 3);
6228 4876 : if (x15 != const_int_rtx[MAX_SAVED_CONST_INT + 7])
6229 0 : return -1;
6230 : return 0;
6231 : }
6232 :
6233 : int
6234 63 : pattern1835 (rtx x1, machine_mode i1)
6235 : {
6236 63 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6237 63 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6238 63 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
6239 63 : rtx x18, x19, x20;
6240 63 : int res ATTRIBUTE_UNUSED;
6241 63 : if (!const_int_operand (operands[1], i1))
6242 : return -1;
6243 63 : x2 = XVECEXP (x1, 0, 0);
6244 63 : x3 = XEXP (x2, 1);
6245 63 : if (XVECLEN (x3, 0) != 4
6246 10 : || XINT (x3, 1) != 109)
6247 : return -1;
6248 10 : x4 = XVECEXP (x1, 0, 1);
6249 10 : x5 = XEXP (x4, 1);
6250 10 : if (GET_CODE (x5) != UNSPEC_VOLATILE
6251 10 : || XVECLEN (x5, 0) != 1
6252 10 : || XINT (x5, 1) != 109)
6253 : return -1;
6254 10 : x6 = XVECEXP (x5, 0, 0);
6255 10 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6256 : return -1;
6257 10 : x7 = XVECEXP (x1, 0, 2);
6258 10 : if (GET_CODE (x7) != SET)
6259 : return -1;
6260 10 : x8 = XEXP (x7, 1);
6261 10 : if (GET_CODE (x8) != UNSPEC_VOLATILE
6262 10 : || XVECLEN (x8, 0) != 1
6263 10 : || XINT (x8, 1) != 109
6264 10 : || GET_MODE (x8) != E_CCZmode)
6265 : return -1;
6266 10 : x9 = XVECEXP (x8, 0, 0);
6267 10 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
6268 : return -1;
6269 10 : x10 = XEXP (x7, 0);
6270 10 : if (GET_CODE (x10) != REG
6271 10 : || REGNO (x10) != 17
6272 20 : || GET_MODE (x10) != E_CCZmode)
6273 : return -1;
6274 10 : x11 = XEXP (x2, 0);
6275 10 : operands[2] = x11;
6276 10 : x12 = XVECEXP (x3, 0, 0);
6277 10 : operands[3] = x12;
6278 10 : x13 = XVECEXP (x3, 0, 2);
6279 10 : operands[4] = x13;
6280 10 : x14 = XVECEXP (x3, 0, 3);
6281 10 : operands[5] = x14;
6282 10 : if (!const_int_operand (operands[5], E_SImode))
6283 : return -1;
6284 10 : x15 = XVECEXP (x3, 0, 1);
6285 10 : if (!rtx_equal_p (x15, operands[2]))
6286 : return -1;
6287 10 : x16 = XEXP (x4, 0);
6288 10 : if (!rtx_equal_p (x16, operands[3]))
6289 : return -1;
6290 10 : x17 = PATTERN (peep2_next_insn (2));
6291 10 : x18 = XEXP (x17, 1);
6292 10 : x19 = XEXP (x18, 0);
6293 10 : if (!rtx_equal_p (x19, operands[2]))
6294 : return -1;
6295 10 : x20 = XEXP (x18, 1);
6296 10 : if (!rtx_equal_p (x20, operands[1]))
6297 : return -1;
6298 10 : switch (GET_MODE (operands[2]))
6299 : {
6300 0 : case E_QImode:
6301 0 : return pattern1834 (x1,
6302 0 : E_QImode); /* [-1, 0] */
6303 :
6304 2 : case E_HImode:
6305 2 : if (pattern1834 (x1,
6306 : E_HImode) != 0)
6307 : return -1;
6308 : return 1;
6309 :
6310 4 : case E_SImode:
6311 4 : if (pattern1834 (x1,
6312 : E_SImode) != 0)
6313 : return -1;
6314 : return 2;
6315 :
6316 4 : case E_DImode:
6317 4 : if (pattern1834 (x1,
6318 : E_DImode) != 0)
6319 : return -1;
6320 : return 3;
6321 :
6322 : default:
6323 : return -1;
6324 : }
6325 : }
6326 :
6327 : int
6328 751 : pattern1865 (machine_mode i1)
6329 : {
6330 751 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6331 751 : int res ATTRIBUTE_UNUSED;
6332 751 : if (!vsib_address_operand (operands[2], i1))
6333 : return -1;
6334 739 : switch (GET_MODE (operands[3]))
6335 : {
6336 500 : case E_V8SImode:
6337 500 : if (!register_operand (operands[3], E_V8SImode)
6338 500 : || !register_operand (operands[4], E_V8SFmode))
6339 121 : return -1;
6340 : return 0;
6341 :
6342 239 : case E_V4DImode:
6343 239 : if (!register_operand (operands[3], E_V4DImode)
6344 239 : || !register_operand (operands[4], E_V4SFmode))
6345 58 : return -1;
6346 : return 1;
6347 :
6348 : default:
6349 : return -1;
6350 : }
6351 : }
6352 :
6353 : int
6354 190 : pattern1873 (rtx x1, int i1, int i2, int i3, int i4, int i5)
6355 : {
6356 190 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6357 190 : rtx x2, x3, x4, x5, x6;
6358 190 : int res ATTRIBUTE_UNUSED;
6359 190 : x2 = XVECEXP (x1, 0, 22);
6360 190 : if (x2 != const_int_rtx[MAX_SAVED_CONST_INT + i5])
6361 : return -1;
6362 190 : x3 = XVECEXP (x1, 0, 23);
6363 190 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + i4])
6364 : return -1;
6365 190 : x4 = XVECEXP (x1, 0, 24);
6366 190 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + i3])
6367 : return -1;
6368 190 : x5 = XVECEXP (x1, 0, 25);
6369 190 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + i2])
6370 : return -1;
6371 190 : x6 = XVECEXP (x1, 0, 26);
6372 190 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + i1])
6373 0 : return -1;
6374 : return 0;
6375 : }
6376 :
6377 : int
6378 400 : pattern1882 (rtx x1)
6379 : {
6380 400 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6381 400 : rtx x2, x3, x4, x5;
6382 400 : int res ATTRIBUTE_UNUSED;
6383 400 : x2 = XVECEXP (x1, 0, 8);
6384 400 : if (XWINT (x2, 0) != 12L)
6385 : return -1;
6386 400 : x3 = XVECEXP (x1, 0, 9);
6387 400 : if (XWINT (x3, 0) != 28L)
6388 : return -1;
6389 400 : x4 = XVECEXP (x1, 0, 10);
6390 400 : if (XWINT (x4, 0) != 13L)
6391 : return -1;
6392 400 : x5 = XVECEXP (x1, 0, 11);
6393 400 : if (XWINT (x5, 0) != 29L)
6394 0 : return -1;
6395 : return 0;
6396 : }
6397 :
6398 : int
6399 57290 : pattern1888 (rtx x1, machine_mode i1, machine_mode i2)
6400 : {
6401 57290 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6402 57290 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6403 57290 : rtx x10, x11;
6404 57290 : int res ATTRIBUTE_UNUSED;
6405 57290 : x2 = XVECEXP (x1, 0, 0);
6406 57290 : x3 = XEXP (x2, 1);
6407 57290 : x4 = XEXP (x3, 0);
6408 57290 : x5 = XEXP (x4, 0);
6409 57290 : if (GET_MODE (x5) != i1)
6410 : return -1;
6411 57290 : x6 = XEXP (x5, 0);
6412 57290 : if (GET_MODE (x6) != i1
6413 57290 : || !ix86_carry_flag_operator (operands[5], i1)
6414 57290 : || !nonimmediate_operand (operands[1], i1)
6415 114536 : || !nonimmediate_operand (operands[2], i1))
6416 44 : return -1;
6417 57246 : x7 = XEXP (x3, 1);
6418 57246 : if (GET_MODE (x7) != i2
6419 57246 : || !ix86_carry_flag_operator (operands[4], i2))
6420 0 : return -1;
6421 57246 : x8 = XEXP (x7, 1);
6422 57246 : if (GET_MODE (x8) != i2
6423 57246 : || !nonimmediate_operand (operands[0], i1))
6424 0 : return -1;
6425 57246 : x9 = XVECEXP (x1, 0, 1);
6426 57246 : x10 = XEXP (x9, 1);
6427 57246 : if (GET_MODE (x10) != i1)
6428 : return -1;
6429 57246 : x11 = XEXP (x10, 0);
6430 57246 : if (GET_MODE (x11) != i1)
6431 : return -1;
6432 : return 0;
6433 : }
6434 :
6435 : int
6436 351 : pattern1895 (rtx x1)
6437 : {
6438 351 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6439 351 : rtx x2, x3, x4, x5, x6, x7, x8;
6440 351 : int res ATTRIBUTE_UNUSED;
6441 351 : x2 = XEXP (x1, 1);
6442 351 : x3 = XVECEXP (x2, 0, 12);
6443 351 : if (XWINT (x3, 0) != 14L)
6444 : return -1;
6445 351 : x4 = XVECEXP (x2, 0, 13);
6446 351 : if (XWINT (x4, 0) != 30L)
6447 : return -1;
6448 351 : x5 = XVECEXP (x2, 0, 14);
6449 351 : if (XWINT (x5, 0) != 15L)
6450 : return -1;
6451 351 : x6 = XVECEXP (x2, 0, 15);
6452 351 : if (XWINT (x6, 0) != 31L)
6453 : return -1;
6454 351 : x7 = XEXP (x1, 0);
6455 351 : x8 = XEXP (x7, 1);
6456 351 : operands[2] = x8;
6457 351 : return 0;
6458 : }
6459 :
6460 : int
6461 666 : pattern1899 (rtx x1)
6462 : {
6463 666 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6464 666 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6465 666 : rtx x10, x11;
6466 666 : int res ATTRIBUTE_UNUSED;
6467 666 : x2 = XEXP (x1, 0);
6468 666 : x3 = XEXP (x2, 1);
6469 666 : x4 = XVECEXP (x3, 0, 12);
6470 666 : if (XWINT (x4, 0) != 14L)
6471 : return -1;
6472 666 : x5 = XVECEXP (x3, 0, 13);
6473 666 : if (XWINT (x5, 0) != 30L)
6474 : return -1;
6475 666 : x6 = XVECEXP (x3, 0, 14);
6476 666 : if (XWINT (x6, 0) != 15L)
6477 : return -1;
6478 666 : x7 = XVECEXP (x3, 0, 15);
6479 666 : if (XWINT (x7, 0) != 31L)
6480 : return -1;
6481 666 : x8 = XEXP (x2, 0);
6482 666 : x9 = XEXP (x8, 1);
6483 666 : operands[2] = x9;
6484 666 : x10 = XEXP (x1, 1);
6485 666 : operands[3] = x10;
6486 666 : x11 = XEXP (x1, 2);
6487 666 : operands[4] = x11;
6488 666 : return 0;
6489 : }
6490 :
6491 : int
6492 0 : pattern1907 (rtx x1, machine_mode i1, machine_mode i2)
6493 : {
6494 0 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6495 0 : rtx x2, x3, x4, x5, x6, x7;
6496 0 : int res ATTRIBUTE_UNUSED;
6497 0 : x2 = XVECEXP (x1, 0, 0);
6498 0 : x3 = XEXP (x2, 1);
6499 0 : x4 = XEXP (x3, 0);
6500 0 : x5 = XEXP (x4, 0);
6501 0 : if (GET_MODE (x5) != i2)
6502 : return -1;
6503 0 : x6 = XEXP (x5, 0);
6504 0 : if (GET_MODE (x6) != i2
6505 0 : || !nonimmediate_operand (operands[1], i1)
6506 0 : || !ix86_carry_flag_operator (operands[4], i2))
6507 0 : return -1;
6508 0 : x7 = XEXP (x4, 1);
6509 0 : if (GET_MODE (x7) != i2
6510 0 : || !sext_operand (operands[2], i1)
6511 0 : || pattern1906 (x1,
6512 : i1,
6513 : i2) != 0)
6514 0 : return -1;
6515 : return 0;
6516 : }
6517 :
6518 : int
6519 5616 : pattern1913 (rtx x1)
6520 : {
6521 5616 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6522 5616 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
6523 5616 : int res ATTRIBUTE_UNUSED;
6524 5616 : x2 = XVECEXP (x1, 0, 8);
6525 5616 : if (XWINT (x2, 0) != 12L)
6526 : return -1;
6527 5616 : x3 = XVECEXP (x1, 0, 9);
6528 5616 : if (XWINT (x3, 0) != 44L)
6529 : return -1;
6530 5616 : x4 = XVECEXP (x1, 0, 10);
6531 5616 : if (XWINT (x4, 0) != 13L)
6532 : return -1;
6533 5616 : x5 = XVECEXP (x1, 0, 11);
6534 5616 : if (XWINT (x5, 0) != 45L)
6535 : return -1;
6536 5616 : x6 = XVECEXP (x1, 0, 12);
6537 5616 : if (XWINT (x6, 0) != 14L)
6538 : return -1;
6539 5616 : x7 = XVECEXP (x1, 0, 13);
6540 5616 : if (XWINT (x7, 0) != 46L)
6541 : return -1;
6542 5616 : x8 = XVECEXP (x1, 0, 14);
6543 5616 : if (XWINT (x8, 0) != 15L)
6544 : return -1;
6545 5616 : x9 = XVECEXP (x1, 0, 15);
6546 5616 : if (XWINT (x9, 0) != 47L)
6547 0 : return -1;
6548 : return 0;
6549 : }
6550 :
6551 : int
6552 54636045 : recog_3 (rtx x1 ATTRIBUTE_UNUSED,
6553 : rtx_insn *insn ATTRIBUTE_UNUSED,
6554 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6555 : {
6556 54636045 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6557 54636045 : rtx x2, x3, x4, x5, x6;
6558 54636045 : int res ATTRIBUTE_UNUSED;
6559 54636045 : x2 = XEXP (x1, 1);
6560 54636045 : x3 = XEXP (x2, 1);
6561 54636045 : operands[1] = x3;
6562 54636045 : switch (GET_MODE (operands[0]))
6563 : {
6564 8119648 : case E_QImode:
6565 8119648 : if (nonimmediate_operand (operands[0], E_QImode))
6566 : {
6567 8024134 : if (const0_operand (operands[1], E_QImode))
6568 : {
6569 5460939 : if ((
6570 : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6571 : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6572 : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6573 : (TARGET_AVX512DQ)))
6574 : return 5; /* *cmpqi_ccz_1 */
6575 : if (
6576 : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6577 : (ix86_match_ccmode (insn, CCNOmode)))
6578 : return 9; /* *cmpqi_ccno_1 */
6579 : }
6580 : if (general_operand (operands[1], E_QImode)
6581 : &&
6582 : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6583 : (ix86_match_ccmode (insn, CCmode)))
6584 : return 13; /* *cmpqi_1 */
6585 : }
6586 : break;
6587 :
6588 : case E_HImode:
6589 : if (nonimmediate_operand (operands[0], E_HImode))
6590 : {
6591 : if (const0_operand (operands[1], E_HImode))
6592 : {
6593 : if (
6594 : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6595 : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)))
6596 : return 6; /* *cmphi_ccz_1 */
6597 : if (
6598 : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6599 : (ix86_match_ccmode (insn, CCNOmode)))
6600 : return 10; /* *cmphi_ccno_1 */
6601 : }
6602 : if (general_operand (operands[1], E_HImode)
6603 : &&
6604 : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6605 : (ix86_match_ccmode (insn, CCmode)))
6606 : return 14; /* *cmphi_1 */
6607 : }
6608 : break;
6609 :
6610 : case E_SImode:
6611 : if (nonimmediate_operand (operands[0], E_SImode))
6612 : {
6613 : if (const0_operand (operands[1], E_SImode))
6614 : {
6615 : if ((
6616 : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6617 : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6618 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6619 : (TARGET_AVX512BW)))
6620 : return 7; /* *cmpsi_ccz_1 */
6621 : if (
6622 : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6623 : (ix86_match_ccmode (insn, CCNOmode)))
6624 : return 11; /* *cmpsi_ccno_1 */
6625 : }
6626 : if (x86_64_general_operand (operands[1], E_SImode)
6627 : &&
6628 : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6629 : (ix86_match_ccmode (insn, CCmode)))
6630 : return 15; /* *cmpsi_1 */
6631 : }
6632 : break;
6633 :
6634 : case E_DImode:
6635 : if (nonimmediate_operand (operands[0], E_DImode))
6636 : {
6637 : if (const0_operand (operands[1], E_DImode))
6638 : {
6639 : if ((
6640 : #line 1564 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6641 : (TARGET_AVX512F && ix86_match_ccmode (insn, CCZmode)) &&
6642 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6643 : (TARGET_AVX512BW && TARGET_64BIT)))
6644 : return 8; /* *cmpdi_ccz_1 */
6645 : if ((
6646 : #line 1578 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6647 : (ix86_match_ccmode (insn, CCNOmode)) &&
6648 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6649 : (TARGET_64BIT)))
6650 : return 12; /* *cmpdi_ccno_1 */
6651 : }
6652 : if (x86_64_general_operand (operands[1], E_DImode)
6653 : && (
6654 : #line 1590 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6655 : (ix86_match_ccmode (insn, CCmode)) &&
6656 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6657 : (TARGET_64BIT)))
6658 : return 16; /* *cmpdi_1 */
6659 : }
6660 : break;
6661 :
6662 : default:
6663 : break;
6664 : }
6665 : x4 = XEXP (x1, 0);
6666 : switch (GET_MODE (x4))
6667 : {
6668 : case E_CCZmode:
6669 : if (GET_MODE (x2) == E_CCZmode)
6670 : {
6671 : switch (pattern853 ())
6672 : {
6673 : case 0:
6674 : if ((
6675 : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6676 : (ix86_pre_reload_split ()) &&
6677 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6678 : (!TARGET_64BIT)))
6679 : return 37; /* *cmpdi_doubleword */
6680 : break;
6681 :
6682 : case 1:
6683 : if ((
6684 : #line 1687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6685 : (ix86_pre_reload_split ()) &&
6686 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6687 : (TARGET_64BIT)))
6688 : return 38; /* *cmpti_doubleword */
6689 : break;
6690 :
6691 : default:
6692 : break;
6693 : }
6694 : }
6695 : break;
6696 :
6697 : case E_CCFPmode:
6698 : if (GET_MODE (x2) == E_CCFPmode)
6699 : {
6700 : switch (GET_MODE (operands[0]))
6701 : {
6702 : case E_XFmode:
6703 : if (register_operand (operands[0], E_XFmode)
6704 : && register_operand (operands[1], E_XFmode)
6705 : &&
6706 : #line 2034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6707 : (TARGET_80387 && TARGET_CMOVE))
6708 : return 52; /* *cmpixf_i387 */
6709 : break;
6710 :
6711 : case E_SFmode:
6712 : if (register_operand (operands[0], E_SFmode)
6713 : && register_ssemem_operand (operands[1], E_SFmode)
6714 : &&
6715 : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6716 : ((SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
6717 : || (TARGET_80387 && TARGET_CMOVE)))
6718 : return 60; /* *cmpisf */
6719 : break;
6720 :
6721 : case E_DFmode:
6722 : if (register_operand (operands[0], E_DFmode)
6723 : && register_ssemem_operand (operands[1], E_DFmode)
6724 : &&
6725 : #line 2074 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6726 : ((SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
6727 : || (TARGET_80387 && TARGET_CMOVE)))
6728 : return 62; /* *cmpidf */
6729 : break;
6730 :
6731 : case E_HFmode:
6732 : if (register_operand (operands[0], E_HFmode)
6733 : && nonimmediate_operand (operands[1], E_HFmode)
6734 : &&
6735 : #line 2111 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6736 : (TARGET_AVX512FP16))
6737 : return 64; /* *cmpihf */
6738 : break;
6739 :
6740 : case E_BFmode:
6741 : if (register_operand (operands[0], E_BFmode)
6742 : && nonimmediate_operand (operands[1], E_BFmode)
6743 : &&
6744 : #line 2122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6745 : (TARGET_AVX10_2))
6746 : return 66; /* *cmpibf */
6747 : break;
6748 :
6749 : default:
6750 : break;
6751 : }
6752 : }
6753 : break;
6754 :
6755 : default:
6756 : break;
6757 : }
6758 : if (!nonimmediate_operand (operands[0], E_QImode)
6759 : || pattern609 (x3) != 0)
6760 : return -1;
6761 : x5 = XEXP (x3, 0);
6762 : operands[2] = x5;
6763 : x6 = XEXP (x5, 0);
6764 : operands[1] = x6;
6765 : if (!int248_register_operand (operands[1], E_VOIDmode))
6766 : return -1;
6767 : switch (GET_MODE (operands[2]))
6768 : {
6769 : case E_HImode:
6770 : if (!extract_high_operator (operands[2], E_HImode)
6771 : || !
6772 : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6773 : (ix86_match_ccmode (insn, CCmode)))
6774 : return -1;
6775 : return 25; /* *cmpqi_exthi_1 */
6776 :
6777 : case E_SImode:
6778 : if (!extract_high_operator (operands[2], E_SImode)
6779 : || !
6780 : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6781 : (ix86_match_ccmode (insn, CCmode)))
6782 : return -1;
6783 : return 26; /* *cmpqi_extsi_1 */
6784 :
6785 : case E_DImode:
6786 : if (!extract_high_operator (operands[2], E_DImode)
6787 : || !(
6788 : #line 1627 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6789 : (ix86_match_ccmode (insn, CCmode)) &&
6790 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6791 : (TARGET_64BIT)))
6792 : return -1;
6793 : return 27; /* *cmpqi_extdi_1 */
6794 :
6795 : default:
6796 : return -1;
6797 : }
6798 : }
6799 :
6800 : int
6801 : recog_18 (rtx x1 ATTRIBUTE_UNUSED,
6802 : rtx_insn *insn ATTRIBUTE_UNUSED,
6803 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6804 : {
6805 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6806 : rtx x2, x3, x4;
6807 : int res ATTRIBUTE_UNUSED;
6808 : x2 = XEXP (x1, 0);
6809 : x3 = XEXP (x2, 0);
6810 : operands[0] = x3;
6811 : x4 = XEXP (x1, 1);
6812 : operands[1] = x4;
6813 : switch (GET_MODE (operands[0]))
6814 : {
6815 : case E_QImode:
6816 : if (!register_operand (operands[0], E_QImode))
6817 : return -1;
6818 : if (general_operand (operands[1], E_QImode)
6819 : &&
6820 : #line 3458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6821 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6822 : return 115; /* *movstrictqi_1 */
6823 : if (pnum_clobbers == NULL
6824 : || !const0_operand (operands[1], E_QImode)
6825 : || !
6826 : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6827 : (reload_completed))
6828 : return -1;
6829 : *pnum_clobbers = 1;
6830 : return 117; /* *movstrictqi_xor */
6831 :
6832 : case E_HImode:
6833 : if (!register_operand (operands[0], E_HImode))
6834 : return -1;
6835 : if (general_operand (operands[1], E_HImode)
6836 : &&
6837 : #line 3458 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6838 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6839 : return 116; /* *movstricthi_1 */
6840 : if (pnum_clobbers == NULL
6841 : || !const0_operand (operands[1], E_HImode)
6842 : || !
6843 : #line 3467 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6844 : (reload_completed))
6845 : return -1;
6846 : *pnum_clobbers = 1;
6847 : return 118; /* *movstricthi_xor */
6848 :
6849 : default:
6850 : return -1;
6851 : }
6852 : }
6853 :
6854 : int
6855 : recog_20 (rtx x1 ATTRIBUTE_UNUSED,
6856 : rtx_insn *insn ATTRIBUTE_UNUSED,
6857 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6858 : {
6859 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6860 : rtx x2, x3, x4, x5, x6;
6861 : int res ATTRIBUTE_UNUSED;
6862 : x2 = XEXP (x1, 1);
6863 : if (GET_MODE (x2) != E_QImode)
6864 : return -1;
6865 : x3 = XEXP (x2, 0);
6866 : x4 = XEXP (x3, 0);
6867 : operands[1] = x4;
6868 : if (!int248_register_operand (operands[1], E_VOIDmode))
6869 : return -1;
6870 : x5 = XEXP (x1, 0);
6871 : switch (GET_CODE (x5))
6872 : {
6873 : case STRICT_LOW_PART:
6874 : x6 = XEXP (x5, 0);
6875 : operands[0] = x6;
6876 : if (!register_operand (operands[0], E_QImode))
6877 : return -1;
6878 : switch (pattern1210 ())
6879 : {
6880 : case 0:
6881 : if (!
6882 : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6883 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6884 : return -1;
6885 : return 119; /* *movstrictqi_exthi_1 */
6886 :
6887 : case 1:
6888 : if (!
6889 : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6890 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
6891 : return -1;
6892 : return 120; /* *movstrictqi_extsi_1 */
6893 :
6894 : case 2:
6895 : if (!(
6896 : #line 3479 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6897 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
6898 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6899 : (TARGET_64BIT)))
6900 : return -1;
6901 : return 121; /* *movstrictqi_extdi_1 */
6902 :
6903 : default:
6904 : return -1;
6905 : }
6906 :
6907 : case REG:
6908 : case SUBREG:
6909 : case MEM:
6910 : operands[0] = x5;
6911 : if (!nonimmediate_operand (operands[0], E_QImode))
6912 : return -1;
6913 : switch (pattern1210 ())
6914 : {
6915 : case 0:
6916 : return 129; /* *extzvqi */
6917 :
6918 : case 1:
6919 : return 130; /* *extzvqi */
6920 :
6921 : case 2:
6922 : if (!
6923 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
6924 : (TARGET_64BIT))
6925 : return -1;
6926 : return 131; /* *extzvqi */
6927 :
6928 : default:
6929 : return -1;
6930 : }
6931 :
6932 : default:
6933 : return -1;
6934 : }
6935 : }
6936 :
6937 : int
6938 : recog_22 (rtx x1 ATTRIBUTE_UNUSED,
6939 : rtx_insn *insn ATTRIBUTE_UNUSED,
6940 : int *pnum_clobbers ATTRIBUTE_UNUSED)
6941 : {
6942 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
6943 : rtx x2, x3, x4, x5, x6;
6944 : int res ATTRIBUTE_UNUSED;
6945 : x2 = XEXP (x1, 1);
6946 : x3 = XEXP (x2, 1);
6947 : if (GET_CODE (x3) != CONST_INT)
6948 : return -1;
6949 : x4 = XEXP (x2, 2);
6950 : if (GET_CODE (x4) != CONST_INT)
6951 : return -1;
6952 : x5 = XEXP (x1, 0);
6953 : operands[0] = x5;
6954 : x6 = XEXP (x2, 0);
6955 : operands[1] = x6;
6956 : switch (XWINT (x3, 0))
6957 : {
6958 : case 8L:
6959 : if (XWINT (x4, 0) != 8L
6960 : || !int248_register_operand (operands[1], E_VOIDmode))
6961 : return -1;
6962 : switch (GET_MODE (operands[0]))
6963 : {
6964 : case E_HImode:
6965 : if (!register_operand (operands[0], E_HImode)
6966 : || GET_MODE (x2) != E_HImode)
6967 : return -1;
6968 : return 122; /* *extvhi */
6969 :
6970 : case E_SImode:
6971 : if (!register_operand (operands[0], E_SImode)
6972 : || GET_MODE (x2) != E_SImode)
6973 : return -1;
6974 : return 123; /* *extvsi */
6975 :
6976 : default:
6977 : return -1;
6978 : }
6979 :
6980 : case 1L:
6981 : if (pnum_clobbers == NULL
6982 : || XWINT (x4, 0) != 0L)
6983 : return -1;
6984 : switch (GET_MODE (operands[0]))
6985 : {
6986 : case E_SImode:
6987 : if (!register_operand (operands[0], E_SImode)
6988 : || GET_MODE (x2) != E_SImode
6989 : || !register_operand (operands[1], E_SImode))
6990 : return -1;
6991 : *pnum_clobbers = 1;
6992 : return 124; /* *extvsi_1_0 */
6993 :
6994 : case E_DImode:
6995 : if (!register_operand (operands[0], E_DImode)
6996 : || GET_MODE (x2) != E_DImode
6997 : || !register_operand (operands[1], E_DImode)
6998 : || !
6999 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7000 : (TARGET_64BIT))
7001 : return -1;
7002 : *pnum_clobbers = 1;
7003 : return 125; /* *extvdi_1_0 */
7004 :
7005 : default:
7006 : return -1;
7007 : }
7008 :
7009 : default:
7010 : return -1;
7011 : }
7012 : }
7013 :
7014 : int
7015 : recog_23 (rtx x1 ATTRIBUTE_UNUSED,
7016 : rtx_insn *insn ATTRIBUTE_UNUSED,
7017 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7018 : {
7019 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7020 : rtx x2, x3, x4, x5, x6;
7021 : int res ATTRIBUTE_UNUSED;
7022 : x2 = XEXP (x1, 1);
7023 : x3 = XEXP (x2, 1);
7024 : if (x3 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7025 : return -1;
7026 : x4 = XEXP (x2, 2);
7027 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 8])
7028 : return -1;
7029 : x5 = XEXP (x1, 0);
7030 : operands[0] = x5;
7031 : x6 = XEXP (x2, 0);
7032 : operands[1] = x6;
7033 : if (!int248_register_operand (operands[1], E_VOIDmode))
7034 : return -1;
7035 : switch (GET_MODE (operands[0]))
7036 : {
7037 : case E_HImode:
7038 : if (!register_operand (operands[0], E_HImode)
7039 : || GET_MODE (x2) != E_HImode)
7040 : return -1;
7041 : return 126; /* *extzvhi */
7042 :
7043 : case E_SImode:
7044 : if (!register_operand (operands[0], E_SImode)
7045 : || GET_MODE (x2) != E_SImode)
7046 : return -1;
7047 : return 127; /* *extzvsi */
7048 :
7049 : case E_DImode:
7050 : if (!register_operand (operands[0], E_DImode)
7051 : || GET_MODE (x2) != E_DImode
7052 : || !
7053 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7054 : (TARGET_64BIT))
7055 : return -1;
7056 : return 128; /* *extzvdi */
7057 :
7058 : default:
7059 : return -1;
7060 : }
7061 : }
7062 :
7063 : int
7064 : recog_24 (rtx x1 ATTRIBUTE_UNUSED,
7065 : rtx_insn *insn ATTRIBUTE_UNUSED,
7066 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7067 : {
7068 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7069 : rtx x2, x3;
7070 : int res ATTRIBUTE_UNUSED;
7071 : switch (pattern38 (x1, pnum_clobbers))
7072 : {
7073 : case 0:
7074 : if (pnum_clobbers != NULL
7075 : && pattern292 (x1,
7076 : E_TImode) == 0
7077 : && (
7078 : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7079 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7080 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7081 : == (2 * 8 * BITS_PER_UNIT - 1)))
7082 : && ix86_pre_reload_split ()) &&
7083 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7084 : (TARGET_64BIT)))
7085 : {
7086 : *pnum_clobbers = 1;
7087 : return 1156; /* *lshrti3_doubleword_mask */
7088 : }
7089 : x2 = XEXP (x1, 1);
7090 : x3 = XEXP (x2, 1);
7091 : operands[2] = x3;
7092 : switch (pattern426 (x1, pnum_clobbers))
7093 : {
7094 : case 0:
7095 : switch (GET_MODE (operands[0]))
7096 : {
7097 : case E_TImode:
7098 : if (pnum_clobbers == NULL
7099 : || pattern858 (x2,
7100 : E_TImode,
7101 : E_QImode) != 0
7102 : || !
7103 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7104 : (TARGET_64BIT))
7105 : return -1;
7106 : *pnum_clobbers = 1;
7107 : return 1164; /* lshrti3_doubleword */
7108 :
7109 : case E_QImode:
7110 : if (pattern635 (x2,
7111 : E_QImode) != 0)
7112 : return -1;
7113 : if (
7114 : #line 17897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7115 : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7116 : && TARGET_APX_NF))
7117 : return 1244; /* *lshrqi3_1_nf */
7118 : if (pnum_clobbers == NULL
7119 : || !
7120 : #line 17897 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7121 : (ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)
7122 : && true))
7123 : return -1;
7124 : *pnum_clobbers = 1;
7125 : return 1245; /* *lshrqi3_1 */
7126 :
7127 : case E_HImode:
7128 : if (pattern635 (x2,
7129 : E_HImode) != 0)
7130 : return -1;
7131 : if (
7132 : #line 17935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7133 : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7134 : && TARGET_APX_NF))
7135 : return 1246; /* *lshrhi3_1_nf */
7136 : if (pnum_clobbers == NULL
7137 : || !
7138 : #line 17935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7139 : (ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)
7140 : && true))
7141 : return -1;
7142 : *pnum_clobbers = 1;
7143 : return 1247; /* *lshrhi3_1 */
7144 :
7145 : case E_V4HImode:
7146 : if (pattern858 (x2,
7147 : E_V4HImode,
7148 : E_DImode) != 0
7149 : || !
7150 : #line 3919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7151 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7152 : return -1;
7153 : return 2260; /* mmx_lshrv4hi3 */
7154 :
7155 : case E_V2SImode:
7156 : if (pattern858 (x2,
7157 : E_V2SImode,
7158 : E_DImode) != 0
7159 : || !
7160 : #line 3919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7161 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7162 : return -1;
7163 : return 2262; /* mmx_lshrv2si3 */
7164 :
7165 : case E_V1DImode:
7166 : if (pattern858 (x2,
7167 : E_V1DImode,
7168 : E_DImode) != 0
7169 : || !
7170 : #line 3919 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7171 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7172 : return -1;
7173 : return 2264; /* mmx_lshrv1di3 */
7174 :
7175 : case E_V1SImode:
7176 : if (pattern858 (x2,
7177 : E_V1SImode,
7178 : E_DImode) != 0
7179 : || !
7180 : #line 3956 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7181 : (TARGET_SSE2))
7182 : return -1;
7183 : return 2266; /* mmx_lshrv1si3 */
7184 :
7185 : case E_V2HImode:
7186 : if (pattern858 (x2,
7187 : E_V2HImode,
7188 : E_DImode) != 0
7189 : || !
7190 : #line 3973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7191 : (TARGET_SSE2))
7192 : return -1;
7193 : return 2268; /* lshrv2hi3 */
7194 :
7195 : case E_V2QImode:
7196 : if (pnum_clobbers == NULL
7197 : || pattern858 (x2,
7198 : E_V2QImode,
7199 : E_QImode) != 0
7200 : || !
7201 : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7202 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7203 : return -1;
7204 : *pnum_clobbers = 1;
7205 : return 2272; /* lshrv2qi3 */
7206 :
7207 : default:
7208 : return -1;
7209 : }
7210 :
7211 : case 1:
7212 : if (!
7213 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7214 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7215 : return -1;
7216 : *pnum_clobbers = 1;
7217 : return 1248; /* *lshrqi3_1_slp */
7218 :
7219 : case 2:
7220 : if (!
7221 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7222 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7223 : return -1;
7224 : *pnum_clobbers = 1;
7225 : return 1250; /* *lshrhi3_1_slp */
7226 :
7227 : default:
7228 : return -1;
7229 : }
7230 :
7231 : case 1:
7232 : if (!(
7233 : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7234 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7235 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7236 : == (2 * 8 * BITS_PER_UNIT - 1)))
7237 : && ix86_pre_reload_split ()) &&
7238 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7239 : (TARGET_64BIT)))
7240 : return -1;
7241 : *pnum_clobbers = 1;
7242 : return 1160; /* *lshrti3_doubleword_mask_1 */
7243 :
7244 : default:
7245 : return -1;
7246 : }
7247 : }
7248 :
7249 : int
7250 : recog_25 (rtx x1 ATTRIBUTE_UNUSED,
7251 : rtx_insn *insn ATTRIBUTE_UNUSED,
7252 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7253 : {
7254 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7255 : rtx x2, x3, x4, x5, x6, x7;
7256 : int res ATTRIBUTE_UNUSED;
7257 : x2 = XEXP (x1, 1);
7258 : x3 = XEXP (x2, 0);
7259 : switch (GET_CODE (x3))
7260 : {
7261 : case REG:
7262 : case SUBREG:
7263 : case MEM:
7264 : switch (pattern38 (x1, pnum_clobbers))
7265 : {
7266 : case 0:
7267 : if (pnum_clobbers != NULL
7268 : && pattern292 (x1,
7269 : E_TImode) == 0
7270 : && (
7271 : #line 16918 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7272 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7273 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7274 : == (2 * 8 * BITS_PER_UNIT - 1)))
7275 : && ix86_pre_reload_split ()) &&
7276 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7277 : (TARGET_64BIT)))
7278 : {
7279 : *pnum_clobbers = 1;
7280 : return 1157; /* *ashrti3_doubleword_mask */
7281 : }
7282 : x4 = XEXP (x2, 1);
7283 : operands[2] = x4;
7284 : switch (pattern426 (x1, pnum_clobbers))
7285 : {
7286 : case 0:
7287 : switch (GET_MODE (operands[0]))
7288 : {
7289 : case E_TImode:
7290 : if (pnum_clobbers == NULL
7291 : || pattern858 (x2,
7292 : E_TImode,
7293 : E_QImode) != 0
7294 : || !
7295 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7296 : (TARGET_64BIT))
7297 : return -1;
7298 : *pnum_clobbers = 1;
7299 : return 1165; /* ashrti3_doubleword */
7300 :
7301 : case E_QImode:
7302 : if (pattern635 (x2,
7303 : E_QImode) != 0)
7304 : return -1;
7305 : if (
7306 : #line 17868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7307 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7308 : && TARGET_APX_NF))
7309 : return 1240; /* *ashrqi3_1_nf */
7310 : if (pnum_clobbers == NULL
7311 : || !
7312 : #line 17868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7313 : (ix86_binary_operator_ok (ASHIFTRT, QImode, operands, TARGET_APX_NDD)
7314 : && true))
7315 : return -1;
7316 : *pnum_clobbers = 1;
7317 : return 1241; /* *ashrqi3_1 */
7318 :
7319 : case E_HImode:
7320 : if (pattern635 (x2,
7321 : E_HImode) != 0)
7322 : return -1;
7323 : if (
7324 : #line 17868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7325 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7326 : && TARGET_APX_NF))
7327 : return 1242; /* *ashrhi3_1_nf */
7328 : if (pnum_clobbers == NULL
7329 : || !
7330 : #line 17868 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7331 : (ix86_binary_operator_ok (ASHIFTRT, HImode, operands, TARGET_APX_NDD)
7332 : && true))
7333 : return -1;
7334 : *pnum_clobbers = 1;
7335 : return 1243; /* *ashrhi3_1 */
7336 :
7337 : case E_V4HImode:
7338 : if (pattern858 (x2,
7339 : E_V4HImode,
7340 : E_DImode) != 0
7341 : || !
7342 : #line 3882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7343 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7344 : return -1;
7345 : return 2255; /* mmx_ashrv4hi3 */
7346 :
7347 : case E_V2SImode:
7348 : if (pattern858 (x2,
7349 : E_V2SImode,
7350 : E_DImode) != 0
7351 : || !
7352 : #line 3882 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7353 : (TARGET_MMX || TARGET_MMX_WITH_SSE))
7354 : return -1;
7355 : return 2256; /* mmx_ashrv2si3 */
7356 :
7357 : case E_V2HImode:
7358 : if (pattern858 (x2,
7359 : E_V2HImode,
7360 : E_DImode) != 0
7361 : || !
7362 : #line 3973 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7363 : (TARGET_SSE2))
7364 : return -1;
7365 : return 2269; /* ashrv2hi3 */
7366 :
7367 : case E_V2QImode:
7368 : if (pnum_clobbers == NULL
7369 : || pattern858 (x2,
7370 : E_V2QImode,
7371 : E_QImode) != 0
7372 : || !
7373 : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
7374 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
7375 : return -1;
7376 : *pnum_clobbers = 1;
7377 : return 2273; /* ashrv2qi3 */
7378 :
7379 : default:
7380 : return -1;
7381 : }
7382 :
7383 : case 1:
7384 : if (!
7385 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7386 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7387 : return -1;
7388 : *pnum_clobbers = 1;
7389 : return 1249; /* *ashrqi3_1_slp */
7390 :
7391 : case 2:
7392 : if (!
7393 : #line 17974 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7394 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
7395 : return -1;
7396 : *pnum_clobbers = 1;
7397 : return 1251; /* *ashrhi3_1_slp */
7398 :
7399 : default:
7400 : return -1;
7401 : }
7402 :
7403 : case 1:
7404 : if (!(
7405 : #line 16979 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7406 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
7407 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
7408 : == (2 * 8 * BITS_PER_UNIT - 1)))
7409 : && ix86_pre_reload_split ()) &&
7410 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7411 : (TARGET_64BIT)))
7412 : return -1;
7413 : *pnum_clobbers = 1;
7414 : return 1161; /* *ashrti3_doubleword_mask_1 */
7415 :
7416 : default:
7417 : return -1;
7418 : }
7419 :
7420 : case ASHIFT:
7421 : x5 = XEXP (x1, 0);
7422 : operands[0] = x5;
7423 : x6 = XEXP (x3, 0);
7424 : operands[1] = x6;
7425 : x7 = XEXP (x3, 1);
7426 : operands[2] = x7;
7427 : if (!const_int_operand (operands[2], E_QImode))
7428 : return -1;
7429 : x4 = XEXP (x2, 1);
7430 : operands[3] = x4;
7431 : if (!const_int_operand (operands[3], E_QImode))
7432 : return -1;
7433 : switch (GET_MODE (operands[0]))
7434 : {
7435 : case E_TImode:
7436 : if (pnum_clobbers == NULL
7437 : || pattern762 (x2,
7438 : E_TImode) != 0
7439 : || !(
7440 : #line 18330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7441 : (INTVAL (operands[2]) == INTVAL (operands[3])
7442 : && UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
7443 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7444 : (TARGET_64BIT)))
7445 : return -1;
7446 : *pnum_clobbers = 1;
7447 : return 1313; /* *extendti2_doubleword_highpart */
7448 :
7449 : case E_V2DImode:
7450 : if (pattern762 (x2,
7451 : E_V2DImode) != 0)
7452 : return -1;
7453 : if (
7454 : #line 18348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7455 : (!TARGET_64BIT && TARGET_STV && TARGET_AVX512VL
7456 : && INTVAL (operands[2]) == INTVAL (operands[3])
7457 : && UINTVAL (operands[2]) < 32))
7458 : return 1314; /* *extendv2di2_highpart_stv */
7459 : if (!
7460 : #line 18365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7461 : (!TARGET_AVX512VL
7462 : && INTVAL (operands[2]) == INTVAL (operands[3])
7463 : && UINTVAL (operands[2]) < 32
7464 : && ix86_pre_reload_split ()))
7465 : return -1;
7466 : return 1315; /* *extendv2di2_highpart_stv_noavx512vl */
7467 :
7468 : default:
7469 : return -1;
7470 : }
7471 :
7472 : default:
7473 : return -1;
7474 : }
7475 : }
7476 :
7477 : int
7478 : recog_30 (rtx x1 ATTRIBUTE_UNUSED,
7479 : rtx_insn *insn ATTRIBUTE_UNUSED,
7480 : int *pnum_clobbers ATTRIBUTE_UNUSED)
7481 : {
7482 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
7483 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
7484 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
7485 : int res ATTRIBUTE_UNUSED;
7486 : x2 = XEXP (x1, 0);
7487 : operands[0] = x2;
7488 : x3 = XEXP (x1, 1);
7489 : x4 = XEXP (x3, 0);
7490 : switch (GET_CODE (x4))
7491 : {
7492 : case CONST_INT:
7493 : case CONST:
7494 : case REG:
7495 : case SUBREG:
7496 : case MEM:
7497 : case LABEL_REF:
7498 : case SYMBOL_REF:
7499 : operands[1] = x4;
7500 : switch (GET_MODE (operands[0]))
7501 : {
7502 : case E_TImode:
7503 : if (!nonimmediate_operand (operands[0], E_TImode)
7504 : || GET_MODE (x3) != E_TImode
7505 : || !nonimmediate_operand (operands[1], E_DImode)
7506 : || !
7507 : #line 4671 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7508 : (TARGET_64BIT))
7509 : return -1;
7510 : return 178; /* zero_extendditi2 */
7511 :
7512 : case E_DImode:
7513 : if (GET_MODE (x3) != E_DImode)
7514 : return -1;
7515 : if (nonimmediate_operand (operands[0], E_DImode)
7516 : && x86_64_zext_operand (operands[1], E_SImode))
7517 : return 179; /* *zero_extendsidi2 */
7518 : if (!register_operand (operands[0], E_DImode))
7519 : return -1;
7520 : switch (GET_MODE (operands[1]))
7521 : {
7522 : case E_QImode:
7523 : if (!nonimmediate_operand (operands[1], E_QImode)
7524 : || !
7525 : #line 4823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7526 : (TARGET_64BIT))
7527 : return -1;
7528 : return 180; /* zero_extendqidi2 */
7529 :
7530 : case E_HImode:
7531 : if (!nonimmediate_operand (operands[1], E_HImode)
7532 : || !
7533 : #line 4823 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7534 : (TARGET_64BIT))
7535 : return -1;
7536 : return 181; /* zero_extendhidi2 */
7537 :
7538 : default:
7539 : return -1;
7540 : }
7541 :
7542 : case E_SImode:
7543 : if (!register_operand (operands[0], E_SImode)
7544 : || GET_MODE (x3) != E_SImode)
7545 : return -1;
7546 : switch (GET_MODE (operands[1]))
7547 : {
7548 : case E_QImode:
7549 : if (!nonimmediate_operand (operands[1], E_QImode))
7550 : return -1;
7551 : if (pnum_clobbers != NULL
7552 : &&
7553 : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7554 : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7555 : {
7556 : *pnum_clobbers = 1;
7557 : return 182; /* zero_extendqisi2_and */
7558 : }
7559 : if (!
7560 : #line 4878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7561 : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7562 : return -1;
7563 : return 184; /* *zero_extendqisi2 */
7564 :
7565 : case E_HImode:
7566 : if (!nonimmediate_operand (operands[1], E_HImode))
7567 : return -1;
7568 : if (pnum_clobbers != NULL
7569 : &&
7570 : #line 4850 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7571 : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7572 : {
7573 : *pnum_clobbers = 1;
7574 : return 183; /* zero_extendhisi2_and */
7575 : }
7576 : if (!
7577 : #line 4878 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7578 : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7579 : return -1;
7580 : return 185; /* *zero_extendhisi2 */
7581 :
7582 : default:
7583 : return -1;
7584 : }
7585 :
7586 : case E_HImode:
7587 : if (!register_operand (operands[0], E_HImode)
7588 : || GET_MODE (x3) != E_HImode
7589 : || !nonimmediate_operand (operands[1], E_QImode))
7590 : return -1;
7591 : if (pnum_clobbers != NULL
7592 : &&
7593 : #line 4904 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7594 : (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun)))
7595 : {
7596 : *pnum_clobbers = 1;
7597 : return 186; /* zero_extendqihi2_and */
7598 : }
7599 : if (!
7600 : #line 4932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7601 : (!(TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))))
7602 : return -1;
7603 : return 187; /* *zero_extendqihi2 */
7604 :
7605 : default:
7606 : return -1;
7607 : }
7608 :
7609 : case SIGN_EXTEND:
7610 : if (GET_MODE (x4) != E_SImode
7611 : || !register_operand (operands[0], E_DImode)
7612 : || GET_MODE (x3) != E_DImode)
7613 : return -1;
7614 : x5 = XEXP (x4, 0);
7615 : operands[1] = x5;
7616 : switch (GET_MODE (operands[1]))
7617 : {
7618 : case E_HImode:
7619 : if (!nonimmediate_operand (operands[1], E_HImode)
7620 : || !
7621 : #line 5181 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7622 : (TARGET_64BIT))
7623 : return -1;
7624 : return 194; /* *extendhisi2_zext */
7625 :
7626 : case E_QImode:
7627 : if (!nonimmediate_operand (operands[1], E_QImode)
7628 : || !
7629 : #line 5216 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7630 : (TARGET_64BIT))
7631 : return -1;
7632 : return 196; /* *extendqisi2_zext */
7633 :
7634 : default:
7635 : return -1;
7636 : }
7637 :
7638 : case UNSIGNED_FIX:
7639 : if (GET_MODE (x4) != E_SImode
7640 : || !register_operand (operands[0], E_DImode)
7641 : || GET_MODE (x3) != E_DImode)
7642 : return -1;
7643 : x5 = XEXP (x4, 0);
7644 : operands[1] = x5;
7645 : switch (GET_MODE (operands[1]))
7646 : {
7647 : case E_HFmode:
7648 : if (!nonimmediate_operand (operands[1], E_HFmode)
7649 : || !
7650 : #line 5896 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7651 : (TARGET_64BIT && TARGET_AVX512FP16))
7652 : return -1;
7653 : return 224; /* *fixuns_trunchfsi2zext */
7654 :
7655 : case E_SFmode:
7656 : if (!nonimmediate_operand (operands[1], E_SFmode)
7657 : || !
7658 : #line 5907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7659 : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7660 : return -1;
7661 : return 225; /* *fixuns_truncsfsi2_avx512f_zext */
7662 :
7663 : case E_DFmode:
7664 : if (!nonimmediate_operand (operands[1], E_DFmode)
7665 : || !
7666 : #line 5907 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7667 : (TARGET_64BIT && TARGET_AVX512F && TARGET_SSE_MATH))
7668 : return -1;
7669 : return 226; /* *fixuns_truncdfsi2_avx512f_zext */
7670 :
7671 : default:
7672 : return -1;
7673 : }
7674 :
7675 : case PLUS:
7676 : if (GET_MODE (x4) != E_QImode
7677 : || !register_operand (operands[0], E_HImode)
7678 : || GET_MODE (x3) != E_HImode)
7679 : return -1;
7680 : x5 = XEXP (x4, 0);
7681 : switch (GET_CODE (x5))
7682 : {
7683 : case REG:
7684 : case SUBREG:
7685 : case MEM:
7686 : operands[1] = x5;
7687 : if (!nonimmediate_operand (operands[1], E_QImode))
7688 : return -1;
7689 : x6 = XEXP (x4, 1);
7690 : operands[2] = x6;
7691 : if (!general_operand (operands[2], E_QImode))
7692 : return -1;
7693 : if (
7694 : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7695 : (TARGET_APX_NDD && TARGET_APX_NF
7696 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7697 : return 290; /* *addqi_1_zexthi_nf */
7698 : if (pnum_clobbers == NULL
7699 : || !
7700 : #line 6728 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7701 : (TARGET_APX_NDD && true
7702 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7703 : return -1;
7704 : *pnum_clobbers = 1;
7705 : return 291; /* *addqi_1_zexthi */
7706 :
7707 : case PLUS:
7708 : if (pnum_clobbers == NULL
7709 : || GET_MODE (x5) != E_QImode)
7710 : return -1;
7711 : x7 = XEXP (x5, 0);
7712 : if (!ix86_carry_flag_operator (x7, E_QImode))
7713 : return -1;
7714 : operands[3] = x7;
7715 : x8 = XEXP (x7, 0);
7716 : if (GET_CODE (x8) != REG
7717 : || REGNO (x8) != 17)
7718 : return -1;
7719 : x9 = XEXP (x7, 1);
7720 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7721 : return -1;
7722 : x10 = XEXP (x5, 1);
7723 : operands[1] = x10;
7724 : if (!nonimmediate_operand (operands[1], E_QImode))
7725 : return -1;
7726 : x6 = XEXP (x4, 1);
7727 : operands[2] = x6;
7728 : if (!x86_64_general_operand (operands[2], E_QImode)
7729 : || !
7730 : #line 9011 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7731 : (TARGET_APX_NDD
7732 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7733 : return -1;
7734 : *pnum_clobbers = 1;
7735 : return 481; /* *addqi3_carry_zexthi */
7736 :
7737 : case LTU:
7738 : case UNLT:
7739 : if (pnum_clobbers == NULL)
7740 : return -1;
7741 : operands[2] = x5;
7742 : if (!ix86_carry_flag_operator (operands[2], E_QImode)
7743 : || pattern1084 (x4) != 0
7744 : || !
7745 : #line 9068 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7746 : (TARGET_APX_NDD))
7747 : return -1;
7748 : *pnum_clobbers = 1;
7749 : return 487; /* *addqi3_carry_zexthi_0 */
7750 :
7751 : case GE:
7752 : case GEU:
7753 : if (pnum_clobbers == NULL)
7754 : return -1;
7755 : operands[2] = x5;
7756 : if (!ix86_carry_flag_unset_operator (operands[2], E_QImode)
7757 : || pattern1084 (x4) != 0
7758 : || !
7759 : #line 9113 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7760 : (TARGET_APX_NDD))
7761 : return -1;
7762 : *pnum_clobbers = 1;
7763 : return 493; /* *addqi3_carry_zexthi_0r */
7764 :
7765 : default:
7766 : return -1;
7767 : }
7768 :
7769 : case MINUS:
7770 : if (GET_MODE (x4) != E_QImode
7771 : || !register_operand (operands[0], E_HImode)
7772 : || GET_MODE (x3) != E_HImode)
7773 : return -1;
7774 : x6 = XEXP (x4, 1);
7775 : operands[2] = x6;
7776 : x5 = XEXP (x4, 0);
7777 : switch (GET_CODE (x5))
7778 : {
7779 : case REG:
7780 : case SUBREG:
7781 : case MEM:
7782 : operands[1] = x5;
7783 : if (!nonimmediate_operand (operands[1], E_QImode))
7784 : return -1;
7785 : switch (GET_CODE (operands[2]))
7786 : {
7787 : case CONST_INT:
7788 : case CONST_WIDE_INT:
7789 : case CONST_POLY_INT:
7790 : case CONST_FIXED:
7791 : case CONST_DOUBLE:
7792 : case CONST_VECTOR:
7793 : case CONST:
7794 : case REG:
7795 : case SUBREG:
7796 : case MEM:
7797 : case LABEL_REF:
7798 : case SYMBOL_REF:
7799 : case HIGH:
7800 : if (!x86_64_general_operand (operands[2], E_QImode))
7801 : return -1;
7802 : if (
7803 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7804 : (TARGET_APX_NDD && TARGET_APX_NF
7805 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7806 : return 396; /* *subqi_1_zexthi_nf */
7807 : if (pnum_clobbers == NULL
7808 : || !
7809 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7810 : (TARGET_APX_NDD && true
7811 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7812 : return -1;
7813 : *pnum_clobbers = 1;
7814 : return 397; /* *subqi_1_zexthi */
7815 :
7816 : case LTU:
7817 : case UNLT:
7818 : if (pnum_clobbers == NULL
7819 : || !ix86_carry_flag_operator (operands[2], E_QImode))
7820 : return -1;
7821 : x11 = XEXP (x6, 0);
7822 : if (GET_CODE (x11) != REG
7823 : || REGNO (x11) != 17)
7824 : return -1;
7825 : x12 = XEXP (x6, 1);
7826 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7827 : || !
7828 : #line 9737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7829 : (TARGET_APX_NDD))
7830 : return -1;
7831 : *pnum_clobbers = 1;
7832 : return 533; /* *subqi3_carry_zexthi_0 */
7833 :
7834 : case GE:
7835 : case GEU:
7836 : if (pnum_clobbers == NULL
7837 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode))
7838 : return -1;
7839 : x11 = XEXP (x6, 0);
7840 : if (GET_CODE (x11) != REG
7841 : || REGNO (x11) != 17)
7842 : return -1;
7843 : x12 = XEXP (x6, 1);
7844 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
7845 : || !
7846 : #line 9785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7847 : (TARGET_APX_NDD))
7848 : return -1;
7849 : *pnum_clobbers = 1;
7850 : return 539; /* *subqi3_carry_zexthi_0r */
7851 :
7852 : default:
7853 : return -1;
7854 : }
7855 :
7856 : case MINUS:
7857 : if (pnum_clobbers == NULL
7858 : || GET_MODE (x5) != E_QImode)
7859 : return -1;
7860 : x10 = XEXP (x5, 1);
7861 : if (!ix86_carry_flag_operator (x10, E_QImode))
7862 : return -1;
7863 : operands[3] = x10;
7864 : x13 = XEXP (x10, 0);
7865 : if (GET_CODE (x13) != REG
7866 : || REGNO (x13) != 17)
7867 : return -1;
7868 : x14 = XEXP (x10, 1);
7869 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
7870 : return -1;
7871 : x7 = XEXP (x5, 0);
7872 : operands[1] = x7;
7873 : if (!nonimmediate_operand (operands[1], E_QImode)
7874 : || !x86_64_general_operand (operands[2], E_QImode)
7875 : || !
7876 : #line 9677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7877 : (TARGET_APX_NDD
7878 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7879 : return -1;
7880 : *pnum_clobbers = 1;
7881 : return 527; /* *subqi3_carry_zexthi */
7882 :
7883 : default:
7884 : return -1;
7885 : }
7886 :
7887 : case AND:
7888 : if (!register_operand (operands[0], E_HImode)
7889 : || GET_MODE (x3) != E_HImode)
7890 : return -1;
7891 : x5 = XEXP (x4, 0);
7892 : switch (GET_CODE (x5))
7893 : {
7894 : case REG:
7895 : case SUBREG:
7896 : case MEM:
7897 : operands[1] = x5;
7898 : if (!nonimmediate_operand (operands[1], E_QImode)
7899 : || GET_MODE (x4) != E_QImode)
7900 : return -1;
7901 : x6 = XEXP (x4, 1);
7902 : operands[2] = x6;
7903 : if (!x86_64_general_operand (operands[2], E_QImode))
7904 : return -1;
7905 : if (
7906 : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7907 : (TARGET_APX_NDD && TARGET_APX_NF
7908 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7909 : return 736; /* *andqi_1_zexthi_nf */
7910 : if (pnum_clobbers == NULL
7911 : || !
7912 : #line 12968 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
7913 : (TARGET_APX_NDD && true
7914 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
7915 : return -1;
7916 : *pnum_clobbers = 1;
7917 : return 737; /* *andqi_1_zexthi */
7918 :
7919 : case UNSPEC:
7920 : if (XVECLEN (x5, 0) != 2)
7921 : return -1;
7922 : x15 = XVECEXP (x5, 0, 0);
7923 : operands[1] = x15;
7924 : x16 = XVECEXP (x5, 0, 1);
7925 : operands[2] = x16;
7926 : x6 = XEXP (x4, 1);
7927 : operands[3] = x6;
7928 : switch (XINT (x5, 1))
7929 : {
7930 : case 159:
7931 : switch (pattern1095 (x4))
7932 : {
7933 : case 0:
7934 : if (!(
7935 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7936 : (TARGET_AVX512BW
7937 : && (2
7938 : > GET_MODE_SIZE (DImode))) &&
7939 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7940 : (TARGET_AVX512BW)))
7941 : return -1;
7942 : return 8240; /* *avx512bw_testmv64qi3_zext_mask */
7943 :
7944 : case 1:
7945 : if (!(
7946 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7947 : (TARGET_AVX512BW
7948 : && (2
7949 : > GET_MODE_SIZE (SImode))) &&
7950 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7951 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7952 : return -1;
7953 : return 8243; /* *avx512vl_testmv32qi3_zext_mask */
7954 :
7955 : case 2:
7956 : if (!(
7957 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7958 : (TARGET_AVX512BW
7959 : && (2
7960 : > GET_MODE_SIZE (SImode))) &&
7961 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7962 : (TARGET_AVX512BW)))
7963 : return -1;
7964 : return 8249; /* *avx512bw_testmv32hi3_zext_mask */
7965 :
7966 : case 3:
7967 : if (!(
7968 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7969 : (TARGET_AVX512BW
7970 : && (2
7971 : > GET_MODE_SIZE (HImode))) &&
7972 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7973 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7974 : return -1;
7975 : return 8246; /* *avx512vl_testmv16qi3_zext_mask */
7976 :
7977 : case 4:
7978 : if (!(
7979 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7980 : (TARGET_AVX512BW
7981 : && (2
7982 : > GET_MODE_SIZE (HImode))) &&
7983 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7984 : (TARGET_AVX512VL && TARGET_AVX512BW)))
7985 : return -1;
7986 : return 8252; /* *avx512vl_testmv16hi3_zext_mask */
7987 :
7988 : case 5:
7989 : if (!
7990 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
7991 : (TARGET_AVX512BW
7992 : && (2
7993 : > GET_MODE_SIZE (HImode))))
7994 : return -1;
7995 : return 8258; /* *avx512f_testmv16si3_zext_mask */
7996 :
7997 : case 6:
7998 : if (!(
7999 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8000 : (TARGET_AVX512BW
8001 : && (2
8002 : > GET_MODE_SIZE (QImode))) &&
8003 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8004 : (TARGET_AVX512VL && TARGET_AVX512BW)))
8005 : return -1;
8006 : return 8255; /* *avx512vl_testmv8hi3_zext_mask */
8007 :
8008 : case 7:
8009 : if (!(
8010 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8011 : (TARGET_AVX512BW
8012 : && (2
8013 : > GET_MODE_SIZE (QImode))) &&
8014 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8015 : (TARGET_AVX512VL)))
8016 : return -1;
8017 : return 8261; /* *avx512vl_testmv8si3_zext_mask */
8018 :
8019 : case 8:
8020 : if (!(
8021 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8022 : (TARGET_AVX512BW
8023 : && (2
8024 : > GET_MODE_SIZE (QImode))) &&
8025 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8026 : (TARGET_AVX512VL)))
8027 : return -1;
8028 : return 8264; /* *avx512vl_testmv4si3_zext_mask */
8029 :
8030 : case 9:
8031 : if (!
8032 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8033 : (TARGET_AVX512BW
8034 : && (2
8035 : > GET_MODE_SIZE (QImode))))
8036 : return -1;
8037 : return 8267; /* *avx512f_testmv8di3_zext_mask */
8038 :
8039 : case 10:
8040 : if (!(
8041 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8042 : (TARGET_AVX512BW
8043 : && (2
8044 : > GET_MODE_SIZE (QImode))) &&
8045 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8046 : (TARGET_AVX512VL)))
8047 : return -1;
8048 : return 8270; /* *avx512vl_testmv4di3_zext_mask */
8049 :
8050 : case 11:
8051 : if (!(
8052 : #line 19429 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8053 : (TARGET_AVX512BW
8054 : && (2
8055 : > GET_MODE_SIZE (QImode))) &&
8056 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8057 : (TARGET_AVX512VL)))
8058 : return -1;
8059 : return 8273; /* *avx512vl_testmv2di3_zext_mask */
8060 :
8061 : default:
8062 : return -1;
8063 : }
8064 :
8065 : case 160:
8066 : switch (pattern1095 (x4))
8067 : {
8068 : case 0:
8069 : if (!(
8070 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8071 : (TARGET_AVX512BW
8072 : && (2
8073 : > GET_MODE_SIZE (DImode))) &&
8074 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8075 : (TARGET_AVX512BW)))
8076 : return -1;
8077 : return 8312; /* *avx512bw_testnmv64qi3_zext_mask */
8078 :
8079 : case 1:
8080 : if (!(
8081 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8082 : (TARGET_AVX512BW
8083 : && (2
8084 : > GET_MODE_SIZE (SImode))) &&
8085 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8086 : (TARGET_AVX512VL && TARGET_AVX512BW)))
8087 : return -1;
8088 : return 8315; /* *avx512vl_testnmv32qi3_zext_mask */
8089 :
8090 : case 2:
8091 : if (!(
8092 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8093 : (TARGET_AVX512BW
8094 : && (2
8095 : > GET_MODE_SIZE (SImode))) &&
8096 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8097 : (TARGET_AVX512BW)))
8098 : return -1;
8099 : return 8321; /* *avx512bw_testnmv32hi3_zext_mask */
8100 :
8101 : case 3:
8102 : if (!(
8103 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8104 : (TARGET_AVX512BW
8105 : && (2
8106 : > GET_MODE_SIZE (HImode))) &&
8107 : #line 502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8108 : (TARGET_AVX512VL && TARGET_AVX512BW)))
8109 : return -1;
8110 : return 8318; /* *avx512vl_testnmv16qi3_zext_mask */
8111 :
8112 : case 4:
8113 : if (!(
8114 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8115 : (TARGET_AVX512BW
8116 : && (2
8117 : > GET_MODE_SIZE (HImode))) &&
8118 : #line 504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8119 : (TARGET_AVX512VL && TARGET_AVX512BW)))
8120 : return -1;
8121 : return 8324; /* *avx512vl_testnmv16hi3_zext_mask */
8122 :
8123 : case 5:
8124 : if (!
8125 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8126 : (TARGET_AVX512BW
8127 : && (2
8128 : > GET_MODE_SIZE (HImode))))
8129 : return -1;
8130 : return 8330; /* *avx512f_testnmv16si3_zext_mask */
8131 :
8132 : case 6:
8133 : if (!(
8134 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8135 : (TARGET_AVX512BW
8136 : && (2
8137 : > GET_MODE_SIZE (QImode))) &&
8138 : #line 505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8139 : (TARGET_AVX512VL && TARGET_AVX512BW)))
8140 : return -1;
8141 : return 8327; /* *avx512vl_testnmv8hi3_zext_mask */
8142 :
8143 : case 7:
8144 : if (!(
8145 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8146 : (TARGET_AVX512BW
8147 : && (2
8148 : > GET_MODE_SIZE (QImode))) &&
8149 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8150 : (TARGET_AVX512VL)))
8151 : return -1;
8152 : return 8333; /* *avx512vl_testnmv8si3_zext_mask */
8153 :
8154 : case 8:
8155 : if (!(
8156 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8157 : (TARGET_AVX512BW
8158 : && (2
8159 : > GET_MODE_SIZE (QImode))) &&
8160 : #line 506 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8161 : (TARGET_AVX512VL)))
8162 : return -1;
8163 : return 8336; /* *avx512vl_testnmv4si3_zext_mask */
8164 :
8165 : case 9:
8166 : if (!
8167 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8168 : (TARGET_AVX512BW
8169 : && (2
8170 : > GET_MODE_SIZE (QImode))))
8171 : return -1;
8172 : return 8339; /* *avx512f_testnmv8di3_zext_mask */
8173 :
8174 : case 10:
8175 : if (!(
8176 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8177 : (TARGET_AVX512BW
8178 : && (2
8179 : > GET_MODE_SIZE (QImode))) &&
8180 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8181 : (TARGET_AVX512VL)))
8182 : return -1;
8183 : return 8342; /* *avx512vl_testnmv4di3_zext_mask */
8184 :
8185 : case 11:
8186 : if (!(
8187 : #line 19459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8188 : (TARGET_AVX512BW
8189 : && (2
8190 : > GET_MODE_SIZE (QImode))) &&
8191 : #line 507 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8192 : (TARGET_AVX512VL)))
8193 : return -1;
8194 : return 8345; /* *avx512vl_testnmv2di3_zext_mask */
8195 :
8196 : default:
8197 : return -1;
8198 : }
8199 :
8200 : default:
8201 : return -1;
8202 : }
8203 :
8204 : default:
8205 : return -1;
8206 : }
8207 :
8208 : case IOR:
8209 : if (pattern85 (x3) != 0)
8210 : return -1;
8211 : if (
8212 : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8213 : (TARGET_APX_NDD && TARGET_APX_NF
8214 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8215 : return 871; /* *iorqi_1_zexthi_nf */
8216 : if (pnum_clobbers == NULL
8217 : || !
8218 : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8219 : (TARGET_APX_NDD && true
8220 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8221 : return -1;
8222 : *pnum_clobbers = 1;
8223 : return 872; /* *iorqi_1_zexthi */
8224 :
8225 : case XOR:
8226 : if (pattern85 (x3) != 0)
8227 : return -1;
8228 : if (
8229 : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8230 : (TARGET_APX_NDD && TARGET_APX_NF
8231 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8232 : return 873; /* *xorqi_1_zexthi_nf */
8233 : if (pnum_clobbers == NULL
8234 : || !
8235 : #line 14035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8236 : (TARGET_APX_NDD && true
8237 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8238 : return -1;
8239 : *pnum_clobbers = 1;
8240 : return 874; /* *xorqi_1_zexthi */
8241 :
8242 : case NEG:
8243 : if (pattern86 (x3) != 0)
8244 : return -1;
8245 : if (
8246 : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8247 : (TARGET_APX_NDD && TARGET_APX_NF))
8248 : return 994; /* *negqi_1_zexthi_nf */
8249 : if (pnum_clobbers == NULL
8250 : || !
8251 : #line 14696 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8252 : (TARGET_APX_NDD && true))
8253 : return -1;
8254 : *pnum_clobbers = 1;
8255 : return 995; /* *negqi_1_zexthi */
8256 :
8257 : case NOT:
8258 : if (pattern86 (x3) != 0
8259 : || !
8260 : #line 15347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8261 : (TARGET_APX_NDD))
8262 : return -1;
8263 : return 1067; /* *one_cmplqi2_1_zexthi */
8264 :
8265 : case ASHIFT:
8266 : if (pattern87 (x3) != 0)
8267 : return -1;
8268 : if (
8269 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8270 : (TARGET_APX_NDD && TARGET_APX_NF))
8271 : return 1125; /* *ashlqi3_1_zexthi_nf */
8272 : if (pnum_clobbers == NULL
8273 : || !
8274 : #line 16346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8275 : (TARGET_APX_NDD && true))
8276 : return -1;
8277 : *pnum_clobbers = 1;
8278 : return 1126; /* *ashlqi3_1_zexthi */
8279 :
8280 : case LSHIFTRT:
8281 : if (pattern87 (x3) != 0)
8282 : return -1;
8283 : if (
8284 : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8285 : (TARGET_APX_NDD && TARGET_APX_NF))
8286 : return 1218; /* *lshrqi3_1_zexthi_nf */
8287 : if (pnum_clobbers == NULL
8288 : || !
8289 : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8290 : (TARGET_APX_NDD && true))
8291 : return -1;
8292 : *pnum_clobbers = 1;
8293 : return 1219; /* *lshrqi3_1_zexthi */
8294 :
8295 : case ASHIFTRT:
8296 : if (pattern87 (x3) != 0)
8297 : return -1;
8298 : if (
8299 : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8300 : (TARGET_APX_NDD && TARGET_APX_NF))
8301 : return 1220; /* *ashrqi3_1_zexthi_nf */
8302 : if (pnum_clobbers == NULL
8303 : || !
8304 : #line 17791 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8305 : (TARGET_APX_NDD && true))
8306 : return -1;
8307 : *pnum_clobbers = 1;
8308 : return 1221; /* *ashrqi3_1_zexthi */
8309 :
8310 : case ROTATE:
8311 : if (pattern87 (x3) != 0)
8312 : return -1;
8313 : if (
8314 : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8315 : (TARGET_APX_NDD && TARGET_APX_NF))
8316 : return 1383; /* *rotlqi3_1_zexthi_nf */
8317 : if (pnum_clobbers == NULL
8318 : || !
8319 : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8320 : (TARGET_APX_NDD && true))
8321 : return -1;
8322 : *pnum_clobbers = 1;
8323 : return 1384; /* *rotlqi3_1_zexthi */
8324 :
8325 : case ROTATERT:
8326 : if (pattern87 (x3) != 0)
8327 : return -1;
8328 : if (
8329 : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8330 : (TARGET_APX_NDD && TARGET_APX_NF))
8331 : return 1385; /* *rotrqi3_1_zexthi_nf */
8332 : if (pnum_clobbers == NULL
8333 : || !
8334 : #line 18930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8335 : (TARGET_APX_NDD && true))
8336 : return -1;
8337 : *pnum_clobbers = 1;
8338 : return 1386; /* *rotrqi3_1_zexthi */
8339 :
8340 : case VEC_SELECT:
8341 : x6 = XEXP (x4, 1);
8342 : if (GET_CODE (x6) != PARALLEL)
8343 : return -1;
8344 : x5 = XEXP (x4, 0);
8345 : operands[1] = x5;
8346 : switch (XVECLEN (x6, 0))
8347 : {
8348 : case 4:
8349 : if (pattern619 (x3) != 0
8350 : || !
8351 : #line 5039 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8352 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8353 : return -1;
8354 : return 2362; /* sse4_1_zero_extendv4qiv4hi2 */
8355 :
8356 : case 2:
8357 : switch (pattern620 (x3))
8358 : {
8359 : case 0:
8360 : if (!
8361 : #line 5071 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8362 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8363 : return -1;
8364 : return 2364; /* sse4_1_zero_extendv2hiv2si2 */
8365 :
8366 : case 1:
8367 : if (!
8368 : #line 5103 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8369 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8370 : return -1;
8371 : return 2366; /* sse4_1_zero_extendv2qiv2si2 */
8372 :
8373 : case 2:
8374 : if (!
8375 : #line 5129 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8376 : (TARGET_SSE4_1))
8377 : return -1;
8378 : return 2368; /* sse4_1_zero_extendv2qiv2hi2 */
8379 :
8380 : default:
8381 : return -1;
8382 : }
8383 :
8384 : case 1:
8385 : if (!register_operand (operands[0], E_HImode)
8386 : || GET_MODE (x3) != E_HImode
8387 : || GET_MODE (x4) != E_QImode)
8388 : return -1;
8389 : x17 = XVECEXP (x6, 0, 0);
8390 : operands[2] = x17;
8391 : switch (pattern988 ())
8392 : {
8393 : case 0:
8394 : if (!
8395 : #line 5502 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8396 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8397 : return -1;
8398 : return 2384; /* *mmx_pextrb_zext */
8399 :
8400 : case 1:
8401 : if (!
8402 : #line 6158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8403 : (TARGET_SSE4_1))
8404 : return -1;
8405 : return 2422; /* *pextrb_zext */
8406 :
8407 : case 2:
8408 : if (!
8409 : #line 21474 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8410 : (TARGET_SSE4_1))
8411 : return -1;
8412 : return 8509; /* *vec_extractv16qi_zext */
8413 :
8414 : default:
8415 : return -1;
8416 : }
8417 :
8418 : default:
8419 : return -1;
8420 : }
8421 :
8422 : case UNSPEC:
8423 : return recog_29 (x1, insn, pnum_clobbers);
8424 :
8425 : default:
8426 : return -1;
8427 : }
8428 : }
8429 :
8430 : int
8431 : recog_65 (rtx x1 ATTRIBUTE_UNUSED,
8432 : rtx_insn *insn ATTRIBUTE_UNUSED,
8433 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8434 : {
8435 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8436 : rtx x2, x3, x4, x5, x6, x7;
8437 : int res ATTRIBUTE_UNUSED;
8438 : x2 = XEXP (x1, 0);
8439 : operands[0] = x2;
8440 : x3 = XEXP (x1, 1);
8441 : x4 = XEXP (x3, 0);
8442 : switch (GET_CODE (x4))
8443 : {
8444 : case REG:
8445 : case SUBREG:
8446 : operands[2] = x4;
8447 : x5 = XEXP (x3, 2);
8448 : if (GET_CODE (x5) != CONST_INT)
8449 : return -1;
8450 : operands[3] = x5;
8451 : x6 = XEXP (x3, 1);
8452 : operands[1] = x6;
8453 : switch (GET_MODE (operands[0]))
8454 : {
8455 : case E_V2SFmode:
8456 : if (register_operand (operands[0], E_V2SFmode)
8457 : && GET_MODE (x3) == E_V2SFmode
8458 : && register_operand (operands[2], E_V2SFmode)
8459 : && register_operand (operands[1], E_V2SFmode)
8460 : && const_0_to_3_operand (operands[3], E_SImode)
8461 : &&
8462 : #line 1320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8463 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8464 : return 2131; /* *mmx_blendps */
8465 : break;
8466 :
8467 : case E_V4HFmode:
8468 : if (pattern870 (x3,
8469 : E_V4HFmode) == 0
8470 : &&
8471 : #line 5625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8472 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8473 : return 2393; /* *mmx_pblendw64 */
8474 : break;
8475 :
8476 : case E_V4BFmode:
8477 : if (pattern870 (x3,
8478 : E_V4BFmode) == 0
8479 : &&
8480 : #line 5625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8481 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8482 : return 2394; /* *mmx_pblendw64 */
8483 : break;
8484 :
8485 : case E_V4HImode:
8486 : if (pattern870 (x3,
8487 : E_V4HImode) == 0
8488 : &&
8489 : #line 5625 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8490 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE))
8491 : return 2395; /* *mmx_pblendw64 */
8492 : break;
8493 :
8494 : case E_V2HFmode:
8495 : if (pattern871 (x3,
8496 : E_V2HFmode) == 0
8497 : &&
8498 : #line 5643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8499 : (TARGET_SSE4_1))
8500 : return 2396; /* *mmx_pblendw32 */
8501 : break;
8502 :
8503 : case E_V2BFmode:
8504 : if (pattern871 (x3,
8505 : E_V2BFmode) == 0
8506 : &&
8507 : #line 5643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8508 : (TARGET_SSE4_1))
8509 : return 2397; /* *mmx_pblendw32 */
8510 : break;
8511 :
8512 : case E_V2HImode:
8513 : if (pattern871 (x3,
8514 : E_V2HImode) == 0
8515 : &&
8516 : #line 5643 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8517 : (TARGET_SSE4_1))
8518 : return 2398; /* *mmx_pblendw32 */
8519 : break;
8520 :
8521 : default:
8522 : break;
8523 : }
8524 : if (XWINT (x5, 0) != 1L)
8525 : return -1;
8526 : operands[1] = x6;
8527 : switch (GET_MODE (operands[0]))
8528 : {
8529 : case E_V2SFmode:
8530 : if (pattern872 (x3,
8531 : E_V2SFmode) != 0
8532 : || !
8533 : #line 1764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8534 : (TARGET_MMX_WITH_SSE))
8535 : return -1;
8536 : return 2147; /* *mmx_movss_v2sf */
8537 :
8538 : case E_V2SImode:
8539 : if (pattern872 (x3,
8540 : E_V2SImode) != 0
8541 : || !
8542 : #line 1764 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8543 : (TARGET_MMX_WITH_SSE))
8544 : return -1;
8545 : return 2148; /* *mmx_movss_v2si */
8546 :
8547 : default:
8548 : return -1;
8549 : }
8550 :
8551 : case VEC_DUPLICATE:
8552 : x7 = XEXP (x4, 0);
8553 : operands[2] = x7;
8554 : x6 = XEXP (x3, 1);
8555 : operands[1] = x6;
8556 : x5 = XEXP (x3, 2);
8557 : operands[3] = x5;
8558 : if (!const_int_operand (operands[3], E_SImode))
8559 : return -1;
8560 : switch (GET_MODE (operands[0]))
8561 : {
8562 : case E_V2SImode:
8563 : if (pattern873 (x3,
8564 : E_V2SImode,
8565 : E_SImode) != 0
8566 : || !
8567 : #line 5290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8568 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE
8569 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8570 : < GET_MODE_NUNITS (V2SImode))))
8571 : return -1;
8572 : return 2373; /* *mmx_pinsrd */
8573 :
8574 : case E_V4HFmode:
8575 : if (pattern873 (x3,
8576 : E_V4HFmode,
8577 : E_HFmode) != 0
8578 : || !
8579 : #line 5320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8580 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8581 : && (TARGET_SSE || TARGET_3DNOW_A)
8582 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8583 : < GET_MODE_NUNITS (V4HImode))))
8584 : return -1;
8585 : return 2374; /* *mmx_pinsrw */
8586 :
8587 : case E_V4BFmode:
8588 : if (pattern873 (x3,
8589 : E_V4BFmode,
8590 : E_BFmode) != 0
8591 : || !
8592 : #line 5320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8593 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8594 : && (TARGET_SSE || TARGET_3DNOW_A)
8595 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8596 : < GET_MODE_NUNITS (V4HImode))))
8597 : return -1;
8598 : return 2375; /* *mmx_pinsrw */
8599 :
8600 : case E_V4HImode:
8601 : if (pattern873 (x3,
8602 : E_V4HImode,
8603 : E_HImode) != 0
8604 : || !
8605 : #line 5320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8606 : ((TARGET_MMX || TARGET_MMX_WITH_SSE)
8607 : && (TARGET_SSE || TARGET_3DNOW_A)
8608 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8609 : < GET_MODE_NUNITS (V4HImode))))
8610 : return -1;
8611 : return 2376; /* *mmx_pinsrw */
8612 :
8613 : case E_V8QImode:
8614 : if (pattern873 (x3,
8615 : E_V8QImode,
8616 : E_QImode) != 0
8617 : || !
8618 : #line 5375 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8619 : (TARGET_SSE4_1 && TARGET_MMX_WITH_SSE
8620 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8621 : < GET_MODE_NUNITS (V8QImode))))
8622 : return -1;
8623 : return 2377; /* *mmx_pinsrb */
8624 :
8625 : case E_V2HFmode:
8626 : if (pattern873 (x3,
8627 : E_V2HFmode,
8628 : E_HFmode) != 0
8629 : || !
8630 : #line 5988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8631 : (TARGET_SSE2
8632 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8633 : < GET_MODE_NUNITS (V2HImode))))
8634 : return -1;
8635 : return 2412; /* *pinsrw */
8636 :
8637 : case E_V2BFmode:
8638 : if (pattern873 (x3,
8639 : E_V2BFmode,
8640 : E_BFmode) != 0
8641 : || !
8642 : #line 5988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8643 : (TARGET_SSE2
8644 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8645 : < GET_MODE_NUNITS (V2HImode))))
8646 : return -1;
8647 : return 2413; /* *pinsrw */
8648 :
8649 : case E_V2HImode:
8650 : if (pattern873 (x3,
8651 : E_V2HImode,
8652 : E_HImode) != 0
8653 : || !
8654 : #line 5988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8655 : (TARGET_SSE2
8656 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8657 : < GET_MODE_NUNITS (V2HImode))))
8658 : return -1;
8659 : return 2414; /* *pinsrw */
8660 :
8661 : case E_V4QImode:
8662 : if (pattern873 (x3,
8663 : E_V4QImode,
8664 : E_QImode) != 0
8665 : || !
8666 : #line 6041 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
8667 : (TARGET_SSE4_1
8668 : && ((unsigned) exact_log2 (INTVAL (operands[3]))
8669 : < GET_MODE_NUNITS (V4QImode))))
8670 : return -1;
8671 : return 2415; /* *pinsrb */
8672 :
8673 : default:
8674 : return -1;
8675 : }
8676 :
8677 : case SS_TRUNCATE:
8678 : switch (pattern107 (x3))
8679 : {
8680 : case 0:
8681 : if (!
8682 : #line 15795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8683 : (TARGET_AVX512VL))
8684 : return -1;
8685 : return 7344; /* avx512vl_ss_truncatev2div2qi2_mask_store_1 */
8686 :
8687 : case 1:
8688 : if (!
8689 : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8690 : (TARGET_AVX512VL))
8691 : return -1;
8692 : return 7371; /* avx512vl_ss_truncatev4siv4qi2_mask_store_1 */
8693 :
8694 : case 2:
8695 : if (!
8696 : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8697 : (TARGET_AVX512VL))
8698 : return -1;
8699 : return 7374; /* avx512vl_ss_truncatev4div4qi2_mask_store_1 */
8700 :
8701 : case 3:
8702 : if (!(
8703 : #line 15988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8704 : (TARGET_AVX512VL) &&
8705 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8706 : (TARGET_AVX512BW)))
8707 : return -1;
8708 : return 7401; /* avx512vl_ss_truncatev8hiv8qi2_mask_store_1 */
8709 :
8710 : case 4:
8711 : if (!
8712 : #line 15988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8713 : (TARGET_AVX512VL))
8714 : return -1;
8715 : return 7404; /* avx512vl_ss_truncatev8siv8qi2_mask_store_1 */
8716 :
8717 : case 5:
8718 : if (!
8719 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8720 : (TARGET_AVX512F))
8721 : return -1;
8722 : return 7496; /* avx512f_ss_truncatev8div16qi2_mask_store_1 */
8723 :
8724 : case 6:
8725 : if (!
8726 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8727 : (TARGET_AVX512VL))
8728 : return -1;
8729 : return 7441; /* avx512vl_ss_truncatev4siv4hi2_mask_store_1 */
8730 :
8731 : case 7:
8732 : if (!
8733 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8734 : (TARGET_AVX512VL))
8735 : return -1;
8736 : return 7444; /* avx512vl_ss_truncatev4div4hi2_mask_store_1 */
8737 :
8738 : case 8:
8739 : if (!
8740 : #line 16233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8741 : (TARGET_AVX512VL))
8742 : return -1;
8743 : return 7459; /* avx512vl_ss_truncatev2div2hi2_mask_store_1 */
8744 :
8745 : case 9:
8746 : if (!
8747 : #line 16379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8748 : (TARGET_AVX512VL))
8749 : return -1;
8750 : return 7478; /* avx512vl_ss_truncatev2div2si2_mask_store_1 */
8751 :
8752 : default:
8753 : return -1;
8754 : }
8755 :
8756 : case TRUNCATE:
8757 : switch (pattern107 (x3))
8758 : {
8759 : case 0:
8760 : if (!
8761 : #line 15795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8762 : (TARGET_AVX512VL))
8763 : return -1;
8764 : return 7345; /* avx512vl_truncatev2div2qi2_mask_store_1 */
8765 :
8766 : case 1:
8767 : if (!
8768 : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8769 : (TARGET_AVX512VL))
8770 : return -1;
8771 : return 7372; /* avx512vl_truncatev4siv4qi2_mask_store_1 */
8772 :
8773 : case 2:
8774 : if (!
8775 : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8776 : (TARGET_AVX512VL))
8777 : return -1;
8778 : return 7375; /* avx512vl_truncatev4div4qi2_mask_store_1 */
8779 :
8780 : case 3:
8781 : if (!(
8782 : #line 15988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8783 : (TARGET_AVX512VL) &&
8784 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8785 : (TARGET_AVX512BW)))
8786 : return -1;
8787 : return 7402; /* avx512vl_truncatev8hiv8qi2_mask_store_1 */
8788 :
8789 : case 4:
8790 : if (!
8791 : #line 15988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8792 : (TARGET_AVX512VL))
8793 : return -1;
8794 : return 7405; /* avx512vl_truncatev8siv8qi2_mask_store_1 */
8795 :
8796 : case 5:
8797 : if (!
8798 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8799 : (TARGET_AVX512F))
8800 : return -1;
8801 : return 7497; /* avx512f_truncatev8div16qi2_mask_store_1 */
8802 :
8803 : case 6:
8804 : if (!
8805 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8806 : (TARGET_AVX512VL))
8807 : return -1;
8808 : return 7442; /* avx512vl_truncatev4siv4hi2_mask_store_1 */
8809 :
8810 : case 7:
8811 : if (!
8812 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8813 : (TARGET_AVX512VL))
8814 : return -1;
8815 : return 7445; /* avx512vl_truncatev4div4hi2_mask_store_1 */
8816 :
8817 : case 8:
8818 : if (!
8819 : #line 16233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8820 : (TARGET_AVX512VL))
8821 : return -1;
8822 : return 7460; /* avx512vl_truncatev2div2hi2_mask_store_1 */
8823 :
8824 : case 9:
8825 : if (!
8826 : #line 16379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8827 : (TARGET_AVX512VL))
8828 : return -1;
8829 : return 7479; /* avx512vl_truncatev2div2si2_mask_store_1 */
8830 :
8831 : default:
8832 : return -1;
8833 : }
8834 :
8835 : case US_TRUNCATE:
8836 : switch (pattern107 (x3))
8837 : {
8838 : case 0:
8839 : if (!
8840 : #line 15795 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8841 : (TARGET_AVX512VL))
8842 : return -1;
8843 : return 7346; /* avx512vl_us_truncatev2div2qi2_mask_store_1 */
8844 :
8845 : case 1:
8846 : if (!
8847 : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8848 : (TARGET_AVX512VL))
8849 : return -1;
8850 : return 7373; /* avx512vl_us_truncatev4siv4qi2_mask_store_1 */
8851 :
8852 : case 2:
8853 : if (!
8854 : #line 15890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8855 : (TARGET_AVX512VL))
8856 : return -1;
8857 : return 7376; /* avx512vl_us_truncatev4div4qi2_mask_store_1 */
8858 :
8859 : case 3:
8860 : if (!(
8861 : #line 15988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8862 : (TARGET_AVX512VL) &&
8863 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8864 : (TARGET_AVX512BW)))
8865 : return -1;
8866 : return 7403; /* avx512vl_us_truncatev8hiv8qi2_mask_store_1 */
8867 :
8868 : case 4:
8869 : if (!
8870 : #line 15988 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8871 : (TARGET_AVX512VL))
8872 : return -1;
8873 : return 7406; /* avx512vl_us_truncatev8siv8qi2_mask_store_1 */
8874 :
8875 : case 5:
8876 : if (!
8877 : #line 16504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8878 : (TARGET_AVX512F))
8879 : return -1;
8880 : return 7498; /* avx512f_us_truncatev8div16qi2_mask_store_1 */
8881 :
8882 : case 6:
8883 : if (!
8884 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8885 : (TARGET_AVX512VL))
8886 : return -1;
8887 : return 7443; /* avx512vl_us_truncatev4siv4hi2_mask_store_1 */
8888 :
8889 : case 7:
8890 : if (!
8891 : #line 16142 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8892 : (TARGET_AVX512VL))
8893 : return -1;
8894 : return 7446; /* avx512vl_us_truncatev4div4hi2_mask_store_1 */
8895 :
8896 : case 8:
8897 : if (!
8898 : #line 16233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8899 : (TARGET_AVX512VL))
8900 : return -1;
8901 : return 7461; /* avx512vl_us_truncatev2div2hi2_mask_store_1 */
8902 :
8903 : case 9:
8904 : if (!
8905 : #line 16379 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
8906 : (TARGET_AVX512VL))
8907 : return -1;
8908 : return 7480; /* avx512vl_us_truncatev2div2si2_mask_store_1 */
8909 :
8910 : default:
8911 : return -1;
8912 : }
8913 :
8914 : default:
8915 : return -1;
8916 : }
8917 : }
8918 :
8919 : int
8920 : recog_77 (rtx x1 ATTRIBUTE_UNUSED,
8921 : rtx_insn *insn ATTRIBUTE_UNUSED,
8922 : int *pnum_clobbers ATTRIBUTE_UNUSED)
8923 : {
8924 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
8925 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
8926 : rtx x10, x11;
8927 : int res ATTRIBUTE_UNUSED;
8928 : x2 = XEXP (x1, 1);
8929 : x3 = XEXP (x2, 0);
8930 : x4 = XEXP (x3, 0);
8931 : switch (GET_CODE (x4))
8932 : {
8933 : case REG:
8934 : case SUBREG:
8935 : case MEM:
8936 : operands[1] = x4;
8937 : x5 = XEXP (x3, 1);
8938 : operands[2] = x5;
8939 : switch (GET_CODE (operands[2]))
8940 : {
8941 : case CONST_INT:
8942 : case CONST_WIDE_INT:
8943 : case CONST_POLY_INT:
8944 : case CONST_FIXED:
8945 : case CONST_DOUBLE:
8946 : case CONST_VECTOR:
8947 : case CONST:
8948 : case REG:
8949 : case SUBREG:
8950 : case MEM:
8951 : case LABEL_REF:
8952 : case SYMBOL_REF:
8953 : case HIGH:
8954 : switch (pattern114 (x2, pnum_clobbers))
8955 : {
8956 : case 0:
8957 : if (
8958 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8959 : (TARGET_APX_NDD && TARGET_APX_NF
8960 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8961 : return 398; /* *subqi_1_zextsi_nf */
8962 : if (pnum_clobbers == NULL
8963 : || !
8964 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8965 : (TARGET_APX_NDD && true
8966 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8967 : return -1;
8968 : *pnum_clobbers = 1;
8969 : return 399; /* *subqi_1_zextsi */
8970 :
8971 : case 1:
8972 : if (
8973 : #line 8191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8974 : (TARGET_APX_NDD && TARGET_APX_NF
8975 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8976 : return 402; /* *subhi_1_zextsi_nf */
8977 : if (pnum_clobbers == NULL
8978 : || !
8979 : #line 8191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8980 : (TARGET_APX_NDD && true
8981 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8982 : return -1;
8983 : *pnum_clobbers = 1;
8984 : return 403; /* *subhi_1_zextsi */
8985 :
8986 : case 2:
8987 : if (
8988 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8989 : (TARGET_APX_NDD && TARGET_APX_NF
8990 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8991 : return 400; /* *subqi_1_zextdi_nf */
8992 : if (pnum_clobbers == NULL
8993 : || !
8994 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
8995 : (TARGET_APX_NDD && true
8996 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
8997 : return -1;
8998 : *pnum_clobbers = 1;
8999 : return 401; /* *subqi_1_zextdi */
9000 :
9001 : case 3:
9002 : if (
9003 : #line 8191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9004 : (TARGET_APX_NDD && TARGET_APX_NF
9005 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9006 : return 404; /* *subhi_1_zextdi_nf */
9007 : if (pnum_clobbers == NULL
9008 : || !
9009 : #line 8191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9010 : (TARGET_APX_NDD && true
9011 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9012 : return -1;
9013 : *pnum_clobbers = 1;
9014 : return 405; /* *subhi_1_zextdi */
9015 :
9016 : case 4:
9017 : if (!
9018 : #line 8206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9019 : (TARGET_64BIT
9020 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9021 : return -1;
9022 : *pnum_clobbers = 1;
9023 : return 406; /* *subsi_1_zext */
9024 :
9025 : default:
9026 : return -1;
9027 : }
9028 :
9029 : case LTU:
9030 : case UNLT:
9031 : switch (pattern760 (x2, pnum_clobbers))
9032 : {
9033 : case 0:
9034 : if (!nonimmediate_operand (operands[1], E_QImode)
9035 : || !ix86_carry_flag_operator (operands[2], E_QImode)
9036 : || !
9037 : #line 9737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9038 : (TARGET_APX_NDD))
9039 : return -1;
9040 : *pnum_clobbers = 1;
9041 : return 534; /* *subqi3_carry_zextsi_0 */
9042 :
9043 : case 1:
9044 : if (!nonimmediate_operand (operands[1], E_HImode)
9045 : || !ix86_carry_flag_operator (operands[2], E_HImode)
9046 : || !
9047 : #line 9752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9048 : (TARGET_APX_NDD))
9049 : return -1;
9050 : *pnum_clobbers = 1;
9051 : return 536; /* *subhi3_carry_zextsi_0 */
9052 :
9053 : case 2:
9054 : if (!nonimmediate_operand (operands[1], E_QImode)
9055 : || !ix86_carry_flag_operator (operands[2], E_QImode)
9056 : || !
9057 : #line 9737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9058 : (TARGET_APX_NDD))
9059 : return -1;
9060 : *pnum_clobbers = 1;
9061 : return 535; /* *subqi3_carry_zextdi_0 */
9062 :
9063 : case 3:
9064 : if (!nonimmediate_operand (operands[1], E_HImode)
9065 : || !ix86_carry_flag_operator (operands[2], E_HImode)
9066 : || !
9067 : #line 9752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9068 : (TARGET_APX_NDD))
9069 : return -1;
9070 : *pnum_clobbers = 1;
9071 : return 537; /* *subhi3_carry_zextdi_0 */
9072 :
9073 : case 4:
9074 : if (!nonimmediate_operand (operands[1], E_SImode)
9075 : || !ix86_carry_flag_operator (operands[2], E_SImode)
9076 : || !
9077 : #line 9767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9078 : (TARGET_64BIT))
9079 : return -1;
9080 : *pnum_clobbers = 1;
9081 : return 538; /* *subsi3_carry_zext_0 */
9082 :
9083 : default:
9084 : return -1;
9085 : }
9086 :
9087 : case GE:
9088 : case GEU:
9089 : switch (pattern760 (x2, pnum_clobbers))
9090 : {
9091 : case 0:
9092 : if (!nonimmediate_operand (operands[1], E_QImode)
9093 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
9094 : || !
9095 : #line 9785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9096 : (TARGET_APX_NDD))
9097 : return -1;
9098 : *pnum_clobbers = 1;
9099 : return 540; /* *subqi3_carry_zextsi_0r */
9100 :
9101 : case 1:
9102 : if (!nonimmediate_operand (operands[1], E_HImode)
9103 : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
9104 : || !
9105 : #line 9800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9106 : (TARGET_APX_NDD))
9107 : return -1;
9108 : *pnum_clobbers = 1;
9109 : return 542; /* *subhi3_carry_zextsi_0r */
9110 :
9111 : case 2:
9112 : if (!nonimmediate_operand (operands[1], E_QImode)
9113 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
9114 : || !
9115 : #line 9785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9116 : (TARGET_APX_NDD))
9117 : return -1;
9118 : *pnum_clobbers = 1;
9119 : return 541; /* *subqi3_carry_zextdi_0r */
9120 :
9121 : case 3:
9122 : if (!nonimmediate_operand (operands[1], E_HImode)
9123 : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
9124 : || !
9125 : #line 9800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9126 : (TARGET_APX_NDD))
9127 : return -1;
9128 : *pnum_clobbers = 1;
9129 : return 543; /* *subhi3_carry_zextdi_0r */
9130 :
9131 : case 4:
9132 : if (!nonimmediate_operand (operands[1], E_SImode)
9133 : || !ix86_carry_flag_unset_operator (operands[2], E_SImode)
9134 : || !
9135 : #line 9815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9136 : (TARGET_64BIT))
9137 : return -1;
9138 : *pnum_clobbers = 1;
9139 : return 544; /* *subsi3_carry_zext_0r */
9140 :
9141 : default:
9142 : return -1;
9143 : }
9144 :
9145 : default:
9146 : return -1;
9147 : }
9148 :
9149 : case MINUS:
9150 : if (pnum_clobbers == NULL)
9151 : return -1;
9152 : x6 = XEXP (x4, 1);
9153 : switch (GET_CODE (x6))
9154 : {
9155 : case LTU:
9156 : case UNLT:
9157 : operands[3] = x6;
9158 : x7 = XEXP (x6, 0);
9159 : if (GET_CODE (x7) != REG
9160 : || REGNO (x7) != 17)
9161 : return -1;
9162 : x8 = XEXP (x6, 1);
9163 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
9164 : return -1;
9165 : x9 = XEXP (x4, 0);
9166 : operands[1] = x9;
9167 : x5 = XEXP (x3, 1);
9168 : operands[2] = x5;
9169 : switch (pattern279 (x2))
9170 : {
9171 : case 0:
9172 : if (pattern1550 (x4,
9173 : E_QImode) != 0
9174 : || !
9175 : #line 9677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9176 : (TARGET_APX_NDD
9177 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9178 : return -1;
9179 : *pnum_clobbers = 1;
9180 : return 528; /* *subqi3_carry_zextsi */
9181 :
9182 : case 1:
9183 : if (pattern1550 (x4,
9184 : E_HImode) != 0
9185 : || !
9186 : #line 9697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9187 : (TARGET_APX_NDD
9188 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9189 : return -1;
9190 : *pnum_clobbers = 1;
9191 : return 530; /* *subhi3_carry_zextsi */
9192 :
9193 : case 2:
9194 : if (pattern1550 (x4,
9195 : E_QImode) != 0
9196 : || !
9197 : #line 9677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9198 : (TARGET_APX_NDD
9199 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9200 : return -1;
9201 : *pnum_clobbers = 1;
9202 : return 529; /* *subqi3_carry_zextdi */
9203 :
9204 : case 3:
9205 : if (pattern1550 (x4,
9206 : E_HImode) != 0
9207 : || !
9208 : #line 9697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9209 : (TARGET_APX_NDD
9210 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9211 : return -1;
9212 : *pnum_clobbers = 1;
9213 : return 531; /* *subhi3_carry_zextdi */
9214 :
9215 : case 4:
9216 : if (pattern1550 (x4,
9217 : E_SImode) != 0
9218 : || !
9219 : #line 9717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9220 : (TARGET_64BIT
9221 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9222 : return -1;
9223 : *pnum_clobbers = 1;
9224 : return 532; /* *subsi3_carry_zext */
9225 :
9226 : default:
9227 : return -1;
9228 : }
9229 :
9230 : default:
9231 : return -1;
9232 : }
9233 :
9234 : case CONST_INT:
9235 : if (pnum_clobbers == NULL
9236 : || !register_operand (operands[0], E_DImode)
9237 : || GET_MODE (x2) != E_DImode
9238 : || GET_MODE (x3) != E_SImode)
9239 : return -1;
9240 : x5 = XEXP (x3, 1);
9241 : if (GET_MODE (x5) != E_SImode)
9242 : return -1;
9243 : switch (XWINT (x4, 0))
9244 : {
9245 : case 63L:
9246 : if (GET_CODE (x5) != SUBREG
9247 : || maybe_ne (SUBREG_BYTE (x5), 0))
9248 : return -1;
9249 : x10 = XEXP (x5, 0);
9250 : if (GET_CODE (x10) != CLZ
9251 : || GET_MODE (x10) != E_DImode)
9252 : return -1;
9253 : x11 = XEXP (x10, 0);
9254 : operands[1] = x11;
9255 : if (!nonimmediate_operand (operands[1], E_DImode)
9256 : || !
9257 : #line 21621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9258 : (!TARGET_LZCNT && TARGET_64BIT))
9259 : return -1;
9260 : *pnum_clobbers = 1;
9261 : return 1558; /* bsr_rex64_1_zext */
9262 :
9263 : case 31L:
9264 : if (GET_CODE (x5) != CLZ)
9265 : return -1;
9266 : x10 = XEXP (x5, 0);
9267 : operands[1] = x10;
9268 : if (!nonimmediate_operand (operands[1], E_SImode)
9269 : || !
9270 : #line 21661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9271 : (!TARGET_LZCNT && TARGET_64BIT))
9272 : return -1;
9273 : *pnum_clobbers = 1;
9274 : return 1561; /* bsr_zext_1 */
9275 :
9276 : default:
9277 : return -1;
9278 : }
9279 :
9280 : default:
9281 : return -1;
9282 : }
9283 : }
9284 :
9285 : int
9286 : recog_88 (rtx x1 ATTRIBUTE_UNUSED,
9287 : rtx_insn *insn ATTRIBUTE_UNUSED,
9288 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9289 : {
9290 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9291 : rtx x2, x3, x4, x5, x6;
9292 : int res ATTRIBUTE_UNUSED;
9293 : x2 = XEXP (x1, 0);
9294 : operands[0] = x2;
9295 : x3 = XEXP (x1, 1);
9296 : x4 = XEXP (x3, 0);
9297 : switch (GET_CODE (x4))
9298 : {
9299 : case CONST_INT:
9300 : case CONST_WIDE_INT:
9301 : case CONST_POLY_INT:
9302 : case CONST_FIXED:
9303 : case CONST_DOUBLE:
9304 : case CONST_VECTOR:
9305 : case CONST:
9306 : case REG:
9307 : case SUBREG:
9308 : case MEM:
9309 : case LABEL_REF:
9310 : case SYMBOL_REF:
9311 : case HIGH:
9312 : operands[1] = x4;
9313 : res = recog_87 (x1, insn, pnum_clobbers);
9314 : if (res >= 0)
9315 : return res;
9316 : if (pnum_clobbers == NULL
9317 : || GET_CODE (x4) != CONST_INT)
9318 : return -1;
9319 : x5 = XEXP (x3, 1);
9320 : if (GET_CODE (x5) != CLZ)
9321 : return -1;
9322 : x6 = XEXP (x5, 0);
9323 : operands[1] = x6;
9324 : switch (XWINT (x4, 0))
9325 : {
9326 : case 63L:
9327 : if (pattern881 (x3,
9328 : E_DImode) != 0
9329 : || !
9330 : #line 21606 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9331 : (!TARGET_LZCNT && TARGET_64BIT))
9332 : return -1;
9333 : *pnum_clobbers = 1;
9334 : return 1557; /* bsr_rex64_1 */
9335 :
9336 : case 31L:
9337 : if (pattern881 (x3,
9338 : E_SImode) != 0
9339 : || !
9340 : #line 21647 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9341 : (!TARGET_LZCNT))
9342 : return -1;
9343 : *pnum_clobbers = 1;
9344 : return 1560; /* bsr_1 */
9345 :
9346 : default:
9347 : return -1;
9348 : }
9349 :
9350 : case MINUS:
9351 : if (pnum_clobbers == NULL)
9352 : return -1;
9353 : switch (pattern290 (x3))
9354 : {
9355 : case 0:
9356 : switch (GET_MODE (operands[0]))
9357 : {
9358 : case E_SImode:
9359 : if (pattern1278 (x3,
9360 : E_SImode) != 0
9361 : || !
9362 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9363 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
9364 : return -1;
9365 : *pnum_clobbers = 1;
9366 : return 505; /* subsi3_carry */
9367 :
9368 : case E_DImode:
9369 : if (pattern1278 (x3,
9370 : E_DImode) != 0
9371 : || !(
9372 : #line 9505 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9373 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
9374 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9375 : (TARGET_64BIT)))
9376 : return -1;
9377 : *pnum_clobbers = 1;
9378 : return 506; /* subdi3_carry */
9379 :
9380 : default:
9381 : return -1;
9382 : }
9383 :
9384 : case 1:
9385 : switch (GET_MODE (operands[0]))
9386 : {
9387 : case E_SImode:
9388 : if (pattern1218 (x3,
9389 : E_SImode) != 0
9390 : || !
9391 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9392 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
9393 : && ix86_pre_reload_split ()))
9394 : return -1;
9395 : *pnum_clobbers = 1;
9396 : return 600; /* *subsi3_eq */
9397 :
9398 : case E_DImode:
9399 : if (pattern1218 (x3,
9400 : E_DImode) != 0
9401 : || !(
9402 : #line 10573 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9403 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
9404 : && ix86_pre_reload_split ()) &&
9405 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9406 : (TARGET_64BIT)))
9407 : return -1;
9408 : *pnum_clobbers = 1;
9409 : return 601; /* *subdi3_eq */
9410 :
9411 : default:
9412 : return -1;
9413 : }
9414 :
9415 : default:
9416 : return -1;
9417 : }
9418 :
9419 : default:
9420 : return -1;
9421 : }
9422 : }
9423 :
9424 : int
9425 : recog_89 (rtx x1 ATTRIBUTE_UNUSED,
9426 : rtx_insn *insn ATTRIBUTE_UNUSED,
9427 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9428 : {
9429 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9430 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9431 : int res ATTRIBUTE_UNUSED;
9432 : x2 = XEXP (x1, 1);
9433 : x3 = XEXP (x2, 2);
9434 : operands[3] = x3;
9435 : x4 = XEXP (x2, 0);
9436 : x5 = XEXP (x4, 1);
9437 : switch (XWINT (x5, 0))
9438 : {
9439 : case 0L:
9440 : x6 = XEXP (x2, 1);
9441 : if (GET_CODE (x6) != PLUS)
9442 : return -1;
9443 : x7 = XEXP (x6, 1);
9444 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9445 : return -1;
9446 : x8 = XEXP (x4, 0);
9447 : operands[2] = x8;
9448 : x9 = XEXP (x6, 0);
9449 : if (!rtx_equal_p (x9, operands[2]))
9450 : return -1;
9451 : switch (GET_MODE (operands[0]))
9452 : {
9453 : case E_SImode:
9454 : if (pattern1524 (x2,
9455 : E_SImode) != 0
9456 : || !
9457 : #line 8797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9458 : (TARGET_CMOVE))
9459 : return -1;
9460 : *pnum_clobbers = 1;
9461 : return 454; /* *dec_cmovsi */
9462 :
9463 : case E_DImode:
9464 : if (pattern1524 (x2,
9465 : E_DImode) != 0
9466 : || !(
9467 : #line 8797 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9468 : (TARGET_CMOVE) &&
9469 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9470 : (TARGET_64BIT)))
9471 : return -1;
9472 : *pnum_clobbers = 1;
9473 : return 455; /* *dec_cmovdi */
9474 :
9475 : default:
9476 : return -1;
9477 : }
9478 :
9479 : case -1L:
9480 : x8 = XEXP (x4, 0);
9481 : operands[4] = x8;
9482 : x6 = XEXP (x2, 1);
9483 : operands[2] = x6;
9484 : switch (GET_MODE (operands[0]))
9485 : {
9486 : case E_SImode:
9487 : switch (pattern1376 (x2,
9488 : E_SImode))
9489 : {
9490 : case 0:
9491 : if (!(
9492 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9493 : (TARGET_AVX512BW && TARGET_CMOVE
9494 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9495 : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9496 : (TARGET_AVX512DQ)))
9497 : return -1;
9498 : *pnum_clobbers = 1;
9499 : return 2702; /* *kortest_cmpqi_movsicc */
9500 :
9501 : case 1:
9502 : if (!
9503 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9504 : (TARGET_AVX512BW && TARGET_CMOVE
9505 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))))
9506 : return -1;
9507 : *pnum_clobbers = 1;
9508 : return 2705; /* *kortest_cmphi_movsicc */
9509 :
9510 : case 2:
9511 : if (!(
9512 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9513 : (TARGET_AVX512BW && TARGET_CMOVE
9514 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9515 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9516 : (TARGET_AVX512BW)))
9517 : return -1;
9518 : *pnum_clobbers = 1;
9519 : return 2708; /* *kortest_cmpsi_movsicc */
9520 :
9521 : case 3:
9522 : if (!(
9523 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9524 : (TARGET_AVX512BW && TARGET_CMOVE
9525 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9526 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9527 : (TARGET_AVX512BW && TARGET_64BIT)))
9528 : return -1;
9529 : *pnum_clobbers = 1;
9530 : return 2711; /* *kortest_cmpdi_movsicc */
9531 :
9532 : default:
9533 : return -1;
9534 : }
9535 :
9536 : case E_DImode:
9537 : switch (pattern1376 (x2,
9538 : E_DImode))
9539 : {
9540 : case 0:
9541 : if (!(
9542 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9543 : (TARGET_AVX512BW && TARGET_CMOVE
9544 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9545 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9546 : (TARGET_64BIT) &&
9547 : #line 1556 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9548 : (TARGET_AVX512DQ)) &&
9549 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9550 : (TARGET_64BIT)) &&
9551 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9552 : (TARGET_64BIT)) &&
9553 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9554 : (TARGET_64BIT))))
9555 : return -1;
9556 : *pnum_clobbers = 1;
9557 : return 2703; /* *kortest_cmpqi_movdicc */
9558 :
9559 : case 1:
9560 : if (!(
9561 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9562 : (TARGET_AVX512BW && TARGET_CMOVE
9563 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) &&
9564 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9565 : (TARGET_64BIT)))
9566 : return -1;
9567 : *pnum_clobbers = 1;
9568 : return 2706; /* *kortest_cmphi_movdicc */
9569 :
9570 : case 2:
9571 : if (!(
9572 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9573 : (TARGET_AVX512BW && TARGET_CMOVE
9574 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9575 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9576 : (TARGET_64BIT) &&
9577 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9578 : (TARGET_AVX512BW)) &&
9579 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9580 : (TARGET_64BIT)) &&
9581 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9582 : (TARGET_64BIT)) &&
9583 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9584 : (TARGET_64BIT))))
9585 : return -1;
9586 : *pnum_clobbers = 1;
9587 : return 2709; /* *kortest_cmpsi_movdicc */
9588 :
9589 : case 3:
9590 : if (!(
9591 : #line 2521 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
9592 : (TARGET_AVX512BW && TARGET_CMOVE
9593 : && !(MEM_P (operands[2]) && MEM_P (operands[3]))) && ((((
9594 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9595 : (TARGET_64BIT) &&
9596 : #line 1557 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9597 : (TARGET_AVX512BW && TARGET_64BIT)) &&
9598 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9599 : (TARGET_64BIT)) &&
9600 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9601 : (TARGET_64BIT)) &&
9602 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9603 : (TARGET_64BIT))))
9604 : return -1;
9605 : *pnum_clobbers = 1;
9606 : return 2712; /* *kortest_cmpdi_movdicc */
9607 :
9608 : default:
9609 : return -1;
9610 : }
9611 :
9612 : default:
9613 : return -1;
9614 : }
9615 :
9616 : default:
9617 : return -1;
9618 : }
9619 : }
9620 :
9621 : int
9622 : recog_93 (rtx x1 ATTRIBUTE_UNUSED,
9623 : rtx_insn *insn ATTRIBUTE_UNUSED,
9624 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9625 : {
9626 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9627 : rtx x2, x3, x4, x5, x6, x7;
9628 : int res ATTRIBUTE_UNUSED;
9629 : if (pnum_clobbers == NULL)
9630 : return -1;
9631 : x2 = XEXP (x1, 1);
9632 : x3 = XEXP (x2, 0);
9633 : if (GET_CODE (x3) != LSHIFTRT)
9634 : return -1;
9635 : x4 = XEXP (x3, 0);
9636 : if (GET_CODE (x4) != MULT)
9637 : return -1;
9638 : x5 = XEXP (x3, 1);
9639 : if (GET_CODE (x5) != CONST_INT)
9640 : return -1;
9641 : x6 = XEXP (x1, 0);
9642 : operands[0] = x6;
9643 : x7 = XEXP (x4, 0);
9644 : switch (GET_CODE (x7))
9645 : {
9646 : case SIGN_EXTEND:
9647 : switch (pattern767 (x2,
9648 : SIGN_EXTEND))
9649 : {
9650 : case 0:
9651 : if (!
9652 : #line 11517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9653 : (TARGET_64BIT
9654 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9655 : return -1;
9656 : *pnum_clobbers = 2;
9657 : return 661; /* *smuldi3_highpart_1 */
9658 :
9659 : case 1:
9660 : if (!
9661 : #line 11566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9662 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9663 : return -1;
9664 : *pnum_clobbers = 2;
9665 : return 665; /* *smulsi3_highpart_1 */
9666 :
9667 : default:
9668 : return -1;
9669 : }
9670 :
9671 : case ZERO_EXTEND:
9672 : switch (pattern767 (x2,
9673 : ZERO_EXTEND))
9674 : {
9675 : case 0:
9676 : if (!
9677 : #line 11517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9678 : (TARGET_64BIT
9679 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
9680 : return -1;
9681 : *pnum_clobbers = 2;
9682 : return 662; /* *umuldi3_highpart_1 */
9683 :
9684 : case 1:
9685 : if (!
9686 : #line 11566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9687 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
9688 : return -1;
9689 : *pnum_clobbers = 2;
9690 : return 666; /* *umulsi3_highpart_1 */
9691 :
9692 : default:
9693 : return -1;
9694 : }
9695 :
9696 : default:
9697 : return -1;
9698 : }
9699 : }
9700 :
9701 : int
9702 : recog_95 (rtx x1 ATTRIBUTE_UNUSED,
9703 : rtx_insn *insn ATTRIBUTE_UNUSED,
9704 : int *pnum_clobbers ATTRIBUTE_UNUSED)
9705 : {
9706 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
9707 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
9708 : rtx x10, x11, x12, x13;
9709 : int res ATTRIBUTE_UNUSED;
9710 : x2 = XEXP (x1, 0);
9711 : operands[0] = x2;
9712 : x3 = XEXP (x1, 1);
9713 : x4 = XEXP (x3, 0);
9714 : switch (GET_CODE (x4))
9715 : {
9716 : case REG:
9717 : case SUBREG:
9718 : case MEM:
9719 : operands[1] = x4;
9720 : res = recog_94 (x1, insn, pnum_clobbers);
9721 : if (res >= 0)
9722 : return res;
9723 : if (pnum_clobbers == NULL
9724 : || GET_CODE (x4) != SUBREG
9725 : || maybe_ne (SUBREG_BYTE (x4), 0)
9726 : || GET_MODE (x4) != E_DImode)
9727 : return -1;
9728 : x5 = XEXP (x3, 1);
9729 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 63]
9730 : || !register_operand (operands[0], E_DImode)
9731 : || GET_MODE (x3) != E_DImode)
9732 : return -1;
9733 : x6 = XEXP (x4, 0);
9734 : if (GET_MODE (x6) != E_SImode)
9735 : return -1;
9736 : switch (GET_CODE (x6))
9737 : {
9738 : case CTZ:
9739 : x7 = XEXP (x6, 0);
9740 : operands[1] = x7;
9741 : if (!nonimmediate_operand (operands[1], E_SImode)
9742 : || !
9743 : #line 21489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9744 : (TARGET_BMI && TARGET_64BIT))
9745 : return -1;
9746 : *pnum_clobbers = 1;
9747 : return 1550; /* *ctzsi2_zext */
9748 :
9749 : case CLZ:
9750 : x7 = XEXP (x6, 0);
9751 : operands[1] = x7;
9752 : if (!nonimmediate_operand (operands[1], E_SImode)
9753 : || !
9754 : #line 21929 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9755 : (TARGET_LZCNT && TARGET_64BIT))
9756 : return -1;
9757 : *pnum_clobbers = 1;
9758 : return 1574; /* *clzsi2_lzcnt_zext */
9759 :
9760 : case POPCOUNT:
9761 : x7 = XEXP (x6, 0);
9762 : operands[1] = x7;
9763 : if (!nonimmediate_operand (operands[1], E_SImode)
9764 : || !
9765 : #line 22754 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9766 : (TARGET_POPCNT && TARGET_64BIT))
9767 : return -1;
9768 : *pnum_clobbers = 1;
9769 : return 1666; /* *popcountsi2_zext */
9770 :
9771 : default:
9772 : return -1;
9773 : }
9774 :
9775 : case NOT:
9776 : if (pnum_clobbers == NULL)
9777 : return -1;
9778 : x6 = XEXP (x4, 0);
9779 : switch (GET_CODE (x6))
9780 : {
9781 : case REG:
9782 : case SUBREG:
9783 : operands[1] = x6;
9784 : x5 = XEXP (x3, 1);
9785 : operands[2] = x5;
9786 : switch (GET_MODE (operands[0]))
9787 : {
9788 : case E_DImode:
9789 : if (pattern745 (x3,
9790 : E_DImode) != 0)
9791 : return -1;
9792 : if ((
9793 : #line 13632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9794 : (TARGET_BMI) &&
9795 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9796 : (!TARGET_64BIT)))
9797 : {
9798 : *pnum_clobbers = 1;
9799 : return 837; /* *andndi3_doubleword_bmi */
9800 : }
9801 : if ((
9802 : #line 13650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9803 : (!TARGET_BMI
9804 : && ix86_pre_reload_split ()) &&
9805 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9806 : (!TARGET_64BIT)))
9807 : {
9808 : *pnum_clobbers = 1;
9809 : return 839; /* *andndi3_doubleword */
9810 : }
9811 : if (!(
9812 : #line 13666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9813 : (TARGET_BMI || TARGET_AVX512BW) &&
9814 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9815 : (TARGET_64BIT)))
9816 : return -1;
9817 : *pnum_clobbers = 1;
9818 : return 842; /* *andndi_1 */
9819 :
9820 : case E_SImode:
9821 : if (pattern745 (x3,
9822 : E_SImode) != 0
9823 : || !
9824 : #line 13666 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9825 : (TARGET_BMI || TARGET_AVX512BW))
9826 : return -1;
9827 : *pnum_clobbers = 1;
9828 : return 841; /* *andnsi_1 */
9829 :
9830 : default:
9831 : return -1;
9832 : }
9833 :
9834 : case LSHIFTRT:
9835 : x5 = XEXP (x3, 1);
9836 : if (x5 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
9837 : return -1;
9838 : x7 = XEXP (x6, 0);
9839 : operands[1] = x7;
9840 : x8 = XEXP (x6, 1);
9841 : operands[2] = x8;
9842 : if (!register_operand (operands[2], E_QImode))
9843 : return -1;
9844 : switch (GET_MODE (operands[0]))
9845 : {
9846 : case E_SImode:
9847 : if (pattern1102 (x3,
9848 : E_SImode) != 0
9849 : || !
9850 : #line 19722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9851 : (TARGET_USE_BT && ix86_pre_reload_split ()))
9852 : return -1;
9853 : *pnum_clobbers = 1;
9854 : return 1470; /* *btsi_setncsi */
9855 :
9856 : case E_DImode:
9857 : if (pattern1102 (x3,
9858 : E_DImode) != 0
9859 : || !(
9860 : #line 19722 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9861 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
9862 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9863 : (TARGET_64BIT)))
9864 : return -1;
9865 : *pnum_clobbers = 1;
9866 : return 1471; /* *btdi_setncdi */
9867 :
9868 : default:
9869 : return -1;
9870 : }
9871 :
9872 : case ASHIFT:
9873 : x7 = XEXP (x6, 0);
9874 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
9875 : return -1;
9876 : switch (pattern632 (x3))
9877 : {
9878 : case 0:
9879 : if (!
9880 : #line 22456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9881 : (TARGET_BMI2))
9882 : return -1;
9883 : *pnum_clobbers = 1;
9884 : return 1630; /* *bmi2_bzhi_si3_3 */
9885 :
9886 : case 1:
9887 : if (!(
9888 : #line 22456 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9889 : (TARGET_BMI2) &&
9890 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9891 : (TARGET_64BIT)))
9892 : return -1;
9893 : *pnum_clobbers = 1;
9894 : return 1631; /* *bmi2_bzhi_di3_3 */
9895 :
9896 : default:
9897 : return -1;
9898 : }
9899 :
9900 : default:
9901 : return -1;
9902 : }
9903 :
9904 : case ROTATE:
9905 : if (pnum_clobbers == NULL)
9906 : return -1;
9907 : x6 = XEXP (x4, 0);
9908 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
9909 : return -1;
9910 : switch (pattern286 (x3))
9911 : {
9912 : case 0:
9913 : x9 = XEXP (x4, 1);
9914 : operands[2] = x9;
9915 : if (register_operand (operands[2], E_QImode))
9916 : {
9917 : switch (pattern759 (x3))
9918 : {
9919 : case 0:
9920 : if (
9921 : #line 19233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9922 : (TARGET_USE_BT))
9923 : {
9924 : *pnum_clobbers = 1;
9925 : return 1435; /* *btrsi */
9926 : }
9927 : break;
9928 :
9929 : case 1:
9930 : if ((
9931 : #line 19233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9932 : (TARGET_USE_BT) &&
9933 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9934 : (TARGET_64BIT)))
9935 : {
9936 : *pnum_clobbers = 1;
9937 : return 1436; /* *btrdi */
9938 : }
9939 : break;
9940 :
9941 : default:
9942 : break;
9943 : }
9944 : }
9945 : if (GET_CODE (x9) != SUBREG)
9946 : return -1;
9947 : switch (pattern768 (x3))
9948 : {
9949 : case 0:
9950 : if (!
9951 : #line 19252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9952 : (TARGET_USE_BT
9953 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
9954 : == GET_MODE_BITSIZE (SImode)-1
9955 : && ix86_pre_reload_split ()))
9956 : return -1;
9957 : *pnum_clobbers = 1;
9958 : return 1437; /* *btrsi_mask */
9959 :
9960 : case 1:
9961 : if (!(
9962 : #line 19252 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9963 : (TARGET_USE_BT
9964 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
9965 : == GET_MODE_BITSIZE (DImode)-1
9966 : && ix86_pre_reload_split ()) &&
9967 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9968 : (TARGET_64BIT)))
9969 : return -1;
9970 : *pnum_clobbers = 1;
9971 : return 1438; /* *btrdi_mask */
9972 :
9973 : default:
9974 : return -1;
9975 : }
9976 :
9977 : case 1:
9978 : if (!
9979 : #line 19280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9980 : (TARGET_USE_BT
9981 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (SImode)-1))
9982 : == GET_MODE_BITSIZE (SImode)-1
9983 : && ix86_pre_reload_split ()))
9984 : return -1;
9985 : *pnum_clobbers = 1;
9986 : return 1439; /* *btrsi_mask_1 */
9987 :
9988 : case 2:
9989 : if (!(
9990 : #line 19280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9991 : (TARGET_USE_BT
9992 : && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (DImode)-1))
9993 : == GET_MODE_BITSIZE (DImode)-1
9994 : && ix86_pre_reload_split ()) &&
9995 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
9996 : (TARGET_64BIT)))
9997 : return -1;
9998 : *pnum_clobbers = 1;
9999 : return 1440; /* *btrdi_mask_1 */
10000 :
10001 : default:
10002 : return -1;
10003 : }
10004 :
10005 : case NEG:
10006 : if (pnum_clobbers == NULL)
10007 : return -1;
10008 : x6 = XEXP (x4, 0);
10009 : operands[1] = x6;
10010 : x5 = XEXP (x3, 1);
10011 : if (!rtx_equal_p (x5, operands[1]))
10012 : return -1;
10013 : switch (GET_MODE (operands[0]))
10014 : {
10015 : case E_SImode:
10016 : if (pattern762 (x3,
10017 : E_SImode) != 0
10018 : || !
10019 : #line 22133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10020 : (TARGET_BMI))
10021 : return -1;
10022 : *pnum_clobbers = 1;
10023 : return 1604; /* *bmi_blsi_si */
10024 :
10025 : case E_DImode:
10026 : if (pattern762 (x3,
10027 : E_DImode) != 0
10028 : || !(
10029 : #line 22133 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10030 : (TARGET_BMI) &&
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 1605; /* *bmi_blsi_di */
10036 :
10037 : default:
10038 : return -1;
10039 : }
10040 :
10041 : case PLUS:
10042 : if (pnum_clobbers == NULL)
10043 : return -1;
10044 : x9 = XEXP (x4, 1);
10045 : if (GET_CODE (x9) != CONST_INT)
10046 : return -1;
10047 : x6 = XEXP (x4, 0);
10048 : switch (GET_CODE (x6))
10049 : {
10050 : case REG:
10051 : case SUBREG:
10052 : case MEM:
10053 : operands[1] = x6;
10054 : switch (XWINT (x9, 0))
10055 : {
10056 : case -1L:
10057 : switch (pattern764 (x3))
10058 : {
10059 : case 0:
10060 : if (!
10061 : #line 22278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10062 : (TARGET_BMI))
10063 : return -1;
10064 : *pnum_clobbers = 1;
10065 : return 1616; /* *bmi_blsr_si */
10066 :
10067 : case 1:
10068 : if (!(
10069 : #line 22278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10070 : (TARGET_BMI) &&
10071 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10072 : (TARGET_64BIT)))
10073 : return -1;
10074 : *pnum_clobbers = 1;
10075 : return 1617; /* *bmi_blsr_di */
10076 :
10077 : case 2:
10078 : if (!
10079 : #line 22649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10080 : (TARGET_TBM))
10081 : return -1;
10082 : *pnum_clobbers = 1;
10083 : return 1656; /* *tbm_tzmsk_si */
10084 :
10085 : case 3:
10086 : if (!(
10087 : #line 22649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10088 : (TARGET_TBM) &&
10089 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10090 : (TARGET_64BIT)))
10091 : return -1;
10092 : *pnum_clobbers = 1;
10093 : return 1657; /* *tbm_tzmsk_di */
10094 :
10095 : default:
10096 : return -1;
10097 : }
10098 :
10099 : case 1L:
10100 : switch (pattern764 (x3))
10101 : {
10102 : case 0:
10103 : if (!
10104 : #line 22540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10105 : (TARGET_TBM))
10106 : return -1;
10107 : *pnum_clobbers = 1;
10108 : return 1640; /* *tbm_blcfill_si */
10109 :
10110 : case 1:
10111 : if (!(
10112 : #line 22540 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10113 : (TARGET_TBM) &&
10114 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10115 : (TARGET_64BIT)))
10116 : return -1;
10117 : *pnum_clobbers = 1;
10118 : return 1641; /* *tbm_blcfill_di */
10119 :
10120 : case 2:
10121 : if (!
10122 : #line 22568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10123 : (TARGET_TBM))
10124 : return -1;
10125 : *pnum_clobbers = 1;
10126 : return 1644; /* *tbm_blcic_si */
10127 :
10128 : case 3:
10129 : if (!(
10130 : #line 22568 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10131 : (TARGET_TBM) &&
10132 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10133 : (TARGET_64BIT)))
10134 : return -1;
10135 : *pnum_clobbers = 1;
10136 : return 1645; /* *tbm_blcic_di */
10137 :
10138 : default:
10139 : return -1;
10140 : }
10141 :
10142 : default:
10143 : return -1;
10144 : }
10145 :
10146 : case ASHIFT:
10147 : x7 = XEXP (x6, 0);
10148 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
10149 : || XWINT (x9, 0) != -1L)
10150 : return -1;
10151 : switch (pattern632 (x3))
10152 : {
10153 : case 0:
10154 : if (!
10155 : #line 22442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10156 : (TARGET_BMI2))
10157 : return -1;
10158 : *pnum_clobbers = 1;
10159 : return 1628; /* *bmi2_bzhi_si3_2 */
10160 :
10161 : case 1:
10162 : if (!(
10163 : #line 22442 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10164 : (TARGET_BMI2) &&
10165 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10166 : (TARGET_64BIT)))
10167 : return -1;
10168 : *pnum_clobbers = 1;
10169 : return 1629; /* *bmi2_bzhi_di3_2 */
10170 :
10171 : default:
10172 : return -1;
10173 : }
10174 :
10175 : default:
10176 : return -1;
10177 : }
10178 :
10179 : case ZERO_EXTEND:
10180 : if (pnum_clobbers == NULL
10181 : || GET_MODE (x4) != E_DImode)
10182 : return -1;
10183 : x6 = XEXP (x4, 0);
10184 : if (GET_CODE (x6) != PLUS
10185 : || pattern441 (x6) != 0)
10186 : return -1;
10187 : x8 = XEXP (x6, 1);
10188 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -1]
10189 : || !register_operand (operands[0], E_DImode)
10190 : || GET_MODE (x3) != E_DImode)
10191 : return -1;
10192 : x7 = XEXP (x6, 0);
10193 : x10 = XEXP (x7, 1);
10194 : operands[2] = x10;
10195 : if (!register_operand (operands[2], E_QImode))
10196 : return -1;
10197 : x5 = XEXP (x3, 1);
10198 : operands[1] = x5;
10199 : if (!nonimmediate_operand (operands[1], E_DImode)
10200 : || !
10201 : #line 22488 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
10202 : (TARGET_64BIT && TARGET_BMI2))
10203 : return -1;
10204 : *pnum_clobbers = 1;
10205 : return 1633; /* *bmi2_bzhi_zero_extendsidi_5 */
10206 :
10207 : case UNSPEC:
10208 : switch (XVECLEN (x4, 0))
10209 : {
10210 : case 3:
10211 : x11 = XVECEXP (x4, 0, 2);
10212 : if (GET_CODE (x11) != CONST_INT)
10213 : return -1;
10214 : x12 = XVECEXP (x4, 0, 0);
10215 : operands[1] = x12;
10216 : x13 = XVECEXP (x4, 0, 1);
10217 : operands[2] = x13;
10218 : switch (XINT (x4, 1))
10219 : {
10220 : case 60:
10221 : operands[3] = x11;
10222 : x5 = XEXP (x3, 1);
10223 : operands[4] = x5;
10224 : switch (GET_MODE (operands[0]))
10225 : {
10226 : case E_SImode:
10227 : if (pattern1085 (x3,
10228 : E_SImode) == 0)
10229 : {
10230 : switch (GET_MODE (operands[1]))
10231 : {
10232 : case E_V32HFmode:
10233 : if (register_operand (operands[1], E_V32HFmode)
10234 : && nonimmediate_operand (operands[2], E_V32HFmode)
10235 : && const_0_to_31_operand (operands[3], E_SImode)
10236 : && (
10237 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10238 : (TARGET_AVX512F) && (
10239 : #line 4621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10240 : (TARGET_AVX512F && 1) &&
10241 : #line 320 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10242 : (TARGET_AVX512FP16))))
10243 : return 3340; /* avx512bw_cmpv32hf3_mask */
10244 : break;
10245 :
10246 : case E_V32QImode:
10247 : if (register_operand (operands[1], E_V32QImode)
10248 : && nonimmediate_operand (operands[2], E_V32QImode)
10249 : && const_0_to_7_operand (operands[3], E_SImode)
10250 : && (
10251 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10252 : (TARGET_AVX512F) && (
10253 : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10254 : (TARGET_AVX512BW) &&
10255 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10256 : (TARGET_AVX512VL))))
10257 : return 3487; /* avx512vl_cmpv32qi3_mask */
10258 : break;
10259 :
10260 : case E_V32HImode:
10261 : if (register_operand (operands[1], E_V32HImode)
10262 : && nonimmediate_operand (operands[2], E_V32HImode)
10263 : && const_0_to_7_operand (operands[3], E_SImode)
10264 : && (
10265 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10266 : (TARGET_AVX512F) &&
10267 : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10268 : (TARGET_AVX512BW)))
10269 : return 3489; /* avx512bw_cmpv32hi3_mask */
10270 : break;
10271 :
10272 : case E_V32BFmode:
10273 : if (register_operand (operands[1], E_V32BFmode)
10274 : && nonimmediate_operand (operands[2], E_V32BFmode)
10275 : && const_0_to_31_operand (operands[3], E_VOIDmode)
10276 : && (
10277 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10278 : (TARGET_AVX512F) &&
10279 : #line 33164 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10280 : (TARGET_AVX10_2)))
10281 : return 10799; /* avx10_2_cmpbf16_v32bf_mask */
10282 : break;
10283 :
10284 : default:
10285 : break;
10286 : }
10287 : }
10288 : break;
10289 :
10290 : case E_DImode:
10291 : if (pattern993 (x3) == 0
10292 : && register_operand (operands[4], E_DImode)
10293 : && (
10294 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10295 : (TARGET_AVX512F) &&
10296 : #line 4815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10297 : (TARGET_AVX512BW)))
10298 : return 3483; /* avx512bw_cmpv64qi3_mask */
10299 : break;
10300 :
10301 : default:
10302 : break;
10303 : }
10304 : if (XWINT (x11, 0) != 0L)
10305 : return -1;
10306 : switch (pattern991 (x3))
10307 : {
10308 : case 0:
10309 : if (!(
10310 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10311 : (TARGET_AVX512F) &&
10312 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10313 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10314 : return -1;
10315 : return 3567; /* *avx512bw_eqv64qi3_mask_1 */
10316 :
10317 : case 1:
10318 : if (!(
10319 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10320 : (TARGET_AVX512F) && (
10321 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10322 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
10323 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10324 : (TARGET_AVX512VL))))
10325 : return -1;
10326 : return 3575; /* *avx512vl_eqv32qi3_mask_1 */
10327 :
10328 : case 2:
10329 : if (!(
10330 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10331 : (TARGET_AVX512F) &&
10332 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10333 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10334 : return -1;
10335 : return 3579; /* *avx512bw_eqv32hi3_mask_1 */
10336 :
10337 : default:
10338 : return -1;
10339 : }
10340 :
10341 : case 158:
10342 : if (XWINT (x11, 0) == 0L)
10343 : {
10344 : switch (pattern991 (x3))
10345 : {
10346 : case 0:
10347 : if ((
10348 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10349 : (TARGET_AVX512F) &&
10350 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10351 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10352 : return 3569; /* *avx512bw_eqv64qi3_mask_1 */
10353 : break;
10354 :
10355 : case 1:
10356 : if ((
10357 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10358 : (TARGET_AVX512F) && (
10359 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10360 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
10361 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10362 : (TARGET_AVX512VL))))
10363 : return 3577; /* *avx512vl_eqv32qi3_mask_1 */
10364 : break;
10365 :
10366 : case 2:
10367 : if ((
10368 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10369 : (TARGET_AVX512F) &&
10370 : #line 4935 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10371 : (TARGET_AVX512BW && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
10372 : return 3581; /* *avx512bw_eqv32hi3_mask_1 */
10373 : break;
10374 :
10375 : default:
10376 : break;
10377 : }
10378 : }
10379 : operands[3] = x11;
10380 : if (!const_0_to_7_operand (operands[3], E_SImode))
10381 : return -1;
10382 : x5 = XEXP (x3, 1);
10383 : operands[4] = x5;
10384 : switch (GET_MODE (operands[0]))
10385 : {
10386 : case E_DImode:
10387 : if (pattern1103 (x3,
10388 : E_V64QImode,
10389 : E_DImode) != 0
10390 : || !register_operand (operands[4], E_DImode)
10391 : || !(
10392 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10393 : (TARGET_AVX512F) &&
10394 : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10395 : (TARGET_AVX512BW)))
10396 : return -1;
10397 : return 3591; /* avx512bw_ucmpv64qi3_mask */
10398 :
10399 : case E_SImode:
10400 : if (pattern1085 (x3,
10401 : E_SImode) != 0)
10402 : return -1;
10403 : switch (pattern879 ())
10404 : {
10405 : case 0:
10406 : if (!(
10407 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10408 : (TARGET_AVX512F) && (
10409 : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10410 : (TARGET_AVX512BW) &&
10411 : #line 328 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10412 : (TARGET_AVX512VL))))
10413 : return -1;
10414 : return 3595; /* avx512vl_ucmpv32qi3_mask */
10415 :
10416 : case 1:
10417 : if (!(
10418 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10419 : (TARGET_AVX512F) &&
10420 : #line 4950 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10421 : (TARGET_AVX512BW)))
10422 : return -1;
10423 : return 3597; /* avx512bw_ucmpv32hi3_mask */
10424 :
10425 : default:
10426 : return -1;
10427 : }
10428 :
10429 : default:
10430 : return -1;
10431 : }
10432 :
10433 : default:
10434 : return -1;
10435 : }
10436 :
10437 : case 2:
10438 : x12 = XVECEXP (x4, 0, 0);
10439 : operands[1] = x12;
10440 : x13 = XVECEXP (x4, 0, 1);
10441 : operands[2] = x13;
10442 : x5 = XEXP (x3, 1);
10443 : operands[3] = x5;
10444 : switch (XINT (x4, 1))
10445 : {
10446 : case 159:
10447 : switch (pattern883 (x3))
10448 : {
10449 : case 0:
10450 : if (!(
10451 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10452 : (TARGET_AVX512F) && (
10453 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10454 : (TARGET_AVX512F) &&
10455 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10456 : (TARGET_AVX512BW))))
10457 : return -1;
10458 : return 8155; /* avx512bw_testmv64qi3_mask */
10459 :
10460 : case 1:
10461 : if (!(
10462 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10463 : (TARGET_AVX512F) && (
10464 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10465 : (TARGET_AVX512F) &&
10466 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10467 : (TARGET_AVX512VL && TARGET_AVX512BW))))
10468 : return -1;
10469 : return 8157; /* avx512vl_testmv32qi3_mask */
10470 :
10471 : case 2:
10472 : if (!(
10473 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10474 : (TARGET_AVX512F) && (
10475 : #line 19390 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10476 : (TARGET_AVX512F) &&
10477 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10478 : (TARGET_AVX512BW))))
10479 : return -1;
10480 : return 8161; /* avx512bw_testmv32hi3_mask */
10481 :
10482 : default:
10483 : return -1;
10484 : }
10485 :
10486 : case 160:
10487 : switch (pattern883 (x3))
10488 : {
10489 : case 0:
10490 : if (!(
10491 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10492 : (TARGET_AVX512F) && (
10493 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10494 : (TARGET_AVX512F) &&
10495 : #line 500 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10496 : (TARGET_AVX512BW))))
10497 : return -1;
10498 : return 8179; /* avx512bw_testnmv64qi3_mask */
10499 :
10500 : case 1:
10501 : if (!(
10502 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10503 : (TARGET_AVX512F) && (
10504 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10505 : (TARGET_AVX512F) &&
10506 : #line 501 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10507 : (TARGET_AVX512VL && TARGET_AVX512BW))))
10508 : return -1;
10509 : return 8181; /* avx512vl_testnmv32qi3_mask */
10510 :
10511 : case 2:
10512 : if (!(
10513 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10514 : (TARGET_AVX512F) && (
10515 : #line 19401 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10516 : (TARGET_AVX512F) &&
10517 : #line 503 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10518 : (TARGET_AVX512BW))))
10519 : return -1;
10520 : return 8185; /* avx512bw_testnmv32hi3_mask */
10521 :
10522 : default:
10523 : return -1;
10524 : }
10525 :
10526 : case 194:
10527 : if (GET_MODE (x4) != E_SImode
10528 : || !register_operand (operands[0], E_SImode)
10529 : || GET_MODE (x3) != E_SImode
10530 : || !vector_operand (operands[1], E_V32HFmode)
10531 : || !const_0_to_255_operand (operands[2], E_VOIDmode)
10532 : || !register_operand (operands[3], E_SImode)
10533 : || !(
10534 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10535 : (TARGET_AVX512F) && (
10536 : #line 30555 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10537 : (TARGET_AVX512DQ || VALID_AVX512FP16_REG_MODE(V32HFmode)) &&
10538 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10539 : (TARGET_AVX512FP16))))
10540 : return -1;
10541 : return 10057; /* avx512dq_fpclassv32hf_mask */
10542 :
10543 : case 215:
10544 : switch (GET_MODE (operands[0]))
10545 : {
10546 : case E_DImode:
10547 : if (pattern882 (x3,
10548 : E_DImode,
10549 : E_V64QImode) != 0
10550 : || !(
10551 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10552 : (TARGET_AVX512F) &&
10553 : #line 31638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10554 : (TARGET_AVX512BITALG)))
10555 : return -1;
10556 : return 10399; /* avx512vl_vpshufbitqmbv64qi_mask */
10557 :
10558 : case E_SImode:
10559 : if (pattern882 (x3,
10560 : E_SImode,
10561 : E_V32QImode) != 0
10562 : || !(
10563 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10564 : (TARGET_AVX512F) && (
10565 : #line 31638 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10566 : (TARGET_AVX512BITALG) &&
10567 : #line 338 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10568 : (TARGET_AVX512VL))))
10569 : return -1;
10570 : return 10403; /* avx512vl_vpshufbitqmbv32qi_mask */
10571 :
10572 : default:
10573 : return -1;
10574 : }
10575 :
10576 : case 263:
10577 : if (GET_MODE (x4) != E_SImode
10578 : || !register_operand (operands[0], E_SImode)
10579 : || GET_MODE (x3) != E_SImode
10580 : || !nonimmediate_operand (operands[1], E_V32BFmode)
10581 : || !const_0_to_255_operand (operands[2], E_VOIDmode)
10582 : || !register_operand (operands[3], E_SImode)
10583 : || !(
10584 : #line 122 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10585 : (TARGET_AVX512F) &&
10586 : #line 33153 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10587 : (TARGET_AVX10_2)))
10588 : return -1;
10589 : return 10793; /* avx10_2_fpclassbf16_v32bf_mask */
10590 :
10591 : default:
10592 : return -1;
10593 : }
10594 :
10595 : default:
10596 : return -1;
10597 : }
10598 :
10599 : default:
10600 : return -1;
10601 : }
10602 : }
10603 :
10604 : int
10605 : recog_129 (rtx x1 ATTRIBUTE_UNUSED,
10606 : rtx_insn *insn ATTRIBUTE_UNUSED,
10607 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10608 : {
10609 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10610 : rtx x2;
10611 : int res ATTRIBUTE_UNUSED;
10612 : x2 = XEXP (x1, 1);
10613 : switch (pattern641 (x2))
10614 : {
10615 : case 0:
10616 : if (pattern644 (x2,
10617 : E_V32HImode,
10618 : E_SImode,
10619 : E_V32HFmode) != 0
10620 : || !(
10621 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10622 : (TARGET_AVX512F) &&
10623 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10624 : (TARGET_AVX512FP16)))
10625 : return -1;
10626 : return 4448; /* avx512fp16_vcvtph2uw_v32hi_mask */
10627 :
10628 : case 1:
10629 : if (pattern142 (x2,
10630 : E_V16SImode,
10631 : E_HImode) != 0)
10632 : return -1;
10633 : switch (GET_MODE (operands[1]))
10634 : {
10635 : case E_V16HFmode:
10636 : if (!vector_operand (operands[1], E_V16HFmode)
10637 : || !(
10638 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10639 : (TARGET_AVX512F) &&
10640 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10641 : (TARGET_AVX512FP16)))
10642 : return -1;
10643 : return 4456; /* avx512fp16_vcvtph2udq_v16si_mask */
10644 :
10645 : case E_V16SFmode:
10646 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
10647 : || !
10648 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10649 : (TARGET_AVX512F))
10650 : return -1;
10651 : return 4884; /* avx512f_fixuns_notruncv16sfv16si_mask */
10652 :
10653 : default:
10654 : return -1;
10655 : }
10656 :
10657 : case 2:
10658 : switch (pattern1112 (x2,
10659 : E_V8DImode))
10660 : {
10661 : case 0:
10662 : if (!(
10663 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10664 : (TARGET_AVX512F) &&
10665 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10666 : (TARGET_AVX512FP16)))
10667 : return -1;
10668 : return 4464; /* avx512fp16_vcvtph2uqq_v8di_mask */
10669 :
10670 : case 1:
10671 : if (!(
10672 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10673 : (TARGET_AVX512F) &&
10674 : #line 9073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10675 : (TARGET_AVX512DQ && 1)))
10676 : return -1;
10677 : return 4904; /* avx512dq_cvtps2uqqv8di_mask */
10678 :
10679 : case 2:
10680 : if (!(
10681 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10682 : (TARGET_AVX512F) &&
10683 : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10684 : (TARGET_AVX512DQ && 1)))
10685 : return -1;
10686 : return 5130; /* fixuns_notruncv8dfv8di2_mask */
10687 :
10688 : default:
10689 : return -1;
10690 : }
10691 :
10692 : case 3:
10693 : if (pattern644 (x2,
10694 : E_V16HImode,
10695 : E_HImode,
10696 : E_V16HFmode) != 0
10697 : || !(
10698 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10699 : (TARGET_AVX512F) && (
10700 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10701 : (TARGET_AVX512FP16) &&
10702 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10703 : (TARGET_AVX512VL))))
10704 : return -1;
10705 : return 4472; /* avx512fp16_vcvtph2uw_v16hi_mask */
10706 :
10707 : case 4:
10708 : switch (pattern1112 (x2,
10709 : E_V8SImode))
10710 : {
10711 : case 0:
10712 : if (!(
10713 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10714 : (TARGET_AVX512F) && (
10715 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10716 : (TARGET_AVX512FP16) &&
10717 : #line 751 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10718 : (TARGET_AVX512VL))))
10719 : return -1;
10720 : return 4480; /* avx512fp16_vcvtph2udq_v8si_mask */
10721 :
10722 : case 1:
10723 : if (!(
10724 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10725 : (TARGET_AVX512F) && (
10726 : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10727 : (TARGET_AVX512F) &&
10728 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10729 : (TARGET_AVX512VL))))
10730 : return -1;
10731 : return 4888; /* avx512vl_fixuns_notruncv8sfv8si_mask */
10732 :
10733 : case 2:
10734 : if (!
10735 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10736 : (TARGET_AVX512F))
10737 : return -1;
10738 : return 5050; /* fixuns_notruncv8dfv8si2_mask */
10739 :
10740 : default:
10741 : return -1;
10742 : }
10743 :
10744 : case 5:
10745 : switch (pattern1113 (x2,
10746 : E_V4DImode))
10747 : {
10748 : case 0:
10749 : if (!(
10750 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10751 : (TARGET_AVX512F) && (
10752 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10753 : (TARGET_AVX512FP16) &&
10754 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10755 : (TARGET_AVX512VL))))
10756 : return -1;
10757 : return 4488; /* avx512fp16_vcvtph2uqq_v4di_mask */
10758 :
10759 : case 1:
10760 : if (!(
10761 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10762 : (TARGET_AVX512F) && (
10763 : #line 9073 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10764 : (TARGET_AVX512DQ && 1) &&
10765 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10766 : (TARGET_AVX512VL))))
10767 : return -1;
10768 : return 4907; /* avx512dq_cvtps2uqqv4di_mask */
10769 :
10770 : case 2:
10771 : if (!(
10772 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10773 : (TARGET_AVX512F) && (
10774 : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10775 : (TARGET_AVX512DQ && 1) &&
10776 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10777 : (TARGET_AVX512VL))))
10778 : return -1;
10779 : return 5133; /* fixuns_notruncv4dfv4di2_mask */
10780 :
10781 : default:
10782 : return -1;
10783 : }
10784 :
10785 : case 6:
10786 : if (pattern644 (x2,
10787 : E_V8HImode,
10788 : E_QImode,
10789 : E_V8HFmode) != 0
10790 : || !(
10791 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10792 : (TARGET_AVX512F) && (
10793 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10794 : (TARGET_AVX512FP16) &&
10795 : #line 752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10796 : (TARGET_AVX512VL))))
10797 : return -1;
10798 : return 4496; /* avx512fp16_vcvtph2uw_v8hi_mask */
10799 :
10800 : case 7:
10801 : switch (pattern1113 (x2,
10802 : E_V4SImode))
10803 : {
10804 : case 0:
10805 : if (!(
10806 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10807 : (TARGET_AVX512F) && (
10808 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10809 : (TARGET_AVX512FP16) &&
10810 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10811 : (TARGET_AVX512VL))))
10812 : return -1;
10813 : return 4504; /* avx512fp16_vcvtph2udq_v4si_mask */
10814 :
10815 : case 1:
10816 : if (!(
10817 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10818 : (TARGET_AVX512F) && (
10819 : #line 9040 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10820 : (TARGET_AVX512F) &&
10821 : #line 668 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10822 : (TARGET_AVX512VL))))
10823 : return -1;
10824 : return 4892; /* avx512vl_fixuns_notruncv4sfv4si_mask */
10825 :
10826 : case 2:
10827 : if (!(
10828 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10829 : (TARGET_AVX512F) && (
10830 : #line 9832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10831 : (TARGET_AVX512F) &&
10832 : #line 469 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10833 : (TARGET_AVX512VL))))
10834 : return -1;
10835 : return 5054; /* fixuns_notruncv4dfv4si2_mask */
10836 :
10837 : default:
10838 : return -1;
10839 : }
10840 :
10841 : case 8:
10842 : switch (pattern1114 (x2))
10843 : {
10844 : case 0:
10845 : if (!vector_operand (operands[1], E_V8HFmode)
10846 : || !(
10847 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10848 : (TARGET_AVX512F) && (
10849 : #line 7977 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10850 : (TARGET_AVX512FP16) &&
10851 : #line 753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10852 : (TARGET_AVX512VL))))
10853 : return -1;
10854 : return 4512; /* avx512fp16_vcvtph2uqq_v2di_mask */
10855 :
10856 : case 1:
10857 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
10858 : || !(
10859 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10860 : (TARGET_AVX512F) && (
10861 : #line 10051 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10862 : (TARGET_AVX512DQ && 1) &&
10863 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10864 : (TARGET_AVX512VL))))
10865 : return -1;
10866 : return 5135; /* fixuns_notruncv2dfv2di2_mask */
10867 :
10868 : default:
10869 : return -1;
10870 : }
10871 :
10872 : case 9:
10873 : if (!(
10874 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
10875 : (TARGET_AVX512F) &&
10876 : #line 9086 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10877 : (TARGET_AVX512DQ && TARGET_AVX512VL)))
10878 : return -1;
10879 : return 4909; /* avx512dq_cvtps2uqqv2di_mask */
10880 :
10881 : default:
10882 : return -1;
10883 : }
10884 : }
10885 :
10886 : int
10887 : recog_137 (rtx x1 ATTRIBUTE_UNUSED,
10888 : rtx_insn *insn ATTRIBUTE_UNUSED,
10889 : int *pnum_clobbers ATTRIBUTE_UNUSED)
10890 : {
10891 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
10892 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
10893 : int res ATTRIBUTE_UNUSED;
10894 : x2 = XEXP (x1, 1);
10895 : x3 = XEXP (x2, 0);
10896 : x4 = XVECEXP (x3, 0, 0);
10897 : operands[1] = x4;
10898 : x5 = XVECEXP (x3, 0, 1);
10899 : operands[2] = x5;
10900 : x6 = XVECEXP (x3, 0, 2);
10901 : switch (GET_CODE (x6))
10902 : {
10903 : case REG:
10904 : case SUBREG:
10905 : case MEM:
10906 : operands[3] = x6;
10907 : x7 = XEXP (x2, 1);
10908 : switch (GET_CODE (x7))
10909 : {
10910 : case CONST_INT:
10911 : case CONST_DOUBLE:
10912 : case CONST_VECTOR:
10913 : operands[4] = x7;
10914 : x8 = XEXP (x2, 2);
10915 : operands[5] = x8;
10916 : switch (GET_MODE (operands[0]))
10917 : {
10918 : case E_V32HFmode:
10919 : if (pattern1377 (x2,
10920 : E_V32HFmode,
10921 : E_SImode) != 0
10922 : || !(
10923 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10924 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
10925 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10926 : (TARGET_AVX512FP16)))
10927 : return -1;
10928 : return 4135; /* fma_fmaddsub_v32hf_maskz_1 */
10929 :
10930 : case E_V16HFmode:
10931 : if (pattern1377 (x2,
10932 : E_V16HFmode,
10933 : E_HImode) != 0
10934 : || !(
10935 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10936 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
10937 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10938 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10939 : return -1;
10940 : return 4139; /* fma_fmaddsub_v16hf_maskz_1 */
10941 :
10942 : case E_V8HFmode:
10943 : if (pattern1377 (x2,
10944 : E_V8HFmode,
10945 : E_QImode) != 0
10946 : || !(
10947 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10948 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
10949 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10950 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
10951 : return -1;
10952 : return 4141; /* fma_fmaddsub_v8hf_maskz_1 */
10953 :
10954 : case E_V16SFmode:
10955 : if (pattern1377 (x2,
10956 : E_V16SFmode,
10957 : E_HImode) != 0
10958 : || !
10959 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10960 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
10961 : return -1;
10962 : return 4143; /* fma_fmaddsub_v16sf_maskz_1 */
10963 :
10964 : case E_V8SFmode:
10965 : if (pattern1377 (x2,
10966 : E_V8SFmode,
10967 : E_QImode) != 0
10968 : || !(
10969 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10970 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
10971 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10972 : (TARGET_AVX512VL)))
10973 : return -1;
10974 : return 4147; /* fma_fmaddsub_v8sf_maskz_1 */
10975 :
10976 : case E_V4SFmode:
10977 : if (pattern1377 (x2,
10978 : E_V4SFmode,
10979 : E_QImode) != 0
10980 : || !(
10981 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10982 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
10983 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10984 : (TARGET_AVX512VL)))
10985 : return -1;
10986 : return 4149; /* fma_fmaddsub_v4sf_maskz_1 */
10987 :
10988 : case E_V8DFmode:
10989 : if (pattern1377 (x2,
10990 : E_V8DFmode,
10991 : E_QImode) != 0
10992 : || !
10993 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
10994 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
10995 : return -1;
10996 : return 4151; /* fma_fmaddsub_v8df_maskz_1 */
10997 :
10998 : case E_V4DFmode:
10999 : if (pattern1377 (x2,
11000 : E_V4DFmode,
11001 : E_QImode) != 0
11002 : || !(
11003 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11004 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11005 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11006 : (TARGET_AVX512VL)))
11007 : return -1;
11008 : return 4155; /* fma_fmaddsub_v4df_maskz_1 */
11009 :
11010 : case E_V2DFmode:
11011 : if (pattern1377 (x2,
11012 : E_V2DFmode,
11013 : E_QImode) != 0
11014 : || !(
11015 : #line 6768 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11016 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11017 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11018 : (TARGET_AVX512VL)))
11019 : return -1;
11020 : return 4157; /* fma_fmaddsub_v2df_maskz_1 */
11021 :
11022 : default:
11023 : return -1;
11024 : }
11025 :
11026 : case REG:
11027 : case SUBREG:
11028 : case MEM:
11029 : x8 = XEXP (x2, 2);
11030 : operands[4] = x8;
11031 : switch (GET_MODE (operands[0]))
11032 : {
11033 : case E_V32HFmode:
11034 : if (pattern1280 (x2,
11035 : E_V32HFmode,
11036 : E_SImode) != 0)
11037 : return -1;
11038 : if (register_operand (operands[1], E_V32HFmode)
11039 : && vector_operand (operands[3], E_V32HFmode)
11040 : && rtx_equal_p (x7, operands[1])
11041 : && (
11042 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11043 : (TARGET_AVX512F) &&
11044 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11045 : (TARGET_AVX512FP16)))
11046 : return 4158; /* avx512bw_fmaddsub_v32hf_mask */
11047 : if (!nonimmediate_operand (operands[1], E_V32HFmode)
11048 : || !nonimmediate_operand (operands[3], E_V32HFmode)
11049 : || !rtx_equal_p (x7, operands[3])
11050 : || !(
11051 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11052 : (TARGET_AVX512F) &&
11053 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11054 : (TARGET_AVX512FP16)))
11055 : return -1;
11056 : return 4176; /* avx512bw_fmaddsub_v32hf_mask3 */
11057 :
11058 : case E_V16HFmode:
11059 : if (pattern1280 (x2,
11060 : E_V16HFmode,
11061 : E_HImode) != 0)
11062 : return -1;
11063 : if (register_operand (operands[1], E_V16HFmode)
11064 : && vector_operand (operands[3], E_V16HFmode)
11065 : && rtx_equal_p (x7, operands[1])
11066 : && (
11067 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11068 : (TARGET_AVX512F) &&
11069 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11070 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11071 : return 4160; /* avx512vl_fmaddsub_v16hf_mask */
11072 : if (!nonimmediate_operand (operands[1], E_V16HFmode)
11073 : || !nonimmediate_operand (operands[3], E_V16HFmode)
11074 : || !rtx_equal_p (x7, operands[3])
11075 : || !(
11076 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11077 : (TARGET_AVX512F) &&
11078 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11079 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11080 : return -1;
11081 : return 4178; /* avx512vl_fmaddsub_v16hf_mask3 */
11082 :
11083 : case E_V8HFmode:
11084 : if (pattern1280 (x2,
11085 : E_V8HFmode,
11086 : E_QImode) != 0)
11087 : return -1;
11088 : if (register_operand (operands[1], E_V8HFmode)
11089 : && vector_operand (operands[3], E_V8HFmode)
11090 : && rtx_equal_p (x7, operands[1])
11091 : && (
11092 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11093 : (TARGET_AVX512F) &&
11094 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11095 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11096 : return 4162; /* avx512fp16_fmaddsub_v8hf_mask */
11097 : if (!nonimmediate_operand (operands[1], E_V8HFmode)
11098 : || !nonimmediate_operand (operands[3], E_V8HFmode)
11099 : || !rtx_equal_p (x7, operands[3])
11100 : || !(
11101 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11102 : (TARGET_AVX512F) &&
11103 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11104 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11105 : return -1;
11106 : return 4180; /* avx512fp16_fmaddsub_v8hf_mask3 */
11107 :
11108 : case E_V16SFmode:
11109 : if (pattern1280 (x2,
11110 : E_V16SFmode,
11111 : E_HImode) != 0)
11112 : return -1;
11113 : if (register_operand (operands[1], E_V16SFmode)
11114 : && vector_operand (operands[3], E_V16SFmode)
11115 : && rtx_equal_p (x7, operands[1])
11116 : &&
11117 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11118 : (TARGET_AVX512F))
11119 : return 4164; /* avx512f_fmaddsub_v16sf_mask */
11120 : if (!nonimmediate_operand (operands[1], E_V16SFmode)
11121 : || !nonimmediate_operand (operands[3], E_V16SFmode)
11122 : || !rtx_equal_p (x7, operands[3])
11123 : || !
11124 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11125 : (TARGET_AVX512F))
11126 : return -1;
11127 : return 4182; /* avx512f_fmaddsub_v16sf_mask3 */
11128 :
11129 : case E_V8SFmode:
11130 : if (pattern1280 (x2,
11131 : E_V8SFmode,
11132 : E_QImode) != 0)
11133 : return -1;
11134 : if (register_operand (operands[1], E_V8SFmode)
11135 : && vector_operand (operands[3], E_V8SFmode)
11136 : && rtx_equal_p (x7, operands[1])
11137 : && (
11138 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11139 : (TARGET_AVX512F) &&
11140 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11141 : (TARGET_AVX512VL)))
11142 : return 4166; /* avx512vl_fmaddsub_v8sf_mask */
11143 : if (!nonimmediate_operand (operands[1], E_V8SFmode)
11144 : || !nonimmediate_operand (operands[3], E_V8SFmode)
11145 : || !rtx_equal_p (x7, operands[3])
11146 : || !(
11147 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11148 : (TARGET_AVX512F) &&
11149 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11150 : (TARGET_AVX512VL)))
11151 : return -1;
11152 : return 4184; /* avx512vl_fmaddsub_v8sf_mask3 */
11153 :
11154 : case E_V4SFmode:
11155 : if (pattern1280 (x2,
11156 : E_V4SFmode,
11157 : E_QImode) != 0)
11158 : return -1;
11159 : if (register_operand (operands[1], E_V4SFmode)
11160 : && vector_operand (operands[3], E_V4SFmode)
11161 : && rtx_equal_p (x7, operands[1])
11162 : && (
11163 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11164 : (TARGET_AVX512F) &&
11165 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11166 : (TARGET_AVX512VL)))
11167 : return 4168; /* avx512vl_fmaddsub_v4sf_mask */
11168 : if (!nonimmediate_operand (operands[1], E_V4SFmode)
11169 : || !nonimmediate_operand (operands[3], E_V4SFmode)
11170 : || !rtx_equal_p (x7, operands[3])
11171 : || !(
11172 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11173 : (TARGET_AVX512F) &&
11174 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11175 : (TARGET_AVX512VL)))
11176 : return -1;
11177 : return 4186; /* avx512vl_fmaddsub_v4sf_mask3 */
11178 :
11179 : case E_V8DFmode:
11180 : if (pattern1280 (x2,
11181 : E_V8DFmode,
11182 : E_QImode) != 0)
11183 : return -1;
11184 : if (register_operand (operands[1], E_V8DFmode)
11185 : && vector_operand (operands[3], E_V8DFmode)
11186 : && rtx_equal_p (x7, operands[1])
11187 : &&
11188 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11189 : (TARGET_AVX512F))
11190 : return 4170; /* avx512f_fmaddsub_v8df_mask */
11191 : if (!nonimmediate_operand (operands[1], E_V8DFmode)
11192 : || !nonimmediate_operand (operands[3], E_V8DFmode)
11193 : || !rtx_equal_p (x7, operands[3])
11194 : || !
11195 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11196 : (TARGET_AVX512F))
11197 : return -1;
11198 : return 4188; /* avx512f_fmaddsub_v8df_mask3 */
11199 :
11200 : case E_V4DFmode:
11201 : if (pattern1280 (x2,
11202 : E_V4DFmode,
11203 : E_QImode) != 0)
11204 : return -1;
11205 : if (register_operand (operands[1], E_V4DFmode)
11206 : && vector_operand (operands[3], E_V4DFmode)
11207 : && rtx_equal_p (x7, operands[1])
11208 : && (
11209 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11210 : (TARGET_AVX512F) &&
11211 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11212 : (TARGET_AVX512VL)))
11213 : return 4172; /* avx512vl_fmaddsub_v4df_mask */
11214 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
11215 : || !nonimmediate_operand (operands[3], E_V4DFmode)
11216 : || !rtx_equal_p (x7, operands[3])
11217 : || !(
11218 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11219 : (TARGET_AVX512F) &&
11220 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11221 : (TARGET_AVX512VL)))
11222 : return -1;
11223 : return 4190; /* avx512vl_fmaddsub_v4df_mask3 */
11224 :
11225 : case E_V2DFmode:
11226 : if (pattern1280 (x2,
11227 : E_V2DFmode,
11228 : E_QImode) != 0)
11229 : return -1;
11230 : if (register_operand (operands[1], E_V2DFmode)
11231 : && vector_operand (operands[3], E_V2DFmode)
11232 : && rtx_equal_p (x7, operands[1])
11233 : && (
11234 : #line 6787 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11235 : (TARGET_AVX512F) &&
11236 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11237 : (TARGET_AVX512VL)))
11238 : return 4174; /* avx512vl_fmaddsub_v2df_mask */
11239 : if (!nonimmediate_operand (operands[1], E_V2DFmode)
11240 : || !nonimmediate_operand (operands[3], E_V2DFmode)
11241 : || !rtx_equal_p (x7, operands[3])
11242 : || !(
11243 : #line 6805 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11244 : (TARGET_AVX512F) &&
11245 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11246 : (TARGET_AVX512VL)))
11247 : return -1;
11248 : return 4192; /* avx512vl_fmaddsub_v2df_mask3 */
11249 :
11250 : default:
11251 : return -1;
11252 : }
11253 :
11254 : default:
11255 : return -1;
11256 : }
11257 :
11258 : case NEG:
11259 : x9 = XEXP (x6, 0);
11260 : operands[3] = x9;
11261 : x7 = XEXP (x2, 1);
11262 : switch (GET_CODE (x7))
11263 : {
11264 : case CONST_INT:
11265 : case CONST_DOUBLE:
11266 : case CONST_VECTOR:
11267 : operands[4] = x7;
11268 : x8 = XEXP (x2, 2);
11269 : operands[5] = x8;
11270 : switch (GET_MODE (operands[0]))
11271 : {
11272 : case E_V32HFmode:
11273 : if (pattern1378 (x2,
11274 : E_V32HFmode,
11275 : E_SImode) != 0
11276 : || !(
11277 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11278 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
11279 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11280 : (TARGET_AVX512FP16)))
11281 : return -1;
11282 : return 4199; /* fma_fmsubadd_v32hf_maskz_1 */
11283 :
11284 : case E_V16HFmode:
11285 : if (pattern1378 (x2,
11286 : E_V16HFmode,
11287 : E_HImode) != 0
11288 : || !(
11289 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11290 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11291 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11292 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11293 : return -1;
11294 : return 4203; /* fma_fmsubadd_v16hf_maskz_1 */
11295 :
11296 : case E_V8HFmode:
11297 : if (pattern1378 (x2,
11298 : E_V8HFmode,
11299 : E_QImode) != 0
11300 : || !(
11301 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11302 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11303 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11304 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11305 : return -1;
11306 : return 4205; /* fma_fmsubadd_v8hf_maskz_1 */
11307 :
11308 : case E_V16SFmode:
11309 : if (pattern1378 (x2,
11310 : E_V16SFmode,
11311 : E_HImode) != 0
11312 : || !
11313 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11314 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11315 : return -1;
11316 : return 4207; /* fma_fmsubadd_v16sf_maskz_1 */
11317 :
11318 : case E_V8SFmode:
11319 : if (pattern1378 (x2,
11320 : E_V8SFmode,
11321 : E_QImode) != 0
11322 : || !(
11323 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11324 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11325 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11326 : (TARGET_AVX512VL)))
11327 : return -1;
11328 : return 4211; /* fma_fmsubadd_v8sf_maskz_1 */
11329 :
11330 : case E_V4SFmode:
11331 : if (pattern1378 (x2,
11332 : E_V4SFmode,
11333 : E_QImode) != 0
11334 : || !(
11335 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11336 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11337 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11338 : (TARGET_AVX512VL)))
11339 : return -1;
11340 : return 4213; /* fma_fmsubadd_v4sf_maskz_1 */
11341 :
11342 : case E_V8DFmode:
11343 : if (pattern1378 (x2,
11344 : E_V8DFmode,
11345 : E_QImode) != 0
11346 : || !
11347 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11348 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
11349 : return -1;
11350 : return 4215; /* fma_fmsubadd_v8df_maskz_1 */
11351 :
11352 : case E_V4DFmode:
11353 : if (pattern1378 (x2,
11354 : E_V4DFmode,
11355 : E_QImode) != 0
11356 : || !(
11357 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11358 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
11359 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11360 : (TARGET_AVX512VL)))
11361 : return -1;
11362 : return 4219; /* fma_fmsubadd_v4df_maskz_1 */
11363 :
11364 : case E_V2DFmode:
11365 : if (pattern1378 (x2,
11366 : E_V2DFmode,
11367 : E_QImode) != 0
11368 : || !(
11369 : #line 6838 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11370 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
11371 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11372 : (TARGET_AVX512VL)))
11373 : return -1;
11374 : return 4221; /* fma_fmsubadd_v2df_maskz_1 */
11375 :
11376 : default:
11377 : return -1;
11378 : }
11379 :
11380 : case REG:
11381 : case SUBREG:
11382 : case MEM:
11383 : x8 = XEXP (x2, 2);
11384 : operands[4] = x8;
11385 : switch (GET_MODE (operands[0]))
11386 : {
11387 : case E_V32HFmode:
11388 : if (pattern1281 (x2,
11389 : E_V32HFmode,
11390 : E_SImode) != 0)
11391 : return -1;
11392 : if (vector_operand (operands[3], E_V32HFmode)
11393 : && rtx_equal_p (x7, operands[1])
11394 : && (
11395 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11396 : (TARGET_AVX512F) &&
11397 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11398 : (TARGET_AVX512FP16)))
11399 : return 4222; /* avx512bw_fmsubadd_v32hf_mask */
11400 : if (!nonimmediate_operand (operands[3], E_V32HFmode)
11401 : || !rtx_equal_p (x7, operands[3])
11402 : || !(
11403 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11404 : (TARGET_AVX512F) &&
11405 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11406 : (TARGET_AVX512FP16)))
11407 : return -1;
11408 : return 4240; /* avx512bw_fmsubadd_v32hf_mask3 */
11409 :
11410 : case E_V16HFmode:
11411 : if (pattern1281 (x2,
11412 : E_V16HFmode,
11413 : E_HImode) != 0)
11414 : return -1;
11415 : if (vector_operand (operands[3], E_V16HFmode)
11416 : && rtx_equal_p (x7, operands[1])
11417 : && (
11418 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11419 : (TARGET_AVX512F) &&
11420 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11421 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11422 : return 4224; /* avx512vl_fmsubadd_v16hf_mask */
11423 : if (!nonimmediate_operand (operands[3], E_V16HFmode)
11424 : || !rtx_equal_p (x7, operands[3])
11425 : || !(
11426 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11427 : (TARGET_AVX512F) &&
11428 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11429 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11430 : return -1;
11431 : return 4242; /* avx512vl_fmsubadd_v16hf_mask3 */
11432 :
11433 : case E_V8HFmode:
11434 : if (pattern1281 (x2,
11435 : E_V8HFmode,
11436 : E_QImode) != 0)
11437 : return -1;
11438 : if (vector_operand (operands[3], E_V8HFmode)
11439 : && rtx_equal_p (x7, operands[1])
11440 : && (
11441 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11442 : (TARGET_AVX512F) &&
11443 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11444 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11445 : return 4226; /* avx512fp16_fmsubadd_v8hf_mask */
11446 : if (!nonimmediate_operand (operands[3], E_V8HFmode)
11447 : || !rtx_equal_p (x7, operands[3])
11448 : || !(
11449 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11450 : (TARGET_AVX512F) &&
11451 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11452 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
11453 : return -1;
11454 : return 4244; /* avx512fp16_fmsubadd_v8hf_mask3 */
11455 :
11456 : case E_V16SFmode:
11457 : if (pattern1281 (x2,
11458 : E_V16SFmode,
11459 : E_HImode) != 0)
11460 : return -1;
11461 : if (vector_operand (operands[3], E_V16SFmode)
11462 : && rtx_equal_p (x7, operands[1])
11463 : &&
11464 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11465 : (TARGET_AVX512F))
11466 : return 4228; /* avx512f_fmsubadd_v16sf_mask */
11467 : if (!nonimmediate_operand (operands[3], E_V16SFmode)
11468 : || !rtx_equal_p (x7, operands[3])
11469 : || !
11470 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11471 : (TARGET_AVX512F))
11472 : return -1;
11473 : return 4246; /* avx512f_fmsubadd_v16sf_mask3 */
11474 :
11475 : case E_V8SFmode:
11476 : if (pattern1281 (x2,
11477 : E_V8SFmode,
11478 : E_QImode) != 0)
11479 : return -1;
11480 : if (vector_operand (operands[3], E_V8SFmode)
11481 : && rtx_equal_p (x7, operands[1])
11482 : && (
11483 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11484 : (TARGET_AVX512F) &&
11485 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11486 : (TARGET_AVX512VL)))
11487 : return 4230; /* avx512vl_fmsubadd_v8sf_mask */
11488 : if (!nonimmediate_operand (operands[3], E_V8SFmode)
11489 : || !rtx_equal_p (x7, operands[3])
11490 : || !(
11491 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11492 : (TARGET_AVX512F) &&
11493 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11494 : (TARGET_AVX512VL)))
11495 : return -1;
11496 : return 4248; /* avx512vl_fmsubadd_v8sf_mask3 */
11497 :
11498 : case E_V4SFmode:
11499 : if (pattern1281 (x2,
11500 : E_V4SFmode,
11501 : E_QImode) != 0)
11502 : return -1;
11503 : if (vector_operand (operands[3], E_V4SFmode)
11504 : && rtx_equal_p (x7, operands[1])
11505 : && (
11506 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11507 : (TARGET_AVX512F) &&
11508 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11509 : (TARGET_AVX512VL)))
11510 : return 4232; /* avx512vl_fmsubadd_v4sf_mask */
11511 : if (!nonimmediate_operand (operands[3], E_V4SFmode)
11512 : || !rtx_equal_p (x7, operands[3])
11513 : || !(
11514 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11515 : (TARGET_AVX512F) &&
11516 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11517 : (TARGET_AVX512VL)))
11518 : return -1;
11519 : return 4250; /* avx512vl_fmsubadd_v4sf_mask3 */
11520 :
11521 : case E_V8DFmode:
11522 : if (pattern1281 (x2,
11523 : E_V8DFmode,
11524 : E_QImode) != 0)
11525 : return -1;
11526 : if (vector_operand (operands[3], E_V8DFmode)
11527 : && rtx_equal_p (x7, operands[1])
11528 : &&
11529 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11530 : (TARGET_AVX512F))
11531 : return 4234; /* avx512f_fmsubadd_v8df_mask */
11532 : if (!nonimmediate_operand (operands[3], E_V8DFmode)
11533 : || !rtx_equal_p (x7, operands[3])
11534 : || !
11535 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11536 : (TARGET_AVX512F))
11537 : return -1;
11538 : return 4252; /* avx512f_fmsubadd_v8df_mask3 */
11539 :
11540 : case E_V4DFmode:
11541 : if (pattern1281 (x2,
11542 : E_V4DFmode,
11543 : E_QImode) != 0)
11544 : return -1;
11545 : if (vector_operand (operands[3], E_V4DFmode)
11546 : && rtx_equal_p (x7, operands[1])
11547 : && (
11548 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11549 : (TARGET_AVX512F) &&
11550 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11551 : (TARGET_AVX512VL)))
11552 : return 4236; /* avx512vl_fmsubadd_v4df_mask */
11553 : if (!nonimmediate_operand (operands[3], E_V4DFmode)
11554 : || !rtx_equal_p (x7, operands[3])
11555 : || !(
11556 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11557 : (TARGET_AVX512F) &&
11558 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11559 : (TARGET_AVX512VL)))
11560 : return -1;
11561 : return 4254; /* avx512vl_fmsubadd_v4df_mask3 */
11562 :
11563 : case E_V2DFmode:
11564 : if (pattern1281 (x2,
11565 : E_V2DFmode,
11566 : E_QImode) != 0)
11567 : return -1;
11568 : if (vector_operand (operands[3], E_V2DFmode)
11569 : && rtx_equal_p (x7, operands[1])
11570 : && (
11571 : #line 6858 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11572 : (TARGET_AVX512F) &&
11573 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11574 : (TARGET_AVX512VL)))
11575 : return 4238; /* avx512vl_fmsubadd_v2df_mask */
11576 : if (!nonimmediate_operand (operands[3], E_V2DFmode)
11577 : || !rtx_equal_p (x7, operands[3])
11578 : || !(
11579 : #line 6877 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11580 : (TARGET_AVX512F) &&
11581 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11582 : (TARGET_AVX512VL)))
11583 : return -1;
11584 : return 4256; /* avx512vl_fmsubadd_v2df_mask3 */
11585 :
11586 : default:
11587 : return -1;
11588 : }
11589 :
11590 : default:
11591 : return -1;
11592 : }
11593 :
11594 : default:
11595 : return -1;
11596 : }
11597 : }
11598 :
11599 : int
11600 : recog_161 (rtx x1 ATTRIBUTE_UNUSED,
11601 : rtx_insn *insn ATTRIBUTE_UNUSED,
11602 : int *pnum_clobbers ATTRIBUTE_UNUSED)
11603 : {
11604 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
11605 : rtx x2, x3, x4;
11606 : int res ATTRIBUTE_UNUSED;
11607 : switch (GET_CODE (operands[4]))
11608 : {
11609 : case REG:
11610 : case SUBREG:
11611 : case MEM:
11612 : x2 = XEXP (x1, 1);
11613 : switch (pattern1294 (x2))
11614 : {
11615 : case 0:
11616 : if ((
11617 : #line 4344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11618 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11619 : #line 425 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11620 : (TARGET_AVX)))
11621 : return 3282; /* *avx_cmpv8sf3_1 */
11622 : break;
11623 :
11624 : case 1:
11625 : if (
11626 : #line 4344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11627 : (TARGET_AVX512VL && ix86_pre_reload_split ()))
11628 : return 3283; /* *avx_cmpv4sf3_1 */
11629 : break;
11630 :
11631 : case 2:
11632 : if ((
11633 : #line 4344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11634 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11635 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11636 : (TARGET_AVX)))
11637 : return 3284; /* *avx_cmpv4df3_1 */
11638 : break;
11639 :
11640 : case 3:
11641 : if ((
11642 : #line 4344 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11643 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
11644 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11645 : (TARGET_SSE2)))
11646 : return 3285; /* *avx_cmpv2df3_1 */
11647 : break;
11648 :
11649 : default:
11650 : break;
11651 : }
11652 : break;
11653 :
11654 : case CONST_INT:
11655 : case CONST_DOUBLE:
11656 : case CONST_VECTOR:
11657 : x2 = XEXP (x1, 1);
11658 : x3 = XEXP (x2, 2);
11659 : x4 = XVECEXP (x3, 0, 2);
11660 : if (x4 == const_int_rtx[MAX_SAVED_CONST_INT + 1])
11661 : {
11662 : switch (GET_MODE (operands[0]))
11663 : {
11664 : case E_V32HImode:
11665 : if (pattern1481 (x2,
11666 : E_V32HImode,
11667 : E_SImode) == 0
11668 : && (
11669 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11670 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11671 : #line 756 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11672 : (TARGET_AVX512BW)))
11673 : return 7671; /* *avx512_ashrv32hi3_1 */
11674 : break;
11675 :
11676 : case E_V16HImode:
11677 : if (pattern1481 (x2,
11678 : E_V16HImode,
11679 : E_HImode) == 0
11680 : && (
11681 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11682 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11683 : #line 757 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11684 : (TARGET_AVX512VL && TARGET_AVX512BW)))
11685 : return 7672; /* *avx512_ashrv16hi3_1 */
11686 : break;
11687 :
11688 : case E_V8HImode:
11689 : if (pattern1481 (x2,
11690 : E_V8HImode,
11691 : E_QImode) == 0
11692 : && (
11693 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11694 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11695 : #line 758 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11696 : (TARGET_AVX512VL && TARGET_AVX512BW)))
11697 : return 7673; /* *avx512_ashrv8hi3_1 */
11698 : break;
11699 :
11700 : case E_V16SImode:
11701 : if (pattern1481 (x2,
11702 : E_V16SImode,
11703 : E_HImode) == 0
11704 : &&
11705 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11706 : (TARGET_AVX512F && ix86_pre_reload_split ()))
11707 : return 7674; /* *avx512_ashrv16si3_1 */
11708 : break;
11709 :
11710 : case E_V8SImode:
11711 : if (pattern1481 (x2,
11712 : E_V8SImode,
11713 : E_QImode) == 0
11714 : && (
11715 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11716 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11717 : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11718 : (TARGET_AVX512VL)))
11719 : return 7675; /* *avx512_ashrv8si3_1 */
11720 : break;
11721 :
11722 : case E_V4SImode:
11723 : if (pattern1481 (x2,
11724 : E_V4SImode,
11725 : E_QImode) == 0
11726 : && (
11727 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11728 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11729 : #line 759 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11730 : (TARGET_AVX512VL)))
11731 : return 7676; /* *avx512_ashrv4si3_1 */
11732 : break;
11733 :
11734 : case E_V8DImode:
11735 : if (pattern1481 (x2,
11736 : E_V8DImode,
11737 : E_QImode) == 0
11738 : &&
11739 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11740 : (TARGET_AVX512F && ix86_pre_reload_split ()))
11741 : return 7677; /* *avx512_ashrv8di3_1 */
11742 : break;
11743 :
11744 : case E_V4DImode:
11745 : if (pattern1481 (x2,
11746 : E_V4DImode,
11747 : E_QImode) == 0
11748 : && (
11749 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11750 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11751 : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11752 : (TARGET_AVX512VL)))
11753 : return 7678; /* *avx512_ashrv4di3_1 */
11754 : break;
11755 :
11756 : case E_V2DImode:
11757 : if (pattern1481 (x2,
11758 : E_V2DImode,
11759 : E_QImode) == 0
11760 : && (
11761 : #line 17482 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11762 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
11763 : #line 760 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11764 : (TARGET_AVX512VL)))
11765 : return 7679; /* *avx512_ashrv2di3_1 */
11766 : break;
11767 :
11768 : default:
11769 : break;
11770 : }
11771 : }
11772 : break;
11773 :
11774 : default:
11775 : break;
11776 : }
11777 : x2 = XEXP (x1, 1);
11778 : x3 = XEXP (x2, 2);
11779 : x4 = XVECEXP (x3, 0, 2);
11780 : operands[5] = x4;
11781 : switch (pattern1295 (x2))
11782 : {
11783 : case 0:
11784 : if (vector_all_ones_operand (operands[1], E_V16QImode)
11785 : && const0_operand (operands[2], E_V16QImode))
11786 : {
11787 : if (nonimm_or_0_operand (operands[3], E_V16QImode)
11788 : && nonimm_or_0_operand (operands[4], E_V16QImode)
11789 : &&
11790 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11791 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11792 : /* EQ is commutative. */
11793 : && ((INTVAL (operands[5]) == 0
11794 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11795 : /* NLE aka GT, 3 must be register. */
11796 : || (INTVAL (operands[5]) == 6
11797 : && !MEM_P (operands[3]))
11798 : /* LT, 4 must be register and we swap operands. */
11799 : || (INTVAL (operands[5]) == 1
11800 : && !MEM_P (operands[4])))))
11801 : return 7935; /* *avx2_pcmpv16qi3_1 */
11802 : if (nonimmediate_operand (operands[3], E_V16QImode)
11803 : && nonimmediate_operand (operands[4], E_V16QImode)
11804 : &&
11805 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11806 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11807 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11808 : return 7957; /* *avx2_pcmpv16qi3_6 */
11809 : }
11810 : if (!const0_operand (operands[1], E_V16QImode)
11811 : || !vector_all_ones_operand (operands[2], E_V16QImode)
11812 : || !nonimmediate_operand (operands[3], E_V16QImode)
11813 : || !nonimmediate_operand (operands[4], E_V16QImode)
11814 : || !
11815 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11816 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11817 : /* NE is commutative. */
11818 : && (INTVAL (operands[5]) == 4
11819 : /* LE, 3 must be register. */
11820 : || INTVAL (operands[5]) == 2
11821 : /* NLT aka GE, 4 must be register and we swap operands. */
11822 : || INTVAL (operands[5]) == 5)))
11823 : return -1;
11824 : return 7973; /* *avx2_pcmpv16qi3_7 */
11825 :
11826 : case 1:
11827 : if (vector_all_ones_operand (operands[1], E_V8HImode)
11828 : && const0_operand (operands[2], E_V8HImode))
11829 : {
11830 : if (nonimm_or_0_operand (operands[3], E_V8HImode)
11831 : && nonimm_or_0_operand (operands[4], E_V8HImode)
11832 : &&
11833 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11834 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11835 : /* EQ is commutative. */
11836 : && ((INTVAL (operands[5]) == 0
11837 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11838 : /* NLE aka GT, 3 must be register. */
11839 : || (INTVAL (operands[5]) == 6
11840 : && !MEM_P (operands[3]))
11841 : /* LT, 4 must be register and we swap operands. */
11842 : || (INTVAL (operands[5]) == 1
11843 : && !MEM_P (operands[4])))))
11844 : return 7936; /* *avx2_pcmpv8hi3_1 */
11845 : if (nonimmediate_operand (operands[3], E_V8HImode)
11846 : && nonimmediate_operand (operands[4], E_V8HImode)
11847 : &&
11848 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11849 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11850 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11851 : return 7959; /* *avx2_pcmpv8hi3_6 */
11852 : }
11853 : if (!const0_operand (operands[1], E_V8HImode)
11854 : || !vector_all_ones_operand (operands[2], E_V8HImode)
11855 : || !nonimmediate_operand (operands[3], E_V8HImode)
11856 : || !nonimmediate_operand (operands[4], E_V8HImode)
11857 : || !
11858 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11859 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11860 : /* NE is commutative. */
11861 : && (INTVAL (operands[5]) == 4
11862 : /* LE, 3 must be register. */
11863 : || INTVAL (operands[5]) == 2
11864 : /* NLT aka GE, 4 must be register and we swap operands. */
11865 : || INTVAL (operands[5]) == 5)))
11866 : return -1;
11867 : return 7974; /* *avx2_pcmpv8hi3_7 */
11868 :
11869 : case 2:
11870 : if (vector_all_ones_operand (operands[1], E_V4SImode)
11871 : && const0_operand (operands[2], E_V4SImode))
11872 : {
11873 : if (nonimm_or_0_operand (operands[3], E_V4SImode)
11874 : && nonimm_or_0_operand (operands[4], E_V4SImode)
11875 : &&
11876 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11877 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11878 : /* EQ is commutative. */
11879 : && ((INTVAL (operands[5]) == 0
11880 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11881 : /* NLE aka GT, 3 must be register. */
11882 : || (INTVAL (operands[5]) == 6
11883 : && !MEM_P (operands[3]))
11884 : /* LT, 4 must be register and we swap operands. */
11885 : || (INTVAL (operands[5]) == 1
11886 : && !MEM_P (operands[4])))))
11887 : return 7937; /* *avx2_pcmpv4si3_1 */
11888 : if (nonimmediate_operand (operands[3], E_V4SImode)
11889 : && nonimmediate_operand (operands[4], E_V4SImode)
11890 : &&
11891 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11892 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11893 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11894 : return 7961; /* *avx2_pcmpv4si3_6 */
11895 : }
11896 : if (!const0_operand (operands[1], E_V4SImode)
11897 : || !vector_all_ones_operand (operands[2], E_V4SImode)
11898 : || !nonimmediate_operand (operands[3], E_V4SImode)
11899 : || !nonimmediate_operand (operands[4], E_V4SImode)
11900 : || !
11901 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11902 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11903 : /* NE is commutative. */
11904 : && (INTVAL (operands[5]) == 4
11905 : /* LE, 3 must be register. */
11906 : || INTVAL (operands[5]) == 2
11907 : /* NLT aka GE, 4 must be register and we swap operands. */
11908 : || INTVAL (operands[5]) == 5)))
11909 : return -1;
11910 : return 7975; /* *avx2_pcmpv4si3_7 */
11911 :
11912 : case 3:
11913 : if (vector_all_ones_operand (operands[1], E_V2DImode)
11914 : && const0_operand (operands[2], E_V2DImode))
11915 : {
11916 : if (nonimm_or_0_operand (operands[3], E_V2DImode)
11917 : && nonimm_or_0_operand (operands[4], E_V2DImode)
11918 : &&
11919 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11920 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11921 : /* EQ is commutative. */
11922 : && ((INTVAL (operands[5]) == 0
11923 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11924 : /* NLE aka GT, 3 must be register. */
11925 : || (INTVAL (operands[5]) == 6
11926 : && !MEM_P (operands[3]))
11927 : /* LT, 4 must be register and we swap operands. */
11928 : || (INTVAL (operands[5]) == 1
11929 : && !MEM_P (operands[4])))))
11930 : return 7938; /* *avx2_pcmpv2di3_1 */
11931 : if (nonimmediate_operand (operands[3], E_V2DImode)
11932 : && nonimmediate_operand (operands[4], E_V2DImode)
11933 : &&
11934 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11935 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11936 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11937 : return 7963; /* *avx2_pcmpv2di3_6 */
11938 : }
11939 : if (!const0_operand (operands[1], E_V2DImode)
11940 : || !vector_all_ones_operand (operands[2], E_V2DImode)
11941 : || !nonimmediate_operand (operands[3], E_V2DImode)
11942 : || !nonimmediate_operand (operands[4], E_V2DImode)
11943 : || !
11944 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11945 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11946 : /* NE is commutative. */
11947 : && (INTVAL (operands[5]) == 4
11948 : /* LE, 3 must be register. */
11949 : || INTVAL (operands[5]) == 2
11950 : /* NLT aka GE, 4 must be register and we swap operands. */
11951 : || INTVAL (operands[5]) == 5)))
11952 : return -1;
11953 : return 7976; /* *avx2_pcmpv2di3_7 */
11954 :
11955 : case 4:
11956 : if (vector_all_ones_operand (operands[1], E_V32QImode)
11957 : && const0_operand (operands[2], E_V32QImode))
11958 : {
11959 : if (nonimm_or_0_operand (operands[3], E_V32QImode)
11960 : && nonimm_or_0_operand (operands[4], E_V32QImode)
11961 : &&
11962 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11963 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11964 : /* EQ is commutative. */
11965 : && ((INTVAL (operands[5]) == 0
11966 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
11967 : /* NLE aka GT, 3 must be register. */
11968 : || (INTVAL (operands[5]) == 6
11969 : && !MEM_P (operands[3]))
11970 : /* LT, 4 must be register and we swap operands. */
11971 : || (INTVAL (operands[5]) == 1
11972 : && !MEM_P (operands[4])))))
11973 : return 7939; /* *avx2_pcmpv32qi3_1 */
11974 : if (nonimmediate_operand (operands[3], E_V32QImode)
11975 : && nonimmediate_operand (operands[4], E_V32QImode)
11976 : &&
11977 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11978 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11979 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
11980 : return 7965; /* *avx2_pcmpv32qi3_6 */
11981 : }
11982 : if (!const0_operand (operands[1], E_V32QImode)
11983 : || !vector_all_ones_operand (operands[2], E_V32QImode)
11984 : || !nonimmediate_operand (operands[3], E_V32QImode)
11985 : || !nonimmediate_operand (operands[4], E_V32QImode)
11986 : || !
11987 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
11988 : (TARGET_AVX512VL && ix86_pre_reload_split ()
11989 : /* NE is commutative. */
11990 : && (INTVAL (operands[5]) == 4
11991 : /* LE, 3 must be register. */
11992 : || INTVAL (operands[5]) == 2
11993 : /* NLT aka GE, 4 must be register and we swap operands. */
11994 : || INTVAL (operands[5]) == 5)))
11995 : return -1;
11996 : return 7977; /* *avx2_pcmpv32qi3_7 */
11997 :
11998 : case 5:
11999 : if (vector_all_ones_operand (operands[1], E_V16HImode)
12000 : && const0_operand (operands[2], E_V16HImode))
12001 : {
12002 : if (nonimm_or_0_operand (operands[3], E_V16HImode)
12003 : && nonimm_or_0_operand (operands[4], E_V16HImode)
12004 : &&
12005 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12006 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12007 : /* EQ is commutative. */
12008 : && ((INTVAL (operands[5]) == 0
12009 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12010 : /* NLE aka GT, 3 must be register. */
12011 : || (INTVAL (operands[5]) == 6
12012 : && !MEM_P (operands[3]))
12013 : /* LT, 4 must be register and we swap operands. */
12014 : || (INTVAL (operands[5]) == 1
12015 : && !MEM_P (operands[4])))))
12016 : return 7940; /* *avx2_pcmpv16hi3_1 */
12017 : if (nonimmediate_operand (operands[3], E_V16HImode)
12018 : && nonimmediate_operand (operands[4], E_V16HImode)
12019 : &&
12020 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12021 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12022 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12023 : return 7967; /* *avx2_pcmpv16hi3_6 */
12024 : }
12025 : if (!const0_operand (operands[1], E_V16HImode)
12026 : || !vector_all_ones_operand (operands[2], E_V16HImode)
12027 : || !nonimmediate_operand (operands[3], E_V16HImode)
12028 : || !nonimmediate_operand (operands[4], E_V16HImode)
12029 : || !
12030 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12031 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12032 : /* NE is commutative. */
12033 : && (INTVAL (operands[5]) == 4
12034 : /* LE, 3 must be register. */
12035 : || INTVAL (operands[5]) == 2
12036 : /* NLT aka GE, 4 must be register and we swap operands. */
12037 : || INTVAL (operands[5]) == 5)))
12038 : return -1;
12039 : return 7978; /* *avx2_pcmpv16hi3_7 */
12040 :
12041 : case 6:
12042 : if (vector_all_ones_operand (operands[1], E_V8SImode)
12043 : && const0_operand (operands[2], E_V8SImode))
12044 : {
12045 : if (nonimm_or_0_operand (operands[3], E_V8SImode)
12046 : && nonimm_or_0_operand (operands[4], E_V8SImode)
12047 : &&
12048 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12049 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12050 : /* EQ is commutative. */
12051 : && ((INTVAL (operands[5]) == 0
12052 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12053 : /* NLE aka GT, 3 must be register. */
12054 : || (INTVAL (operands[5]) == 6
12055 : && !MEM_P (operands[3]))
12056 : /* LT, 4 must be register and we swap operands. */
12057 : || (INTVAL (operands[5]) == 1
12058 : && !MEM_P (operands[4])))))
12059 : return 7941; /* *avx2_pcmpv8si3_1 */
12060 : if (nonimmediate_operand (operands[3], E_V8SImode)
12061 : && nonimmediate_operand (operands[4], E_V8SImode)
12062 : &&
12063 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12064 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12065 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12066 : return 7969; /* *avx2_pcmpv8si3_6 */
12067 : }
12068 : if (!const0_operand (operands[1], E_V8SImode)
12069 : || !vector_all_ones_operand (operands[2], E_V8SImode)
12070 : || !nonimmediate_operand (operands[3], E_V8SImode)
12071 : || !nonimmediate_operand (operands[4], E_V8SImode)
12072 : || !
12073 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12074 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12075 : /* NE is commutative. */
12076 : && (INTVAL (operands[5]) == 4
12077 : /* LE, 3 must be register. */
12078 : || INTVAL (operands[5]) == 2
12079 : /* NLT aka GE, 4 must be register and we swap operands. */
12080 : || INTVAL (operands[5]) == 5)))
12081 : return -1;
12082 : return 7979; /* *avx2_pcmpv8si3_7 */
12083 :
12084 : case 7:
12085 : if (vector_all_ones_operand (operands[1], E_V4DImode)
12086 : && const0_operand (operands[2], E_V4DImode))
12087 : {
12088 : if (nonimm_or_0_operand (operands[3], E_V4DImode)
12089 : && nonimm_or_0_operand (operands[4], E_V4DImode)
12090 : &&
12091 : #line 18299 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12092 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12093 : /* EQ is commutative. */
12094 : && ((INTVAL (operands[5]) == 0
12095 : && !(MEM_P (operands[3]) && MEM_P (operands[4])))
12096 : /* NLE aka GT, 3 must be register. */
12097 : || (INTVAL (operands[5]) == 6
12098 : && !MEM_P (operands[3]))
12099 : /* LT, 4 must be register and we swap operands. */
12100 : || (INTVAL (operands[5]) == 1
12101 : && !MEM_P (operands[4])))))
12102 : return 7942; /* *avx2_pcmpv4di3_1 */
12103 : if (nonimmediate_operand (operands[3], E_V4DImode)
12104 : && nonimmediate_operand (operands[4], E_V4DImode)
12105 : &&
12106 : #line 18463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12107 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12108 : && (INTVAL (operands[5]) == 2 || INTVAL (operands[5]) == 5)))
12109 : return 7971; /* *avx2_pcmpv4di3_6 */
12110 : }
12111 : if (!const0_operand (operands[1], E_V4DImode)
12112 : || !vector_all_ones_operand (operands[2], E_V4DImode)
12113 : || !nonimmediate_operand (operands[3], E_V4DImode)
12114 : || !nonimmediate_operand (operands[4], E_V4DImode)
12115 : || !
12116 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12117 : (TARGET_AVX512VL && ix86_pre_reload_split ()
12118 : /* NE is commutative. */
12119 : && (INTVAL (operands[5]) == 4
12120 : /* LE, 3 must be register. */
12121 : || INTVAL (operands[5]) == 2
12122 : /* NLT aka GE, 4 must be register and we swap operands. */
12123 : || INTVAL (operands[5]) == 5)))
12124 : return -1;
12125 : return 7980; /* *avx2_pcmpv4di3_7 */
12126 :
12127 : default:
12128 : return -1;
12129 : }
12130 : }
12131 :
12132 : int
12133 : recog_168 (rtx x1 ATTRIBUTE_UNUSED,
12134 : rtx_insn *insn ATTRIBUTE_UNUSED,
12135 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12136 : {
12137 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12138 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12139 : rtx x10;
12140 : int res ATTRIBUTE_UNUSED;
12141 : x2 = XEXP (x1, 1);
12142 : x3 = XEXP (x2, 0);
12143 : x4 = XEXP (x3, 0);
12144 : x5 = XEXP (x4, 1);
12145 : operands[2] = x5;
12146 : x6 = XEXP (x2, 1);
12147 : operands[3] = x6;
12148 : x7 = XEXP (x2, 2);
12149 : operands[4] = x7;
12150 : if (!register_operand (operands[4], E_QImode))
12151 : return -1;
12152 : x8 = XEXP (x3, 1);
12153 : x9 = XVECEXP (x8, 0, 0);
12154 : switch (XWINT (x9, 0))
12155 : {
12156 : case 1L:
12157 : x10 = XVECEXP (x8, 0, 1);
12158 : if (XWINT (x10, 0) != 3L)
12159 : return -1;
12160 : switch (GET_MODE (operands[0]))
12161 : {
12162 : case E_V2DFmode:
12163 : if (pattern1593 (x2,
12164 : E_V2DFmode,
12165 : E_V4DFmode) != 0
12166 : || !
12167 : #line 13709 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12168 : (TARGET_AVX512VL))
12169 : return -1;
12170 : return 5418; /* avx512vl_unpckhpd128_mask */
12171 :
12172 : case E_V2DImode:
12173 : if (pattern1594 (x2,
12174 : E_V2DImode,
12175 : E_V4DImode) != 0
12176 : || !(
12177 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12178 : (TARGET_AVX512F) &&
12179 : #line 14820 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12180 : (TARGET_SSE2 && TARGET_AVX512VL)))
12181 : return -1;
12182 : return 7238; /* vec_interleave_highv2di_mask */
12183 :
12184 : default:
12185 : return -1;
12186 : }
12187 :
12188 : case 0L:
12189 : x10 = XVECEXP (x8, 0, 1);
12190 : if (XWINT (x10, 0) != 2L)
12191 : return -1;
12192 : switch (GET_MODE (operands[0]))
12193 : {
12194 : case E_V2DFmode:
12195 : if (pattern1593 (x2,
12196 : E_V2DFmode,
12197 : E_V4DFmode) != 0
12198 : || !
12199 : #line 13852 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12200 : (TARGET_AVX512VL))
12201 : return -1;
12202 : return 5428; /* avx512vl_unpcklpd128_mask */
12203 :
12204 : case E_V2DImode:
12205 : if (pattern1594 (x2,
12206 : E_V2DImode,
12207 : E_V4DImode) != 0
12208 : || !(
12209 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12210 : (TARGET_AVX512F) &&
12211 : #line 14870 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12212 : (TARGET_SSE2 && TARGET_AVX512VL)))
12213 : return -1;
12214 : return 7244; /* vec_interleave_lowv2di_mask */
12215 :
12216 : default:
12217 : return -1;
12218 : }
12219 :
12220 : default:
12221 : return -1;
12222 : }
12223 : }
12224 :
12225 : int
12226 : recog_171 (rtx x1 ATTRIBUTE_UNUSED,
12227 : rtx_insn *insn ATTRIBUTE_UNUSED,
12228 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12229 : {
12230 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12231 : rtx x2, x3, x4, x5, x6, x7, x8;
12232 : int res ATTRIBUTE_UNUSED;
12233 : x2 = XEXP (x1, 1);
12234 : x3 = XEXP (x2, 0);
12235 : x4 = XEXP (x3, 1);
12236 : x5 = XVECEXP (x4, 0, 0);
12237 : if (GET_CODE (x5) != CONST_INT)
12238 : return -1;
12239 : operands[2] = x5;
12240 : if (const_0_to_7_operand (operands[2], E_VOIDmode))
12241 : {
12242 : x6 = XVECEXP (x4, 0, 1);
12243 : operands[3] = x6;
12244 : if (const_0_to_7_operand (operands[3], E_VOIDmode))
12245 : {
12246 : x7 = XEXP (x2, 1);
12247 : operands[4] = x7;
12248 : x8 = XEXP (x2, 2);
12249 : operands[5] = x8;
12250 : if (register_operand (operands[5], E_QImode))
12251 : {
12252 : switch (GET_MODE (operands[0]))
12253 : {
12254 : case E_V2DFmode:
12255 : if (pattern1556 (x2,
12256 : E_V2DFmode,
12257 : E_V8DFmode) == 0
12258 : &&
12259 : #line 12762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12260 : (TARGET_AVX512DQ
12261 : && INTVAL (operands[2]) % 2 == 0
12262 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12263 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[4]))))
12264 : return 5350; /* avx512dq_vextractf64x2_1_mask */
12265 : break;
12266 :
12267 : case E_V2DImode:
12268 : if (pattern1556 (x2,
12269 : E_V2DImode,
12270 : E_V8DImode) == 0
12271 : &&
12272 : #line 12762 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12273 : (TARGET_AVX512DQ
12274 : && INTVAL (operands[2]) % 2 == 0
12275 : && INTVAL (operands[2]) == INTVAL (operands[3]) - 1
12276 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[4]))))
12277 : return 5351; /* avx512dq_vextracti64x2_1_mask */
12278 : break;
12279 :
12280 : default:
12281 : break;
12282 : }
12283 : }
12284 : }
12285 : }
12286 : x6 = XVECEXP (x4, 0, 1);
12287 : if (GET_CODE (x6) != CONST_INT)
12288 : return -1;
12289 : x7 = XEXP (x2, 1);
12290 : operands[2] = x7;
12291 : x8 = XEXP (x2, 2);
12292 : operands[3] = x8;
12293 : if (!register_operand (operands[3], E_QImode))
12294 : return -1;
12295 : switch (XWINT (x5, 0))
12296 : {
12297 : case 0L:
12298 : if (XWINT (x6, 0) != 1L)
12299 : return -1;
12300 : switch (GET_MODE (operands[0]))
12301 : {
12302 : case E_V2DImode:
12303 : if (!nonimmediate_operand (operands[0], E_V2DImode)
12304 : || pattern1557 (x2,
12305 : E_V2DImode,
12306 : E_V4DImode) != 0
12307 : || !
12308 : #line 13190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12309 : (TARGET_AVX512DQ
12310 : && TARGET_AVX512VL
12311 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12312 : return -1;
12313 : return 5374; /* vec_extract_lo_v4di_mask */
12314 :
12315 : case E_V2DFmode:
12316 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
12317 : || pattern1557 (x2,
12318 : E_V2DFmode,
12319 : E_V4DFmode) != 0
12320 : || !
12321 : #line 13190 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12322 : (TARGET_AVX512DQ
12323 : && TARGET_AVX512VL
12324 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12325 : return -1;
12326 : return 5375; /* vec_extract_lo_v4df_mask */
12327 :
12328 : default:
12329 : return -1;
12330 : }
12331 :
12332 : case 2L:
12333 : if (XWINT (x6, 0) != 3L)
12334 : return -1;
12335 : switch (GET_MODE (operands[0]))
12336 : {
12337 : case E_V2DImode:
12338 : if (!nonimmediate_operand (operands[0], E_V2DImode)
12339 : || pattern1557 (x2,
12340 : E_V2DImode,
12341 : E_V4DImode) != 0
12342 : || !
12343 : #line 13227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12344 : (TARGET_AVX512DQ
12345 : && TARGET_AVX512VL
12346 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12347 : return -1;
12348 : return 5378; /* vec_extract_hi_v4di_mask */
12349 :
12350 : case E_V2DFmode:
12351 : if (!nonimmediate_operand (operands[0], E_V2DFmode)
12352 : || pattern1557 (x2,
12353 : E_V2DFmode,
12354 : E_V4DFmode) != 0
12355 : || !
12356 : #line 13227 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12357 : (TARGET_AVX512DQ
12358 : && TARGET_AVX512VL
12359 : && (!MEM_P (operands[0]) || rtx_equal_p (operands[0], operands[2]))))
12360 : return -1;
12361 : return 5379; /* vec_extract_hi_v4df_mask */
12362 :
12363 : default:
12364 : return -1;
12365 : }
12366 :
12367 : default:
12368 : return -1;
12369 : }
12370 : }
12371 :
12372 : int
12373 : recog_176 (rtx x1 ATTRIBUTE_UNUSED,
12374 : rtx_insn *insn ATTRIBUTE_UNUSED,
12375 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12376 : {
12377 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12378 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12379 : rtx x10;
12380 : int res ATTRIBUTE_UNUSED;
12381 : x2 = XEXP (x1, 1);
12382 : x3 = XEXP (x2, 0);
12383 : x4 = XEXP (x3, 1);
12384 : x5 = XVECEXP (x4, 0, 4);
12385 : if (GET_CODE (x5) != CONST_INT)
12386 : return -1;
12387 : operands[6] = x5;
12388 : res = recog_175 (x1, insn, pnum_clobbers);
12389 : if (res >= 0)
12390 : return res;
12391 : if (XWINT (x5, 0) != 4L)
12392 : return -1;
12393 : x6 = XVECEXP (x4, 0, 5);
12394 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
12395 : return -1;
12396 : x7 = XVECEXP (x4, 0, 6);
12397 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
12398 : return -1;
12399 : x8 = XVECEXP (x4, 0, 7);
12400 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
12401 : || pattern1306 (x2,
12402 : E_V8HImode) != 0
12403 : || pattern1022 (x4) != 0)
12404 : return -1;
12405 : x9 = XEXP (x2, 1);
12406 : operands[6] = x9;
12407 : if (!nonimm_or_0_operand (operands[6], E_V8HImode))
12408 : return -1;
12409 : x10 = XEXP (x2, 2);
12410 : operands[7] = x10;
12411 : if (!register_operand (operands[7], E_QImode)
12412 : || !(
12413 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12414 : (TARGET_AVX512F) &&
12415 : #line 21186 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12416 : (TARGET_SSE2 && TARGET_AVX512BW && TARGET_AVX512VL)))
12417 : return -1;
12418 : return 8493; /* sse2_pshuflw_1_mask */
12419 : }
12420 :
12421 : int
12422 : recog_179 (rtx x1 ATTRIBUTE_UNUSED,
12423 : rtx_insn *insn ATTRIBUTE_UNUSED,
12424 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12425 : {
12426 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12427 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
12428 : rtx x10, x11, x12, x13, x14;
12429 : int res ATTRIBUTE_UNUSED;
12430 : x2 = XEXP (x1, 1);
12431 : x3 = XEXP (x2, 0);
12432 : x4 = XEXP (x3, 1);
12433 : x5 = XVECEXP (x4, 0, 4);
12434 : if (GET_CODE (x5) != CONST_INT)
12435 : return -1;
12436 : operands[6] = x5;
12437 : res = recog_178 (x1, insn, pnum_clobbers);
12438 : if (res >= 0)
12439 : return res;
12440 : if (XWINT (x5, 0) != 4L)
12441 : return -1;
12442 : x6 = XVECEXP (x4, 0, 5);
12443 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 5])
12444 : return -1;
12445 : x7 = XVECEXP (x4, 0, 6);
12446 : if (x7 != const_int_rtx[MAX_SAVED_CONST_INT + 6])
12447 : return -1;
12448 : x8 = XVECEXP (x4, 0, 7);
12449 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 7]
12450 : || pattern1482 (x4) != 0
12451 : || pattern762 (x2,
12452 : E_V16HImode) != 0
12453 : || pattern1022 (x4) != 0)
12454 : return -1;
12455 : x9 = XVECEXP (x4, 0, 8);
12456 : operands[6] = x9;
12457 : if (!const_8_to_11_operand (operands[6], E_VOIDmode))
12458 : return -1;
12459 : x10 = XVECEXP (x4, 0, 9);
12460 : operands[7] = x10;
12461 : if (!const_8_to_11_operand (operands[7], E_VOIDmode))
12462 : return -1;
12463 : x11 = XVECEXP (x4, 0, 10);
12464 : operands[8] = x11;
12465 : if (!const_8_to_11_operand (operands[8], E_VOIDmode))
12466 : return -1;
12467 : x12 = XVECEXP (x4, 0, 11);
12468 : operands[9] = x12;
12469 : if (!const_8_to_11_operand (operands[9], E_VOIDmode))
12470 : return -1;
12471 : x13 = XEXP (x2, 1);
12472 : operands[10] = x13;
12473 : if (!nonimm_or_0_operand (operands[10], E_V16HImode))
12474 : return -1;
12475 : x14 = XEXP (x2, 2);
12476 : operands[11] = x14;
12477 : if (!register_operand (operands[11], E_HImode)
12478 : || !(
12479 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
12480 : (TARGET_AVX512F) &&
12481 : #line 21120 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12482 : (TARGET_AVX2
12483 : && TARGET_AVX512BW && TARGET_AVX512VL
12484 : && INTVAL (operands[2]) + 8 == INTVAL (operands[6])
12485 : && INTVAL (operands[3]) + 8 == INTVAL (operands[7])
12486 : && INTVAL (operands[4]) + 8 == INTVAL (operands[8])
12487 : && INTVAL (operands[5]) + 8 == INTVAL (operands[9]))))
12488 : return -1;
12489 : return 8491; /* avx2_pshuflw_1_mask */
12490 : }
12491 :
12492 : int
12493 : recog_186 (rtx x1 ATTRIBUTE_UNUSED,
12494 : rtx_insn *insn ATTRIBUTE_UNUSED,
12495 : int *pnum_clobbers ATTRIBUTE_UNUSED)
12496 : {
12497 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
12498 : rtx x2, x3, x4, x5, x6;
12499 : int res ATTRIBUTE_UNUSED;
12500 : x2 = XEXP (x1, 1);
12501 : x3 = XEXP (x2, 0);
12502 : x4 = XEXP (x3, 1);
12503 : operands[2] = x4;
12504 : x5 = XEXP (x3, 0);
12505 : switch (GET_CODE (x5))
12506 : {
12507 : case REG:
12508 : case SUBREG:
12509 : case MEM:
12510 : case VEC_DUPLICATE:
12511 : operands[1] = x5;
12512 : switch (pattern650 (x2))
12513 : {
12514 : case 0:
12515 : if (pattern1384 (x2,
12516 : E_V32HFmode,
12517 : E_SImode) != 0
12518 : || !(
12519 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12520 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1) &&
12521 : #line 6276 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12522 : (TARGET_AVX512FP16)))
12523 : return -1;
12524 : return 3877; /* fma_fmadd_v32hf_maskz_1 */
12525 :
12526 : case 1:
12527 : if (pattern1384 (x2,
12528 : E_V16HFmode,
12529 : E_HImode) != 0
12530 : || !(
12531 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12532 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12533 : #line 6277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12534 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12535 : return -1;
12536 : return 3881; /* fma_fmadd_v16hf_maskz_1 */
12537 :
12538 : case 2:
12539 : if (pattern1384 (x2,
12540 : E_V8HFmode,
12541 : E_QImode) != 0
12542 : || !(
12543 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12544 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12545 : #line 6278 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12546 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12547 : return -1;
12548 : return 3883; /* fma_fmadd_v8hf_maskz_1 */
12549 :
12550 : case 3:
12551 : if (pattern1384 (x2,
12552 : E_V16SFmode,
12553 : E_HImode) != 0
12554 : || !
12555 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12556 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
12557 : return -1;
12558 : return 3887; /* fma_fmadd_v16sf_maskz_1 */
12559 :
12560 : case 4:
12561 : if (pattern1384 (x2,
12562 : E_V8SFmode,
12563 : E_QImode) != 0
12564 : || !(
12565 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12566 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12567 : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12568 : (TARGET_AVX512VL)))
12569 : return -1;
12570 : return 3891; /* fma_fmadd_v8sf_maskz_1 */
12571 :
12572 : case 5:
12573 : if (pattern1384 (x2,
12574 : E_V4SFmode,
12575 : E_QImode) != 0
12576 : || !(
12577 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12578 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12579 : #line 6280 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12580 : (TARGET_AVX512VL)))
12581 : return -1;
12582 : return 3893; /* fma_fmadd_v4sf_maskz_1 */
12583 :
12584 : case 6:
12585 : if (pattern1384 (x2,
12586 : E_V8DFmode,
12587 : E_QImode) != 0
12588 : || !
12589 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12590 : (TARGET_AVX512F && (64 == 64 || TARGET_AVX512VL) && 1))
12591 : return -1;
12592 : return 3896; /* fma_fmadd_v8df_maskz_1 */
12593 :
12594 : case 7:
12595 : if (pattern1384 (x2,
12596 : E_V4DFmode,
12597 : E_QImode) != 0
12598 : || !(
12599 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12600 : (TARGET_AVX512F && (32 == 64 || TARGET_AVX512VL) && 1) &&
12601 : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12602 : (TARGET_AVX512VL)))
12603 : return -1;
12604 : return 3900; /* fma_fmadd_v4df_maskz_1 */
12605 :
12606 : case 8:
12607 : if (pattern1384 (x2,
12608 : E_V2DFmode,
12609 : E_QImode) != 0
12610 : || !(
12611 : #line 6289 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12612 : (TARGET_AVX512F && (16 == 64 || TARGET_AVX512VL) && 1) &&
12613 : #line 6281 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12614 : (TARGET_AVX512VL)))
12615 : return -1;
12616 : return 3902; /* fma_fmadd_v2df_maskz_1 */
12617 :
12618 : case 9:
12619 : if (pattern1386 (x2,
12620 : E_SImode,
12621 : E_V32BFmode) != 0
12622 : || !
12623 : #line 32853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12624 : (TARGET_AVX10_2))
12625 : return -1;
12626 : return 10703; /* avx10_2_fmaddbf16_v32bf_maskz_1 */
12627 :
12628 : case 10:
12629 : if (pattern1386 (x2,
12630 : E_HImode,
12631 : E_V16BFmode) != 0
12632 : || !
12633 : #line 32853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12634 : (TARGET_AVX10_2))
12635 : return -1;
12636 : return 10705; /* avx10_2_fmaddbf16_v16bf_maskz_1 */
12637 :
12638 : case 11:
12639 : if (pattern1386 (x2,
12640 : E_QImode,
12641 : E_V8BFmode) != 0
12642 : || !
12643 : #line 32853 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12644 : (TARGET_AVX10_2))
12645 : return -1;
12646 : return 10707; /* avx10_2_fmaddbf16_v8bf_maskz_1 */
12647 :
12648 : case 12:
12649 : if (pattern1387 (x2,
12650 : E_V4SFmode) != 0
12651 : || !
12652 : #line 7302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12653 : (TARGET_FMA4))
12654 : return -1;
12655 : return 4354; /* *fma4i_vmfmadd_v4sf */
12656 :
12657 : case 13:
12658 : if (pattern1387 (x2,
12659 : E_V2DFmode) != 0
12660 : || !(
12661 : #line 7302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12662 : (TARGET_FMA4) &&
12663 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12664 : (TARGET_SSE2)))
12665 : return -1;
12666 : return 4355; /* *fma4i_vmfmadd_v2df */
12667 :
12668 : case 14:
12669 : if (pattern1296 (x2,
12670 : E_V32HFmode,
12671 : E_SImode) != 0)
12672 : return -1;
12673 : if (nonimmediate_operand (operands[1], E_V32HFmode)
12674 : && vector_operand (operands[3], E_V32HFmode))
12675 : {
12676 : x6 = XEXP (x2, 1);
12677 : if (rtx_equal_p (x6, operands[1])
12678 : && (
12679 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12680 : (TARGET_AVX512F && 1) &&
12681 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12682 : (TARGET_AVX512FP16)))
12683 : return 3903; /* avx512bw_fmadd_v32hf_mask */
12684 : }
12685 : if (!vector_operand (operands[1], E_V32HFmode)
12686 : || !nonimmediate_operand (operands[3], E_V32HFmode))
12687 : return -1;
12688 : x6 = XEXP (x2, 1);
12689 : if (!rtx_equal_p (x6, operands[3])
12690 : || !(
12691 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12692 : (TARGET_AVX512F) &&
12693 : #line 514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12694 : (TARGET_AVX512FP16)))
12695 : return -1;
12696 : return 3915; /* avx512bw_fmadd_v32hf_mask3 */
12697 :
12698 : case 15:
12699 : if (pattern1296 (x2,
12700 : E_V16HFmode,
12701 : E_HImode) != 0)
12702 : return -1;
12703 : if (nonimmediate_operand (operands[1], E_V16HFmode)
12704 : && vector_operand (operands[3], E_V16HFmode))
12705 : {
12706 : x6 = XEXP (x2, 1);
12707 : if (rtx_equal_p (x6, operands[1])
12708 : && (
12709 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12710 : (TARGET_AVX512F && 1) &&
12711 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12712 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12713 : return 3905; /* avx512vl_fmadd_v16hf_mask */
12714 : }
12715 : if (!vector_operand (operands[1], E_V16HFmode)
12716 : || !nonimmediate_operand (operands[3], E_V16HFmode))
12717 : return -1;
12718 : x6 = XEXP (x2, 1);
12719 : if (!rtx_equal_p (x6, operands[3])
12720 : || !(
12721 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12722 : (TARGET_AVX512F) &&
12723 : #line 515 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12724 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12725 : return -1;
12726 : return 3917; /* avx512vl_fmadd_v16hf_mask3 */
12727 :
12728 : case 16:
12729 : if (pattern1296 (x2,
12730 : E_V8HFmode,
12731 : E_QImode) != 0)
12732 : return -1;
12733 : if (nonimmediate_operand (operands[1], E_V8HFmode)
12734 : && vector_operand (operands[3], E_V8HFmode))
12735 : {
12736 : x6 = XEXP (x2, 1);
12737 : if (rtx_equal_p (x6, operands[1])
12738 : && (
12739 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12740 : (TARGET_AVX512F && 1) &&
12741 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12742 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12743 : return 3906; /* avx512fp16_fmadd_v8hf_mask */
12744 : }
12745 : if (!vector_operand (operands[1], E_V8HFmode)
12746 : || !nonimmediate_operand (operands[3], E_V8HFmode))
12747 : return -1;
12748 : x6 = XEXP (x2, 1);
12749 : if (!rtx_equal_p (x6, operands[3])
12750 : || !(
12751 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12752 : (TARGET_AVX512F) &&
12753 : #line 516 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12754 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))
12755 : return -1;
12756 : return 3919; /* avx512fp16_fmadd_v8hf_mask3 */
12757 :
12758 : case 17:
12759 : if (pattern1296 (x2,
12760 : E_V16SFmode,
12761 : E_HImode) != 0)
12762 : return -1;
12763 : if (nonimmediate_operand (operands[1], E_V16SFmode)
12764 : && vector_operand (operands[3], E_V16SFmode))
12765 : {
12766 : x6 = XEXP (x2, 1);
12767 : if (rtx_equal_p (x6, operands[1])
12768 : &&
12769 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12770 : (TARGET_AVX512F && 1))
12771 : return 3907; /* avx512f_fmadd_v16sf_mask */
12772 : }
12773 : if (!vector_operand (operands[1], E_V16SFmode)
12774 : || !nonimmediate_operand (operands[3], E_V16SFmode))
12775 : return -1;
12776 : x6 = XEXP (x2, 1);
12777 : if (!rtx_equal_p (x6, operands[3])
12778 : || !
12779 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12780 : (TARGET_AVX512F))
12781 : return -1;
12782 : return 3921; /* avx512f_fmadd_v16sf_mask3 */
12783 :
12784 : case 18:
12785 : if (pattern1296 (x2,
12786 : E_V8SFmode,
12787 : E_QImode) != 0)
12788 : return -1;
12789 : if (nonimmediate_operand (operands[1], E_V8SFmode)
12790 : && vector_operand (operands[3], E_V8SFmode))
12791 : {
12792 : x6 = XEXP (x2, 1);
12793 : if (rtx_equal_p (x6, operands[1])
12794 : && (
12795 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12796 : (TARGET_AVX512F && 1) &&
12797 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12798 : (TARGET_AVX512VL)))
12799 : return 3909; /* avx512vl_fmadd_v8sf_mask */
12800 : }
12801 : if (!vector_operand (operands[1], E_V8SFmode)
12802 : || !nonimmediate_operand (operands[3], E_V8SFmode))
12803 : return -1;
12804 : x6 = XEXP (x2, 1);
12805 : if (!rtx_equal_p (x6, operands[3])
12806 : || !(
12807 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12808 : (TARGET_AVX512F) &&
12809 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12810 : (TARGET_AVX512VL)))
12811 : return -1;
12812 : return 3923; /* avx512vl_fmadd_v8sf_mask3 */
12813 :
12814 : case 19:
12815 : if (pattern1296 (x2,
12816 : E_V4SFmode,
12817 : E_QImode) != 0)
12818 : return -1;
12819 : if (nonimmediate_operand (operands[1], E_V4SFmode)
12820 : && vector_operand (operands[3], E_V4SFmode))
12821 : {
12822 : x6 = XEXP (x2, 1);
12823 : if (rtx_equal_p (x6, operands[1])
12824 : && (
12825 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12826 : (TARGET_AVX512F && 1) &&
12827 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12828 : (TARGET_AVX512VL)))
12829 : return 3910; /* avx512vl_fmadd_v4sf_mask */
12830 : }
12831 : if (!vector_operand (operands[1], E_V4SFmode)
12832 : || !nonimmediate_operand (operands[3], E_V4SFmode))
12833 : return -1;
12834 : x6 = XEXP (x2, 1);
12835 : if (!rtx_equal_p (x6, operands[3])
12836 : || !(
12837 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12838 : (TARGET_AVX512F) &&
12839 : #line 517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12840 : (TARGET_AVX512VL)))
12841 : return -1;
12842 : return 3925; /* avx512vl_fmadd_v4sf_mask3 */
12843 :
12844 : case 20:
12845 : if (pattern1296 (x2,
12846 : E_V8DFmode,
12847 : E_QImode) != 0)
12848 : return -1;
12849 : if (nonimmediate_operand (operands[1], E_V8DFmode)
12850 : && vector_operand (operands[3], E_V8DFmode))
12851 : {
12852 : x6 = XEXP (x2, 1);
12853 : if (rtx_equal_p (x6, operands[1])
12854 : &&
12855 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12856 : (TARGET_AVX512F && 1))
12857 : return 3911; /* avx512f_fmadd_v8df_mask */
12858 : }
12859 : if (!vector_operand (operands[1], E_V8DFmode)
12860 : || !nonimmediate_operand (operands[3], E_V8DFmode))
12861 : return -1;
12862 : x6 = XEXP (x2, 1);
12863 : if (!rtx_equal_p (x6, operands[3])
12864 : || !
12865 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12866 : (TARGET_AVX512F))
12867 : return -1;
12868 : return 3927; /* avx512f_fmadd_v8df_mask3 */
12869 :
12870 : case 21:
12871 : if (pattern1296 (x2,
12872 : E_V4DFmode,
12873 : E_QImode) != 0)
12874 : return -1;
12875 : if (nonimmediate_operand (operands[1], E_V4DFmode)
12876 : && vector_operand (operands[3], E_V4DFmode))
12877 : {
12878 : x6 = XEXP (x2, 1);
12879 : if (rtx_equal_p (x6, operands[1])
12880 : && (
12881 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12882 : (TARGET_AVX512F && 1) &&
12883 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12884 : (TARGET_AVX512VL)))
12885 : return 3913; /* avx512vl_fmadd_v4df_mask */
12886 : }
12887 : if (!vector_operand (operands[1], E_V4DFmode)
12888 : || !nonimmediate_operand (operands[3], E_V4DFmode))
12889 : return -1;
12890 : x6 = XEXP (x2, 1);
12891 : if (!rtx_equal_p (x6, operands[3])
12892 : || !(
12893 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12894 : (TARGET_AVX512F) &&
12895 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12896 : (TARGET_AVX512VL)))
12897 : return -1;
12898 : return 3929; /* avx512vl_fmadd_v4df_mask3 */
12899 :
12900 : case 22:
12901 : if (pattern1296 (x2,
12902 : E_V2DFmode,
12903 : E_QImode) != 0)
12904 : return -1;
12905 : if (nonimmediate_operand (operands[1], E_V2DFmode)
12906 : && vector_operand (operands[3], E_V2DFmode))
12907 : {
12908 : x6 = XEXP (x2, 1);
12909 : if (rtx_equal_p (x6, operands[1])
12910 : && (
12911 : #line 6330 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12912 : (TARGET_AVX512F && 1) &&
12913 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12914 : (TARGET_AVX512VL)))
12915 : return 3914; /* avx512vl_fmadd_v2df_mask */
12916 : }
12917 : if (!vector_operand (operands[1], E_V2DFmode)
12918 : || !nonimmediate_operand (operands[3], E_V2DFmode))
12919 : return -1;
12920 : x6 = XEXP (x2, 1);
12921 : if (!rtx_equal_p (x6, operands[3])
12922 : || !(
12923 : #line 6347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12924 : (TARGET_AVX512F) &&
12925 : #line 518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12926 : (TARGET_AVX512VL)))
12927 : return -1;
12928 : return 3931; /* avx512vl_fmadd_v2df_mask3 */
12929 :
12930 : case 23:
12931 : if (pattern1297 (x2,
12932 : E_SImode,
12933 : E_V32BFmode) != 0)
12934 : return -1;
12935 : x6 = XEXP (x2, 1);
12936 : if (rtx_equal_p (x6, operands[1])
12937 : &&
12938 : #line 32871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12939 : (TARGET_AVX10_2))
12940 : return 10708; /* avx10_2_fmaddbf16_v32bf_mask */
12941 : if (!rtx_equal_p (x6, operands[3])
12942 : || !
12943 : #line 32888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12944 : (TARGET_AVX10_2))
12945 : return -1;
12946 : return 10711; /* avx10_2_fmaddbf16_v32bf_mask3 */
12947 :
12948 : case 24:
12949 : if (pattern1297 (x2,
12950 : E_HImode,
12951 : E_V16BFmode) != 0)
12952 : return -1;
12953 : x6 = XEXP (x2, 1);
12954 : if (rtx_equal_p (x6, operands[1])
12955 : &&
12956 : #line 32871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12957 : (TARGET_AVX10_2))
12958 : return 10709; /* avx10_2_fmaddbf16_v16bf_mask */
12959 : if (!rtx_equal_p (x6, operands[3])
12960 : || !
12961 : #line 32888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12962 : (TARGET_AVX10_2))
12963 : return -1;
12964 : return 10712; /* avx10_2_fmaddbf16_v16bf_mask3 */
12965 :
12966 : case 25:
12967 : if (pattern1297 (x2,
12968 : E_QImode,
12969 : E_V8BFmode) != 0)
12970 : return -1;
12971 : x6 = XEXP (x2, 1);
12972 : if (rtx_equal_p (x6, operands[1])
12973 : &&
12974 : #line 32871 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12975 : (TARGET_AVX10_2))
12976 : return 10710; /* avx10_2_fmaddbf16_v8bf_mask */
12977 : if (!rtx_equal_p (x6, operands[3])
12978 : || !
12979 : #line 32888 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12980 : (TARGET_AVX10_2))
12981 : return -1;
12982 : return 10713; /* avx10_2_fmaddbf16_v8bf_mask3 */
12983 :
12984 : case 26:
12985 : if (pattern1388 (x2,
12986 : E_V8HFmode) != 0
12987 : || !(
12988 : #line 6943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12989 : (TARGET_FMA || TARGET_AVX512F) &&
12990 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
12991 : (TARGET_AVX512FP16)))
12992 : return -1;
12993 : return 4258; /* *fmai_fmadd_v8hf */
12994 :
12995 : case 27:
12996 : if (pattern1388 (x2,
12997 : E_V4SFmode) != 0
12998 : || !
12999 : #line 6943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13000 : (TARGET_FMA || TARGET_AVX512F))
13001 : return -1;
13002 : return 4260; /* *fmai_fmadd_v4sf */
13003 :
13004 : case 28:
13005 : if (pattern1388 (x2,
13006 : E_V2DFmode) != 0
13007 : || !(
13008 : #line 6943 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13009 : (TARGET_FMA || TARGET_AVX512F) &&
13010 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13011 : (TARGET_SSE2)))
13012 : return -1;
13013 : return 4262; /* *fmai_fmadd_v2df */
13014 :
13015 : case 29:
13016 : return recog_162 (x1, insn, pnum_clobbers);
13017 :
13018 : default:
13019 : return -1;
13020 : }
13021 :
13022 : case NEG:
13023 : return recog_164 (x1, insn, pnum_clobbers);
13024 :
13025 : default:
13026 : return -1;
13027 : }
13028 : }
13029 :
13030 : int
13031 : recog_194 (rtx x1 ATTRIBUTE_UNUSED,
13032 : rtx_insn *insn ATTRIBUTE_UNUSED,
13033 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13034 : {
13035 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13036 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13037 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
13038 : int res ATTRIBUTE_UNUSED;
13039 : x2 = XEXP (x1, 1);
13040 : x3 = XEXP (x2, 0);
13041 : x4 = XEXP (x3, 0);
13042 : switch (GET_CODE (x4))
13043 : {
13044 : case REG:
13045 : case SUBREG:
13046 : switch (pattern146 (x2))
13047 : {
13048 : case 0:
13049 : if (!
13050 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13051 : (TARGET_AVX512F))
13052 : return -1;
13053 : return 7278; /* avx512f_truncatev16siv16qi2_mask */
13054 :
13055 : case 1:
13056 : if (!(
13057 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13058 : (TARGET_AVX512VL) &&
13059 : #line 15549 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13060 : (TARGET_AVX512BW)))
13061 : return -1;
13062 : return 7314; /* avx512vl_truncatev16hiv16qi2_mask */
13063 :
13064 : case 2:
13065 : if (!
13066 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13067 : (TARGET_AVX512F))
13068 : return -1;
13069 : return 7281; /* avx512f_truncatev16siv16hi2_mask */
13070 :
13071 : case 3:
13072 : if (!
13073 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13074 : (TARGET_AVX512F))
13075 : return -1;
13076 : return 7284; /* avx512f_truncatev8div8si2_mask */
13077 :
13078 : case 4:
13079 : if (!
13080 : #line 15460 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13081 : (TARGET_AVX512F))
13082 : return -1;
13083 : return 7287; /* avx512f_truncatev8div8hi2_mask */
13084 :
13085 : case 5:
13086 : if (!
13087 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13088 : (TARGET_AVX512VL))
13089 : return -1;
13090 : return 7311; /* avx512vl_truncatev8siv8hi2_mask */
13091 :
13092 : case 6:
13093 : if (!
13094 : #line 15532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13095 : (TARGET_AVX512BW))
13096 : return -1;
13097 : return 7294; /* avx512bw_truncatev32hiv32qi2_mask */
13098 :
13099 : case 7:
13100 : if (!
13101 : #line 15632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13102 : (TARGET_AVX512VL))
13103 : return -1;
13104 : return 7308; /* avx512vl_truncatev4div4si2_mask */
13105 :
13106 : default:
13107 : return -1;
13108 : }
13109 :
13110 : case LSHIFTRT:
13111 : x5 = XEXP (x4, 1);
13112 : if (GET_CODE (x5) != CONST_INT)
13113 : return -1;
13114 : x6 = XEXP (x4, 0);
13115 : switch (GET_CODE (x6))
13116 : {
13117 : case MULT:
13118 : if (XWINT (x5, 0) != 16L)
13119 : return -1;
13120 : x7 = XEXP (x2, 1);
13121 : operands[3] = x7;
13122 : x8 = XEXP (x2, 2);
13123 : operands[4] = x8;
13124 : x9 = XEXP (x6, 0);
13125 : switch (GET_CODE (x9))
13126 : {
13127 : case SIGN_EXTEND:
13128 : switch (pattern1134 (x2,
13129 : SIGN_EXTEND))
13130 : {
13131 : case 0:
13132 : if (!(
13133 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13134 : (TARGET_AVX512F) && (
13135 : #line 16745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13136 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13137 : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13138 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13139 : (TARGET_AVX512BW))))
13140 : return -1;
13141 : return 7602; /* *smulv32hi3_highpart_mask */
13142 :
13143 : case 1:
13144 : if (!(
13145 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13146 : (TARGET_AVX512F) && (
13147 : #line 16745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13148 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13149 : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13150 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13151 : (TARGET_AVX2))))
13152 : return -1;
13153 : return 7606; /* *smulv16hi3_highpart_mask */
13154 :
13155 : case 2:
13156 : if (!(
13157 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13158 : (TARGET_AVX512F) &&
13159 : #line 16745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13160 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13161 : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
13162 : return -1;
13163 : return 7610; /* *smulv8hi3_highpart_mask */
13164 :
13165 : default:
13166 : return -1;
13167 : }
13168 :
13169 : case ZERO_EXTEND:
13170 : switch (pattern1134 (x2,
13171 : ZERO_EXTEND))
13172 : {
13173 : case 0:
13174 : if (!(
13175 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13176 : (TARGET_AVX512F) && (
13177 : #line 16745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13178 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13179 : && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13180 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13181 : (TARGET_AVX512BW))))
13182 : return -1;
13183 : return 7604; /* *umulv32hi3_highpart_mask */
13184 :
13185 : case 1:
13186 : if (!(
13187 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13188 : (TARGET_AVX512F) && (
13189 : #line 16745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13190 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13191 : && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW) &&
13192 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13193 : (TARGET_AVX2))))
13194 : return -1;
13195 : return 7608; /* *umulv16hi3_highpart_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 16745 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13202 : (TARGET_SSE2 && !(MEM_P (operands[1]) && MEM_P (operands[2]))
13203 : && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW)))
13204 : return -1;
13205 : return 7612; /* *umulv8hi3_highpart_mask */
13206 :
13207 : default:
13208 : return -1;
13209 : }
13210 :
13211 : default:
13212 : return -1;
13213 : }
13214 :
13215 : case PLUS:
13216 : if (XWINT (x5, 0) != 1L)
13217 : return -1;
13218 : x9 = XEXP (x6, 0);
13219 : switch (GET_CODE (x9))
13220 : {
13221 : case PLUS:
13222 : x10 = XEXP (x9, 0);
13223 : if (GET_CODE (x10) != ZERO_EXTEND)
13224 : return -1;
13225 : x11 = XEXP (x9, 1);
13226 : if (GET_CODE (x11) != ZERO_EXTEND)
13227 : return -1;
13228 : x12 = XEXP (x10, 0);
13229 : operands[1] = x12;
13230 : x13 = XEXP (x11, 0);
13231 : operands[2] = x13;
13232 : x14 = XEXP (x6, 1);
13233 : operands[5] = x14;
13234 : x7 = XEXP (x2, 1);
13235 : operands[3] = x7;
13236 : x8 = XEXP (x2, 2);
13237 : operands[4] = x8;
13238 : switch (GET_MODE (operands[0]))
13239 : {
13240 : case E_V64QImode:
13241 : if (pattern1559 (x2,
13242 : E_DImode,
13243 : E_V64QImode,
13244 : E_V64HImode) != 0
13245 : || !(
13246 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13247 : (TARGET_AVX512F) && (
13248 : #line 22241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13249 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13250 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13251 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13252 : (TARGET_AVX512BW))))
13253 : return -1;
13254 : return 8539; /* *avx512bw_uavgv64qi3_mask */
13255 :
13256 : case E_V32QImode:
13257 : if (pattern1559 (x2,
13258 : E_SImode,
13259 : E_V32QImode,
13260 : E_V32HImode) != 0
13261 : || !(
13262 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13263 : (TARGET_AVX512F) && (
13264 : #line 22241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13265 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13266 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13267 : #line 732 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13268 : (TARGET_AVX2))))
13269 : return -1;
13270 : return 8541; /* *avx2_uavgv32qi3_mask */
13271 :
13272 : case E_V16QImode:
13273 : if (pattern1559 (x2,
13274 : E_HImode,
13275 : E_V16QImode,
13276 : E_V16HImode) != 0
13277 : || !(
13278 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13279 : (TARGET_AVX512F) &&
13280 : #line 22241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13281 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13282 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13283 : return -1;
13284 : return 8543; /* *sse2_uavgv16qi3_mask */
13285 :
13286 : case E_V32HImode:
13287 : if (pattern1559 (x2,
13288 : E_SImode,
13289 : E_V32HImode,
13290 : E_V32SImode) != 0
13291 : || !(
13292 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13293 : (TARGET_AVX512F) && (
13294 : #line 22241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13295 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13296 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13297 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13298 : (TARGET_AVX512BW))))
13299 : return -1;
13300 : return 8545; /* *avx512bw_uavgv32hi3_mask */
13301 :
13302 : case E_V16HImode:
13303 : if (pattern1559 (x2,
13304 : E_HImode,
13305 : E_V16HImode,
13306 : E_V16SImode) != 0
13307 : || !(
13308 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13309 : (TARGET_AVX512F) && (
13310 : #line 22241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13311 : (TARGET_SSE2 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13312 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13313 : #line 733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13314 : (TARGET_AVX2))))
13315 : return -1;
13316 : return 8547; /* *avx2_uavgv16hi3_mask */
13317 :
13318 : case E_V8HImode:
13319 : if (pattern1559 (x2,
13320 : E_QImode,
13321 : E_V8HImode,
13322 : E_V8SImode) != 0
13323 : || !(
13324 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13325 : (TARGET_AVX512F) &&
13326 : #line 22241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13327 : (TARGET_SSE2 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13328 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13329 : return -1;
13330 : return 8549; /* *sse2_uavgv8hi3_mask */
13331 :
13332 : default:
13333 : return -1;
13334 : }
13335 :
13336 : case LSHIFTRT:
13337 : x10 = XEXP (x9, 0);
13338 : if (GET_CODE (x10) != MULT)
13339 : return -1;
13340 : x12 = XEXP (x10, 0);
13341 : if (GET_CODE (x12) != SIGN_EXTEND)
13342 : return -1;
13343 : x15 = XEXP (x10, 1);
13344 : if (GET_CODE (x15) != SIGN_EXTEND)
13345 : return -1;
13346 : x11 = XEXP (x9, 1);
13347 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 14])
13348 : return -1;
13349 : x16 = XEXP (x12, 0);
13350 : operands[1] = x16;
13351 : if (nonimmediate_operand (operands[1], E_V32HImode))
13352 : {
13353 : res = recog_181 (x1, insn, pnum_clobbers);
13354 : if (res >= 0)
13355 : return res;
13356 : }
13357 : x17 = XEXP (x15, 0);
13358 : operands[2] = x17;
13359 : x14 = XEXP (x6, 1);
13360 : operands[3] = x14;
13361 : x7 = XEXP (x2, 1);
13362 : operands[4] = x7;
13363 : x8 = XEXP (x2, 2);
13364 : operands[5] = x8;
13365 : switch (GET_MODE (operands[0]))
13366 : {
13367 : case E_V32HImode:
13368 : if (pattern1660 (x2,
13369 : E_SImode,
13370 : E_V32HImode,
13371 : E_V32SImode) != 0
13372 : || !(
13373 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13374 : (TARGET_AVX512F) && (
13375 : #line 23347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13376 : (TARGET_SSSE3 && (64 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13377 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13378 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13379 : (TARGET_AVX512BW))))
13380 : return -1;
13381 : return 8662; /* *avx512bw_pmulhrswv32hi3_mask */
13382 :
13383 : case E_V16HImode:
13384 : if (pattern1660 (x2,
13385 : E_HImode,
13386 : E_V16HImode,
13387 : E_V16SImode) != 0
13388 : || !(
13389 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13390 : (TARGET_AVX512F) && (
13391 : #line 23347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13392 : (TARGET_SSSE3 && (32 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13393 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
13394 : #line 646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13395 : (TARGET_AVX2))))
13396 : return -1;
13397 : return 8664; /* *avx2_pmulhrswv16hi3_mask */
13398 :
13399 : case E_V8HImode:
13400 : if (pattern1660 (x2,
13401 : E_QImode,
13402 : E_V8HImode,
13403 : E_V8SImode) != 0
13404 : || !(
13405 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13406 : (TARGET_AVX512F) &&
13407 : #line 23347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13408 : (TARGET_SSSE3 && (16 == 64 || TARGET_AVX512VL) && TARGET_AVX512BW
13409 : && !(MEM_P (operands[1]) && MEM_P (operands[2])))))
13410 : return -1;
13411 : return 8666; /* *ssse3_pmulhrswv8hi3_mask */
13412 :
13413 : default:
13414 : return -1;
13415 : }
13416 :
13417 : default:
13418 : return -1;
13419 : }
13420 :
13421 : default:
13422 : return -1;
13423 : }
13424 :
13425 : default:
13426 : return -1;
13427 : }
13428 : }
13429 :
13430 : int
13431 : recog_207 (rtx x1 ATTRIBUTE_UNUSED,
13432 : rtx_insn *insn ATTRIBUTE_UNUSED,
13433 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13434 : {
13435 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13436 : rtx x2, x3, x4, x5, x6, x7;
13437 : int res ATTRIBUTE_UNUSED;
13438 : x2 = XEXP (x1, 1);
13439 : x3 = XEXP (x2, 0);
13440 : x4 = XEXP (x3, 0);
13441 : operands[1] = x4;
13442 : x5 = XEXP (x3, 1);
13443 : operands[2] = x5;
13444 : x6 = XEXP (x2, 2);
13445 : switch (GET_CODE (x6))
13446 : {
13447 : case CONST_INT:
13448 : switch (pattern138 (x2))
13449 : {
13450 : case 0:
13451 : if (!(
13452 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13453 : (TARGET_SSE) &&
13454 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13455 : (TARGET_AVX512FP16)))
13456 : return -1;
13457 : return 2894; /* avx512fp16_vmdivv8hf3 */
13458 :
13459 : case 1:
13460 : if (!
13461 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13462 : (TARGET_SSE))
13463 : return -1;
13464 : return 2902; /* sse_vmdivv4sf3 */
13465 :
13466 : case 2:
13467 : if (!(
13468 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13469 : (TARGET_SSE) &&
13470 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13471 : (TARGET_SSE2)))
13472 : return -1;
13473 : return 2910; /* sse2_vmdivv2df3 */
13474 :
13475 : default:
13476 : return -1;
13477 : }
13478 :
13479 : case REG:
13480 : case SUBREG:
13481 : operands[4] = x6;
13482 : x7 = XEXP (x2, 1);
13483 : operands[3] = x7;
13484 : switch (GET_MODE (operands[0]))
13485 : {
13486 : case E_V32HFmode:
13487 : if (pattern1015 (x2,
13488 : E_V32HFmode,
13489 : E_SImode) != 0
13490 : || !(
13491 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13492 : (TARGET_AVX512F) && (
13493 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13494 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13495 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13496 : (TARGET_AVX512FP16))))
13497 : return -1;
13498 : return 2916; /* avx512fp16_divv32hf3_mask */
13499 :
13500 : case E_V16HFmode:
13501 : if (pattern1015 (x2,
13502 : E_V16HFmode,
13503 : E_HImode) != 0
13504 : || !(
13505 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13506 : (TARGET_AVX512F) && (
13507 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13508 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13509 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13510 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13511 : return -1;
13512 : return 2919; /* avx512fp16_divv16hf3_mask */
13513 :
13514 : case E_V8HFmode:
13515 : if (pattern1015 (x2,
13516 : E_V8HFmode,
13517 : E_QImode) != 0
13518 : || !(
13519 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13520 : (TARGET_AVX512F) && (
13521 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13522 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13523 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13524 : (TARGET_AVX512FP16 && TARGET_AVX512VL))))
13525 : return -1;
13526 : return 2921; /* avx512fp16_divv8hf3_mask */
13527 :
13528 : case E_V16SFmode:
13529 : if (pattern1015 (x2,
13530 : E_V16SFmode,
13531 : E_HImode) != 0
13532 : || !(
13533 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13534 : (TARGET_AVX512F) && (
13535 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13536 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13537 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13538 : (TARGET_AVX512F))))
13539 : return -1;
13540 : return 2924; /* avx512f_divv16sf3_mask */
13541 :
13542 : case E_V8SFmode:
13543 : if (pattern1015 (x2,
13544 : E_V8SFmode,
13545 : E_QImode) != 0
13546 : || !(
13547 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13548 : (TARGET_AVX512F) && (
13549 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13550 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13551 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13552 : (TARGET_AVX))))
13553 : return -1;
13554 : return 2927; /* avx_divv8sf3_mask */
13555 :
13556 : case E_V4SFmode:
13557 : if (pattern1015 (x2,
13558 : E_V4SFmode,
13559 : E_QImode) != 0
13560 : || !(
13561 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13562 : (TARGET_AVX512F) &&
13563 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13564 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1)))
13565 : return -1;
13566 : return 2929; /* sse_divv4sf3_mask */
13567 :
13568 : case E_V8DFmode:
13569 : if (pattern1015 (x2,
13570 : E_V8DFmode,
13571 : E_QImode) != 0
13572 : || !(
13573 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13574 : (TARGET_AVX512F) && (
13575 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13576 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && 1) &&
13577 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13578 : (TARGET_AVX512F))))
13579 : return -1;
13580 : return 2932; /* avx512f_divv8df3_mask */
13581 :
13582 : case E_V4DFmode:
13583 : if (pattern1015 (x2,
13584 : E_V4DFmode,
13585 : E_QImode) != 0
13586 : || !(
13587 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13588 : (TARGET_AVX512F) && (
13589 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13590 : (TARGET_SSE && (32 == 64 || TARGET_AVX512VL) && 1) &&
13591 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13592 : (TARGET_AVX))))
13593 : return -1;
13594 : return 2935; /* avx_divv4df3_mask */
13595 :
13596 : case E_V2DFmode:
13597 : if (pattern1015 (x2,
13598 : E_V2DFmode,
13599 : E_QImode) != 0
13600 : || !(
13601 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13602 : (TARGET_AVX512F) && (
13603 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13604 : (TARGET_SSE && (16 == 64 || TARGET_AVX512VL) && 1) &&
13605 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13606 : (TARGET_SSE2))))
13607 : return -1;
13608 : return 2937; /* sse2_divv2df3_mask */
13609 :
13610 : case E_V32BFmode:
13611 : if (pattern136 (x2,
13612 : E_V32BFmode,
13613 : E_SImode) != 0
13614 : || !(
13615 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13616 : (TARGET_AVX512F) &&
13617 : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13618 : (TARGET_AVX10_2)))
13619 : return -1;
13620 : return 10685; /* avx10_2_divbf16_v32bf_mask */
13621 :
13622 : case E_V16BFmode:
13623 : if (pattern136 (x2,
13624 : E_V16BFmode,
13625 : E_HImode) != 0
13626 : || !(
13627 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13628 : (TARGET_AVX512F) &&
13629 : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13630 : (TARGET_AVX10_2)))
13631 : return -1;
13632 : return 10693; /* avx10_2_divbf16_v16bf_mask */
13633 :
13634 : case E_V8BFmode:
13635 : if (pattern136 (x2,
13636 : E_V8BFmode,
13637 : E_QImode) != 0
13638 : || !(
13639 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13640 : (TARGET_AVX512F) &&
13641 : #line 32828 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13642 : (TARGET_AVX10_2)))
13643 : return -1;
13644 : return 10701; /* avx10_2_divbf16_v8bf_mask */
13645 :
13646 : default:
13647 : return -1;
13648 : }
13649 :
13650 : default:
13651 : return -1;
13652 : }
13653 : }
13654 :
13655 : int
13656 : recog_215 (rtx x1 ATTRIBUTE_UNUSED,
13657 : rtx_insn *insn ATTRIBUTE_UNUSED,
13658 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13659 : {
13660 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13661 : rtx x2, x3;
13662 : int res ATTRIBUTE_UNUSED;
13663 : x2 = XEXP (x1, 1);
13664 : x3 = XVECEXP (x2, 0, 0);
13665 : operands[1] = x3;
13666 : switch (GET_MODE (operands[0]))
13667 : {
13668 : case E_V8HImode:
13669 : if (!register_operand (operands[0], E_V8HImode)
13670 : || GET_MODE (x2) != E_V8HImode
13671 : || !vector_operand (operands[1], E_V8HFmode)
13672 : || !(
13673 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13674 : (TARGET_AVX512FP16) &&
13675 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13676 : (TARGET_AVX512VL)))
13677 : return -1;
13678 : return 4604; /* unspec_avx512fp16_fix_truncv8hi2 */
13679 :
13680 : case E_V16HImode:
13681 : if (!register_operand (operands[0], E_V16HImode)
13682 : || GET_MODE (x2) != E_V16HImode
13683 : || !vector_operand (operands[1], E_V16HFmode)
13684 : || !(
13685 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13686 : (TARGET_AVX512FP16) &&
13687 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13688 : (TARGET_AVX512VL)))
13689 : return -1;
13690 : return 4612; /* unspec_avx512fp16_fix_truncv16hi2 */
13691 :
13692 : case E_V32HImode:
13693 : if (!register_operand (operands[0], E_V32HImode)
13694 : || GET_MODE (x2) != E_V32HImode
13695 : || !vector_operand (operands[1], E_V32HFmode)
13696 : || !
13697 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13698 : (TARGET_AVX512FP16))
13699 : return -1;
13700 : return 4620; /* unspec_avx512fp16_fix_truncv32hi2 */
13701 :
13702 : case E_V8SImode:
13703 : switch (pattern652 (x2,
13704 : E_V8SImode))
13705 : {
13706 : case 0:
13707 : if (!(
13708 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13709 : (TARGET_AVX512FP16) &&
13710 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13711 : (TARGET_AVX512VL)))
13712 : return -1;
13713 : return 4628; /* unspec_avx512fp16_fix_truncv8si2 */
13714 :
13715 : case 1:
13716 : if (!
13717 : #line 9117 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13718 : (TARGET_AVX && 1))
13719 : return -1;
13720 : return 4926; /* unspec_fix_truncv8sfv8si2 */
13721 :
13722 : case 2:
13723 : if (!
13724 : #line 9890 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13725 : (TARGET_AVX512F))
13726 : return -1;
13727 : return 5059; /* unspec_fix_truncv8dfv8si2 */
13728 :
13729 : default:
13730 : return -1;
13731 : }
13732 :
13733 : case E_V16SImode:
13734 : switch (pattern653 (x2,
13735 : E_V16SImode))
13736 : {
13737 : case 0:
13738 : if (!
13739 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13740 : (TARGET_AVX512FP16))
13741 : return -1;
13742 : return 4636; /* unspec_avx512fp16_fix_truncv16si2 */
13743 :
13744 : case 1:
13745 : if (!
13746 : #line 9097 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13747 : (TARGET_AVX512F))
13748 : return -1;
13749 : return 4910; /* unspec_fix_truncv16sfv16si2 */
13750 :
13751 : default:
13752 : return -1;
13753 : }
13754 :
13755 : case E_V8DImode:
13756 : switch (pattern654 (x2))
13757 : {
13758 : case 0:
13759 : if (!
13760 : #line 8202 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13761 : (TARGET_AVX512FP16))
13762 : return -1;
13763 : return 4644; /* unspec_avx512fp16_fix_truncv8di2 */
13764 :
13765 : case 1:
13766 : if (!
13767 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13768 : (TARGET_AVX512DQ && 1))
13769 : return -1;
13770 : return 5088; /* unspec_fix_truncv8dfv8di2 */
13771 :
13772 : case 2:
13773 : if (!
13774 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13775 : (TARGET_AVX512DQ && 1))
13776 : return -1;
13777 : return 5136; /* unspec_fix_truncv8sfv8di2 */
13778 :
13779 : default:
13780 : return -1;
13781 : }
13782 :
13783 : case E_V4SImode:
13784 : if (!register_operand (operands[0], E_V4SImode)
13785 : || GET_MODE (x2) != E_V4SImode)
13786 : return -1;
13787 : switch (GET_MODE (operands[1]))
13788 : {
13789 : case E_V8HFmode:
13790 : if (!register_operand (operands[1], E_V8HFmode)
13791 : || !
13792 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13793 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13794 : return -1;
13795 : return 4700; /* unspec_avx512fp16_fix_truncv4si2 */
13796 :
13797 : case E_V4SFmode:
13798 : if (!vector_operand (operands[1], E_V4SFmode)
13799 : || !
13800 : #line 9136 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13801 : (TARGET_SSE2 && 1))
13802 : return -1;
13803 : return 4930; /* unspec_fix_truncv4sfv4si2 */
13804 :
13805 : case E_V4DFmode:
13806 : if (!nonimmediate_operand (operands[1], E_V4DFmode)
13807 : || !
13808 : #line 9980 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13809 : (TARGET_AVX || (TARGET_AVX512VL && TARGET_AVX512F)))
13810 : return -1;
13811 : return 5080; /* unspec_fix_truncv4dfv4si2 */
13812 :
13813 : case E_V2DFmode:
13814 : if (!vector_operand (operands[1], E_V2DFmode)
13815 : || !
13816 : #line 10262 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13817 : (TARGET_SSE2 && 1))
13818 : return -1;
13819 : return 5176; /* unspec_sse2_cvttpd2dq */
13820 :
13821 : default:
13822 : return -1;
13823 : }
13824 :
13825 : case E_V4DImode:
13826 : switch (pattern655 (x2))
13827 : {
13828 : case 0:
13829 : if (!
13830 : #line 8240 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13831 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13832 : return -1;
13833 : return 4704; /* unspec_avx512fp16_fix_truncv4di2 */
13834 :
13835 : case 1:
13836 : if (!(
13837 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13838 : (TARGET_AVX512DQ && 1) &&
13839 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13840 : (TARGET_AVX512VL)))
13841 : return -1;
13842 : return 5096; /* unspec_fix_truncv4dfv4di2 */
13843 :
13844 : case 2:
13845 : if (!(
13846 : #line 10062 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13847 : (TARGET_AVX512DQ && 1) &&
13848 : #line 620 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13849 : (TARGET_AVX512VL)))
13850 : return -1;
13851 : return 5144; /* unspec_fix_truncv4sfv4di2 */
13852 :
13853 : default:
13854 : return -1;
13855 : }
13856 :
13857 : case E_V2DImode:
13858 : switch (pattern656 (x2))
13859 : {
13860 : case 0:
13861 : if (!
13862 : #line 8290 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13863 : (TARGET_AVX512FP16 && TARGET_AVX512VL))
13864 : return -1;
13865 : return 4724; /* unspec_avx512fp16_fix_truncv2di2 */
13866 :
13867 : case 1:
13868 : if (!(
13869 : #line 10019 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13870 : (TARGET_AVX512DQ && 1) &&
13871 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13872 : (TARGET_AVX512VL)))
13873 : return -1;
13874 : return 5100; /* unspec_fix_truncv2dfv2di2 */
13875 :
13876 : case 2:
13877 : if (!
13878 : #line 10083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13879 : (TARGET_AVX512DQ && TARGET_AVX512VL))
13880 : return -1;
13881 : return 5160; /* unspec_avx512dq_fix_truncv2sfv2di2 */
13882 :
13883 : default:
13884 : return -1;
13885 : }
13886 :
13887 : default:
13888 : return -1;
13889 : }
13890 : }
13891 :
13892 : int
13893 : recog_230 (rtx x1 ATTRIBUTE_UNUSED,
13894 : rtx_insn *insn ATTRIBUTE_UNUSED,
13895 : int *pnum_clobbers ATTRIBUTE_UNUSED)
13896 : {
13897 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
13898 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
13899 : rtx x10, x11, x12, x13, x14;
13900 : int res ATTRIBUTE_UNUSED;
13901 : x2 = XEXP (x1, 1);
13902 : x3 = XVECEXP (x2, 0, 0);
13903 : x4 = XEXP (x3, 2);
13904 : if (x4 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
13905 : return -1;
13906 : x5 = XEXP (x3, 0);
13907 : x6 = XEXP (x5, 0);
13908 : switch (GET_CODE (x6))
13909 : {
13910 : case SQRT:
13911 : x7 = XEXP (x6, 0);
13912 : operands[1] = x7;
13913 : x8 = XEXP (x3, 1);
13914 : operands[2] = x8;
13915 : x9 = XVECEXP (x2, 0, 1);
13916 : operands[3] = x9;
13917 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
13918 : return -1;
13919 : switch (GET_MODE (operands[0]))
13920 : {
13921 : case E_V8HFmode:
13922 : if (pattern1414 (x2,
13923 : E_V8HFmode,
13924 : E_HFmode) != 0
13925 : || !(
13926 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13927 : (TARGET_AVX512F) && (
13928 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13929 : (TARGET_SSE) &&
13930 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13931 : (TARGET_AVX512FP16))))
13932 : return -1;
13933 : return 3004; /* *avx512fp16_vmsqrtv8hf2_round */
13934 :
13935 : case E_V4SFmode:
13936 : if (pattern1414 (x2,
13937 : E_V4SFmode,
13938 : E_SFmode) != 0
13939 : || !(
13940 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13941 : (TARGET_AVX512F) &&
13942 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13943 : (TARGET_SSE)))
13944 : return -1;
13945 : return 3008; /* *sse_vmsqrtv4sf2_round */
13946 :
13947 : case E_V2DFmode:
13948 : if (pattern1414 (x2,
13949 : E_V2DFmode,
13950 : E_DFmode) != 0
13951 : || !(
13952 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13953 : (TARGET_AVX512F) && (
13954 : #line 3125 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13955 : (TARGET_SSE) &&
13956 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13957 : (TARGET_SSE2))))
13958 : return -1;
13959 : return 3012; /* *sse2_vmsqrtv2df2_round */
13960 :
13961 : default:
13962 : return -1;
13963 : }
13964 :
13965 : case FLOAT:
13966 : switch (pattern910 (x2))
13967 : {
13968 : case 0:
13969 : if (!(
13970 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13971 : (TARGET_AVX512F) &&
13972 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13973 : (TARGET_AVX512FP16)))
13974 : return -1;
13975 : return 4597; /* avx512fp16_vcvtsi2sh_round */
13976 :
13977 : case 1:
13978 : if (!(
13979 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13980 : (TARGET_AVX512F) && (
13981 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13982 : (TARGET_AVX512FP16) &&
13983 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
13984 : (TARGET_64BIT))))
13985 : return -1;
13986 : return 4601; /* avx512fp16_vcvtsi2shq_round */
13987 :
13988 : case 2:
13989 : if (!(
13990 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
13991 : (TARGET_AVX512F) &&
13992 : #line 8851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
13993 : (TARGET_SSE)))
13994 : return -1;
13995 : return 4830; /* sse_cvtsi2ss_round */
13996 :
13997 : case 3:
13998 : if (!(
13999 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14000 : (TARGET_AVX512F) && (
14001 : #line 8851 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14002 : (TARGET_SSE) &&
14003 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14004 : (TARGET_64BIT))))
14005 : return -1;
14006 : return 4832; /* sse_cvtsi2ssq_round */
14007 :
14008 : case 4:
14009 : if (!(
14010 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14011 : (TARGET_AVX512F) &&
14012 : #line 9334 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14013 : (TARGET_SSE2 && TARGET_64BIT)))
14014 : return -1;
14015 : return 4943; /* sse2_cvtsi2sdq_round */
14016 :
14017 : default:
14018 : return -1;
14019 : }
14020 :
14021 : case UNSIGNED_FLOAT:
14022 : switch (pattern910 (x2))
14023 : {
14024 : case 0:
14025 : if (!(
14026 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14027 : (TARGET_AVX512F) &&
14028 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14029 : (TARGET_AVX512FP16)))
14030 : return -1;
14031 : return 4599; /* avx512fp16_vcvtusi2sh_round */
14032 :
14033 : case 1:
14034 : if (!(
14035 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14036 : (TARGET_AVX512F) && (
14037 : #line 8185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14038 : (TARGET_AVX512FP16) &&
14039 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
14040 : (TARGET_64BIT))))
14041 : return -1;
14042 : return 4603; /* avx512fp16_vcvtusi2shq_round */
14043 :
14044 : case 2:
14045 : if (!(
14046 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14047 : (TARGET_AVX512F) &&
14048 : #line 8947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14049 : (TARGET_AVX512F && (V4SFmode == V4SFmode))))
14050 : return -1;
14051 : return 4848; /* cvtusi2ss32_round */
14052 :
14053 : case 3:
14054 : if (!(
14055 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14056 : (TARGET_AVX512F) &&
14057 : #line 8961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14058 : (TARGET_AVX512F && TARGET_64BIT)))
14059 : return -1;
14060 : return 4851; /* cvtusi2ss64_round */
14061 :
14062 : case 4:
14063 : if (!(
14064 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14065 : (TARGET_AVX512F) && (
14066 : #line 8961 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14067 : (TARGET_AVX512F && TARGET_64BIT) &&
14068 : #line 473 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14069 : (TARGET_SSE2))))
14070 : return -1;
14071 : return 4853; /* cvtusi2sd64_round */
14072 :
14073 : default:
14074 : return -1;
14075 : }
14076 :
14077 : case FLOAT_EXTEND:
14078 : x7 = XEXP (x6, 0);
14079 : if (pattern908 (x7,
14080 : 1,
14081 : E_HFmode) != 0)
14082 : return -1;
14083 : x10 = XEXP (x7, 0);
14084 : operands[1] = x10;
14085 : if (!register_operand (operands[1], E_V8HFmode))
14086 : return -1;
14087 : x8 = XEXP (x3, 1);
14088 : operands[2] = x8;
14089 : x9 = XVECEXP (x2, 0, 1);
14090 : operands[3] = x9;
14091 : if (!const48_operand (operands[3], E_SImode))
14092 : return -1;
14093 : switch (GET_MODE (operands[0]))
14094 : {
14095 : case E_V2DFmode:
14096 : if (pattern1693 (x2,
14097 : E_V2DFmode,
14098 : E_DFmode) != 0
14099 : || !(
14100 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14101 : (TARGET_AVX512F) &&
14102 : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14103 : (TARGET_AVX512FP16)))
14104 : return -1;
14105 : return 4803; /* avx512fp16_vcvtsh2sd_round */
14106 :
14107 : case E_V4SFmode:
14108 : if (pattern1693 (x2,
14109 : E_V4SFmode,
14110 : E_SFmode) != 0
14111 : || !(
14112 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14113 : (TARGET_AVX512F) &&
14114 : #line 8632 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14115 : (TARGET_AVX512FP16)))
14116 : return -1;
14117 : return 4807; /* avx512fp16_vcvtsh2ss_round */
14118 :
14119 : default:
14120 : return -1;
14121 : }
14122 :
14123 : case FLOAT_TRUNCATE:
14124 : x9 = XVECEXP (x2, 0, 1);
14125 : operands[3] = x9;
14126 : if (!const_4_or_8_to_11_operand (operands[3], E_SImode))
14127 : return -1;
14128 : x7 = XEXP (x6, 0);
14129 : switch (GET_CODE (x7))
14130 : {
14131 : case VEC_SELECT:
14132 : x11 = XEXP (x7, 1);
14133 : if (GET_CODE (x11) != PARALLEL
14134 : || XVECLEN (x11, 0) != 1)
14135 : return -1;
14136 : x12 = XVECEXP (x11, 0, 0);
14137 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
14138 : || pattern1415 (x2,
14139 : E_HFmode,
14140 : E_V8HFmode) != 0)
14141 : return -1;
14142 : x10 = XEXP (x7, 0);
14143 : operands[1] = x10;
14144 : x8 = XEXP (x3, 1);
14145 : operands[2] = x8;
14146 : if (!register_operand (operands[2], E_V8HFmode))
14147 : return -1;
14148 : switch (GET_MODE (x7))
14149 : {
14150 : case E_DFmode:
14151 : if (!register_operand (operands[1], E_V2DFmode)
14152 : || !(
14153 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14154 : (TARGET_AVX512F) &&
14155 : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14156 : (TARGET_AVX512FP16)))
14157 : return -1;
14158 : return 4814; /* avx512fp16_vcvtsd2sh_round */
14159 :
14160 : case E_SFmode:
14161 : if (!register_operand (operands[1], E_V4SFmode)
14162 : || !(
14163 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14164 : (TARGET_AVX512F) &&
14165 : #line 8662 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14166 : (TARGET_AVX512FP16)))
14167 : return -1;
14168 : return 4818; /* avx512fp16_vcvtss2sh_round */
14169 :
14170 : default:
14171 : return -1;
14172 : }
14173 :
14174 : case REG:
14175 : case SUBREG:
14176 : case MEM:
14177 : operands[2] = x7;
14178 : if (!nonimmediate_operand (operands[2], E_V2DFmode)
14179 : || pattern1415 (x2,
14180 : E_V2SFmode,
14181 : E_V4SFmode) != 0)
14182 : return -1;
14183 : x8 = XEXP (x3, 1);
14184 : operands[1] = x8;
14185 : if (!register_operand (operands[1], E_V4SFmode)
14186 : || !(
14187 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14188 : (TARGET_AVX512F) &&
14189 : #line 10333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14190 : (TARGET_SSE2)))
14191 : return -1;
14192 : return 5182; /* sse2_cvtsd2ss_round */
14193 :
14194 : default:
14195 : return -1;
14196 : }
14197 :
14198 : case UNSPEC:
14199 : if (XVECLEN (x6, 0) != 2
14200 : || XINT (x6, 1) != 95)
14201 : return -1;
14202 : x13 = XVECEXP (x6, 0, 0);
14203 : operands[2] = x13;
14204 : x14 = XVECEXP (x6, 0, 1);
14205 : operands[3] = x14;
14206 : if (!const_0_to_255_operand (operands[3], E_SImode))
14207 : return -1;
14208 : x8 = XEXP (x3, 1);
14209 : operands[1] = x8;
14210 : x9 = XVECEXP (x2, 0, 1);
14211 : operands[4] = x9;
14212 : if (!const48_operand (operands[4], E_SImode))
14213 : return -1;
14214 : switch (GET_MODE (operands[0]))
14215 : {
14216 : case E_V8HFmode:
14217 : if (pattern1596 (x2,
14218 : E_V8HFmode,
14219 : E_HFmode) != 0
14220 : || !(
14221 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14222 : (TARGET_AVX512F) && (
14223 : #line 14580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14224 : (TARGET_AVX512F) &&
14225 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14226 : (TARGET_AVX512FP16))))
14227 : return -1;
14228 : return 7221; /* *avx512f_rndscalev8hf_round */
14229 :
14230 : case E_V4SFmode:
14231 : if (pattern1596 (x2,
14232 : E_V4SFmode,
14233 : E_SFmode) != 0
14234 : || !
14235 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14236 : (TARGET_AVX512F))
14237 : return -1;
14238 : return 7223; /* *avx512f_rndscalev4sf_round */
14239 :
14240 : case E_V2DFmode:
14241 : if (pattern1596 (x2,
14242 : E_V2DFmode,
14243 : E_DFmode) != 0
14244 : || !(
14245 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14246 : (TARGET_AVX512F) && (
14247 : #line 14580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14248 : (TARGET_AVX512F) &&
14249 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14250 : (TARGET_SSE2))))
14251 : return -1;
14252 : return 7225; /* *avx512f_rndscalev2df_round */
14253 :
14254 : default:
14255 : return -1;
14256 : }
14257 :
14258 : default:
14259 : return -1;
14260 : }
14261 : }
14262 :
14263 : int
14264 : recog_232 (rtx x1 ATTRIBUTE_UNUSED,
14265 : rtx_insn *insn ATTRIBUTE_UNUSED,
14266 : int *pnum_clobbers ATTRIBUTE_UNUSED)
14267 : {
14268 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
14269 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
14270 : rtx x10, x11, x12, x13, x14;
14271 : int res ATTRIBUTE_UNUSED;
14272 : x2 = XEXP (x1, 1);
14273 : x3 = XVECEXP (x2, 0, 0);
14274 : x4 = XEXP (x3, 0);
14275 : switch (GET_CODE (x4))
14276 : {
14277 : case PLUS:
14278 : switch (pattern660 (x2))
14279 : {
14280 : case 0:
14281 : if (!(
14282 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14283 : (TARGET_AVX512F) && (
14284 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14285 : (TARGET_AVX512F) && (
14286 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14287 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V32HFmode, operands)
14288 : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14289 : || V32HFmode == V8DFmode
14290 : || V32HFmode == V8DImode
14291 : || V32HFmode == V16SImode
14292 : || V32HFmode == V32HFmode)) &&
14293 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14294 : (TARGET_AVX512FP16)))))
14295 : return -1;
14296 : return 2749; /* *addv32hf3_mask_round */
14297 :
14298 : case 1:
14299 : if (!(
14300 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14301 : (TARGET_AVX512F) && (
14302 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14303 : (TARGET_AVX512F) && (
14304 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14305 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16HFmode, operands)
14306 : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
14307 : || V16HFmode == V8DFmode
14308 : || V16HFmode == V8DImode
14309 : || V16HFmode == V16SImode
14310 : || V16HFmode == V32HFmode)) &&
14311 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14312 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14313 : return -1;
14314 : return 2757; /* *addv16hf3_mask_round */
14315 :
14316 : case 2:
14317 : if (!(
14318 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14319 : (TARGET_AVX512F) && (
14320 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14321 : (TARGET_AVX512F) && (
14322 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14323 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8HFmode, operands)
14324 : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
14325 : || V8HFmode == V8DFmode
14326 : || V8HFmode == V8DImode
14327 : || V8HFmode == V16SImode
14328 : || V8HFmode == V32HFmode)) &&
14329 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14330 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14331 : return -1;
14332 : return 2765; /* *addv8hf3_mask_round */
14333 :
14334 : case 3:
14335 : if (!(
14336 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14337 : (TARGET_AVX512F) && (
14338 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14339 : (TARGET_AVX512F) && (
14340 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14341 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V16SFmode, operands)
14342 : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14343 : || V16SFmode == V8DFmode
14344 : || V16SFmode == V8DImode
14345 : || V16SFmode == V16SImode
14346 : || V16SFmode == V32HFmode)) &&
14347 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14348 : (TARGET_AVX512F)))))
14349 : return -1;
14350 : return 2773; /* *addv16sf3_mask_round */
14351 :
14352 : case 4:
14353 : if (!(
14354 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14355 : (TARGET_AVX512F) && (
14356 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14357 : (TARGET_AVX512F) && (
14358 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14359 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8SFmode, operands)
14360 : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
14361 : || V8SFmode == V8DFmode
14362 : || V8SFmode == V8DImode
14363 : || V8SFmode == V16SImode
14364 : || V8SFmode == V32HFmode)) &&
14365 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14366 : (TARGET_AVX)))))
14367 : return -1;
14368 : return 2781; /* *addv8sf3_mask_round */
14369 :
14370 : case 5:
14371 : if (!(
14372 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14373 : (TARGET_AVX512F) && (
14374 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14375 : (TARGET_AVX512F) &&
14376 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14377 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4SFmode, operands)
14378 : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
14379 : || V4SFmode == V8DFmode
14380 : || V4SFmode == V8DImode
14381 : || V4SFmode == V16SImode
14382 : || V4SFmode == V32HFmode)))))
14383 : return -1;
14384 : return 2789; /* *addv4sf3_mask_round */
14385 :
14386 : case 6:
14387 : if (!(
14388 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14389 : (TARGET_AVX512F) && (
14390 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14391 : (TARGET_AVX512F) && (
14392 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14393 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V8DFmode, operands)
14394 : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14395 : || V8DFmode == V8DFmode
14396 : || V8DFmode == V8DImode
14397 : || V8DFmode == V16SImode
14398 : || V8DFmode == V32HFmode)) &&
14399 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14400 : (TARGET_AVX512F)))))
14401 : return -1;
14402 : return 2797; /* *addv8df3_mask_round */
14403 :
14404 : case 7:
14405 : if (!(
14406 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14407 : (TARGET_AVX512F) && (
14408 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14409 : (TARGET_AVX512F) && (
14410 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14411 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V4DFmode, operands)
14412 : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
14413 : || V4DFmode == V8DFmode
14414 : || V4DFmode == V8DImode
14415 : || V4DFmode == V16SImode
14416 : || V4DFmode == V32HFmode)) &&
14417 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14418 : (TARGET_AVX)))))
14419 : return -1;
14420 : return 2805; /* *addv4df3_mask_round */
14421 :
14422 : case 8:
14423 : if (!(
14424 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14425 : (TARGET_AVX512F) && (
14426 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14427 : (TARGET_AVX512F) && (
14428 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14429 : (TARGET_SSE && ix86_binary_operator_ok (PLUS, V2DFmode, operands)
14430 : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
14431 : || V2DFmode == V8DFmode
14432 : || V2DFmode == V8DImode
14433 : || V2DFmode == V16SImode
14434 : || V2DFmode == V32HFmode)) &&
14435 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14436 : (TARGET_SSE2)))))
14437 : return -1;
14438 : return 2813; /* *addv2df3_mask_round */
14439 :
14440 : case 9:
14441 : if (!(
14442 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14443 : (TARGET_AVX512F) && (
14444 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14445 : (TARGET_SSE) &&
14446 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14447 : (TARGET_AVX512FP16))))
14448 : return -1;
14449 : return 2825; /* avx512fp16_vmaddv8hf3_round */
14450 :
14451 : case 10:
14452 : if (!(
14453 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14454 : (TARGET_AVX512F) &&
14455 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14456 : (TARGET_SSE)))
14457 : return -1;
14458 : return 2833; /* sse_vmaddv4sf3_round */
14459 :
14460 : case 11:
14461 : if (!(
14462 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14463 : (TARGET_AVX512F) && (
14464 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14465 : (TARGET_SSE) &&
14466 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14467 : (TARGET_SSE2))))
14468 : return -1;
14469 : return 2841; /* sse2_vmaddv2df3_round */
14470 :
14471 : default:
14472 : return -1;
14473 : }
14474 :
14475 : case MINUS:
14476 : switch (pattern660 (x2))
14477 : {
14478 : case 0:
14479 : if (!(
14480 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14481 : (TARGET_AVX512F) && (
14482 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14483 : (TARGET_AVX512F) && (
14484 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14485 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V32HFmode, operands)
14486 : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14487 : || V32HFmode == V8DFmode
14488 : || V32HFmode == V8DImode
14489 : || V32HFmode == V16SImode
14490 : || V32HFmode == V32HFmode)) &&
14491 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14492 : (TARGET_AVX512FP16)))))
14493 : return -1;
14494 : return 2753; /* *subv32hf3_mask_round */
14495 :
14496 : case 1:
14497 : if (!(
14498 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14499 : (TARGET_AVX512F) && (
14500 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14501 : (TARGET_AVX512F) && (
14502 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14503 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16HFmode, operands)
14504 : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
14505 : || V16HFmode == V8DFmode
14506 : || V16HFmode == V8DImode
14507 : || V16HFmode == V16SImode
14508 : || V16HFmode == V32HFmode)) &&
14509 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14510 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14511 : return -1;
14512 : return 2761; /* *subv16hf3_mask_round */
14513 :
14514 : case 2:
14515 : if (!(
14516 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14517 : (TARGET_AVX512F) && (
14518 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14519 : (TARGET_AVX512F) && (
14520 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14521 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8HFmode, operands)
14522 : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
14523 : || V8HFmode == V8DFmode
14524 : || V8HFmode == V8DImode
14525 : || V8HFmode == V16SImode
14526 : || V8HFmode == V32HFmode)) &&
14527 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14528 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14529 : return -1;
14530 : return 2769; /* *subv8hf3_mask_round */
14531 :
14532 : case 3:
14533 : if (!(
14534 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14535 : (TARGET_AVX512F) && (
14536 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14537 : (TARGET_AVX512F) && (
14538 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14539 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V16SFmode, operands)
14540 : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14541 : || V16SFmode == V8DFmode
14542 : || V16SFmode == V8DImode
14543 : || V16SFmode == V16SImode
14544 : || V16SFmode == V32HFmode)) &&
14545 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14546 : (TARGET_AVX512F)))))
14547 : return -1;
14548 : return 2777; /* *subv16sf3_mask_round */
14549 :
14550 : case 4:
14551 : if (!(
14552 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14553 : (TARGET_AVX512F) && (
14554 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14555 : (TARGET_AVX512F) && (
14556 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14557 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8SFmode, operands)
14558 : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
14559 : || V8SFmode == V8DFmode
14560 : || V8SFmode == V8DImode
14561 : || V8SFmode == V16SImode
14562 : || V8SFmode == V32HFmode)) &&
14563 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14564 : (TARGET_AVX)))))
14565 : return -1;
14566 : return 2785; /* *subv8sf3_mask_round */
14567 :
14568 : case 5:
14569 : if (!(
14570 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14571 : (TARGET_AVX512F) && (
14572 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14573 : (TARGET_AVX512F) &&
14574 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14575 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4SFmode, operands)
14576 : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
14577 : || V4SFmode == V8DFmode
14578 : || V4SFmode == V8DImode
14579 : || V4SFmode == V16SImode
14580 : || V4SFmode == V32HFmode)))))
14581 : return -1;
14582 : return 2793; /* *subv4sf3_mask_round */
14583 :
14584 : case 6:
14585 : if (!(
14586 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14587 : (TARGET_AVX512F) && (
14588 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14589 : (TARGET_AVX512F) && (
14590 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14591 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V8DFmode, operands)
14592 : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14593 : || V8DFmode == V8DFmode
14594 : || V8DFmode == V8DImode
14595 : || V8DFmode == V16SImode
14596 : || V8DFmode == V32HFmode)) &&
14597 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14598 : (TARGET_AVX512F)))))
14599 : return -1;
14600 : return 2801; /* *subv8df3_mask_round */
14601 :
14602 : case 7:
14603 : if (!(
14604 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14605 : (TARGET_AVX512F) && (
14606 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14607 : (TARGET_AVX512F) && (
14608 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14609 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V4DFmode, operands)
14610 : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
14611 : || V4DFmode == V8DFmode
14612 : || V4DFmode == V8DImode
14613 : || V4DFmode == V16SImode
14614 : || V4DFmode == V32HFmode)) &&
14615 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14616 : (TARGET_AVX)))))
14617 : return -1;
14618 : return 2809; /* *subv4df3_mask_round */
14619 :
14620 : case 8:
14621 : if (!(
14622 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14623 : (TARGET_AVX512F) && (
14624 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14625 : (TARGET_AVX512F) && (
14626 : #line 2684 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14627 : (TARGET_SSE && ix86_binary_operator_ok (MINUS, V2DFmode, operands)
14628 : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
14629 : || V2DFmode == V8DFmode
14630 : || V2DFmode == V8DImode
14631 : || V2DFmode == V16SImode
14632 : || V2DFmode == V32HFmode)) &&
14633 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14634 : (TARGET_SSE2)))))
14635 : return -1;
14636 : return 2817; /* *subv2df3_mask_round */
14637 :
14638 : case 9:
14639 : if (!(
14640 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14641 : (TARGET_AVX512F) && (
14642 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14643 : (TARGET_SSE) &&
14644 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14645 : (TARGET_AVX512FP16))))
14646 : return -1;
14647 : return 2829; /* avx512fp16_vmsubv8hf3_round */
14648 :
14649 : case 10:
14650 : if (!(
14651 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14652 : (TARGET_AVX512F) &&
14653 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14654 : (TARGET_SSE)))
14655 : return -1;
14656 : return 2837; /* sse_vmsubv4sf3_round */
14657 :
14658 : case 11:
14659 : if (!(
14660 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14661 : (TARGET_AVX512F) && (
14662 : #line 2733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14663 : (TARGET_SSE) &&
14664 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14665 : (TARGET_SSE2))))
14666 : return -1;
14667 : return 2845; /* sse2_vmsubv2df3_round */
14668 :
14669 : default:
14670 : return -1;
14671 : }
14672 :
14673 : case VEC_MERGE:
14674 : return recog_227 (x1, insn, pnum_clobbers);
14675 :
14676 : case MULT:
14677 : switch (pattern660 (x2))
14678 : {
14679 : case 0:
14680 : if (!(
14681 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14682 : (TARGET_AVX512F) && (
14683 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14684 : (TARGET_AVX512F) && (
14685 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14686 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V32HFmode, operands)
14687 : && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14688 : || V32HFmode == V8DFmode
14689 : || V32HFmode == V8DImode
14690 : || V32HFmode == V16SImode
14691 : || V32HFmode == V32HFmode)) &&
14692 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14693 : (TARGET_AVX512FP16)))))
14694 : return -1;
14695 : return 2851; /* *mulv32hf3_mask_round */
14696 :
14697 : case 1:
14698 : if (!(
14699 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14700 : (TARGET_AVX512F) && (
14701 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14702 : (TARGET_AVX512F) && (
14703 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14704 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16HFmode, operands)
14705 : && (32 == 64 || TARGET_AVX512VL) && (V16HFmode == V16SFmode
14706 : || V16HFmode == V8DFmode
14707 : || V16HFmode == V8DImode
14708 : || V16HFmode == V16SImode
14709 : || V16HFmode == V32HFmode)) &&
14710 : #line 394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14711 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14712 : return -1;
14713 : return 2855; /* *mulv16hf3_mask_round */
14714 :
14715 : case 2:
14716 : if (!(
14717 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14718 : (TARGET_AVX512F) && (
14719 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14720 : (TARGET_AVX512F) && (
14721 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14722 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8HFmode, operands)
14723 : && (16 == 64 || TARGET_AVX512VL) && (V8HFmode == V16SFmode
14724 : || V8HFmode == V8DFmode
14725 : || V8HFmode == V8DImode
14726 : || V8HFmode == V16SImode
14727 : || V8HFmode == V32HFmode)) &&
14728 : #line 395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14729 : (TARGET_AVX512FP16 && TARGET_AVX512VL)))))
14730 : return -1;
14731 : return 2859; /* *mulv8hf3_mask_round */
14732 :
14733 : case 3:
14734 : if (!(
14735 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14736 : (TARGET_AVX512F) && (
14737 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14738 : (TARGET_AVX512F) && (
14739 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14740 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V16SFmode, operands)
14741 : && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14742 : || V16SFmode == V8DFmode
14743 : || V16SFmode == V8DImode
14744 : || V16SFmode == V16SImode
14745 : || V16SFmode == V32HFmode)) &&
14746 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14747 : (TARGET_AVX512F)))))
14748 : return -1;
14749 : return 2863; /* *mulv16sf3_mask_round */
14750 :
14751 : case 4:
14752 : if (!(
14753 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14754 : (TARGET_AVX512F) && (
14755 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14756 : (TARGET_AVX512F) && (
14757 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14758 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8SFmode, operands)
14759 : && (32 == 64 || TARGET_AVX512VL) && (V8SFmode == V16SFmode
14760 : || V8SFmode == V8DFmode
14761 : || V8SFmode == V8DImode
14762 : || V8SFmode == V16SImode
14763 : || V8SFmode == V32HFmode)) &&
14764 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14765 : (TARGET_AVX)))))
14766 : return -1;
14767 : return 2867; /* *mulv8sf3_mask_round */
14768 :
14769 : case 5:
14770 : if (!(
14771 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14772 : (TARGET_AVX512F) && (
14773 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14774 : (TARGET_AVX512F) &&
14775 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14776 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4SFmode, operands)
14777 : && (16 == 64 || TARGET_AVX512VL) && (V4SFmode == V16SFmode
14778 : || V4SFmode == V8DFmode
14779 : || V4SFmode == V8DImode
14780 : || V4SFmode == V16SImode
14781 : || V4SFmode == V32HFmode)))))
14782 : return -1;
14783 : return 2871; /* *mulv4sf3_mask_round */
14784 :
14785 : case 6:
14786 : if (!(
14787 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14788 : (TARGET_AVX512F) && (
14789 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14790 : (TARGET_AVX512F) && (
14791 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14792 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V8DFmode, operands)
14793 : && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14794 : || V8DFmode == V8DFmode
14795 : || V8DFmode == V8DImode
14796 : || V8DFmode == V16SImode
14797 : || V8DFmode == V32HFmode)) &&
14798 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14799 : (TARGET_AVX512F)))))
14800 : return -1;
14801 : return 2875; /* *mulv8df3_mask_round */
14802 :
14803 : case 7:
14804 : if (!(
14805 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14806 : (TARGET_AVX512F) && (
14807 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14808 : (TARGET_AVX512F) && (
14809 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14810 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V4DFmode, operands)
14811 : && (32 == 64 || TARGET_AVX512VL) && (V4DFmode == V16SFmode
14812 : || V4DFmode == V8DFmode
14813 : || V4DFmode == V8DImode
14814 : || V4DFmode == V16SImode
14815 : || V4DFmode == V32HFmode)) &&
14816 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14817 : (TARGET_AVX)))))
14818 : return -1;
14819 : return 2879; /* *mulv4df3_mask_round */
14820 :
14821 : case 8:
14822 : if (!(
14823 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14824 : (TARGET_AVX512F) && (
14825 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14826 : (TARGET_AVX512F) && (
14827 : #line 2773 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14828 : (TARGET_SSE && ix86_binary_operator_ok (MULT, V2DFmode, operands)
14829 : && (16 == 64 || TARGET_AVX512VL) && (V2DFmode == V16SFmode
14830 : || V2DFmode == V8DFmode
14831 : || V2DFmode == V8DImode
14832 : || V2DFmode == V16SImode
14833 : || V2DFmode == V32HFmode)) &&
14834 : #line 398 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14835 : (TARGET_SSE2)))))
14836 : return -1;
14837 : return 2883; /* *mulv2df3_mask_round */
14838 :
14839 : case 9:
14840 : if (!(
14841 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14842 : (TARGET_AVX512F) && (
14843 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14844 : (TARGET_SSE) &&
14845 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14846 : (TARGET_AVX512FP16))))
14847 : return -1;
14848 : return 2891; /* avx512fp16_vmmulv8hf3_round */
14849 :
14850 : case 10:
14851 : if (!(
14852 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14853 : (TARGET_AVX512F) &&
14854 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14855 : (TARGET_SSE)))
14856 : return -1;
14857 : return 2899; /* sse_vmmulv4sf3_round */
14858 :
14859 : case 11:
14860 : if (!(
14861 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14862 : (TARGET_AVX512F) && (
14863 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14864 : (TARGET_SSE) &&
14865 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14866 : (TARGET_SSE2))))
14867 : return -1;
14868 : return 2907; /* sse2_vmmulv2df3_round */
14869 :
14870 : default:
14871 : return -1;
14872 : }
14873 :
14874 : case DIV:
14875 : x5 = XEXP (x4, 0);
14876 : operands[1] = x5;
14877 : x6 = XEXP (x4, 1);
14878 : operands[2] = x6;
14879 : x7 = XVECEXP (x2, 0, 1);
14880 : if (!const_4_or_8_to_11_operand (x7, E_SImode))
14881 : return -1;
14882 : x8 = XEXP (x3, 2);
14883 : switch (GET_CODE (x8))
14884 : {
14885 : case CONST_INT:
14886 : switch (pattern659 (x2))
14887 : {
14888 : case 0:
14889 : if (!(
14890 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14891 : (TARGET_AVX512F) && (
14892 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14893 : (TARGET_SSE) &&
14894 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14895 : (TARGET_AVX512FP16))))
14896 : return -1;
14897 : return 2895; /* avx512fp16_vmdivv8hf3_round */
14898 :
14899 : case 1:
14900 : if (!(
14901 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14902 : (TARGET_AVX512F) &&
14903 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14904 : (TARGET_SSE)))
14905 : return -1;
14906 : return 2903; /* sse_vmdivv4sf3_round */
14907 :
14908 : case 2:
14909 : if (!(
14910 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14911 : (TARGET_AVX512F) && (
14912 : #line 2824 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14913 : (TARGET_SSE) &&
14914 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14915 : (TARGET_SSE2))))
14916 : return -1;
14917 : return 2911; /* sse2_vmdivv2df3_round */
14918 :
14919 : default:
14920 : return -1;
14921 : }
14922 :
14923 : case REG:
14924 : case SUBREG:
14925 : switch (pattern661 (x2))
14926 : {
14927 : case 0:
14928 : if (!(
14929 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14930 : (TARGET_AVX512F) && (
14931 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14932 : (TARGET_AVX512F) && (
14933 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14934 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
14935 : || V32HFmode == V8DFmode
14936 : || V32HFmode == V8DImode
14937 : || V32HFmode == V16SImode
14938 : || V32HFmode == V32HFmode)) &&
14939 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14940 : (TARGET_AVX512FP16)))))
14941 : return -1;
14942 : return 2917; /* avx512fp16_divv32hf3_mask_round */
14943 :
14944 : case 1:
14945 : if (!(
14946 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14947 : (TARGET_AVX512F) && (
14948 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14949 : (TARGET_AVX512F) && (
14950 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14951 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
14952 : || V16SFmode == V8DFmode
14953 : || V16SFmode == V8DImode
14954 : || V16SFmode == V16SImode
14955 : || V16SFmode == V32HFmode)) &&
14956 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14957 : (TARGET_AVX512F)))))
14958 : return -1;
14959 : return 2925; /* avx512f_divv16sf3_mask_round */
14960 :
14961 : case 2:
14962 : if (!(
14963 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14964 : (TARGET_AVX512F) && (
14965 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
14966 : (TARGET_AVX512F) && (
14967 : #line 2922 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14968 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
14969 : || V8DFmode == V8DFmode
14970 : || V8DFmode == V8DImode
14971 : || V8DFmode == V16SImode
14972 : || V8DFmode == V32HFmode)) &&
14973 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
14974 : (TARGET_AVX512F)))))
14975 : return -1;
14976 : return 2933; /* avx512f_divv8df3_mask_round */
14977 :
14978 : default:
14979 : return -1;
14980 : }
14981 :
14982 : default:
14983 : return -1;
14984 : }
14985 :
14986 : case SQRT:
14987 : x5 = XEXP (x4, 0);
14988 : operands[1] = x5;
14989 : x9 = XEXP (x3, 1);
14990 : operands[2] = x9;
14991 : x7 = XVECEXP (x2, 0, 1);
14992 : if (!const_4_or_8_to_11_operand (x7, E_SImode))
14993 : return -1;
14994 : x8 = XEXP (x3, 2);
14995 : switch (GET_CODE (x8))
14996 : {
14997 : case REG:
14998 : case SUBREG:
14999 : operands[3] = x8;
15000 : operands[4] = x7;
15001 : switch (GET_MODE (operands[0]))
15002 : {
15003 : case E_V32HFmode:
15004 : if (pattern1412 (x2,
15005 : E_SImode,
15006 : E_V32HFmode) != 0
15007 : || !(
15008 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15009 : (TARGET_AVX512F) && (
15010 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15011 : (TARGET_AVX512F) && (
15012 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15013 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V32HFmode == V16SFmode
15014 : || V32HFmode == V8DFmode
15015 : || V32HFmode == V8DImode
15016 : || V32HFmode == V16SImode
15017 : || V32HFmode == V32HFmode)) &&
15018 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15019 : (TARGET_AVX512FP16)))))
15020 : return -1;
15021 : return 2970; /* avx512fp16_sqrtv32hf2_mask_round */
15022 :
15023 : case E_V16SFmode:
15024 : if (pattern1412 (x2,
15025 : E_HImode,
15026 : E_V16SFmode) != 0
15027 : || !(
15028 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15029 : (TARGET_AVX512F) && (
15030 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15031 : (TARGET_AVX512F) && (
15032 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15033 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
15034 : || V16SFmode == V8DFmode
15035 : || V16SFmode == V8DImode
15036 : || V16SFmode == V16SImode
15037 : || V16SFmode == V32HFmode)) &&
15038 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15039 : (TARGET_AVX512F)))))
15040 : return -1;
15041 : return 2978; /* avx512f_sqrtv16sf2_mask_round */
15042 :
15043 : case E_V8DFmode:
15044 : if (pattern1412 (x2,
15045 : E_QImode,
15046 : E_V8DFmode) != 0
15047 : || !(
15048 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15049 : (TARGET_AVX512F) && (
15050 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15051 : (TARGET_AVX512F) && (
15052 : #line 3088 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15053 : (TARGET_SSE && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
15054 : || V8DFmode == V8DFmode
15055 : || V8DFmode == V8DImode
15056 : || V8DFmode == V16SImode
15057 : || V8DFmode == V32HFmode)) &&
15058 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15059 : (TARGET_AVX512F)))))
15060 : return -1;
15061 : return 2986; /* avx512f_sqrtv8df2_mask_round */
15062 :
15063 : default:
15064 : return -1;
15065 : }
15066 :
15067 : case CONST_INT:
15068 : if (XWINT (x8, 0) != 1L)
15069 : return -1;
15070 : operands[3] = x7;
15071 : switch (GET_MODE (operands[0]))
15072 : {
15073 : case E_V8HFmode:
15074 : if (pattern1413 (x2,
15075 : E_V8HFmode) != 0
15076 : || !(
15077 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15078 : (TARGET_AVX512F) && (
15079 : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15080 : (TARGET_SSE) &&
15081 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15082 : (TARGET_AVX512FP16))))
15083 : return -1;
15084 : return 2992; /* avx512fp16_vmsqrtv8hf2_round */
15085 :
15086 : case E_V4SFmode:
15087 : if (pattern1413 (x2,
15088 : E_V4SFmode) != 0
15089 : || !(
15090 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15091 : (TARGET_AVX512F) &&
15092 : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15093 : (TARGET_SSE)))
15094 : return -1;
15095 : return 2996; /* sse_vmsqrtv4sf2_round */
15096 :
15097 : case E_V2DFmode:
15098 : if (pattern1413 (x2,
15099 : E_V2DFmode) != 0
15100 : || !(
15101 : #line 421 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15102 : (TARGET_AVX512F) && (
15103 : #line 3106 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15104 : (TARGET_SSE) &&
15105 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15106 : (TARGET_SSE2))))
15107 : return -1;
15108 : return 3000; /* sse2_vmsqrtv2df2_round */
15109 :
15110 : default:
15111 : return -1;
15112 : }
15113 :
15114 : default:
15115 : return -1;
15116 : }
15117 :
15118 : case VEC_DUPLICATE:
15119 : return recog_230 (x1, insn, pnum_clobbers);
15120 :
15121 : case SMAX:
15122 : switch (pattern662 (x2))
15123 : {
15124 : case 0:
15125 : if (!(
15126 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15127 : (TARGET_AVX512F) && (
15128 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15129 : (TARGET_AVX512F) && (
15130 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15131 : (TARGET_SSE
15132 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15133 : && (64 == 64 || TARGET_AVX512VL)
15134 : && (V32HFmode == V16SFmode
15135 : || V32HFmode == V8DFmode
15136 : || V32HFmode == V8DImode
15137 : || V32HFmode == V16SImode
15138 : || V32HFmode == V32HFmode)) &&
15139 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15140 : (TARGET_AVX512FP16)))))
15141 : return -1;
15142 : return 3048; /* *smaxv32hf3_mask_round */
15143 :
15144 : case 1:
15145 : if (!(
15146 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15147 : (TARGET_AVX512F) && (
15148 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15149 : (TARGET_AVX512F) && (
15150 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15151 : (TARGET_SSE
15152 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15153 : && (64 == 64 || TARGET_AVX512VL)
15154 : && (V16SFmode == V16SFmode
15155 : || V16SFmode == V8DFmode
15156 : || V16SFmode == V8DImode
15157 : || V16SFmode == V16SImode
15158 : || V16SFmode == V32HFmode)) &&
15159 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15160 : (TARGET_AVX512F)))))
15161 : return -1;
15162 : return 3064; /* *smaxv16sf3_mask_round */
15163 :
15164 : case 2:
15165 : if (!(
15166 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15167 : (TARGET_AVX512F) && (
15168 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15169 : (TARGET_AVX512F) && (
15170 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15171 : (TARGET_SSE
15172 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15173 : && (64 == 64 || TARGET_AVX512VL)
15174 : && (V8DFmode == V16SFmode
15175 : || V8DFmode == V8DFmode
15176 : || V8DFmode == V8DImode
15177 : || V8DFmode == V16SImode
15178 : || V8DFmode == V32HFmode)) &&
15179 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15180 : (TARGET_AVX512F)))))
15181 : return -1;
15182 : return 3080; /* *smaxv8df3_mask_round */
15183 :
15184 : case 3:
15185 : if (!(
15186 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15187 : (TARGET_AVX512F) && (
15188 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15189 : (TARGET_SSE) &&
15190 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15191 : (TARGET_AVX512FP16))))
15192 : return -1;
15193 : return 3170; /* *avx512fp16_vmsmaxv8hf3_round */
15194 :
15195 : case 4:
15196 : if (!(
15197 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15198 : (TARGET_AVX512F) &&
15199 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15200 : (TARGET_SSE)))
15201 : return -1;
15202 : return 3178; /* *sse_vmsmaxv4sf3_round */
15203 :
15204 : case 5:
15205 : if (!(
15206 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15207 : (TARGET_AVX512F) && (
15208 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15209 : (TARGET_SSE) &&
15210 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15211 : (TARGET_SSE2))))
15212 : return -1;
15213 : return 3186; /* *sse2_vmsmaxv2df3_round */
15214 :
15215 : default:
15216 : return -1;
15217 : }
15218 :
15219 : case SMIN:
15220 : switch (pattern662 (x2))
15221 : {
15222 : case 0:
15223 : if (!(
15224 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15225 : (TARGET_AVX512F) && (
15226 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15227 : (TARGET_AVX512F) && (
15228 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15229 : (TARGET_SSE
15230 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15231 : && (64 == 64 || TARGET_AVX512VL)
15232 : && (V32HFmode == V16SFmode
15233 : || V32HFmode == V8DFmode
15234 : || V32HFmode == V8DImode
15235 : || V32HFmode == V16SImode
15236 : || V32HFmode == V32HFmode)) &&
15237 : #line 393 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15238 : (TARGET_AVX512FP16)))))
15239 : return -1;
15240 : return 3052; /* *sminv32hf3_mask_round */
15241 :
15242 : case 1:
15243 : if (!(
15244 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15245 : (TARGET_AVX512F) && (
15246 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15247 : (TARGET_AVX512F) && (
15248 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15249 : (TARGET_SSE
15250 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15251 : && (64 == 64 || TARGET_AVX512VL)
15252 : && (V16SFmode == V16SFmode
15253 : || V16SFmode == V8DFmode
15254 : || V16SFmode == V8DImode
15255 : || V16SFmode == V16SImode
15256 : || V16SFmode == V32HFmode)) &&
15257 : #line 396 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15258 : (TARGET_AVX512F)))))
15259 : return -1;
15260 : return 3068; /* *sminv16sf3_mask_round */
15261 :
15262 : case 2:
15263 : if (!(
15264 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15265 : (TARGET_AVX512F) && (
15266 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15267 : (TARGET_AVX512F) && (
15268 : #line 3329 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15269 : (TARGET_SSE
15270 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
15271 : && (64 == 64 || TARGET_AVX512VL)
15272 : && (V8DFmode == V16SFmode
15273 : || V8DFmode == V8DFmode
15274 : || V8DFmode == V8DImode
15275 : || V8DFmode == V16SImode
15276 : || V8DFmode == V32HFmode)) &&
15277 : #line 397 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15278 : (TARGET_AVX512F)))))
15279 : return -1;
15280 : return 3084; /* *sminv8df3_mask_round */
15281 :
15282 : case 3:
15283 : if (!(
15284 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15285 : (TARGET_AVX512F) && (
15286 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15287 : (TARGET_SSE) &&
15288 : #line 477 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15289 : (TARGET_AVX512FP16))))
15290 : return -1;
15291 : return 3174; /* *avx512fp16_vmsminv8hf3_round */
15292 :
15293 : case 4:
15294 : if (!(
15295 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15296 : (TARGET_AVX512F) &&
15297 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15298 : (TARGET_SSE)))
15299 : return -1;
15300 : return 3182; /* *sse_vmsminv4sf3_round */
15301 :
15302 : case 5:
15303 : if (!(
15304 : #line 463 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15305 : (TARGET_AVX512F) && (
15306 : #line 3536 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15307 : (TARGET_SSE) &&
15308 : #line 478 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15309 : (TARGET_SSE2))))
15310 : return -1;
15311 : return 3190; /* *sse2_vmsminv2df3_round */
15312 :
15313 : default:
15314 : return -1;
15315 : }
15316 :
15317 : case UNSPEC:
15318 : return recog_229 (x1, insn, pnum_clobbers);
15319 :
15320 : case FMA:
15321 : return recog_228 (x1, insn, pnum_clobbers);
15322 :
15323 : case FLOAT:
15324 : x5 = XEXP (x4, 0);
15325 : operands[1] = x5;
15326 : x9 = XEXP (x3, 1);
15327 : operands[2] = x9;
15328 : x8 = XEXP (x3, 2);
15329 : operands[3] = x8;
15330 : x7 = XVECEXP (x2, 0, 1);
15331 : operands[4] = x7;
15332 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
15333 : return -1;
15334 : switch (GET_MODE (operands[0]))
15335 : {
15336 : case E_V8HFmode:
15337 : switch (pattern1315 (x2))
15338 : {
15339 : case 0:
15340 : if (!(
15341 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15342 : (TARGET_AVX512F) && (
15343 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15344 : (TARGET_AVX512F) && (
15345 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15346 : (TARGET_AVX512FP16) &&
15347 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15348 : (TARGET_AVX512VL)))))
15349 : return -1;
15350 : return 4521; /* avx512fp16_vcvtw2ph_v8hi_mask_round */
15351 :
15352 : case 1:
15353 : if (!(
15354 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15355 : (TARGET_AVX512F) && (
15356 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15357 : (TARGET_AVX512F) && (
15358 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15359 : (TARGET_AVX512FP16) &&
15360 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15361 : (TARGET_AVX512VL)))))
15362 : return -1;
15363 : return 4545; /* avx512fp16_vcvtdq2ph_v8si_mask_round */
15364 :
15365 : case 2:
15366 : if (!(
15367 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15368 : (TARGET_AVX512F) && (
15369 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15370 : (TARGET_AVX512F) &&
15371 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15372 : (TARGET_AVX512FP16))))
15373 : return -1;
15374 : return 4561; /* avx512fp16_vcvtqq2ph_v8di_mask_round */
15375 :
15376 : default:
15377 : return -1;
15378 : }
15379 :
15380 : case E_V16HFmode:
15381 : switch (pattern1316 (x2))
15382 : {
15383 : case 0:
15384 : if (!(
15385 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15386 : (TARGET_AVX512F) && (
15387 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15388 : (TARGET_AVX512F) && (
15389 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15390 : (TARGET_AVX512FP16) &&
15391 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15392 : (TARGET_AVX512VL)))))
15393 : return -1;
15394 : return 4529; /* avx512fp16_vcvtw2ph_v16hi_mask_round */
15395 :
15396 : case 1:
15397 : if (!(
15398 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15399 : (TARGET_AVX512F) && (
15400 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15401 : (TARGET_AVX512F) &&
15402 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15403 : (TARGET_AVX512FP16))))
15404 : return -1;
15405 : return 4553; /* avx512fp16_vcvtdq2ph_v16si_mask_round */
15406 :
15407 : default:
15408 : return -1;
15409 : }
15410 :
15411 : case E_V32HFmode:
15412 : if (pattern663 (x2,
15413 : E_SImode,
15414 : E_V32HFmode,
15415 : E_V32HImode) != 0
15416 : || !(
15417 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15418 : (TARGET_AVX512F) && (
15419 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15420 : (TARGET_AVX512F) &&
15421 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15422 : (TARGET_AVX512FP16))))
15423 : return -1;
15424 : return 4537; /* avx512fp16_vcvtw2ph_v32hi_mask_round */
15425 :
15426 : case E_V16SFmode:
15427 : if (pattern663 (x2,
15428 : E_HImode,
15429 : E_V16SFmode,
15430 : E_V16SImode) != 0
15431 : || !(
15432 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15433 : (TARGET_AVX512F) && (
15434 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15435 : (TARGET_AVX512F) && (
15436 : #line 8971 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15437 : (TARGET_SSE2 && (64 == 64 || TARGET_AVX512VL) && (V16SFmode == V16SFmode
15438 : || V16SFmode == V8DFmode
15439 : || V16SFmode == V8DImode
15440 : || V16SFmode == V16SImode
15441 : || V16SFmode == V32HFmode)) &&
15442 : #line 437 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15443 : (TARGET_AVX512F)))))
15444 : return -1;
15445 : return 4857; /* floatv16siv16sf2_mask_round */
15446 :
15447 : case E_V8DFmode:
15448 : if (pattern1317 (x2,
15449 : E_V8DFmode,
15450 : E_V8DImode,
15451 : E_QImode) != 0
15452 : || !(
15453 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15454 : (TARGET_AVX512F) && (
15455 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15456 : (TARGET_AVX512F) &&
15457 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15458 : (TARGET_AVX512DQ))))
15459 : return -1;
15460 : return 4989; /* floatv8div8df2_mask_round */
15461 :
15462 : case E_V4DFmode:
15463 : if (pattern1317 (x2,
15464 : E_V4DFmode,
15465 : E_V4DImode,
15466 : E_QImode) != 0
15467 : || !(
15468 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15469 : (TARGET_AVX512F) && (
15470 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15471 : (TARGET_AVX512F) && (
15472 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15473 : (TARGET_AVX512DQ) &&
15474 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15475 : (TARGET_AVX512VL)))))
15476 : return -1;
15477 : return 4997; /* floatv4div4df2_mask_round */
15478 :
15479 : case E_V2DFmode:
15480 : if (pattern1317 (x2,
15481 : E_V2DFmode,
15482 : E_V2DImode,
15483 : E_QImode) != 0
15484 : || !(
15485 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15486 : (TARGET_AVX512F) && (
15487 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15488 : (TARGET_AVX512F) && (
15489 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15490 : (TARGET_AVX512DQ) &&
15491 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15492 : (TARGET_AVX512VL)))))
15493 : return -1;
15494 : return 5005; /* floatv2div2df2_mask_round */
15495 :
15496 : case E_V8SFmode:
15497 : if (pattern1317 (x2,
15498 : E_V8SFmode,
15499 : E_V8DImode,
15500 : E_QImode) != 0
15501 : || !(
15502 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15503 : (TARGET_AVX512F) && (
15504 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15505 : (TARGET_AVX512F) &&
15506 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15507 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15508 : || V8DImode == V8DFmode
15509 : || V8DImode == V8DImode
15510 : || V8DImode == V16SImode
15511 : || V8DImode == V32HFmode)))))
15512 : return -1;
15513 : return 5013; /* floatv8div8sf2_mask_round */
15514 :
15515 : default:
15516 : return -1;
15517 : }
15518 :
15519 : case UNSIGNED_FLOAT:
15520 : x5 = XEXP (x4, 0);
15521 : operands[1] = x5;
15522 : x9 = XEXP (x3, 1);
15523 : operands[2] = x9;
15524 : x8 = XEXP (x3, 2);
15525 : operands[3] = x8;
15526 : x7 = XVECEXP (x2, 0, 1);
15527 : operands[4] = x7;
15528 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
15529 : return -1;
15530 : switch (GET_MODE (operands[0]))
15531 : {
15532 : case E_V8HFmode:
15533 : switch (pattern1315 (x2))
15534 : {
15535 : case 0:
15536 : if (!(
15537 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15538 : (TARGET_AVX512F) && (
15539 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15540 : (TARGET_AVX512F) && (
15541 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15542 : (TARGET_AVX512FP16) &&
15543 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15544 : (TARGET_AVX512VL)))))
15545 : return -1;
15546 : return 4525; /* avx512fp16_vcvtuw2ph_v8hi_mask_round */
15547 :
15548 : case 1:
15549 : if (!(
15550 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15551 : (TARGET_AVX512F) && (
15552 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15553 : (TARGET_AVX512F) && (
15554 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15555 : (TARGET_AVX512FP16) &&
15556 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15557 : (TARGET_AVX512VL)))))
15558 : return -1;
15559 : return 4549; /* avx512fp16_vcvtudq2ph_v8si_mask_round */
15560 :
15561 : case 2:
15562 : if (!(
15563 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15564 : (TARGET_AVX512F) && (
15565 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15566 : (TARGET_AVX512F) &&
15567 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15568 : (TARGET_AVX512FP16))))
15569 : return -1;
15570 : return 4565; /* avx512fp16_vcvtuqq2ph_v8di_mask_round */
15571 :
15572 : default:
15573 : return -1;
15574 : }
15575 :
15576 : case E_V16HFmode:
15577 : switch (pattern1316 (x2))
15578 : {
15579 : case 0:
15580 : if (!(
15581 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15582 : (TARGET_AVX512F) && (
15583 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15584 : (TARGET_AVX512F) && (
15585 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15586 : (TARGET_AVX512FP16) &&
15587 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15588 : (TARGET_AVX512VL)))))
15589 : return -1;
15590 : return 4533; /* avx512fp16_vcvtuw2ph_v16hi_mask_round */
15591 :
15592 : case 1:
15593 : if (!(
15594 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15595 : (TARGET_AVX512F) && (
15596 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15597 : (TARGET_AVX512F) &&
15598 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15599 : (TARGET_AVX512FP16))))
15600 : return -1;
15601 : return 4557; /* avx512fp16_vcvtudq2ph_v16si_mask_round */
15602 :
15603 : default:
15604 : return -1;
15605 : }
15606 :
15607 : case E_V32HFmode:
15608 : if (pattern663 (x2,
15609 : E_SImode,
15610 : E_V32HFmode,
15611 : E_V32HImode) != 0
15612 : || !(
15613 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15614 : (TARGET_AVX512F) && (
15615 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15616 : (TARGET_AVX512F) &&
15617 : #line 7993 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15618 : (TARGET_AVX512FP16))))
15619 : return -1;
15620 : return 4541; /* avx512fp16_vcvtuw2ph_v32hi_mask_round */
15621 :
15622 : case E_V16SFmode:
15623 : if (pattern1317 (x2,
15624 : E_V16SFmode,
15625 : E_V16SImode,
15626 : E_HImode) != 0
15627 : || !
15628 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15629 : (TARGET_AVX512F))
15630 : return -1;
15631 : return 4865; /* floatunsv16siv16sf2_mask_round */
15632 :
15633 : case E_V8SFmode:
15634 : if (pattern1318 (x2,
15635 : E_V8SFmode,
15636 : E_QImode) != 0)
15637 : return -1;
15638 : switch (GET_MODE (operands[1]))
15639 : {
15640 : case E_V8SImode:
15641 : if (!nonimmediate_operand (operands[1], E_V8SImode)
15642 : || !(
15643 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15644 : (TARGET_AVX512F) && (
15645 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15646 : (TARGET_AVX512F) && (
15647 : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15648 : (TARGET_AVX512F) &&
15649 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15650 : (TARGET_AVX512VL)))))
15651 : return -1;
15652 : return 4869; /* floatunsv8siv8sf2_mask_round */
15653 :
15654 : case E_V8DImode:
15655 : if (!nonimmediate_operand (operands[1], E_V8DImode)
15656 : || !(
15657 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15658 : (TARGET_AVX512F) && (
15659 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15660 : (TARGET_AVX512F) &&
15661 : #line 9518 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15662 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15663 : || V8DImode == V8DFmode
15664 : || V8DImode == V8DImode
15665 : || V8DImode == V16SImode
15666 : || V8DImode == V32HFmode)))))
15667 : return -1;
15668 : return 5017; /* floatunsv8div8sf2_mask_round */
15669 :
15670 : default:
15671 : return -1;
15672 : }
15673 :
15674 : case E_V4SFmode:
15675 : if (pattern1317 (x2,
15676 : E_V4SFmode,
15677 : E_V4SImode,
15678 : E_QImode) != 0
15679 : || !(
15680 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15681 : (TARGET_AVX512F) && (
15682 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15683 : (TARGET_AVX512F) && (
15684 : #line 8984 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15685 : (TARGET_AVX512F) &&
15686 : #line 534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15687 : (TARGET_AVX512VL)))))
15688 : return -1;
15689 : return 4873; /* floatunsv4siv4sf2_mask_round */
15690 :
15691 : case E_V8DFmode:
15692 : if (pattern1317 (x2,
15693 : E_V8DFmode,
15694 : E_V8DImode,
15695 : E_QImode) != 0
15696 : || !(
15697 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15698 : (TARGET_AVX512F) && (
15699 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15700 : (TARGET_AVX512F) &&
15701 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15702 : (TARGET_AVX512DQ))))
15703 : return -1;
15704 : return 4993; /* floatunsv8div8df2_mask_round */
15705 :
15706 : case E_V4DFmode:
15707 : if (pattern1317 (x2,
15708 : E_V4DFmode,
15709 : E_V4DImode,
15710 : E_QImode) != 0
15711 : || !(
15712 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15713 : (TARGET_AVX512F) && (
15714 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15715 : (TARGET_AVX512F) && (
15716 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15717 : (TARGET_AVX512DQ) &&
15718 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15719 : (TARGET_AVX512VL)))))
15720 : return -1;
15721 : return 5001; /* floatunsv4div4df2_mask_round */
15722 :
15723 : case E_V2DFmode:
15724 : if (pattern1317 (x2,
15725 : E_V2DFmode,
15726 : E_V2DImode,
15727 : E_QImode) != 0
15728 : || !(
15729 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15730 : (TARGET_AVX512F) && (
15731 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15732 : (TARGET_AVX512F) && (
15733 : #line 9504 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15734 : (TARGET_AVX512DQ) &&
15735 : #line 531 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15736 : (TARGET_AVX512VL)))))
15737 : return -1;
15738 : return 5009; /* floatunsv2div2df2_mask_round */
15739 :
15740 : default:
15741 : return -1;
15742 : }
15743 :
15744 : case FIX:
15745 : switch (pattern664 (x2))
15746 : {
15747 : case 0:
15748 : if (!(
15749 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15750 : (TARGET_AVX512F) && (
15751 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15752 : (TARGET_AVX512F) && (
15753 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15754 : (TARGET_AVX512FP16) &&
15755 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15756 : (TARGET_AVX512VL)))))
15757 : return -1;
15758 : return 4655; /* avx512fp16_fix_truncv8hi2_mask_round */
15759 :
15760 : case 1:
15761 : if (!(
15762 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15763 : (TARGET_AVX512F) && (
15764 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15765 : (TARGET_AVX512F) && (
15766 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15767 : (TARGET_AVX512FP16) &&
15768 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15769 : (TARGET_AVX512VL)))))
15770 : return -1;
15771 : return 4663; /* avx512fp16_fix_truncv16hi2_mask_round */
15772 :
15773 : case 2:
15774 : if (!(
15775 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15776 : (TARGET_AVX512F) && (
15777 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15778 : (TARGET_AVX512F) &&
15779 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15780 : (TARGET_AVX512FP16))))
15781 : return -1;
15782 : return 4671; /* avx512fp16_fix_truncv32hi2_mask_round */
15783 :
15784 : case 3:
15785 : if (!(
15786 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15787 : (TARGET_AVX512F) && (
15788 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15789 : (TARGET_AVX512F) && (
15790 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15791 : (TARGET_AVX512FP16) &&
15792 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15793 : (TARGET_AVX512VL)))))
15794 : return -1;
15795 : return 4679; /* avx512fp16_fix_truncv8si2_mask_round */
15796 :
15797 : case 4:
15798 : if (!
15799 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15800 : (TARGET_AVX512F))
15801 : return -1;
15802 : return 5070; /* fix_truncv8dfv8si2_mask_round */
15803 :
15804 : case 5:
15805 : if (!(
15806 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15807 : (TARGET_AVX512F) && (
15808 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15809 : (TARGET_AVX512F) &&
15810 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15811 : (TARGET_AVX512FP16))))
15812 : return -1;
15813 : return 4687; /* avx512fp16_fix_truncv16si2_mask_round */
15814 :
15815 : case 6:
15816 : if (!
15817 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15818 : (TARGET_AVX512F))
15819 : return -1;
15820 : return 4921; /* fix_truncv16sfv16si2_mask_round */
15821 :
15822 : case 7:
15823 : if (!(
15824 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15825 : (TARGET_AVX512F) && (
15826 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15827 : (TARGET_AVX512F) &&
15828 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15829 : (TARGET_AVX512FP16))))
15830 : return -1;
15831 : return 4695; /* avx512fp16_fix_truncv8di2_mask_round */
15832 :
15833 : case 8:
15834 : if (!(
15835 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15836 : (TARGET_AVX512F) && (
15837 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15838 : (TARGET_AVX512F) &&
15839 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15840 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
15841 : || V8DFmode == V8DFmode
15842 : || V8DFmode == V8DImode
15843 : || V8DFmode == V16SImode
15844 : || V8DFmode == V32HFmode)))))
15845 : return -1;
15846 : return 5107; /* fix_truncv8dfv8di2_mask_round */
15847 :
15848 : case 9:
15849 : if (!(
15850 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15851 : (TARGET_AVX512F) && (
15852 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15853 : (TARGET_AVX512F) &&
15854 : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15855 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15856 : || V8DImode == V8DFmode
15857 : || V8DImode == V8DImode
15858 : || V8DImode == V16SImode
15859 : || V8DImode == V32HFmode)))))
15860 : return -1;
15861 : return 5151; /* fix_truncv8sfv8di2_mask_round */
15862 :
15863 : default:
15864 : return -1;
15865 : }
15866 :
15867 : case UNSIGNED_FIX:
15868 : switch (pattern664 (x2))
15869 : {
15870 : case 0:
15871 : if (!(
15872 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15873 : (TARGET_AVX512F) && (
15874 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15875 : (TARGET_AVX512F) && (
15876 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15877 : (TARGET_AVX512FP16) &&
15878 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15879 : (TARGET_AVX512VL)))))
15880 : return -1;
15881 : return 4659; /* avx512fp16_fixuns_truncv8hi2_mask_round */
15882 :
15883 : case 1:
15884 : if (!(
15885 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15886 : (TARGET_AVX512F) && (
15887 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15888 : (TARGET_AVX512F) && (
15889 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15890 : (TARGET_AVX512FP16) &&
15891 : #line 687 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15892 : (TARGET_AVX512VL)))))
15893 : return -1;
15894 : return 4667; /* avx512fp16_fixuns_truncv16hi2_mask_round */
15895 :
15896 : case 2:
15897 : if (!(
15898 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15899 : (TARGET_AVX512F) && (
15900 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15901 : (TARGET_AVX512F) &&
15902 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15903 : (TARGET_AVX512FP16))))
15904 : return -1;
15905 : return 4675; /* avx512fp16_fixuns_truncv32hi2_mask_round */
15906 :
15907 : case 3:
15908 : if (!(
15909 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15910 : (TARGET_AVX512F) && (
15911 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15912 : (TARGET_AVX512F) && (
15913 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15914 : (TARGET_AVX512FP16) &&
15915 : #line 688 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15916 : (TARGET_AVX512VL)))))
15917 : return -1;
15918 : return 4683; /* avx512fp16_fixuns_truncv8si2_mask_round */
15919 :
15920 : case 4:
15921 : if (!
15922 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15923 : (TARGET_AVX512F))
15924 : return -1;
15925 : return 5074; /* fixuns_truncv8dfv8si2_mask_round */
15926 :
15927 : case 5:
15928 : if (!(
15929 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15930 : (TARGET_AVX512F) && (
15931 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15932 : (TARGET_AVX512F) &&
15933 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15934 : (TARGET_AVX512FP16))))
15935 : return -1;
15936 : return 4691; /* avx512fp16_fixuns_truncv16si2_mask_round */
15937 :
15938 : case 6:
15939 : if (!
15940 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15941 : (TARGET_AVX512F))
15942 : return -1;
15943 : return 4925; /* fixuns_truncv16sfv16si2_mask_round */
15944 :
15945 : case 7:
15946 : if (!(
15947 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15948 : (TARGET_AVX512F) && (
15949 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15950 : (TARGET_AVX512F) &&
15951 : #line 8212 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15952 : (TARGET_AVX512FP16))))
15953 : return -1;
15954 : return 4699; /* avx512fp16_fixuns_truncv8di2_mask_round */
15955 :
15956 : case 8:
15957 : if (!(
15958 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15959 : (TARGET_AVX512F) && (
15960 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15961 : (TARGET_AVX512F) &&
15962 : #line 10029 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15963 : (TARGET_AVX512DQ && (V8DFmode == V16SFmode
15964 : || V8DFmode == V8DFmode
15965 : || V8DFmode == V8DImode
15966 : || V8DFmode == V16SImode
15967 : || V8DFmode == V32HFmode)))))
15968 : return -1;
15969 : return 5111; /* fixuns_truncv8dfv8di2_mask_round */
15970 :
15971 : case 9:
15972 : if (!(
15973 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15974 : (TARGET_AVX512F) && (
15975 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
15976 : (TARGET_AVX512F) &&
15977 : #line 10072 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
15978 : (TARGET_AVX512DQ && (V8DImode == V16SFmode
15979 : || V8DImode == V8DFmode
15980 : || V8DImode == V8DImode
15981 : || V8DImode == V16SImode
15982 : || V8DImode == V32HFmode)))))
15983 : return -1;
15984 : return 5155; /* fixuns_truncv8sfv8di2_mask_round */
15985 :
15986 : default:
15987 : return -1;
15988 : }
15989 :
15990 : case FLOAT_EXTEND:
15991 : x7 = XVECEXP (x2, 0, 1);
15992 : if (!const48_operand (x7, E_SImode))
15993 : return -1;
15994 : x5 = XEXP (x4, 0);
15995 : switch (GET_CODE (x5))
15996 : {
15997 : case REG:
15998 : case SUBREG:
15999 : operands[1] = x5;
16000 : x9 = XEXP (x3, 1);
16001 : operands[2] = x9;
16002 : x8 = XEXP (x3, 2);
16003 : operands[3] = x8;
16004 : operands[4] = x7;
16005 : switch (GET_MODE (operands[0]))
16006 : {
16007 : case E_V8DFmode:
16008 : if (pattern1318 (x2,
16009 : E_V8DFmode,
16010 : E_QImode) != 0)
16011 : return -1;
16012 : switch (GET_MODE (operands[1]))
16013 : {
16014 : case E_V8HFmode:
16015 : if (!register_operand (operands[1], E_V8HFmode)
16016 : || !(
16017 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16018 : (TARGET_AVX512F) && (
16019 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16020 : (TARGET_AVX512F) &&
16021 : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16022 : (TARGET_AVX512FP16))))
16023 : return -1;
16024 : return 4759; /* avx512fp16_float_extend_phv8df2_mask_round */
16025 :
16026 : case E_V8SFmode:
16027 : if (!register_operand (operands[1], E_V8SFmode)
16028 : || !(
16029 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16030 : (TARGET_AVX512F) && (
16031 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16032 : (TARGET_AVX512F) && (
16033 : #line 10550 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16034 : (TARGET_AVX && (64 == 64 || TARGET_AVX512VL) && (V8DFmode == V16SFmode
16035 : || V8DFmode == V8DFmode
16036 : || V8DFmode == V8DImode
16037 : || V8DFmode == V16SImode
16038 : || V8DFmode == V32HFmode)) &&
16039 : #line 466 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16040 : (TARGET_AVX512F)))))
16041 : return -1;
16042 : return 5204; /* avx512f_cvtps2pd512_mask_round */
16043 :
16044 : default:
16045 : return -1;
16046 : }
16047 :
16048 : case E_V16SFmode:
16049 : if (pattern663 (x2,
16050 : E_HImode,
16051 : E_V16SFmode,
16052 : E_V16HFmode) != 0
16053 : || !(
16054 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16055 : (TARGET_AVX512F) && (
16056 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16057 : (TARGET_AVX512F) &&
16058 : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16059 : (TARGET_AVX512FP16))))
16060 : return -1;
16061 : return 4763; /* avx512fp16_float_extend_phv16sf2_mask_round */
16062 :
16063 : case E_V8SFmode:
16064 : if (pattern663 (x2,
16065 : E_QImode,
16066 : E_V8SFmode,
16067 : E_V8HFmode) != 0
16068 : || !(
16069 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16070 : (TARGET_AVX512F) && (
16071 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16072 : (TARGET_AVX512F) && (
16073 : #line 8365 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16074 : (TARGET_AVX512FP16) &&
16075 : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16076 : (TARGET_AVX512VL)))))
16077 : return -1;
16078 : return 4767; /* avx512fp16_float_extend_phv8sf2_mask_round */
16079 :
16080 : default:
16081 : return -1;
16082 : }
16083 :
16084 : case VEC_SELECT:
16085 : if (GET_MODE (x5) != E_V2SFmode)
16086 : return -1;
16087 : x10 = XEXP (x5, 1);
16088 : if (GET_CODE (x10) != PARALLEL
16089 : || XVECLEN (x10, 0) != 2)
16090 : return -1;
16091 : x11 = XVECEXP (x10, 0, 0);
16092 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
16093 : return -1;
16094 : x12 = XVECEXP (x10, 0, 1);
16095 : if (x12 != const_int_rtx[MAX_SAVED_CONST_INT + 1])
16096 : return -1;
16097 : x8 = XEXP (x3, 2);
16098 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + 1]
16099 : || pattern1487 (x2) != 0)
16100 : return -1;
16101 : x13 = XEXP (x5, 0);
16102 : operands[2] = x13;
16103 : if (!register_operand (operands[2], E_V4SFmode))
16104 : return -1;
16105 : x9 = XEXP (x3, 1);
16106 : operands[1] = x9;
16107 : if (!register_operand (operands[1], E_V2DFmode))
16108 : return -1;
16109 : operands[3] = x7;
16110 : if (!(
16111 : #line 263 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16112 : (TARGET_AVX512F) &&
16113 : #line 10377 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16114 : (TARGET_SSE2)))
16115 : return -1;
16116 : return 5187; /* sse2_cvtss2sd_round */
16117 :
16118 : default:
16119 : return -1;
16120 : }
16121 :
16122 : case FLOAT_TRUNCATE:
16123 : x5 = XEXP (x4, 0);
16124 : operands[1] = x5;
16125 : x9 = XEXP (x3, 1);
16126 : operands[2] = x9;
16127 : x8 = XEXP (x3, 2);
16128 : operands[3] = x8;
16129 : x7 = XVECEXP (x2, 0, 1);
16130 : operands[4] = x7;
16131 : if (!const_4_or_8_to_11_operand (operands[4], E_SImode))
16132 : return -1;
16133 : switch (GET_MODE (operands[0]))
16134 : {
16135 : case E_V8HFmode:
16136 : if (pattern1318 (x2,
16137 : E_V8HFmode,
16138 : E_QImode) != 0)
16139 : return -1;
16140 : switch (GET_MODE (operands[1]))
16141 : {
16142 : case E_V8DFmode:
16143 : if (!register_operand (operands[1], E_V8DFmode)
16144 : || !(
16145 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16146 : (TARGET_AVX512F) && (
16147 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16148 : (TARGET_AVX512F) &&
16149 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16150 : (TARGET_AVX512FP16))))
16151 : return -1;
16152 : return 4783; /* avx512fp16_vcvtpd2ph_v8df_mask_round */
16153 :
16154 : case E_V8SFmode:
16155 : if (!register_operand (operands[1], E_V8SFmode)
16156 : || !(
16157 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16158 : (TARGET_AVX512F) && (
16159 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16160 : (TARGET_AVX512F) && (
16161 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16162 : (TARGET_AVX512FP16) &&
16163 : #line 986 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16164 : (TARGET_AVX512VL)))))
16165 : return -1;
16166 : return 4791; /* avx512fp16_vcvtps2ph_v8sf_mask_round */
16167 :
16168 : default:
16169 : return -1;
16170 : }
16171 :
16172 : case E_V16HFmode:
16173 : if (pattern663 (x2,
16174 : E_HImode,
16175 : E_V16HFmode,
16176 : E_V16SFmode) != 0
16177 : || !(
16178 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16179 : (TARGET_AVX512F) && (
16180 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16181 : (TARGET_AVX512F) &&
16182 : #line 8459 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16183 : (TARGET_AVX512FP16))))
16184 : return -1;
16185 : return 4787; /* avx512fp16_vcvtps2ph_v16sf_mask_round */
16186 :
16187 : case E_V8SFmode:
16188 : if (pattern663 (x2,
16189 : E_QImode,
16190 : E_V8SFmode,
16191 : E_V8DFmode) != 0
16192 : || !
16193 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16194 : (TARGET_AVX512F))
16195 : return -1;
16196 : return 5194; /* avx512f_cvtpd2ps512_mask_round */
16197 :
16198 : default:
16199 : return -1;
16200 : }
16201 :
16202 : case VEC_CONCAT:
16203 : if (GET_MODE (x4) != E_V32HFmode)
16204 : return -1;
16205 : x5 = XEXP (x4, 0);
16206 : if (GET_CODE (x5) != FLOAT_TRUNCATE
16207 : || GET_MODE (x5) != E_V16HFmode)
16208 : return -1;
16209 : x6 = XEXP (x4, 1);
16210 : if (GET_CODE (x6) != FLOAT_TRUNCATE
16211 : || GET_MODE (x6) != E_V16HFmode
16212 : || !register_operand (operands[0], E_V32HFmode)
16213 : || GET_MODE (x2) != E_V32HFmode
16214 : || GET_MODE (x3) != E_V32HFmode)
16215 : return -1;
16216 : x13 = XEXP (x5, 0);
16217 : operands[2] = x13;
16218 : if (!register_operand (operands[2], E_V16SFmode))
16219 : return -1;
16220 : x14 = XEXP (x6, 0);
16221 : operands[1] = x14;
16222 : if (!register_operand (operands[1], E_V16SFmode))
16223 : return -1;
16224 : x9 = XEXP (x3, 1);
16225 : operands[3] = x9;
16226 : if (!nonimm_or_0_operand (operands[3], E_V32HFmode))
16227 : return -1;
16228 : x8 = XEXP (x3, 2);
16229 : operands[4] = x8;
16230 : if (!register_operand (operands[4], E_SImode))
16231 : return -1;
16232 : x7 = XVECEXP (x2, 0, 1);
16233 : operands[5] = x7;
16234 : if (!const_4_or_8_to_11_operand (operands[5], E_SImode)
16235 : || !(
16236 : #line 221 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16237 : (TARGET_AVX512F) && (
16238 : #line 84 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/subst.md"
16239 : (TARGET_AVX512F) &&
16240 : #line 32424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16241 : (TARGET_AVX10_2 && (V32HFmode == V16SFmode
16242 : || V32HFmode == V8DFmode
16243 : || V32HFmode == V8DImode
16244 : || V32HFmode == V16SImode
16245 : || V32HFmode == V32HFmode)))))
16246 : return -1;
16247 : return 10514; /* avx10_2_cvt2ps2phx_v32hf_mask_round */
16248 :
16249 : default:
16250 : return -1;
16251 : }
16252 : }
16253 :
16254 : int
16255 : recog_285 (rtx x1 ATTRIBUTE_UNUSED,
16256 : rtx_insn *insn ATTRIBUTE_UNUSED,
16257 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16258 : {
16259 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16260 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
16261 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
16262 : rtx x18, x19, x20, x21;
16263 : int res ATTRIBUTE_UNUSED;
16264 : x2 = XEXP (x1, 1);
16265 : x3 = XEXP (x2, 1);
16266 : x4 = XVECEXP (x3, 0, 0);
16267 : if (GET_CODE (x4) != CONST_INT)
16268 : return -1;
16269 : x5 = XVECEXP (x3, 0, 1);
16270 : if (GET_CODE (x5) == CONST_INT)
16271 : {
16272 : res = recog_284 (x1, insn, pnum_clobbers);
16273 : if (res >= 0)
16274 : return res;
16275 : }
16276 : operands[3] = x4;
16277 : x6 = XEXP (x2, 0);
16278 : x7 = XEXP (x6, 1);
16279 : operands[2] = x7;
16280 : operands[4] = x5;
16281 : x8 = XVECEXP (x3, 0, 2);
16282 : operands[5] = x8;
16283 : x9 = XVECEXP (x3, 0, 3);
16284 : operands[6] = x9;
16285 : x10 = XVECEXP (x3, 0, 4);
16286 : operands[7] = x10;
16287 : x11 = XVECEXP (x3, 0, 5);
16288 : operands[8] = x11;
16289 : x12 = XVECEXP (x3, 0, 6);
16290 : operands[9] = x12;
16291 : x13 = XVECEXP (x3, 0, 7);
16292 : operands[10] = x13;
16293 : x14 = XVECEXP (x3, 0, 8);
16294 : operands[11] = x14;
16295 : x15 = XVECEXP (x3, 0, 9);
16296 : operands[12] = x15;
16297 : x16 = XVECEXP (x3, 0, 10);
16298 : operands[13] = x16;
16299 : x17 = XVECEXP (x3, 0, 11);
16300 : operands[14] = x17;
16301 : x18 = XVECEXP (x3, 0, 12);
16302 : operands[15] = x18;
16303 : x19 = XVECEXP (x3, 0, 13);
16304 : operands[16] = x19;
16305 : x20 = XVECEXP (x3, 0, 14);
16306 : operands[17] = x20;
16307 : x21 = XVECEXP (x3, 0, 15);
16308 : operands[18] = x21;
16309 : switch (GET_MODE (operands[0]))
16310 : {
16311 : case E_V16SFmode:
16312 : if (pattern1425 (x2,
16313 : E_V16SFmode,
16314 : E_V32SFmode) != 0)
16315 : return -1;
16316 : if (const_0_to_3_operand (operands[3], E_VOIDmode)
16317 : && const_0_to_3_operand (operands[4], E_VOIDmode)
16318 : && const_16_to_19_operand (operands[5], E_VOIDmode)
16319 : && const_16_to_19_operand (operands[6], E_VOIDmode)
16320 : && const_4_to_7_operand (operands[7], E_VOIDmode)
16321 : && const_4_to_7_operand (operands[8], E_VOIDmode)
16322 : && const_20_to_23_operand (operands[9], E_VOIDmode)
16323 : && const_20_to_23_operand (operands[10], E_VOIDmode)
16324 : && const_8_to_11_operand (operands[11], E_VOIDmode)
16325 : && const_8_to_11_operand (operands[12], E_VOIDmode)
16326 : && const_24_to_27_operand (operands[13], E_VOIDmode)
16327 : && const_24_to_27_operand (operands[14], E_VOIDmode)
16328 : && const_12_to_15_operand (operands[15], E_VOIDmode)
16329 : && const_12_to_15_operand (operands[16], E_VOIDmode)
16330 : && const_28_to_31_operand (operands[17], E_VOIDmode)
16331 : && const_28_to_31_operand (operands[18], E_VOIDmode)
16332 : &&
16333 : #line 14609 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16334 : (TARGET_AVX512F
16335 : && (INTVAL (operands[3]) == (INTVAL (operands[7]) - 4)
16336 : && INTVAL (operands[4]) == (INTVAL (operands[8]) - 4)
16337 : && INTVAL (operands[5]) == (INTVAL (operands[9]) - 4)
16338 : && INTVAL (operands[6]) == (INTVAL (operands[10]) - 4)
16339 : && INTVAL (operands[3]) == (INTVAL (operands[11]) - 8)
16340 : && INTVAL (operands[4]) == (INTVAL (operands[12]) - 8)
16341 : && INTVAL (operands[5]) == (INTVAL (operands[13]) - 8)
16342 : && INTVAL (operands[6]) == (INTVAL (operands[14]) - 8)
16343 : && INTVAL (operands[3]) == (INTVAL (operands[15]) - 12)
16344 : && INTVAL (operands[4]) == (INTVAL (operands[16]) - 12)
16345 : && INTVAL (operands[5]) == (INTVAL (operands[17]) - 12)
16346 : && INTVAL (operands[6]) == (INTVAL (operands[18]) - 12))))
16347 : return 7226; /* avx512f_shufps512_1 */
16348 : if (!const_0_to_15_operand (operands[3], E_VOIDmode)
16349 : || pattern1884 () != 0
16350 : || !
16351 : #line 20753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16352 : (TARGET_AVX512F
16353 : && (INTVAL (operands[3]) & 3) == 0
16354 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16355 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16356 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16357 : && (INTVAL (operands[7]) & 3) == 0
16358 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16359 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16360 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
16361 : && (INTVAL (operands[11]) & 3) == 0
16362 : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
16363 : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
16364 : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
16365 : && (INTVAL (operands[15]) & 3) == 0
16366 : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
16367 : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
16368 : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3))
16369 : return -1;
16370 : return 8474; /* avx512f_shuf_f32x4_1 */
16371 :
16372 : case E_V16SImode:
16373 : if (pattern1425 (x2,
16374 : E_V16SImode,
16375 : E_V32SImode) != 0
16376 : || !const_0_to_15_operand (operands[3], E_VOIDmode)
16377 : || pattern1884 () != 0
16378 : || !
16379 : #line 20753 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16380 : (TARGET_AVX512F
16381 : && (INTVAL (operands[3]) & 3) == 0
16382 : && INTVAL (operands[3]) == INTVAL (operands[4]) - 1
16383 : && INTVAL (operands[3]) == INTVAL (operands[5]) - 2
16384 : && INTVAL (operands[3]) == INTVAL (operands[6]) - 3
16385 : && (INTVAL (operands[7]) & 3) == 0
16386 : && INTVAL (operands[7]) == INTVAL (operands[8]) - 1
16387 : && INTVAL (operands[7]) == INTVAL (operands[9]) - 2
16388 : && INTVAL (operands[7]) == INTVAL (operands[10]) - 3
16389 : && (INTVAL (operands[11]) & 3) == 0
16390 : && INTVAL (operands[11]) == INTVAL (operands[12]) - 1
16391 : && INTVAL (operands[11]) == INTVAL (operands[13]) - 2
16392 : && INTVAL (operands[11]) == INTVAL (operands[14]) - 3
16393 : && (INTVAL (operands[15]) & 3) == 0
16394 : && INTVAL (operands[15]) == INTVAL (operands[16]) - 1
16395 : && INTVAL (operands[15]) == INTVAL (operands[17]) - 2
16396 : && INTVAL (operands[15]) == INTVAL (operands[18]) - 3))
16397 : return -1;
16398 : return 8476; /* avx512f_shuf_i32x4_1 */
16399 :
16400 : default:
16401 : return -1;
16402 : }
16403 : }
16404 :
16405 : int
16406 : recog_289 (rtx x1 ATTRIBUTE_UNUSED,
16407 : rtx_insn *insn ATTRIBUTE_UNUSED,
16408 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16409 : {
16410 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16411 : rtx x2, x3, x4, x5, x6;
16412 : int res ATTRIBUTE_UNUSED;
16413 : x2 = XEXP (x1, 1);
16414 : x3 = XEXP (x2, 0);
16415 : x4 = XEXP (x3, 1);
16416 : switch (GET_CODE (x4))
16417 : {
16418 : case REG:
16419 : case SUBREG:
16420 : case MEM:
16421 : x5 = XEXP (x2, 1);
16422 : switch (XVECLEN (x5, 0))
16423 : {
16424 : case 4:
16425 : res = recog_281 (x1, insn, pnum_clobbers);
16426 : if (res >= 0)
16427 : return res;
16428 : break;
16429 :
16430 : case 8:
16431 : res = recog_283 (x1, insn, pnum_clobbers);
16432 : if (res >= 0)
16433 : return res;
16434 : break;
16435 :
16436 : case 16:
16437 : res = recog_285 (x1, insn, pnum_clobbers);
16438 : if (res >= 0)
16439 : return res;
16440 : break;
16441 :
16442 : case 2:
16443 : res = recog_286 (x1, insn, pnum_clobbers);
16444 : if (res >= 0)
16445 : return res;
16446 : break;
16447 :
16448 : case 64:
16449 : res = recog_287 (x1, insn, pnum_clobbers);
16450 : if (res >= 0)
16451 : return res;
16452 : break;
16453 :
16454 : case 32:
16455 : res = recog_288 (x1, insn, pnum_clobbers);
16456 : if (res >= 0)
16457 : return res;
16458 : break;
16459 :
16460 : default:
16461 : break;
16462 : }
16463 : operands[2] = x4;
16464 : if (XVECLEN (x5, 0) >= 1)
16465 : {
16466 : operands[3] = x5;
16467 : x6 = XVECEXP (x5, 0, 0);
16468 : operands[4] = x6;
16469 : if (const_int_operand (operands[4], E_VOIDmode))
16470 : {
16471 : switch (GET_MODE (operands[0]))
16472 : {
16473 : case E_V8SImode:
16474 : if (pattern1425 (x2,
16475 : E_V8SImode,
16476 : E_V16SImode) == 0
16477 : &&
16478 : #line 29026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16479 : (TARGET_AVX
16480 : && avx_vperm2f128_parallel (operands[3], V8SImode)))
16481 : return 9525; /* *avx_vperm2f128v8si_nozero */
16482 : break;
16483 :
16484 : case E_V8SFmode:
16485 : if (pattern1425 (x2,
16486 : E_V8SFmode,
16487 : E_V16SFmode) == 0
16488 : &&
16489 : #line 29026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16490 : (TARGET_AVX
16491 : && avx_vperm2f128_parallel (operands[3], V8SFmode)))
16492 : return 9526; /* *avx_vperm2f128v8sf_nozero */
16493 : break;
16494 :
16495 : case E_V4DFmode:
16496 : if (pattern1425 (x2,
16497 : E_V4DFmode,
16498 : E_V8DFmode) == 0
16499 : &&
16500 : #line 29026 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16501 : (TARGET_AVX
16502 : && avx_vperm2f128_parallel (operands[3], V4DFmode)))
16503 : return 9527; /* *avx_vperm2f128v4df_nozero */
16504 : break;
16505 :
16506 : default:
16507 : break;
16508 : }
16509 : }
16510 : }
16511 : break;
16512 :
16513 : case CONST_INT:
16514 : case CONST_DOUBLE:
16515 : case CONST_VECTOR:
16516 : switch (pattern810 (x2))
16517 : {
16518 : case 0:
16519 : if (
16520 : #line 24481 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16521 : (TARGET_AVX2))
16522 : return 8802; /* *avx2_zero_extendv16qiv16hi2_1 */
16523 : break;
16524 :
16525 : case 1:
16526 : if (
16527 : #line 24534 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16528 : (TARGET_AVX512BW))
16529 : return 8810; /* *avx512bw_zero_extendv32qiv32hi2_1 */
16530 : break;
16531 :
16532 : case 2:
16533 : if (
16534 : #line 24656 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16535 : (TARGET_SSE4_1))
16536 : return 8826; /* *sse4_1_zero_extendv8qiv8hi2_3 */
16537 : break;
16538 :
16539 : case 3:
16540 : if (
16541 : #line 24960 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16542 : (TARGET_AVX512F))
16543 : return 8864; /* avx512f_zero_extendv16hiv16si2_1 */
16544 : break;
16545 :
16546 : case 4:
16547 : if (
16548 : #line 25014 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16549 : (TARGET_AVX2))
16550 : return 8872; /* avx2_zero_extendv8hiv8si2_1 */
16551 : break;
16552 :
16553 : case 5:
16554 : if (
16555 : #line 25144 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16556 : (TARGET_SSE4_1))
16557 : return 8888; /* *sse4_1_zero_extendv4hiv4si2_3 */
16558 : break;
16559 :
16560 : case 6:
16561 : if (pmovzx_parallel (operands[3], E_VOIDmode)
16562 : &&
16563 : #line 25649 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16564 : (TARGET_AVX512F))
16565 : return 8959; /* *avx512f_zero_extendv8siv8di2_1 */
16566 : if (movq_parallel (operands[3], E_VOIDmode)
16567 : && (
16568 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16569 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16570 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16571 : (TARGET_AVX512F)))
16572 : return 9703; /* *vec_concatv16si_0_1 */
16573 : break;
16574 :
16575 : case 7:
16576 : if (pmovzx_parallel (operands[3], E_VOIDmode)
16577 : &&
16578 : #line 25701 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16579 : (TARGET_AVX2))
16580 : return 8965; /* *avx2_zero_extendv4siv4di2_1 */
16581 : if (movq_parallel (operands[3], E_VOIDmode)
16582 : && (
16583 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16584 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16585 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16586 : (TARGET_AVX)))
16587 : return 9704; /* *vec_concatv8si_0_1 */
16588 : break;
16589 :
16590 : case 8:
16591 : if (vector_operand (operands[1], E_V4SImode)
16592 : && pmovzx_parallel (operands[3], E_VOIDmode)
16593 : &&
16594 : #line 25809 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16595 : (TARGET_SSE4_1))
16596 : return 8979; /* *sse4_1_zero_extendv2siv2di2_3 */
16597 : if (nonimmediate_operand (operands[1], E_V4SImode)
16598 : && movq_parallel (operands[3], E_VOIDmode)
16599 : &&
16600 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16601 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16602 : return 9705; /* *vec_concatv4si_0_1 */
16603 : break;
16604 :
16605 : case 9:
16606 : if ((
16607 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16608 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16609 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16610 : (TARGET_AVX512F)))
16611 : return 9706; /* *vec_concatv8di_0_1 */
16612 : break;
16613 :
16614 : case 10:
16615 : if ((
16616 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16617 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16618 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16619 : (TARGET_AVX)))
16620 : return 9707; /* *vec_concatv4di_0_1 */
16621 : break;
16622 :
16623 : case 11:
16624 : if (
16625 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16626 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16627 : return 9708; /* *vec_concatv2di_0_1 */
16628 : break;
16629 :
16630 : case 12:
16631 : if ((
16632 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16633 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16634 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16635 : (TARGET_AVX512F)))
16636 : return 9709; /* *vec_concatv32hf_0_1 */
16637 : break;
16638 :
16639 : case 13:
16640 : if ((
16641 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16642 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16643 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16644 : (TARGET_AVX)))
16645 : return 9710; /* *vec_concatv16hf_0_1 */
16646 : break;
16647 :
16648 : case 14:
16649 : if (
16650 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16651 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16652 : return 9711; /* *vec_concatv8hf_0_1 */
16653 : break;
16654 :
16655 : case 15:
16656 : if ((
16657 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16658 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16659 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16660 : (TARGET_AVX512F)))
16661 : return 9712; /* *vec_concatv32bf_0_1 */
16662 : break;
16663 :
16664 : case 16:
16665 : if ((
16666 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16667 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16668 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16669 : (TARGET_AVX)))
16670 : return 9713; /* *vec_concatv16bf_0_1 */
16671 : break;
16672 :
16673 : case 17:
16674 : if (
16675 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16676 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16677 : return 9714; /* *vec_concatv8bf_0_1 */
16678 : break;
16679 :
16680 : case 18:
16681 : if ((
16682 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16683 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16684 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16685 : (TARGET_AVX512F)))
16686 : return 9715; /* *vec_concatv16sf_0_1 */
16687 : break;
16688 :
16689 : case 19:
16690 : if ((
16691 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16692 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16693 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16694 : (TARGET_AVX)))
16695 : return 9716; /* *vec_concatv8sf_0_1 */
16696 : break;
16697 :
16698 : case 20:
16699 : if (
16700 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16701 : (TARGET_SSE2 && ix86_pre_reload_split ()))
16702 : return 9717; /* *vec_concatv4sf_0_1 */
16703 : break;
16704 :
16705 : case 21:
16706 : if ((
16707 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16708 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16709 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16710 : (TARGET_AVX512F)))
16711 : return 9718; /* *vec_concatv8df_0_1 */
16712 : break;
16713 :
16714 : case 22:
16715 : if ((
16716 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16717 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16718 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16719 : (TARGET_AVX)))
16720 : return 9719; /* *vec_concatv4df_0_1 */
16721 : break;
16722 :
16723 : case 23:
16724 : if ((
16725 : #line 29761 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16726 : (TARGET_SSE2 && ix86_pre_reload_split ()) &&
16727 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16728 : (TARGET_SSE2)))
16729 : return 9720; /* *vec_concatv2df_0_1 */
16730 : break;
16731 :
16732 : default:
16733 : break;
16734 : }
16735 : break;
16736 :
16737 : default:
16738 : break;
16739 : }
16740 : x5 = XEXP (x2, 1);
16741 : if (XVECLEN (x5, 0) < 1)
16742 : return -1;
16743 : switch (pattern812 (x2))
16744 : {
16745 : case 0:
16746 : if (!
16747 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16748 : (TARGET_AVX && ix86_pre_reload_split ()))
16749 : return -1;
16750 : return 9386; /* *avx_vbroadcastf128_v32qi_perm */
16751 :
16752 : case 1:
16753 : if (!
16754 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16755 : (TARGET_AVX && ix86_pre_reload_split ()))
16756 : return -1;
16757 : return 9387; /* *avx_vbroadcastf128_v16hi_perm */
16758 :
16759 : case 2:
16760 : if (!
16761 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16762 : (TARGET_AVX && ix86_pre_reload_split ()))
16763 : return -1;
16764 : return 9388; /* *avx_vbroadcastf128_v8si_perm */
16765 :
16766 : case 3:
16767 : if (!
16768 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16769 : (TARGET_AVX && ix86_pre_reload_split ()))
16770 : return -1;
16771 : return 9389; /* *avx_vbroadcastf128_v4di_perm */
16772 :
16773 : case 4:
16774 : if (!
16775 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16776 : (TARGET_AVX && ix86_pre_reload_split ()))
16777 : return -1;
16778 : return 9390; /* *avx_vbroadcastf128_v8sf_perm */
16779 :
16780 : case 5:
16781 : if (!
16782 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16783 : (TARGET_AVX && ix86_pre_reload_split ()))
16784 : return -1;
16785 : return 9391; /* *avx_vbroadcastf128_v4df_perm */
16786 :
16787 : case 6:
16788 : if (!
16789 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16790 : (TARGET_AVX && ix86_pre_reload_split ()))
16791 : return -1;
16792 : return 9392; /* *avx_vbroadcastf128_v16hf_perm */
16793 :
16794 : case 7:
16795 : if (!
16796 : #line 28719 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16797 : (TARGET_AVX && ix86_pre_reload_split ()))
16798 : return -1;
16799 : return 9393; /* *avx_vbroadcastf128_v16bf_perm */
16800 :
16801 : default:
16802 : return -1;
16803 : }
16804 : }
16805 :
16806 : int
16807 : recog_307 (rtx x1 ATTRIBUTE_UNUSED,
16808 : rtx_insn *insn ATTRIBUTE_UNUSED,
16809 : int *pnum_clobbers ATTRIBUTE_UNUSED)
16810 : {
16811 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
16812 : rtx x2, x3, x4;
16813 : int res ATTRIBUTE_UNUSED;
16814 : x2 = XEXP (x1, 1);
16815 : x3 = XEXP (x2, 0);
16816 : x4 = XEXP (x3, 0);
16817 : switch (GET_CODE (x4))
16818 : {
16819 : case REG:
16820 : case SUBREG:
16821 : case MEM:
16822 : case NOT:
16823 : switch (pattern535 (x2))
16824 : {
16825 : case 0:
16826 : if (!(
16827 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16828 : ((64 == 64 || TARGET_AVX512VL
16829 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16830 : && ix86_pre_reload_split ()
16831 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16832 : STRIP_UNARY (operands[4]))
16833 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16834 : STRIP_UNARY (operands[4]))
16835 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16836 : STRIP_UNARY (operands[3]))
16837 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16838 : STRIP_UNARY (operands[3])))) &&
16839 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16840 : (TARGET_AVX512F)))
16841 : return -1;
16842 : return 5547; /* *avx512bw_vpternlogv64qi_1 */
16843 :
16844 : case 1:
16845 : if (!(
16846 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16847 : ((32 == 64 || TARGET_AVX512VL
16848 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16849 : && ix86_pre_reload_split ()
16850 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16851 : STRIP_UNARY (operands[4]))
16852 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16853 : STRIP_UNARY (operands[4]))
16854 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16855 : STRIP_UNARY (operands[3]))
16856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16857 : STRIP_UNARY (operands[3])))) &&
16858 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16859 : (TARGET_AVX)))
16860 : return -1;
16861 : return 5574; /* *avx512vl_vpternlogv32qi_1 */
16862 :
16863 : case 2:
16864 : if (!
16865 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16866 : ((16 == 64 || TARGET_AVX512VL
16867 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16868 : && ix86_pre_reload_split ()
16869 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16870 : STRIP_UNARY (operands[4]))
16871 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16872 : STRIP_UNARY (operands[4]))
16873 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16874 : STRIP_UNARY (operands[3]))
16875 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16876 : STRIP_UNARY (operands[3])))))
16877 : return -1;
16878 : return 5601; /* *avx512vl_vpternlogv16qi_1 */
16879 :
16880 : case 3:
16881 : if (!(
16882 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16883 : ((64 == 64 || TARGET_AVX512VL
16884 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16885 : && ix86_pre_reload_split ()
16886 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16887 : STRIP_UNARY (operands[4]))
16888 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16889 : STRIP_UNARY (operands[4]))
16890 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16891 : STRIP_UNARY (operands[3]))
16892 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16893 : STRIP_UNARY (operands[3])))) &&
16894 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16895 : (TARGET_AVX512F)))
16896 : return -1;
16897 : return 5628; /* *avx512bw_vpternlogv32hi_1 */
16898 :
16899 : case 4:
16900 : if (!(
16901 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16902 : ((32 == 64 || TARGET_AVX512VL
16903 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16904 : && ix86_pre_reload_split ()
16905 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16906 : STRIP_UNARY (operands[4]))
16907 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16908 : STRIP_UNARY (operands[4]))
16909 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16910 : STRIP_UNARY (operands[3]))
16911 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16912 : STRIP_UNARY (operands[3])))) &&
16913 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16914 : (TARGET_AVX)))
16915 : return -1;
16916 : return 5655; /* *avx512vl_vpternlogv16hi_1 */
16917 :
16918 : case 5:
16919 : if (!
16920 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16921 : ((16 == 64 || TARGET_AVX512VL
16922 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16923 : && ix86_pre_reload_split ()
16924 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16925 : STRIP_UNARY (operands[4]))
16926 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16927 : STRIP_UNARY (operands[4]))
16928 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16929 : STRIP_UNARY (operands[3]))
16930 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16931 : STRIP_UNARY (operands[3])))))
16932 : return -1;
16933 : return 5682; /* *avx512vl_vpternlogv8hi_1 */
16934 :
16935 : case 6:
16936 : if (!(
16937 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16938 : ((64 == 64 || TARGET_AVX512VL
16939 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16940 : && ix86_pre_reload_split ()
16941 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16942 : STRIP_UNARY (operands[4]))
16943 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16944 : STRIP_UNARY (operands[4]))
16945 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16946 : STRIP_UNARY (operands[3]))
16947 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16948 : STRIP_UNARY (operands[3])))) &&
16949 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16950 : (TARGET_AVX512F)))
16951 : return -1;
16952 : return 5709; /* *avx512f_vpternlogv16si_1 */
16953 :
16954 : case 7:
16955 : if (!(
16956 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16957 : ((32 == 64 || TARGET_AVX512VL
16958 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16959 : && ix86_pre_reload_split ()
16960 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16961 : STRIP_UNARY (operands[4]))
16962 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16963 : STRIP_UNARY (operands[4]))
16964 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16965 : STRIP_UNARY (operands[3]))
16966 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16967 : STRIP_UNARY (operands[3])))) &&
16968 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16969 : (TARGET_AVX)))
16970 : return -1;
16971 : return 5736; /* *avx512vl_vpternlogv8si_1 */
16972 :
16973 : case 8:
16974 : if (!
16975 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16976 : ((16 == 64 || TARGET_AVX512VL
16977 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16978 : && ix86_pre_reload_split ()
16979 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16980 : STRIP_UNARY (operands[4]))
16981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16982 : STRIP_UNARY (operands[4]))
16983 : || rtx_equal_p (STRIP_UNARY (operands[1]),
16984 : STRIP_UNARY (operands[3]))
16985 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16986 : STRIP_UNARY (operands[3])))))
16987 : return -1;
16988 : return 5763; /* *avx512vl_vpternlogv4si_1 */
16989 :
16990 : case 9:
16991 : if (!(
16992 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
16993 : ((64 == 64 || TARGET_AVX512VL
16994 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
16995 : && ix86_pre_reload_split ()
16996 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
16997 : STRIP_UNARY (operands[4]))
16998 : || rtx_equal_p (STRIP_UNARY (operands[2]),
16999 : STRIP_UNARY (operands[4]))
17000 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17001 : STRIP_UNARY (operands[3]))
17002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17003 : STRIP_UNARY (operands[3])))) &&
17004 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17005 : (TARGET_AVX512F)))
17006 : return -1;
17007 : return 5790; /* *avx512f_vpternlogv8di_1 */
17008 :
17009 : case 10:
17010 : if (!(
17011 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17012 : ((32 == 64 || TARGET_AVX512VL
17013 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17014 : && ix86_pre_reload_split ()
17015 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17016 : STRIP_UNARY (operands[4]))
17017 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17018 : STRIP_UNARY (operands[4]))
17019 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17020 : STRIP_UNARY (operands[3]))
17021 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17022 : STRIP_UNARY (operands[3])))) &&
17023 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17024 : (TARGET_AVX)))
17025 : return -1;
17026 : return 5817; /* *avx512vl_vpternlogv4di_1 */
17027 :
17028 : case 11:
17029 : if (!
17030 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17031 : ((16 == 64 || TARGET_AVX512VL
17032 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17033 : && ix86_pre_reload_split ()
17034 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17035 : STRIP_UNARY (operands[4]))
17036 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17037 : STRIP_UNARY (operands[4]))
17038 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17039 : STRIP_UNARY (operands[3]))
17040 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17041 : STRIP_UNARY (operands[3])))))
17042 : return -1;
17043 : return 5844; /* *avx512vl_vpternlogv2di_1 */
17044 :
17045 : case 12:
17046 : if (!(
17047 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17048 : ((64 == 64 || TARGET_AVX512VL
17049 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17050 : && ix86_pre_reload_split ()
17051 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17052 : STRIP_UNARY (operands[4]))
17053 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17054 : STRIP_UNARY (operands[4]))
17055 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17056 : STRIP_UNARY (operands[3]))
17057 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17058 : STRIP_UNARY (operands[3])))) &&
17059 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17060 : (TARGET_AVX512F)))
17061 : return -1;
17062 : return 5550; /* *avx512bw_vpternlogv64qi_1 */
17063 :
17064 : case 13:
17065 : if (!(
17066 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17067 : ((32 == 64 || TARGET_AVX512VL
17068 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17069 : && ix86_pre_reload_split ()
17070 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17071 : STRIP_UNARY (operands[4]))
17072 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17073 : STRIP_UNARY (operands[4]))
17074 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17075 : STRIP_UNARY (operands[3]))
17076 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17077 : STRIP_UNARY (operands[3])))) &&
17078 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17079 : (TARGET_AVX)))
17080 : return -1;
17081 : return 5577; /* *avx512vl_vpternlogv32qi_1 */
17082 :
17083 : case 14:
17084 : if (!
17085 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17086 : ((16 == 64 || TARGET_AVX512VL
17087 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17088 : && ix86_pre_reload_split ()
17089 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17090 : STRIP_UNARY (operands[4]))
17091 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17092 : STRIP_UNARY (operands[4]))
17093 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17094 : STRIP_UNARY (operands[3]))
17095 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17096 : STRIP_UNARY (operands[3])))))
17097 : return -1;
17098 : return 5604; /* *avx512vl_vpternlogv16qi_1 */
17099 :
17100 : case 15:
17101 : if (!(
17102 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17103 : ((64 == 64 || TARGET_AVX512VL
17104 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17105 : && ix86_pre_reload_split ()
17106 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17107 : STRIP_UNARY (operands[4]))
17108 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17109 : STRIP_UNARY (operands[4]))
17110 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17111 : STRIP_UNARY (operands[3]))
17112 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17113 : STRIP_UNARY (operands[3])))) &&
17114 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17115 : (TARGET_AVX512F)))
17116 : return -1;
17117 : return 5631; /* *avx512bw_vpternlogv32hi_1 */
17118 :
17119 : case 16:
17120 : if (!(
17121 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17122 : ((32 == 64 || TARGET_AVX512VL
17123 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17124 : && ix86_pre_reload_split ()
17125 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17126 : STRIP_UNARY (operands[4]))
17127 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17128 : STRIP_UNARY (operands[4]))
17129 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17130 : STRIP_UNARY (operands[3]))
17131 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17132 : STRIP_UNARY (operands[3])))) &&
17133 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17134 : (TARGET_AVX)))
17135 : return -1;
17136 : return 5658; /* *avx512vl_vpternlogv16hi_1 */
17137 :
17138 : case 17:
17139 : if (!
17140 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17141 : ((16 == 64 || TARGET_AVX512VL
17142 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17143 : && ix86_pre_reload_split ()
17144 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17145 : STRIP_UNARY (operands[4]))
17146 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17147 : STRIP_UNARY (operands[4]))
17148 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17149 : STRIP_UNARY (operands[3]))
17150 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17151 : STRIP_UNARY (operands[3])))))
17152 : return -1;
17153 : return 5685; /* *avx512vl_vpternlogv8hi_1 */
17154 :
17155 : case 18:
17156 : if (!(
17157 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17158 : ((64 == 64 || TARGET_AVX512VL
17159 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17160 : && ix86_pre_reload_split ()
17161 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17162 : STRIP_UNARY (operands[4]))
17163 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17164 : STRIP_UNARY (operands[4]))
17165 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17166 : STRIP_UNARY (operands[3]))
17167 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17168 : STRIP_UNARY (operands[3])))) &&
17169 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17170 : (TARGET_AVX512F)))
17171 : return -1;
17172 : return 5712; /* *avx512f_vpternlogv16si_1 */
17173 :
17174 : case 19:
17175 : if (!(
17176 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17177 : ((32 == 64 || TARGET_AVX512VL
17178 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17179 : && ix86_pre_reload_split ()
17180 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17181 : STRIP_UNARY (operands[4]))
17182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17183 : STRIP_UNARY (operands[4]))
17184 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17185 : STRIP_UNARY (operands[3]))
17186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17187 : STRIP_UNARY (operands[3])))) &&
17188 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17189 : (TARGET_AVX)))
17190 : return -1;
17191 : return 5739; /* *avx512vl_vpternlogv8si_1 */
17192 :
17193 : case 20:
17194 : if (!
17195 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17196 : ((16 == 64 || TARGET_AVX512VL
17197 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17198 : && ix86_pre_reload_split ()
17199 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17200 : STRIP_UNARY (operands[4]))
17201 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17202 : STRIP_UNARY (operands[4]))
17203 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17204 : STRIP_UNARY (operands[3]))
17205 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17206 : STRIP_UNARY (operands[3])))))
17207 : return -1;
17208 : return 5766; /* *avx512vl_vpternlogv4si_1 */
17209 :
17210 : case 21:
17211 : if (!(
17212 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17213 : ((64 == 64 || TARGET_AVX512VL
17214 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17215 : && ix86_pre_reload_split ()
17216 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17217 : STRIP_UNARY (operands[4]))
17218 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17219 : STRIP_UNARY (operands[4]))
17220 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17221 : STRIP_UNARY (operands[3]))
17222 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17223 : STRIP_UNARY (operands[3])))) &&
17224 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17225 : (TARGET_AVX512F)))
17226 : return -1;
17227 : return 5793; /* *avx512f_vpternlogv8di_1 */
17228 :
17229 : case 22:
17230 : if (!(
17231 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17232 : ((32 == 64 || TARGET_AVX512VL
17233 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17234 : && ix86_pre_reload_split ()
17235 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17236 : STRIP_UNARY (operands[4]))
17237 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17238 : STRIP_UNARY (operands[4]))
17239 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17240 : STRIP_UNARY (operands[3]))
17241 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17242 : STRIP_UNARY (operands[3])))) &&
17243 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17244 : (TARGET_AVX)))
17245 : return -1;
17246 : return 5820; /* *avx512vl_vpternlogv4di_1 */
17247 :
17248 : case 23:
17249 : if (!
17250 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17251 : ((16 == 64 || TARGET_AVX512VL
17252 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17253 : && ix86_pre_reload_split ()
17254 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17255 : STRIP_UNARY (operands[4]))
17256 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17257 : STRIP_UNARY (operands[4]))
17258 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17259 : STRIP_UNARY (operands[3]))
17260 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17261 : STRIP_UNARY (operands[3])))))
17262 : return -1;
17263 : return 5847; /* *avx512vl_vpternlogv2di_1 */
17264 :
17265 : case 24:
17266 : if (!(
17267 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17268 : ((64 == 64 || TARGET_AVX512VL
17269 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17270 : && ix86_pre_reload_split ()
17271 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17272 : STRIP_UNARY (operands[4]))
17273 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17274 : STRIP_UNARY (operands[4]))
17275 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17276 : STRIP_UNARY (operands[3]))
17277 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17278 : STRIP_UNARY (operands[3])))) &&
17279 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17280 : (TARGET_AVX512F)))
17281 : return -1;
17282 : return 5553; /* *avx512bw_vpternlogv64qi_1 */
17283 :
17284 : case 25:
17285 : if (!(
17286 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17287 : ((32 == 64 || TARGET_AVX512VL
17288 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17289 : && ix86_pre_reload_split ()
17290 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17291 : STRIP_UNARY (operands[4]))
17292 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17293 : STRIP_UNARY (operands[4]))
17294 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17295 : STRIP_UNARY (operands[3]))
17296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17297 : STRIP_UNARY (operands[3])))) &&
17298 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17299 : (TARGET_AVX)))
17300 : return -1;
17301 : return 5580; /* *avx512vl_vpternlogv32qi_1 */
17302 :
17303 : case 26:
17304 : if (!
17305 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17306 : ((16 == 64 || TARGET_AVX512VL
17307 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17308 : && ix86_pre_reload_split ()
17309 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17310 : STRIP_UNARY (operands[4]))
17311 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17312 : STRIP_UNARY (operands[4]))
17313 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17314 : STRIP_UNARY (operands[3]))
17315 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17316 : STRIP_UNARY (operands[3])))))
17317 : return -1;
17318 : return 5607; /* *avx512vl_vpternlogv16qi_1 */
17319 :
17320 : case 27:
17321 : if (!(
17322 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17323 : ((64 == 64 || TARGET_AVX512VL
17324 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17325 : && ix86_pre_reload_split ()
17326 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17327 : STRIP_UNARY (operands[4]))
17328 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17329 : STRIP_UNARY (operands[4]))
17330 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17331 : STRIP_UNARY (operands[3]))
17332 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17333 : STRIP_UNARY (operands[3])))) &&
17334 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17335 : (TARGET_AVX512F)))
17336 : return -1;
17337 : return 5634; /* *avx512bw_vpternlogv32hi_1 */
17338 :
17339 : case 28:
17340 : if (!(
17341 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17342 : ((32 == 64 || TARGET_AVX512VL
17343 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17344 : && ix86_pre_reload_split ()
17345 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17346 : STRIP_UNARY (operands[4]))
17347 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17348 : STRIP_UNARY (operands[4]))
17349 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17350 : STRIP_UNARY (operands[3]))
17351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17352 : STRIP_UNARY (operands[3])))) &&
17353 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17354 : (TARGET_AVX)))
17355 : return -1;
17356 : return 5661; /* *avx512vl_vpternlogv16hi_1 */
17357 :
17358 : case 29:
17359 : if (!
17360 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17361 : ((16 == 64 || TARGET_AVX512VL
17362 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17363 : && ix86_pre_reload_split ()
17364 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17365 : STRIP_UNARY (operands[4]))
17366 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17367 : STRIP_UNARY (operands[4]))
17368 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17369 : STRIP_UNARY (operands[3]))
17370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17371 : STRIP_UNARY (operands[3])))))
17372 : return -1;
17373 : return 5688; /* *avx512vl_vpternlogv8hi_1 */
17374 :
17375 : case 30:
17376 : if (!(
17377 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17378 : ((64 == 64 || TARGET_AVX512VL
17379 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17380 : && ix86_pre_reload_split ()
17381 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17382 : STRIP_UNARY (operands[4]))
17383 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17384 : STRIP_UNARY (operands[4]))
17385 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17386 : STRIP_UNARY (operands[3]))
17387 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17388 : STRIP_UNARY (operands[3])))) &&
17389 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17390 : (TARGET_AVX512F)))
17391 : return -1;
17392 : return 5715; /* *avx512f_vpternlogv16si_1 */
17393 :
17394 : case 31:
17395 : if (!(
17396 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17397 : ((32 == 64 || TARGET_AVX512VL
17398 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17399 : && ix86_pre_reload_split ()
17400 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17401 : STRIP_UNARY (operands[4]))
17402 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17403 : STRIP_UNARY (operands[4]))
17404 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17405 : STRIP_UNARY (operands[3]))
17406 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17407 : STRIP_UNARY (operands[3])))) &&
17408 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17409 : (TARGET_AVX)))
17410 : return -1;
17411 : return 5742; /* *avx512vl_vpternlogv8si_1 */
17412 :
17413 : case 32:
17414 : if (!
17415 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17416 : ((16 == 64 || TARGET_AVX512VL
17417 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17418 : && ix86_pre_reload_split ()
17419 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17420 : STRIP_UNARY (operands[4]))
17421 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17422 : STRIP_UNARY (operands[4]))
17423 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17424 : STRIP_UNARY (operands[3]))
17425 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17426 : STRIP_UNARY (operands[3])))))
17427 : return -1;
17428 : return 5769; /* *avx512vl_vpternlogv4si_1 */
17429 :
17430 : case 33:
17431 : if (!(
17432 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17433 : ((64 == 64 || TARGET_AVX512VL
17434 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17435 : && ix86_pre_reload_split ()
17436 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17437 : STRIP_UNARY (operands[4]))
17438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17439 : STRIP_UNARY (operands[4]))
17440 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17441 : STRIP_UNARY (operands[3]))
17442 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17443 : STRIP_UNARY (operands[3])))) &&
17444 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17445 : (TARGET_AVX512F)))
17446 : return -1;
17447 : return 5796; /* *avx512f_vpternlogv8di_1 */
17448 :
17449 : case 34:
17450 : if (!(
17451 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17452 : ((32 == 64 || TARGET_AVX512VL
17453 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17454 : && ix86_pre_reload_split ()
17455 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17456 : STRIP_UNARY (operands[4]))
17457 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17458 : STRIP_UNARY (operands[4]))
17459 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17460 : STRIP_UNARY (operands[3]))
17461 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17462 : STRIP_UNARY (operands[3])))) &&
17463 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17464 : (TARGET_AVX)))
17465 : return -1;
17466 : return 5823; /* *avx512vl_vpternlogv4di_1 */
17467 :
17468 : case 35:
17469 : if (!
17470 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17471 : ((16 == 64 || TARGET_AVX512VL
17472 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17473 : && ix86_pre_reload_split ()
17474 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17475 : STRIP_UNARY (operands[4]))
17476 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17477 : STRIP_UNARY (operands[4]))
17478 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17479 : STRIP_UNARY (operands[3]))
17480 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17481 : STRIP_UNARY (operands[3])))))
17482 : return -1;
17483 : return 5850; /* *avx512vl_vpternlogv2di_1 */
17484 :
17485 : case 36:
17486 : if (!(
17487 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17488 : ((64 == 64 || TARGET_AVX512VL
17489 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17490 : && ix86_pre_reload_split ()) &&
17491 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17492 : (TARGET_AVX512F)))
17493 : return -1;
17494 : return 6837; /* *avx512bw_vpternlogv64qi_3 */
17495 :
17496 : case 37:
17497 : if (!(
17498 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17499 : ((32 == 64 || TARGET_AVX512VL
17500 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17501 : && ix86_pre_reload_split ()) &&
17502 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17503 : (TARGET_AVX)))
17504 : return -1;
17505 : return 6846; /* *avx512vl_vpternlogv32qi_3 */
17506 :
17507 : case 38:
17508 : if (!
17509 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17510 : ((16 == 64 || TARGET_AVX512VL
17511 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17512 : && ix86_pre_reload_split ()))
17513 : return -1;
17514 : return 6855; /* *avx512vl_vpternlogv16qi_3 */
17515 :
17516 : case 39:
17517 : if (!(
17518 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17519 : ((64 == 64 || TARGET_AVX512VL
17520 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17521 : && ix86_pre_reload_split ()) &&
17522 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17523 : (TARGET_AVX512F)))
17524 : return -1;
17525 : return 6864; /* *avx512bw_vpternlogv32hi_3 */
17526 :
17527 : case 40:
17528 : if (!(
17529 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17530 : ((32 == 64 || TARGET_AVX512VL
17531 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17532 : && ix86_pre_reload_split ()) &&
17533 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17534 : (TARGET_AVX)))
17535 : return -1;
17536 : return 6873; /* *avx512vl_vpternlogv16hi_3 */
17537 :
17538 : case 41:
17539 : if (!
17540 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17541 : ((16 == 64 || TARGET_AVX512VL
17542 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17543 : && ix86_pre_reload_split ()))
17544 : return -1;
17545 : return 6882; /* *avx512vl_vpternlogv8hi_3 */
17546 :
17547 : case 42:
17548 : if (!(
17549 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17550 : ((64 == 64 || TARGET_AVX512VL
17551 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17552 : && ix86_pre_reload_split ()) &&
17553 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17554 : (TARGET_AVX512F)))
17555 : return -1;
17556 : return 6891; /* *avx512f_vpternlogv16si_3 */
17557 :
17558 : case 43:
17559 : if (!(
17560 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17561 : ((32 == 64 || TARGET_AVX512VL
17562 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17563 : && ix86_pre_reload_split ()) &&
17564 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17565 : (TARGET_AVX)))
17566 : return -1;
17567 : return 6900; /* *avx512vl_vpternlogv8si_3 */
17568 :
17569 : case 44:
17570 : if (!
17571 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17572 : ((16 == 64 || TARGET_AVX512VL
17573 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17574 : && ix86_pre_reload_split ()))
17575 : return -1;
17576 : return 6909; /* *avx512vl_vpternlogv4si_3 */
17577 :
17578 : case 45:
17579 : if (!(
17580 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17581 : ((64 == 64 || TARGET_AVX512VL
17582 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17583 : && ix86_pre_reload_split ()) &&
17584 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17585 : (TARGET_AVX512F)))
17586 : return -1;
17587 : return 6918; /* *avx512f_vpternlogv8di_3 */
17588 :
17589 : case 46:
17590 : if (!(
17591 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17592 : ((32 == 64 || TARGET_AVX512VL
17593 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17594 : && ix86_pre_reload_split ()) &&
17595 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17596 : (TARGET_AVX)))
17597 : return -1;
17598 : return 6927; /* *avx512vl_vpternlogv4di_3 */
17599 :
17600 : case 47:
17601 : if (!
17602 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17603 : ((16 == 64 || TARGET_AVX512VL
17604 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17605 : && ix86_pre_reload_split ()))
17606 : return -1;
17607 : return 6936; /* *avx512vl_vpternlogv2di_3 */
17608 :
17609 : default:
17610 : return -1;
17611 : }
17612 :
17613 : case AND:
17614 : switch (pattern537 (x2))
17615 : {
17616 : case 0:
17617 : if (!(
17618 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17619 : ((64 == 64 || TARGET_AVX512VL
17620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17621 : && ix86_pre_reload_split ()
17622 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17623 : STRIP_UNARY (operands[4]))
17624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17625 : STRIP_UNARY (operands[4]))
17626 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17627 : STRIP_UNARY (operands[3]))
17628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17629 : STRIP_UNARY (operands[3])))) &&
17630 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17631 : (TARGET_AVX512F)))
17632 : return -1;
17633 : return 6195; /* *avx512bw_vpternlogv64qi_2 */
17634 :
17635 : case 1:
17636 : if (!(
17637 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17638 : ((32 == 64 || TARGET_AVX512VL
17639 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17640 : && ix86_pre_reload_split ()
17641 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17642 : STRIP_UNARY (operands[4]))
17643 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17644 : STRIP_UNARY (operands[4]))
17645 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17646 : STRIP_UNARY (operands[3]))
17647 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17648 : STRIP_UNARY (operands[3])))) &&
17649 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17650 : (TARGET_AVX)))
17651 : return -1;
17652 : return 6222; /* *avx512vl_vpternlogv32qi_2 */
17653 :
17654 : case 2:
17655 : if (!
17656 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17657 : ((16 == 64 || TARGET_AVX512VL
17658 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17659 : && ix86_pre_reload_split ()
17660 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17661 : STRIP_UNARY (operands[4]))
17662 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17663 : STRIP_UNARY (operands[4]))
17664 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17665 : STRIP_UNARY (operands[3]))
17666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17667 : STRIP_UNARY (operands[3])))))
17668 : return -1;
17669 : return 6249; /* *avx512vl_vpternlogv16qi_2 */
17670 :
17671 : case 3:
17672 : if (!(
17673 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17674 : ((64 == 64 || TARGET_AVX512VL
17675 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17676 : && ix86_pre_reload_split ()
17677 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17678 : STRIP_UNARY (operands[4]))
17679 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17680 : STRIP_UNARY (operands[4]))
17681 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17682 : STRIP_UNARY (operands[3]))
17683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17684 : STRIP_UNARY (operands[3])))) &&
17685 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17686 : (TARGET_AVX512F)))
17687 : return -1;
17688 : return 6276; /* *avx512bw_vpternlogv32hi_2 */
17689 :
17690 : case 4:
17691 : if (!(
17692 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17693 : ((32 == 64 || TARGET_AVX512VL
17694 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17695 : && ix86_pre_reload_split ()
17696 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17697 : STRIP_UNARY (operands[4]))
17698 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17699 : STRIP_UNARY (operands[4]))
17700 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17701 : STRIP_UNARY (operands[3]))
17702 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17703 : STRIP_UNARY (operands[3])))) &&
17704 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17705 : (TARGET_AVX)))
17706 : return -1;
17707 : return 6303; /* *avx512vl_vpternlogv16hi_2 */
17708 :
17709 : case 5:
17710 : if (!
17711 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17712 : ((16 == 64 || TARGET_AVX512VL
17713 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17714 : && ix86_pre_reload_split ()
17715 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17716 : STRIP_UNARY (operands[4]))
17717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17718 : STRIP_UNARY (operands[4]))
17719 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17720 : STRIP_UNARY (operands[3]))
17721 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17722 : STRIP_UNARY (operands[3])))))
17723 : return -1;
17724 : return 6330; /* *avx512vl_vpternlogv8hi_2 */
17725 :
17726 : case 6:
17727 : if (!(
17728 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17729 : ((64 == 64 || TARGET_AVX512VL
17730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17731 : && ix86_pre_reload_split ()
17732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17733 : STRIP_UNARY (operands[4]))
17734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17735 : STRIP_UNARY (operands[4]))
17736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17737 : STRIP_UNARY (operands[3]))
17738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17739 : STRIP_UNARY (operands[3])))) &&
17740 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17741 : (TARGET_AVX512F)))
17742 : return -1;
17743 : return 6357; /* *avx512f_vpternlogv16si_2 */
17744 :
17745 : case 7:
17746 : if (!(
17747 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17748 : ((32 == 64 || TARGET_AVX512VL
17749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17750 : && ix86_pre_reload_split ()
17751 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17752 : STRIP_UNARY (operands[4]))
17753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17754 : STRIP_UNARY (operands[4]))
17755 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17756 : STRIP_UNARY (operands[3]))
17757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17758 : STRIP_UNARY (operands[3])))) &&
17759 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17760 : (TARGET_AVX)))
17761 : return -1;
17762 : return 6384; /* *avx512vl_vpternlogv8si_2 */
17763 :
17764 : case 8:
17765 : if (!
17766 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17767 : ((16 == 64 || TARGET_AVX512VL
17768 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17769 : && ix86_pre_reload_split ()
17770 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17771 : STRIP_UNARY (operands[4]))
17772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17773 : STRIP_UNARY (operands[4]))
17774 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17775 : STRIP_UNARY (operands[3]))
17776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17777 : STRIP_UNARY (operands[3])))))
17778 : return -1;
17779 : return 6411; /* *avx512vl_vpternlogv4si_2 */
17780 :
17781 : case 9:
17782 : if (!(
17783 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17784 : ((64 == 64 || TARGET_AVX512VL
17785 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17786 : && ix86_pre_reload_split ()
17787 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17788 : STRIP_UNARY (operands[4]))
17789 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17790 : STRIP_UNARY (operands[4]))
17791 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17792 : STRIP_UNARY (operands[3]))
17793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17794 : STRIP_UNARY (operands[3])))) &&
17795 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17796 : (TARGET_AVX512F)))
17797 : return -1;
17798 : return 6438; /* *avx512f_vpternlogv8di_2 */
17799 :
17800 : case 10:
17801 : if (!(
17802 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17803 : ((32 == 64 || TARGET_AVX512VL
17804 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17805 : && ix86_pre_reload_split ()
17806 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17807 : STRIP_UNARY (operands[4]))
17808 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17809 : STRIP_UNARY (operands[4]))
17810 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17811 : STRIP_UNARY (operands[3]))
17812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17813 : STRIP_UNARY (operands[3])))) &&
17814 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17815 : (TARGET_AVX)))
17816 : return -1;
17817 : return 6465; /* *avx512vl_vpternlogv4di_2 */
17818 :
17819 : case 11:
17820 : if (!
17821 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17822 : ((16 == 64 || TARGET_AVX512VL
17823 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17824 : && ix86_pre_reload_split ()
17825 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17826 : STRIP_UNARY (operands[4]))
17827 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17828 : STRIP_UNARY (operands[4]))
17829 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17830 : STRIP_UNARY (operands[3]))
17831 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17832 : STRIP_UNARY (operands[3])))))
17833 : return -1;
17834 : return 6492; /* *avx512vl_vpternlogv2di_2 */
17835 :
17836 : default:
17837 : return -1;
17838 : }
17839 :
17840 : case IOR:
17841 : switch (pattern537 (x2))
17842 : {
17843 : case 0:
17844 : if (!(
17845 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17846 : ((64 == 64 || TARGET_AVX512VL
17847 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17848 : && ix86_pre_reload_split ()
17849 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17850 : STRIP_UNARY (operands[4]))
17851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17852 : STRIP_UNARY (operands[4]))
17853 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17854 : STRIP_UNARY (operands[3]))
17855 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17856 : STRIP_UNARY (operands[3])))) &&
17857 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17858 : (TARGET_AVX512F)))
17859 : return -1;
17860 : return 6198; /* *avx512bw_vpternlogv64qi_2 */
17861 :
17862 : case 1:
17863 : if (!(
17864 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17865 : ((32 == 64 || TARGET_AVX512VL
17866 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17867 : && ix86_pre_reload_split ()
17868 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17869 : STRIP_UNARY (operands[4]))
17870 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17871 : STRIP_UNARY (operands[4]))
17872 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17873 : STRIP_UNARY (operands[3]))
17874 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17875 : STRIP_UNARY (operands[3])))) &&
17876 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17877 : (TARGET_AVX)))
17878 : return -1;
17879 : return 6225; /* *avx512vl_vpternlogv32qi_2 */
17880 :
17881 : case 2:
17882 : if (!
17883 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17884 : ((16 == 64 || TARGET_AVX512VL
17885 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17886 : && ix86_pre_reload_split ()
17887 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17888 : STRIP_UNARY (operands[4]))
17889 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17890 : STRIP_UNARY (operands[4]))
17891 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17892 : STRIP_UNARY (operands[3]))
17893 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17894 : STRIP_UNARY (operands[3])))))
17895 : return -1;
17896 : return 6252; /* *avx512vl_vpternlogv16qi_2 */
17897 :
17898 : case 3:
17899 : if (!(
17900 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17901 : ((64 == 64 || TARGET_AVX512VL
17902 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17903 : && ix86_pre_reload_split ()
17904 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17905 : STRIP_UNARY (operands[4]))
17906 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17907 : STRIP_UNARY (operands[4]))
17908 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17909 : STRIP_UNARY (operands[3]))
17910 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17911 : STRIP_UNARY (operands[3])))) &&
17912 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17913 : (TARGET_AVX512F)))
17914 : return -1;
17915 : return 6279; /* *avx512bw_vpternlogv32hi_2 */
17916 :
17917 : case 4:
17918 : if (!(
17919 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17920 : ((32 == 64 || TARGET_AVX512VL
17921 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17922 : && ix86_pre_reload_split ()
17923 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17924 : STRIP_UNARY (operands[4]))
17925 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17926 : STRIP_UNARY (operands[4]))
17927 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17928 : STRIP_UNARY (operands[3]))
17929 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17930 : STRIP_UNARY (operands[3])))) &&
17931 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17932 : (TARGET_AVX)))
17933 : return -1;
17934 : return 6306; /* *avx512vl_vpternlogv16hi_2 */
17935 :
17936 : case 5:
17937 : if (!
17938 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17939 : ((16 == 64 || TARGET_AVX512VL
17940 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17941 : && ix86_pre_reload_split ()
17942 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17943 : STRIP_UNARY (operands[4]))
17944 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17945 : STRIP_UNARY (operands[4]))
17946 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17947 : STRIP_UNARY (operands[3]))
17948 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17949 : STRIP_UNARY (operands[3])))))
17950 : return -1;
17951 : return 6333; /* *avx512vl_vpternlogv8hi_2 */
17952 :
17953 : case 6:
17954 : if (!(
17955 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17956 : ((64 == 64 || TARGET_AVX512VL
17957 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17958 : && ix86_pre_reload_split ()
17959 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17960 : STRIP_UNARY (operands[4]))
17961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17962 : STRIP_UNARY (operands[4]))
17963 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17964 : STRIP_UNARY (operands[3]))
17965 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17966 : STRIP_UNARY (operands[3])))) &&
17967 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17968 : (TARGET_AVX512F)))
17969 : return -1;
17970 : return 6360; /* *avx512f_vpternlogv16si_2 */
17971 :
17972 : case 7:
17973 : if (!(
17974 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17975 : ((32 == 64 || TARGET_AVX512VL
17976 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17977 : && ix86_pre_reload_split ()
17978 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17979 : STRIP_UNARY (operands[4]))
17980 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17981 : STRIP_UNARY (operands[4]))
17982 : || rtx_equal_p (STRIP_UNARY (operands[1]),
17983 : STRIP_UNARY (operands[3]))
17984 : || rtx_equal_p (STRIP_UNARY (operands[2]),
17985 : STRIP_UNARY (operands[3])))) &&
17986 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17987 : (TARGET_AVX)))
17988 : return -1;
17989 : return 6387; /* *avx512vl_vpternlogv8si_2 */
17990 :
17991 : case 8:
17992 : if (!
17993 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
17994 : ((16 == 64 || TARGET_AVX512VL
17995 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
17996 : && ix86_pre_reload_split ()
17997 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
17998 : STRIP_UNARY (operands[4]))
17999 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18000 : STRIP_UNARY (operands[4]))
18001 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18002 : STRIP_UNARY (operands[3]))
18003 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18004 : STRIP_UNARY (operands[3])))))
18005 : return -1;
18006 : return 6414; /* *avx512vl_vpternlogv4si_2 */
18007 :
18008 : case 9:
18009 : if (!(
18010 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18011 : ((64 == 64 || TARGET_AVX512VL
18012 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18013 : && ix86_pre_reload_split ()
18014 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18015 : STRIP_UNARY (operands[4]))
18016 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18017 : STRIP_UNARY (operands[4]))
18018 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18019 : STRIP_UNARY (operands[3]))
18020 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18021 : STRIP_UNARY (operands[3])))) &&
18022 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18023 : (TARGET_AVX512F)))
18024 : return -1;
18025 : return 6441; /* *avx512f_vpternlogv8di_2 */
18026 :
18027 : case 10:
18028 : if (!(
18029 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18030 : ((32 == 64 || TARGET_AVX512VL
18031 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18032 : && ix86_pre_reload_split ()
18033 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18034 : STRIP_UNARY (operands[4]))
18035 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18036 : STRIP_UNARY (operands[4]))
18037 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18038 : STRIP_UNARY (operands[3]))
18039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18040 : STRIP_UNARY (operands[3])))) &&
18041 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18042 : (TARGET_AVX)))
18043 : return -1;
18044 : return 6468; /* *avx512vl_vpternlogv4di_2 */
18045 :
18046 : case 11:
18047 : if (!
18048 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18049 : ((16 == 64 || TARGET_AVX512VL
18050 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18051 : && ix86_pre_reload_split ()
18052 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18053 : STRIP_UNARY (operands[4]))
18054 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18055 : STRIP_UNARY (operands[4]))
18056 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18057 : STRIP_UNARY (operands[3]))
18058 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18059 : STRIP_UNARY (operands[3])))))
18060 : return -1;
18061 : return 6495; /* *avx512vl_vpternlogv2di_2 */
18062 :
18063 : default:
18064 : return -1;
18065 : }
18066 :
18067 : case XOR:
18068 : switch (pattern537 (x2))
18069 : {
18070 : case 0:
18071 : if (!(
18072 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18073 : ((64 == 64 || TARGET_AVX512VL
18074 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18075 : && ix86_pre_reload_split ()
18076 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18077 : STRIP_UNARY (operands[4]))
18078 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18079 : STRIP_UNARY (operands[4]))
18080 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18081 : STRIP_UNARY (operands[3]))
18082 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18083 : STRIP_UNARY (operands[3])))) &&
18084 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18085 : (TARGET_AVX512F)))
18086 : return -1;
18087 : return 6201; /* *avx512bw_vpternlogv64qi_2 */
18088 :
18089 : case 1:
18090 : if (!(
18091 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18092 : ((32 == 64 || TARGET_AVX512VL
18093 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18094 : && ix86_pre_reload_split ()
18095 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18096 : STRIP_UNARY (operands[4]))
18097 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18098 : STRIP_UNARY (operands[4]))
18099 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18100 : STRIP_UNARY (operands[3]))
18101 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18102 : STRIP_UNARY (operands[3])))) &&
18103 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18104 : (TARGET_AVX)))
18105 : return -1;
18106 : return 6228; /* *avx512vl_vpternlogv32qi_2 */
18107 :
18108 : case 2:
18109 : if (!
18110 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18111 : ((16 == 64 || TARGET_AVX512VL
18112 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18113 : && ix86_pre_reload_split ()
18114 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18115 : STRIP_UNARY (operands[4]))
18116 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18117 : STRIP_UNARY (operands[4]))
18118 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18119 : STRIP_UNARY (operands[3]))
18120 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18121 : STRIP_UNARY (operands[3])))))
18122 : return -1;
18123 : return 6255; /* *avx512vl_vpternlogv16qi_2 */
18124 :
18125 : case 3:
18126 : if (!(
18127 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18128 : ((64 == 64 || TARGET_AVX512VL
18129 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18130 : && ix86_pre_reload_split ()
18131 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18132 : STRIP_UNARY (operands[4]))
18133 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18134 : STRIP_UNARY (operands[4]))
18135 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18136 : STRIP_UNARY (operands[3]))
18137 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18138 : STRIP_UNARY (operands[3])))) &&
18139 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18140 : (TARGET_AVX512F)))
18141 : return -1;
18142 : return 6282; /* *avx512bw_vpternlogv32hi_2 */
18143 :
18144 : case 4:
18145 : if (!(
18146 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18147 : ((32 == 64 || TARGET_AVX512VL
18148 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18149 : && ix86_pre_reload_split ()
18150 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18151 : STRIP_UNARY (operands[4]))
18152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18153 : STRIP_UNARY (operands[4]))
18154 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18155 : STRIP_UNARY (operands[3]))
18156 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18157 : STRIP_UNARY (operands[3])))) &&
18158 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18159 : (TARGET_AVX)))
18160 : return -1;
18161 : return 6309; /* *avx512vl_vpternlogv16hi_2 */
18162 :
18163 : case 5:
18164 : if (!
18165 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18166 : ((16 == 64 || TARGET_AVX512VL
18167 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18168 : && ix86_pre_reload_split ()
18169 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18170 : STRIP_UNARY (operands[4]))
18171 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18172 : STRIP_UNARY (operands[4]))
18173 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18174 : STRIP_UNARY (operands[3]))
18175 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18176 : STRIP_UNARY (operands[3])))))
18177 : return -1;
18178 : return 6336; /* *avx512vl_vpternlogv8hi_2 */
18179 :
18180 : case 6:
18181 : if (!(
18182 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18183 : ((64 == 64 || TARGET_AVX512VL
18184 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18185 : && ix86_pre_reload_split ()
18186 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18187 : STRIP_UNARY (operands[4]))
18188 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18189 : STRIP_UNARY (operands[4]))
18190 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18191 : STRIP_UNARY (operands[3]))
18192 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18193 : STRIP_UNARY (operands[3])))) &&
18194 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18195 : (TARGET_AVX512F)))
18196 : return -1;
18197 : return 6363; /* *avx512f_vpternlogv16si_2 */
18198 :
18199 : case 7:
18200 : if (!(
18201 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18202 : ((32 == 64 || TARGET_AVX512VL
18203 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18204 : && ix86_pre_reload_split ()
18205 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18206 : STRIP_UNARY (operands[4]))
18207 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18208 : STRIP_UNARY (operands[4]))
18209 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18210 : STRIP_UNARY (operands[3]))
18211 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18212 : STRIP_UNARY (operands[3])))) &&
18213 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18214 : (TARGET_AVX)))
18215 : return -1;
18216 : return 6390; /* *avx512vl_vpternlogv8si_2 */
18217 :
18218 : case 8:
18219 : if (!
18220 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18221 : ((16 == 64 || TARGET_AVX512VL
18222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18223 : && ix86_pre_reload_split ()
18224 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18225 : STRIP_UNARY (operands[4]))
18226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18227 : STRIP_UNARY (operands[4]))
18228 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18229 : STRIP_UNARY (operands[3]))
18230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18231 : STRIP_UNARY (operands[3])))))
18232 : return -1;
18233 : return 6417; /* *avx512vl_vpternlogv4si_2 */
18234 :
18235 : case 9:
18236 : if (!(
18237 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18238 : ((64 == 64 || TARGET_AVX512VL
18239 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18240 : && ix86_pre_reload_split ()
18241 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18242 : STRIP_UNARY (operands[4]))
18243 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18244 : STRIP_UNARY (operands[4]))
18245 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18246 : STRIP_UNARY (operands[3]))
18247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18248 : STRIP_UNARY (operands[3])))) &&
18249 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18250 : (TARGET_AVX512F)))
18251 : return -1;
18252 : return 6444; /* *avx512f_vpternlogv8di_2 */
18253 :
18254 : case 10:
18255 : if (!(
18256 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18257 : ((32 == 64 || TARGET_AVX512VL
18258 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18259 : && ix86_pre_reload_split ()
18260 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18261 : STRIP_UNARY (operands[4]))
18262 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18263 : STRIP_UNARY (operands[4]))
18264 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18265 : STRIP_UNARY (operands[3]))
18266 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18267 : STRIP_UNARY (operands[3])))) &&
18268 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18269 : (TARGET_AVX)))
18270 : return -1;
18271 : return 6471; /* *avx512vl_vpternlogv4di_2 */
18272 :
18273 : case 11:
18274 : if (!
18275 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18276 : ((16 == 64 || TARGET_AVX512VL
18277 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18278 : && ix86_pre_reload_split ()
18279 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18280 : STRIP_UNARY (operands[4]))
18281 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18282 : STRIP_UNARY (operands[4]))
18283 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18284 : STRIP_UNARY (operands[3]))
18285 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18286 : STRIP_UNARY (operands[3])))))
18287 : return -1;
18288 : return 6498; /* *avx512vl_vpternlogv2di_2 */
18289 :
18290 : default:
18291 : return -1;
18292 : }
18293 :
18294 : default:
18295 : return -1;
18296 : }
18297 : }
18298 :
18299 : int
18300 : recog_317 (rtx x1 ATTRIBUTE_UNUSED,
18301 : rtx_insn *insn ATTRIBUTE_UNUSED,
18302 : int *pnum_clobbers ATTRIBUTE_UNUSED)
18303 : {
18304 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
18305 : rtx x2, x3, x4;
18306 : int res ATTRIBUTE_UNUSED;
18307 : x2 = XEXP (x1, 1);
18308 : x3 = XEXP (x2, 0);
18309 : switch (GET_CODE (x3))
18310 : {
18311 : case AND:
18312 : x4 = XEXP (x3, 0);
18313 : switch (GET_CODE (x4))
18314 : {
18315 : case REG:
18316 : case SUBREG:
18317 : case MEM:
18318 : case NOT:
18319 : switch (pattern541 (x2))
18320 : {
18321 : case 0:
18322 : if (!(
18323 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18324 : ((64 == 64 || TARGET_AVX512VL
18325 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18326 : && ix86_pre_reload_split ()
18327 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18328 : STRIP_UNARY (operands[4]))
18329 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18330 : STRIP_UNARY (operands[4]))
18331 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18332 : STRIP_UNARY (operands[3]))
18333 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18334 : STRIP_UNARY (operands[3])))) &&
18335 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18336 : (TARGET_AVX512F)))
18337 : return -1;
18338 : return 5864; /* *avx512bw_vpternlogv32hf_1 */
18339 :
18340 : case 1:
18341 : if (!(
18342 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18343 : ((32 == 64 || TARGET_AVX512VL
18344 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18345 : && ix86_pre_reload_split ()
18346 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18347 : STRIP_UNARY (operands[4]))
18348 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18349 : STRIP_UNARY (operands[4]))
18350 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18351 : STRIP_UNARY (operands[3]))
18352 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18353 : STRIP_UNARY (operands[3])))) &&
18354 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18355 : (TARGET_AVX)))
18356 : return -1;
18357 : return 5891; /* *avx512vl_vpternlogv16hf_1 */
18358 :
18359 : case 2:
18360 : if (!
18361 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18362 : ((16 == 64 || TARGET_AVX512VL
18363 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18364 : && ix86_pre_reload_split ()
18365 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18366 : STRIP_UNARY (operands[4]))
18367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18368 : STRIP_UNARY (operands[4]))
18369 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18370 : STRIP_UNARY (operands[3]))
18371 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18372 : STRIP_UNARY (operands[3])))))
18373 : return -1;
18374 : return 5918; /* *avx512fp16_vpternlogv8hf_1 */
18375 :
18376 : case 3:
18377 : if (!(
18378 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18379 : ((64 == 64 || TARGET_AVX512VL
18380 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18381 : && ix86_pre_reload_split ()
18382 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18383 : STRIP_UNARY (operands[4]))
18384 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18385 : STRIP_UNARY (operands[4]))
18386 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18387 : STRIP_UNARY (operands[3]))
18388 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18389 : STRIP_UNARY (operands[3])))) &&
18390 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18391 : (TARGET_AVX512F)))
18392 : return -1;
18393 : return 5945; /* *avx512bw_vpternlogv32bf_1 */
18394 :
18395 : case 4:
18396 : if (!(
18397 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18398 : ((32 == 64 || TARGET_AVX512VL
18399 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18400 : && ix86_pre_reload_split ()
18401 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18402 : STRIP_UNARY (operands[4]))
18403 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18404 : STRIP_UNARY (operands[4]))
18405 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18406 : STRIP_UNARY (operands[3]))
18407 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18408 : STRIP_UNARY (operands[3])))) &&
18409 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18410 : (TARGET_AVX)))
18411 : return -1;
18412 : return 5972; /* *avx512vl_vpternlogv16bf_1 */
18413 :
18414 : case 5:
18415 : if (!
18416 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18417 : ((16 == 64 || TARGET_AVX512VL
18418 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18419 : && ix86_pre_reload_split ()
18420 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18421 : STRIP_UNARY (operands[4]))
18422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18423 : STRIP_UNARY (operands[4]))
18424 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18425 : STRIP_UNARY (operands[3]))
18426 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18427 : STRIP_UNARY (operands[3])))))
18428 : return -1;
18429 : return 5999; /* *avx512vl_vpternlogv8bf_1 */
18430 :
18431 : case 6:
18432 : if (!(
18433 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18434 : ((64 == 64 || TARGET_AVX512VL
18435 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18436 : && ix86_pre_reload_split ()
18437 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18438 : STRIP_UNARY (operands[4]))
18439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18440 : STRIP_UNARY (operands[4]))
18441 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18442 : STRIP_UNARY (operands[3]))
18443 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18444 : STRIP_UNARY (operands[3])))) &&
18445 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18446 : (TARGET_AVX512F)))
18447 : return -1;
18448 : return 6026; /* *avx512f_vpternlogv16sf_1 */
18449 :
18450 : case 7:
18451 : if (!(
18452 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18453 : ((32 == 64 || TARGET_AVX512VL
18454 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18455 : && ix86_pre_reload_split ()
18456 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18457 : STRIP_UNARY (operands[4]))
18458 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18459 : STRIP_UNARY (operands[4]))
18460 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18461 : STRIP_UNARY (operands[3]))
18462 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18463 : STRIP_UNARY (operands[3])))) &&
18464 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18465 : (TARGET_AVX)))
18466 : return -1;
18467 : return 6053; /* *avx512vl_vpternlogv8sf_1 */
18468 :
18469 : case 8:
18470 : if (!
18471 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18472 : ((16 == 64 || TARGET_AVX512VL
18473 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18474 : && ix86_pre_reload_split ()
18475 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18476 : STRIP_UNARY (operands[4]))
18477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18478 : STRIP_UNARY (operands[4]))
18479 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18480 : STRIP_UNARY (operands[3]))
18481 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18482 : STRIP_UNARY (operands[3])))))
18483 : return -1;
18484 : return 6080; /* *avx512vl_vpternlogv4sf_1 */
18485 :
18486 : case 9:
18487 : if (!(
18488 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18489 : ((64 == 64 || TARGET_AVX512VL
18490 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18491 : && ix86_pre_reload_split ()
18492 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18493 : STRIP_UNARY (operands[4]))
18494 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18495 : STRIP_UNARY (operands[4]))
18496 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18497 : STRIP_UNARY (operands[3]))
18498 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18499 : STRIP_UNARY (operands[3])))) &&
18500 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18501 : (TARGET_AVX512F)))
18502 : return -1;
18503 : return 6107; /* *avx512f_vpternlogv8df_1 */
18504 :
18505 : case 10:
18506 : if (!(
18507 : #line 14102 "/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 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18512 : STRIP_UNARY (operands[4]))
18513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18514 : STRIP_UNARY (operands[4]))
18515 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18516 : STRIP_UNARY (operands[3]))
18517 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18518 : STRIP_UNARY (operands[3])))) &&
18519 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18520 : (TARGET_AVX)))
18521 : return -1;
18522 : return 6134; /* *avx512vl_vpternlogv4df_1 */
18523 :
18524 : case 11:
18525 : if (!(
18526 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18527 : ((16 == 64 || TARGET_AVX512VL
18528 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18529 : && ix86_pre_reload_split ()
18530 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18531 : STRIP_UNARY (operands[4]))
18532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18533 : STRIP_UNARY (operands[4]))
18534 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18535 : STRIP_UNARY (operands[3]))
18536 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18537 : STRIP_UNARY (operands[3])))) &&
18538 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18539 : (TARGET_SSE2)))
18540 : return -1;
18541 : return 6161; /* *avx512vl_vpternlogv2df_1 */
18542 :
18543 : case 12:
18544 : if (!(
18545 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18546 : ((64 == 64 || TARGET_AVX512VL
18547 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18548 : && ix86_pre_reload_split ()
18549 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18550 : STRIP_UNARY (operands[4]))
18551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18552 : STRIP_UNARY (operands[4]))
18553 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18554 : STRIP_UNARY (operands[3]))
18555 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18556 : STRIP_UNARY (operands[3])))) &&
18557 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18558 : (TARGET_AVX512F)))
18559 : return -1;
18560 : return 5867; /* *avx512bw_vpternlogv32hf_1 */
18561 :
18562 : case 13:
18563 : if (!(
18564 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18565 : ((32 == 64 || TARGET_AVX512VL
18566 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18567 : && ix86_pre_reload_split ()
18568 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18569 : STRIP_UNARY (operands[4]))
18570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18571 : STRIP_UNARY (operands[4]))
18572 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18573 : STRIP_UNARY (operands[3]))
18574 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18575 : STRIP_UNARY (operands[3])))) &&
18576 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18577 : (TARGET_AVX)))
18578 : return -1;
18579 : return 5894; /* *avx512vl_vpternlogv16hf_1 */
18580 :
18581 : case 14:
18582 : if (!
18583 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18584 : ((16 == 64 || TARGET_AVX512VL
18585 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18586 : && ix86_pre_reload_split ()
18587 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18588 : STRIP_UNARY (operands[4]))
18589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18590 : STRIP_UNARY (operands[4]))
18591 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18592 : STRIP_UNARY (operands[3]))
18593 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18594 : STRIP_UNARY (operands[3])))))
18595 : return -1;
18596 : return 5921; /* *avx512fp16_vpternlogv8hf_1 */
18597 :
18598 : case 15:
18599 : if (!(
18600 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18601 : ((64 == 64 || TARGET_AVX512VL
18602 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18603 : && ix86_pre_reload_split ()
18604 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18605 : STRIP_UNARY (operands[4]))
18606 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18607 : STRIP_UNARY (operands[4]))
18608 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18609 : STRIP_UNARY (operands[3]))
18610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18611 : STRIP_UNARY (operands[3])))) &&
18612 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18613 : (TARGET_AVX512F)))
18614 : return -1;
18615 : return 5948; /* *avx512bw_vpternlogv32bf_1 */
18616 :
18617 : case 16:
18618 : if (!(
18619 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18620 : ((32 == 64 || TARGET_AVX512VL
18621 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18622 : && ix86_pre_reload_split ()
18623 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18624 : STRIP_UNARY (operands[4]))
18625 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18626 : STRIP_UNARY (operands[4]))
18627 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18628 : STRIP_UNARY (operands[3]))
18629 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18630 : STRIP_UNARY (operands[3])))) &&
18631 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18632 : (TARGET_AVX)))
18633 : return -1;
18634 : return 5975; /* *avx512vl_vpternlogv16bf_1 */
18635 :
18636 : case 17:
18637 : if (!
18638 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18639 : ((16 == 64 || TARGET_AVX512VL
18640 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18641 : && ix86_pre_reload_split ()
18642 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18643 : STRIP_UNARY (operands[4]))
18644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18645 : STRIP_UNARY (operands[4]))
18646 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18647 : STRIP_UNARY (operands[3]))
18648 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18649 : STRIP_UNARY (operands[3])))))
18650 : return -1;
18651 : return 6002; /* *avx512vl_vpternlogv8bf_1 */
18652 :
18653 : case 18:
18654 : if (!(
18655 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18656 : ((64 == 64 || TARGET_AVX512VL
18657 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18658 : && ix86_pre_reload_split ()
18659 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18660 : STRIP_UNARY (operands[4]))
18661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18662 : STRIP_UNARY (operands[4]))
18663 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18664 : STRIP_UNARY (operands[3]))
18665 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18666 : STRIP_UNARY (operands[3])))) &&
18667 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18668 : (TARGET_AVX512F)))
18669 : return -1;
18670 : return 6029; /* *avx512f_vpternlogv16sf_1 */
18671 :
18672 : case 19:
18673 : if (!(
18674 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18675 : ((32 == 64 || TARGET_AVX512VL
18676 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18677 : && ix86_pre_reload_split ()
18678 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18679 : STRIP_UNARY (operands[4]))
18680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18681 : STRIP_UNARY (operands[4]))
18682 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18683 : STRIP_UNARY (operands[3]))
18684 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18685 : STRIP_UNARY (operands[3])))) &&
18686 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18687 : (TARGET_AVX)))
18688 : return -1;
18689 : return 6056; /* *avx512vl_vpternlogv8sf_1 */
18690 :
18691 : case 20:
18692 : if (!
18693 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18694 : ((16 == 64 || TARGET_AVX512VL
18695 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18696 : && ix86_pre_reload_split ()
18697 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18698 : STRIP_UNARY (operands[4]))
18699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18700 : STRIP_UNARY (operands[4]))
18701 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18702 : STRIP_UNARY (operands[3]))
18703 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18704 : STRIP_UNARY (operands[3])))))
18705 : return -1;
18706 : return 6083; /* *avx512vl_vpternlogv4sf_1 */
18707 :
18708 : case 21:
18709 : if (!(
18710 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18711 : ((64 == 64 || TARGET_AVX512VL
18712 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18713 : && ix86_pre_reload_split ()
18714 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18715 : STRIP_UNARY (operands[4]))
18716 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18717 : STRIP_UNARY (operands[4]))
18718 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18719 : STRIP_UNARY (operands[3]))
18720 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18721 : STRIP_UNARY (operands[3])))) &&
18722 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18723 : (TARGET_AVX512F)))
18724 : return -1;
18725 : return 6110; /* *avx512f_vpternlogv8df_1 */
18726 :
18727 : case 22:
18728 : if (!(
18729 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18730 : ((32 == 64 || TARGET_AVX512VL
18731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18732 : && ix86_pre_reload_split ()
18733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18734 : STRIP_UNARY (operands[4]))
18735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18736 : STRIP_UNARY (operands[4]))
18737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18738 : STRIP_UNARY (operands[3]))
18739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18740 : STRIP_UNARY (operands[3])))) &&
18741 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18742 : (TARGET_AVX)))
18743 : return -1;
18744 : return 6137; /* *avx512vl_vpternlogv4df_1 */
18745 :
18746 : case 23:
18747 : if (!(
18748 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18749 : ((16 == 64 || TARGET_AVX512VL
18750 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18751 : && ix86_pre_reload_split ()
18752 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18753 : STRIP_UNARY (operands[4]))
18754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18755 : STRIP_UNARY (operands[4]))
18756 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18757 : STRIP_UNARY (operands[3]))
18758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18759 : STRIP_UNARY (operands[3])))) &&
18760 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18761 : (TARGET_SSE2)))
18762 : return -1;
18763 : return 6164; /* *avx512vl_vpternlogv2df_1 */
18764 :
18765 : case 24:
18766 : if (!(
18767 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18768 : ((64 == 64 || TARGET_AVX512VL
18769 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18770 : && ix86_pre_reload_split ()
18771 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18772 : STRIP_UNARY (operands[4]))
18773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18774 : STRIP_UNARY (operands[4]))
18775 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18776 : STRIP_UNARY (operands[3]))
18777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18778 : STRIP_UNARY (operands[3])))) &&
18779 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18780 : (TARGET_AVX512F)))
18781 : return -1;
18782 : return 5870; /* *avx512bw_vpternlogv32hf_1 */
18783 :
18784 : case 25:
18785 : if (!(
18786 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18787 : ((32 == 64 || TARGET_AVX512VL
18788 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18789 : && ix86_pre_reload_split ()
18790 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18791 : STRIP_UNARY (operands[4]))
18792 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18793 : STRIP_UNARY (operands[4]))
18794 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18795 : STRIP_UNARY (operands[3]))
18796 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18797 : STRIP_UNARY (operands[3])))) &&
18798 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18799 : (TARGET_AVX)))
18800 : return -1;
18801 : return 5897; /* *avx512vl_vpternlogv16hf_1 */
18802 :
18803 : case 26:
18804 : if (!
18805 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18806 : ((16 == 64 || TARGET_AVX512VL
18807 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18808 : && ix86_pre_reload_split ()
18809 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18810 : STRIP_UNARY (operands[4]))
18811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18812 : STRIP_UNARY (operands[4]))
18813 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18814 : STRIP_UNARY (operands[3]))
18815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18816 : STRIP_UNARY (operands[3])))))
18817 : return -1;
18818 : return 5924; /* *avx512fp16_vpternlogv8hf_1 */
18819 :
18820 : case 27:
18821 : if (!(
18822 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18823 : ((64 == 64 || TARGET_AVX512VL
18824 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18825 : && ix86_pre_reload_split ()
18826 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18827 : STRIP_UNARY (operands[4]))
18828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18829 : STRIP_UNARY (operands[4]))
18830 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18831 : STRIP_UNARY (operands[3]))
18832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18833 : STRIP_UNARY (operands[3])))) &&
18834 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18835 : (TARGET_AVX512F)))
18836 : return -1;
18837 : return 5951; /* *avx512bw_vpternlogv32bf_1 */
18838 :
18839 : case 28:
18840 : if (!(
18841 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18842 : ((32 == 64 || TARGET_AVX512VL
18843 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18844 : && ix86_pre_reload_split ()
18845 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18846 : STRIP_UNARY (operands[4]))
18847 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18848 : STRIP_UNARY (operands[4]))
18849 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18850 : STRIP_UNARY (operands[3]))
18851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18852 : STRIP_UNARY (operands[3])))) &&
18853 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18854 : (TARGET_AVX)))
18855 : return -1;
18856 : return 5978; /* *avx512vl_vpternlogv16bf_1 */
18857 :
18858 : case 29:
18859 : if (!
18860 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18861 : ((16 == 64 || TARGET_AVX512VL
18862 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18863 : && ix86_pre_reload_split ()
18864 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18865 : STRIP_UNARY (operands[4]))
18866 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18867 : STRIP_UNARY (operands[4]))
18868 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18869 : STRIP_UNARY (operands[3]))
18870 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18871 : STRIP_UNARY (operands[3])))))
18872 : return -1;
18873 : return 6005; /* *avx512vl_vpternlogv8bf_1 */
18874 :
18875 : case 30:
18876 : if (!(
18877 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18878 : ((64 == 64 || TARGET_AVX512VL
18879 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18880 : && ix86_pre_reload_split ()
18881 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18882 : STRIP_UNARY (operands[4]))
18883 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18884 : STRIP_UNARY (operands[4]))
18885 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18886 : STRIP_UNARY (operands[3]))
18887 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18888 : STRIP_UNARY (operands[3])))) &&
18889 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18890 : (TARGET_AVX512F)))
18891 : return -1;
18892 : return 6032; /* *avx512f_vpternlogv16sf_1 */
18893 :
18894 : case 31:
18895 : if (!(
18896 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18897 : ((32 == 64 || TARGET_AVX512VL
18898 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18899 : && ix86_pre_reload_split ()
18900 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18901 : STRIP_UNARY (operands[4]))
18902 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18903 : STRIP_UNARY (operands[4]))
18904 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18905 : STRIP_UNARY (operands[3]))
18906 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18907 : STRIP_UNARY (operands[3])))) &&
18908 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18909 : (TARGET_AVX)))
18910 : return -1;
18911 : return 6059; /* *avx512vl_vpternlogv8sf_1 */
18912 :
18913 : case 32:
18914 : if (!
18915 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18916 : ((16 == 64 || TARGET_AVX512VL
18917 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18918 : && ix86_pre_reload_split ()
18919 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18920 : STRIP_UNARY (operands[4]))
18921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18922 : STRIP_UNARY (operands[4]))
18923 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18924 : STRIP_UNARY (operands[3]))
18925 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18926 : STRIP_UNARY (operands[3])))))
18927 : return -1;
18928 : return 6086; /* *avx512vl_vpternlogv4sf_1 */
18929 :
18930 : case 33:
18931 : if (!(
18932 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18933 : ((64 == 64 || TARGET_AVX512VL
18934 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18935 : && ix86_pre_reload_split ()
18936 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18937 : STRIP_UNARY (operands[4]))
18938 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18939 : STRIP_UNARY (operands[4]))
18940 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18941 : STRIP_UNARY (operands[3]))
18942 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18943 : STRIP_UNARY (operands[3])))) &&
18944 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18945 : (TARGET_AVX512F)))
18946 : return -1;
18947 : return 6113; /* *avx512f_vpternlogv8df_1 */
18948 :
18949 : case 34:
18950 : if (!(
18951 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18952 : ((32 == 64 || TARGET_AVX512VL
18953 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18954 : && ix86_pre_reload_split ()
18955 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18956 : STRIP_UNARY (operands[4]))
18957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18958 : STRIP_UNARY (operands[4]))
18959 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18960 : STRIP_UNARY (operands[3]))
18961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18962 : STRIP_UNARY (operands[3])))) &&
18963 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18964 : (TARGET_AVX)))
18965 : return -1;
18966 : return 6140; /* *avx512vl_vpternlogv4df_1 */
18967 :
18968 : case 35:
18969 : if (!(
18970 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18971 : ((16 == 64 || TARGET_AVX512VL
18972 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18973 : && ix86_pre_reload_split ()
18974 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
18975 : STRIP_UNARY (operands[4]))
18976 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18977 : STRIP_UNARY (operands[4]))
18978 : || rtx_equal_p (STRIP_UNARY (operands[1]),
18979 : STRIP_UNARY (operands[3]))
18980 : || rtx_equal_p (STRIP_UNARY (operands[2]),
18981 : STRIP_UNARY (operands[3])))) &&
18982 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18983 : (TARGET_SSE2)))
18984 : return -1;
18985 : return 6167; /* *avx512vl_vpternlogv2df_1 */
18986 :
18987 : case 36:
18988 : if (!(
18989 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18990 : ((64 == 64 || TARGET_AVX512VL
18991 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
18992 : && ix86_pre_reload_split ()) &&
18993 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
18994 : (TARGET_AVX512F)))
18995 : return -1;
18996 : return 6944; /* *avx512bw_vpternlogv32hf_3 */
18997 :
18998 : case 37:
18999 : if (!(
19000 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19001 : ((32 == 64 || TARGET_AVX512VL
19002 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19003 : && ix86_pre_reload_split ()) &&
19004 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19005 : (TARGET_AVX)))
19006 : return -1;
19007 : return 6953; /* *avx512vl_vpternlogv16hf_3 */
19008 :
19009 : case 38:
19010 : if (!
19011 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19012 : ((16 == 64 || TARGET_AVX512VL
19013 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19014 : && ix86_pre_reload_split ()))
19015 : return -1;
19016 : return 6962; /* *avx512fp16_vpternlogv8hf_3 */
19017 :
19018 : case 39:
19019 : if (!(
19020 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19021 : ((64 == 64 || TARGET_AVX512VL
19022 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19023 : && ix86_pre_reload_split ()) &&
19024 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19025 : (TARGET_AVX512F)))
19026 : return -1;
19027 : return 6971; /* *avx512bw_vpternlogv32bf_3 */
19028 :
19029 : case 40:
19030 : if (!(
19031 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19032 : ((32 == 64 || TARGET_AVX512VL
19033 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19034 : && ix86_pre_reload_split ()) &&
19035 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19036 : (TARGET_AVX)))
19037 : return -1;
19038 : return 6980; /* *avx512vl_vpternlogv16bf_3 */
19039 :
19040 : case 41:
19041 : if (!
19042 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19043 : ((16 == 64 || TARGET_AVX512VL
19044 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19045 : && ix86_pre_reload_split ()))
19046 : return -1;
19047 : return 6989; /* *avx512vl_vpternlogv8bf_3 */
19048 :
19049 : case 42:
19050 : if (!(
19051 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19052 : ((64 == 64 || TARGET_AVX512VL
19053 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19054 : && ix86_pre_reload_split ()) &&
19055 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19056 : (TARGET_AVX512F)))
19057 : return -1;
19058 : return 6998; /* *avx512f_vpternlogv16sf_3 */
19059 :
19060 : case 43:
19061 : if (!(
19062 : #line 14271 "/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 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19067 : (TARGET_AVX)))
19068 : return -1;
19069 : return 7007; /* *avx512vl_vpternlogv8sf_3 */
19070 :
19071 : case 44:
19072 : if (!
19073 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19074 : ((16 == 64 || TARGET_AVX512VL
19075 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19076 : && ix86_pre_reload_split ()))
19077 : return -1;
19078 : return 7016; /* *avx512vl_vpternlogv4sf_3 */
19079 :
19080 : case 45:
19081 : if (!(
19082 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19083 : ((64 == 64 || TARGET_AVX512VL
19084 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19085 : && ix86_pre_reload_split ()) &&
19086 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19087 : (TARGET_AVX512F)))
19088 : return -1;
19089 : return 7025; /* *avx512f_vpternlogv8df_3 */
19090 :
19091 : case 46:
19092 : if (!(
19093 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19094 : ((32 == 64 || TARGET_AVX512VL
19095 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19096 : && ix86_pre_reload_split ()) &&
19097 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19098 : (TARGET_AVX)))
19099 : return -1;
19100 : return 7034; /* *avx512vl_vpternlogv4df_3 */
19101 :
19102 : case 47:
19103 : if (!(
19104 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19105 : ((16 == 64 || TARGET_AVX512VL
19106 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19107 : && ix86_pre_reload_split ()) &&
19108 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19109 : (TARGET_SSE2)))
19110 : return -1;
19111 : return 7043; /* *avx512vl_vpternlogv2df_3 */
19112 :
19113 : default:
19114 : return -1;
19115 : }
19116 :
19117 : case AND:
19118 : switch (pattern542 (x2))
19119 : {
19120 : case 0:
19121 : if (!(
19122 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19123 : ((64 == 64 || TARGET_AVX512VL
19124 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19125 : && ix86_pre_reload_split ()
19126 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19127 : STRIP_UNARY (operands[4]))
19128 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19129 : STRIP_UNARY (operands[4]))
19130 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19131 : STRIP_UNARY (operands[3]))
19132 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19133 : STRIP_UNARY (operands[3])))) &&
19134 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19135 : (TARGET_AVX512F)))
19136 : return -1;
19137 : return 6512; /* *avx512bw_vpternlogv32hf_2 */
19138 :
19139 : case 1:
19140 : if (!(
19141 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19142 : ((32 == 64 || TARGET_AVX512VL
19143 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19144 : && ix86_pre_reload_split ()
19145 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19146 : STRIP_UNARY (operands[4]))
19147 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19148 : STRIP_UNARY (operands[4]))
19149 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19150 : STRIP_UNARY (operands[3]))
19151 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19152 : STRIP_UNARY (operands[3])))) &&
19153 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19154 : (TARGET_AVX)))
19155 : return -1;
19156 : return 6539; /* *avx512vl_vpternlogv16hf_2 */
19157 :
19158 : case 2:
19159 : if (!
19160 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19161 : ((16 == 64 || TARGET_AVX512VL
19162 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19163 : && ix86_pre_reload_split ()
19164 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19165 : STRIP_UNARY (operands[4]))
19166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19167 : STRIP_UNARY (operands[4]))
19168 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19169 : STRIP_UNARY (operands[3]))
19170 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19171 : STRIP_UNARY (operands[3])))))
19172 : return -1;
19173 : return 6566; /* *avx512fp16_vpternlogv8hf_2 */
19174 :
19175 : case 3:
19176 : if (!(
19177 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19178 : ((64 == 64 || TARGET_AVX512VL
19179 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19180 : && ix86_pre_reload_split ()
19181 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19182 : STRIP_UNARY (operands[4]))
19183 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19184 : STRIP_UNARY (operands[4]))
19185 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19186 : STRIP_UNARY (operands[3]))
19187 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19188 : STRIP_UNARY (operands[3])))) &&
19189 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19190 : (TARGET_AVX512F)))
19191 : return -1;
19192 : return 6593; /* *avx512bw_vpternlogv32bf_2 */
19193 :
19194 : case 4:
19195 : if (!(
19196 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19197 : ((32 == 64 || TARGET_AVX512VL
19198 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19199 : && ix86_pre_reload_split ()
19200 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19201 : STRIP_UNARY (operands[4]))
19202 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19203 : STRIP_UNARY (operands[4]))
19204 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19205 : STRIP_UNARY (operands[3]))
19206 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19207 : STRIP_UNARY (operands[3])))) &&
19208 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19209 : (TARGET_AVX)))
19210 : return -1;
19211 : return 6620; /* *avx512vl_vpternlogv16bf_2 */
19212 :
19213 : case 5:
19214 : if (!
19215 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19216 : ((16 == 64 || TARGET_AVX512VL
19217 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19218 : && ix86_pre_reload_split ()
19219 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19220 : STRIP_UNARY (operands[4]))
19221 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19222 : STRIP_UNARY (operands[4]))
19223 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19224 : STRIP_UNARY (operands[3]))
19225 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19226 : STRIP_UNARY (operands[3])))))
19227 : return -1;
19228 : return 6647; /* *avx512vl_vpternlogv8bf_2 */
19229 :
19230 : case 6:
19231 : if (!(
19232 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19233 : ((64 == 64 || TARGET_AVX512VL
19234 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19235 : && ix86_pre_reload_split ()
19236 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19237 : STRIP_UNARY (operands[4]))
19238 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19239 : STRIP_UNARY (operands[4]))
19240 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19241 : STRIP_UNARY (operands[3]))
19242 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19243 : STRIP_UNARY (operands[3])))) &&
19244 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19245 : (TARGET_AVX512F)))
19246 : return -1;
19247 : return 6674; /* *avx512f_vpternlogv16sf_2 */
19248 :
19249 : case 7:
19250 : if (!(
19251 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19252 : ((32 == 64 || TARGET_AVX512VL
19253 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19254 : && ix86_pre_reload_split ()
19255 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19256 : STRIP_UNARY (operands[4]))
19257 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19258 : STRIP_UNARY (operands[4]))
19259 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19260 : STRIP_UNARY (operands[3]))
19261 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19262 : STRIP_UNARY (operands[3])))) &&
19263 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19264 : (TARGET_AVX)))
19265 : return -1;
19266 : return 6701; /* *avx512vl_vpternlogv8sf_2 */
19267 :
19268 : case 8:
19269 : if (!
19270 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19271 : ((16 == 64 || TARGET_AVX512VL
19272 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19273 : && ix86_pre_reload_split ()
19274 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19275 : STRIP_UNARY (operands[4]))
19276 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19277 : STRIP_UNARY (operands[4]))
19278 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19279 : STRIP_UNARY (operands[3]))
19280 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19281 : STRIP_UNARY (operands[3])))))
19282 : return -1;
19283 : return 6728; /* *avx512vl_vpternlogv4sf_2 */
19284 :
19285 : case 9:
19286 : if (!(
19287 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19288 : ((64 == 64 || TARGET_AVX512VL
19289 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19290 : && ix86_pre_reload_split ()
19291 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19292 : STRIP_UNARY (operands[4]))
19293 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19294 : STRIP_UNARY (operands[4]))
19295 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19296 : STRIP_UNARY (operands[3]))
19297 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19298 : STRIP_UNARY (operands[3])))) &&
19299 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19300 : (TARGET_AVX512F)))
19301 : return -1;
19302 : return 6755; /* *avx512f_vpternlogv8df_2 */
19303 :
19304 : case 10:
19305 : if (!(
19306 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19307 : ((32 == 64 || TARGET_AVX512VL
19308 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19309 : && ix86_pre_reload_split ()
19310 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19311 : STRIP_UNARY (operands[4]))
19312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19313 : STRIP_UNARY (operands[4]))
19314 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19315 : STRIP_UNARY (operands[3]))
19316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19317 : STRIP_UNARY (operands[3])))) &&
19318 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19319 : (TARGET_AVX)))
19320 : return -1;
19321 : return 6782; /* *avx512vl_vpternlogv4df_2 */
19322 :
19323 : case 11:
19324 : if (!(
19325 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19326 : ((16 == 64 || TARGET_AVX512VL
19327 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19328 : && ix86_pre_reload_split ()
19329 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19330 : STRIP_UNARY (operands[4]))
19331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19332 : STRIP_UNARY (operands[4]))
19333 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19334 : STRIP_UNARY (operands[3]))
19335 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19336 : STRIP_UNARY (operands[3])))) &&
19337 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19338 : (TARGET_SSE2)))
19339 : return -1;
19340 : return 6809; /* *avx512vl_vpternlogv2df_2 */
19341 :
19342 : default:
19343 : return -1;
19344 : }
19345 :
19346 : case IOR:
19347 : switch (pattern542 (x2))
19348 : {
19349 : case 0:
19350 : if (!(
19351 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19352 : ((64 == 64 || TARGET_AVX512VL
19353 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19354 : && ix86_pre_reload_split ()
19355 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19356 : STRIP_UNARY (operands[4]))
19357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19358 : STRIP_UNARY (operands[4]))
19359 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19360 : STRIP_UNARY (operands[3]))
19361 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19362 : STRIP_UNARY (operands[3])))) &&
19363 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19364 : (TARGET_AVX512F)))
19365 : return -1;
19366 : return 6515; /* *avx512bw_vpternlogv32hf_2 */
19367 :
19368 : case 1:
19369 : if (!(
19370 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19371 : ((32 == 64 || TARGET_AVX512VL
19372 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19373 : && ix86_pre_reload_split ()
19374 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19375 : STRIP_UNARY (operands[4]))
19376 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19377 : STRIP_UNARY (operands[4]))
19378 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19379 : STRIP_UNARY (operands[3]))
19380 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19381 : STRIP_UNARY (operands[3])))) &&
19382 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19383 : (TARGET_AVX)))
19384 : return -1;
19385 : return 6542; /* *avx512vl_vpternlogv16hf_2 */
19386 :
19387 : case 2:
19388 : if (!
19389 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19390 : ((16 == 64 || TARGET_AVX512VL
19391 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19392 : && ix86_pre_reload_split ()
19393 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19394 : STRIP_UNARY (operands[4]))
19395 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19396 : STRIP_UNARY (operands[4]))
19397 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19398 : STRIP_UNARY (operands[3]))
19399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19400 : STRIP_UNARY (operands[3])))))
19401 : return -1;
19402 : return 6569; /* *avx512fp16_vpternlogv8hf_2 */
19403 :
19404 : case 3:
19405 : if (!(
19406 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19407 : ((64 == 64 || TARGET_AVX512VL
19408 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19409 : && ix86_pre_reload_split ()
19410 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19411 : STRIP_UNARY (operands[4]))
19412 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19413 : STRIP_UNARY (operands[4]))
19414 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19415 : STRIP_UNARY (operands[3]))
19416 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19417 : STRIP_UNARY (operands[3])))) &&
19418 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19419 : (TARGET_AVX512F)))
19420 : return -1;
19421 : return 6596; /* *avx512bw_vpternlogv32bf_2 */
19422 :
19423 : case 4:
19424 : if (!(
19425 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19426 : ((32 == 64 || TARGET_AVX512VL
19427 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19428 : && ix86_pre_reload_split ()
19429 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19430 : STRIP_UNARY (operands[4]))
19431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19432 : STRIP_UNARY (operands[4]))
19433 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19434 : STRIP_UNARY (operands[3]))
19435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19436 : STRIP_UNARY (operands[3])))) &&
19437 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19438 : (TARGET_AVX)))
19439 : return -1;
19440 : return 6623; /* *avx512vl_vpternlogv16bf_2 */
19441 :
19442 : case 5:
19443 : if (!
19444 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19445 : ((16 == 64 || TARGET_AVX512VL
19446 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19447 : && ix86_pre_reload_split ()
19448 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19449 : STRIP_UNARY (operands[4]))
19450 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19451 : STRIP_UNARY (operands[4]))
19452 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19453 : STRIP_UNARY (operands[3]))
19454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19455 : STRIP_UNARY (operands[3])))))
19456 : return -1;
19457 : return 6650; /* *avx512vl_vpternlogv8bf_2 */
19458 :
19459 : case 6:
19460 : if (!(
19461 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19462 : ((64 == 64 || TARGET_AVX512VL
19463 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19464 : && ix86_pre_reload_split ()
19465 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19466 : STRIP_UNARY (operands[4]))
19467 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19468 : STRIP_UNARY (operands[4]))
19469 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19470 : STRIP_UNARY (operands[3]))
19471 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19472 : STRIP_UNARY (operands[3])))) &&
19473 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19474 : (TARGET_AVX512F)))
19475 : return -1;
19476 : return 6677; /* *avx512f_vpternlogv16sf_2 */
19477 :
19478 : case 7:
19479 : if (!(
19480 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19481 : ((32 == 64 || TARGET_AVX512VL
19482 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19483 : && ix86_pre_reload_split ()
19484 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19485 : STRIP_UNARY (operands[4]))
19486 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19487 : STRIP_UNARY (operands[4]))
19488 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19489 : STRIP_UNARY (operands[3]))
19490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19491 : STRIP_UNARY (operands[3])))) &&
19492 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19493 : (TARGET_AVX)))
19494 : return -1;
19495 : return 6704; /* *avx512vl_vpternlogv8sf_2 */
19496 :
19497 : case 8:
19498 : if (!
19499 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19500 : ((16 == 64 || TARGET_AVX512VL
19501 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19502 : && ix86_pre_reload_split ()
19503 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19504 : STRIP_UNARY (operands[4]))
19505 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19506 : STRIP_UNARY (operands[4]))
19507 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19508 : STRIP_UNARY (operands[3]))
19509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19510 : STRIP_UNARY (operands[3])))))
19511 : return -1;
19512 : return 6731; /* *avx512vl_vpternlogv4sf_2 */
19513 :
19514 : case 9:
19515 : if (!(
19516 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19517 : ((64 == 64 || TARGET_AVX512VL
19518 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19519 : && ix86_pre_reload_split ()
19520 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19521 : STRIP_UNARY (operands[4]))
19522 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19523 : STRIP_UNARY (operands[4]))
19524 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19525 : STRIP_UNARY (operands[3]))
19526 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19527 : STRIP_UNARY (operands[3])))) &&
19528 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19529 : (TARGET_AVX512F)))
19530 : return -1;
19531 : return 6758; /* *avx512f_vpternlogv8df_2 */
19532 :
19533 : case 10:
19534 : if (!(
19535 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19536 : ((32 == 64 || TARGET_AVX512VL
19537 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19538 : && ix86_pre_reload_split ()
19539 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19540 : STRIP_UNARY (operands[4]))
19541 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19542 : STRIP_UNARY (operands[4]))
19543 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19544 : STRIP_UNARY (operands[3]))
19545 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19546 : STRIP_UNARY (operands[3])))) &&
19547 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19548 : (TARGET_AVX)))
19549 : return -1;
19550 : return 6785; /* *avx512vl_vpternlogv4df_2 */
19551 :
19552 : case 11:
19553 : if (!(
19554 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19555 : ((16 == 64 || TARGET_AVX512VL
19556 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19557 : && ix86_pre_reload_split ()
19558 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19559 : STRIP_UNARY (operands[4]))
19560 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19561 : STRIP_UNARY (operands[4]))
19562 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19563 : STRIP_UNARY (operands[3]))
19564 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19565 : STRIP_UNARY (operands[3])))) &&
19566 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19567 : (TARGET_SSE2)))
19568 : return -1;
19569 : return 6812; /* *avx512vl_vpternlogv2df_2 */
19570 :
19571 : default:
19572 : return -1;
19573 : }
19574 :
19575 : case XOR:
19576 : switch (pattern542 (x2))
19577 : {
19578 : case 0:
19579 : if (!(
19580 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19581 : ((64 == 64 || TARGET_AVX512VL
19582 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19583 : && ix86_pre_reload_split ()
19584 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19585 : STRIP_UNARY (operands[4]))
19586 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19587 : STRIP_UNARY (operands[4]))
19588 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19589 : STRIP_UNARY (operands[3]))
19590 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19591 : STRIP_UNARY (operands[3])))) &&
19592 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19593 : (TARGET_AVX512F)))
19594 : return -1;
19595 : return 6518; /* *avx512bw_vpternlogv32hf_2 */
19596 :
19597 : case 1:
19598 : if (!(
19599 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19600 : ((32 == 64 || TARGET_AVX512VL
19601 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19602 : && ix86_pre_reload_split ()
19603 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19604 : STRIP_UNARY (operands[4]))
19605 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19606 : STRIP_UNARY (operands[4]))
19607 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19608 : STRIP_UNARY (operands[3]))
19609 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19610 : STRIP_UNARY (operands[3])))) &&
19611 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19612 : (TARGET_AVX)))
19613 : return -1;
19614 : return 6545; /* *avx512vl_vpternlogv16hf_2 */
19615 :
19616 : case 2:
19617 : if (!
19618 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19619 : ((16 == 64 || TARGET_AVX512VL
19620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19621 : && ix86_pre_reload_split ()
19622 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19623 : STRIP_UNARY (operands[4]))
19624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19625 : STRIP_UNARY (operands[4]))
19626 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19627 : STRIP_UNARY (operands[3]))
19628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19629 : STRIP_UNARY (operands[3])))))
19630 : return -1;
19631 : return 6572; /* *avx512fp16_vpternlogv8hf_2 */
19632 :
19633 : case 3:
19634 : if (!(
19635 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19636 : ((64 == 64 || TARGET_AVX512VL
19637 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19638 : && ix86_pre_reload_split ()
19639 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19640 : STRIP_UNARY (operands[4]))
19641 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19642 : STRIP_UNARY (operands[4]))
19643 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19644 : STRIP_UNARY (operands[3]))
19645 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19646 : STRIP_UNARY (operands[3])))) &&
19647 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19648 : (TARGET_AVX512F)))
19649 : return -1;
19650 : return 6599; /* *avx512bw_vpternlogv32bf_2 */
19651 :
19652 : case 4:
19653 : if (!(
19654 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19655 : ((32 == 64 || TARGET_AVX512VL
19656 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19657 : && ix86_pre_reload_split ()
19658 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19659 : STRIP_UNARY (operands[4]))
19660 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19661 : STRIP_UNARY (operands[4]))
19662 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19663 : STRIP_UNARY (operands[3]))
19664 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19665 : STRIP_UNARY (operands[3])))) &&
19666 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19667 : (TARGET_AVX)))
19668 : return -1;
19669 : return 6626; /* *avx512vl_vpternlogv16bf_2 */
19670 :
19671 : case 5:
19672 : if (!
19673 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19674 : ((16 == 64 || TARGET_AVX512VL
19675 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19676 : && ix86_pre_reload_split ()
19677 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19678 : STRIP_UNARY (operands[4]))
19679 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19680 : STRIP_UNARY (operands[4]))
19681 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19682 : STRIP_UNARY (operands[3]))
19683 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19684 : STRIP_UNARY (operands[3])))))
19685 : return -1;
19686 : return 6653; /* *avx512vl_vpternlogv8bf_2 */
19687 :
19688 : case 6:
19689 : if (!(
19690 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19691 : ((64 == 64 || TARGET_AVX512VL
19692 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19693 : && ix86_pre_reload_split ()
19694 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19695 : STRIP_UNARY (operands[4]))
19696 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19697 : STRIP_UNARY (operands[4]))
19698 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19699 : STRIP_UNARY (operands[3]))
19700 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19701 : STRIP_UNARY (operands[3])))) &&
19702 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19703 : (TARGET_AVX512F)))
19704 : return -1;
19705 : return 6680; /* *avx512f_vpternlogv16sf_2 */
19706 :
19707 : case 7:
19708 : if (!(
19709 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19710 : ((32 == 64 || TARGET_AVX512VL
19711 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19712 : && ix86_pre_reload_split ()
19713 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19714 : STRIP_UNARY (operands[4]))
19715 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19716 : STRIP_UNARY (operands[4]))
19717 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19718 : STRIP_UNARY (operands[3]))
19719 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19720 : STRIP_UNARY (operands[3])))) &&
19721 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19722 : (TARGET_AVX)))
19723 : return -1;
19724 : return 6707; /* *avx512vl_vpternlogv8sf_2 */
19725 :
19726 : case 8:
19727 : if (!
19728 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19729 : ((16 == 64 || TARGET_AVX512VL
19730 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19731 : && ix86_pre_reload_split ()
19732 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19733 : STRIP_UNARY (operands[4]))
19734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19735 : STRIP_UNARY (operands[4]))
19736 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19737 : STRIP_UNARY (operands[3]))
19738 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19739 : STRIP_UNARY (operands[3])))))
19740 : return -1;
19741 : return 6734; /* *avx512vl_vpternlogv4sf_2 */
19742 :
19743 : case 9:
19744 : if (!(
19745 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19746 : ((64 == 64 || TARGET_AVX512VL
19747 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19748 : && ix86_pre_reload_split ()
19749 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19750 : STRIP_UNARY (operands[4]))
19751 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19752 : STRIP_UNARY (operands[4]))
19753 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19754 : STRIP_UNARY (operands[3]))
19755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19756 : STRIP_UNARY (operands[3])))) &&
19757 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19758 : (TARGET_AVX512F)))
19759 : return -1;
19760 : return 6761; /* *avx512f_vpternlogv8df_2 */
19761 :
19762 : case 10:
19763 : if (!(
19764 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19765 : ((32 == 64 || TARGET_AVX512VL
19766 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19767 : && ix86_pre_reload_split ()
19768 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19769 : STRIP_UNARY (operands[4]))
19770 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19771 : STRIP_UNARY (operands[4]))
19772 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19773 : STRIP_UNARY (operands[3]))
19774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19775 : STRIP_UNARY (operands[3])))) &&
19776 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19777 : (TARGET_AVX)))
19778 : return -1;
19779 : return 6788; /* *avx512vl_vpternlogv4df_2 */
19780 :
19781 : case 11:
19782 : if (!(
19783 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19784 : ((16 == 64 || TARGET_AVX512VL
19785 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19786 : && ix86_pre_reload_split ()
19787 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19788 : STRIP_UNARY (operands[4]))
19789 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19790 : STRIP_UNARY (operands[4]))
19791 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19792 : STRIP_UNARY (operands[3]))
19793 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19794 : STRIP_UNARY (operands[3])))) &&
19795 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19796 : (TARGET_SSE2)))
19797 : return -1;
19798 : return 6815; /* *avx512vl_vpternlogv2df_2 */
19799 :
19800 : default:
19801 : return -1;
19802 : }
19803 :
19804 : default:
19805 : return -1;
19806 : }
19807 :
19808 : case IOR:
19809 : x4 = XEXP (x3, 0);
19810 : switch (GET_CODE (x4))
19811 : {
19812 : case REG:
19813 : case SUBREG:
19814 : case MEM:
19815 : case NOT:
19816 : switch (pattern541 (x2))
19817 : {
19818 : case 0:
19819 : if (!(
19820 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19821 : ((64 == 64 || TARGET_AVX512VL
19822 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19823 : && ix86_pre_reload_split ()
19824 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19825 : STRIP_UNARY (operands[4]))
19826 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19827 : STRIP_UNARY (operands[4]))
19828 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19829 : STRIP_UNARY (operands[3]))
19830 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19831 : STRIP_UNARY (operands[3])))) &&
19832 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19833 : (TARGET_AVX512F)))
19834 : return -1;
19835 : return 5873; /* *avx512bw_vpternlogv32hf_1 */
19836 :
19837 : case 1:
19838 : if (!(
19839 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19840 : ((32 == 64 || TARGET_AVX512VL
19841 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19842 : && ix86_pre_reload_split ()
19843 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19844 : STRIP_UNARY (operands[4]))
19845 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19846 : STRIP_UNARY (operands[4]))
19847 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19848 : STRIP_UNARY (operands[3]))
19849 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19850 : STRIP_UNARY (operands[3])))) &&
19851 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19852 : (TARGET_AVX)))
19853 : return -1;
19854 : return 5900; /* *avx512vl_vpternlogv16hf_1 */
19855 :
19856 : case 2:
19857 : if (!
19858 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19859 : ((16 == 64 || TARGET_AVX512VL
19860 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19861 : && ix86_pre_reload_split ()
19862 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19863 : STRIP_UNARY (operands[4]))
19864 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19865 : STRIP_UNARY (operands[4]))
19866 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19867 : STRIP_UNARY (operands[3]))
19868 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19869 : STRIP_UNARY (operands[3])))))
19870 : return -1;
19871 : return 5927; /* *avx512fp16_vpternlogv8hf_1 */
19872 :
19873 : case 3:
19874 : if (!(
19875 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19876 : ((64 == 64 || TARGET_AVX512VL
19877 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19878 : && ix86_pre_reload_split ()
19879 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19880 : STRIP_UNARY (operands[4]))
19881 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19882 : STRIP_UNARY (operands[4]))
19883 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19884 : STRIP_UNARY (operands[3]))
19885 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19886 : STRIP_UNARY (operands[3])))) &&
19887 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19888 : (TARGET_AVX512F)))
19889 : return -1;
19890 : return 5954; /* *avx512bw_vpternlogv32bf_1 */
19891 :
19892 : case 4:
19893 : if (!(
19894 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19895 : ((32 == 64 || TARGET_AVX512VL
19896 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19897 : && ix86_pre_reload_split ()
19898 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19899 : STRIP_UNARY (operands[4]))
19900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19901 : STRIP_UNARY (operands[4]))
19902 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19903 : STRIP_UNARY (operands[3]))
19904 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19905 : STRIP_UNARY (operands[3])))) &&
19906 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19907 : (TARGET_AVX)))
19908 : return -1;
19909 : return 5981; /* *avx512vl_vpternlogv16bf_1 */
19910 :
19911 : case 5:
19912 : if (!
19913 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19914 : ((16 == 64 || TARGET_AVX512VL
19915 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19916 : && ix86_pre_reload_split ()
19917 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19918 : STRIP_UNARY (operands[4]))
19919 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19920 : STRIP_UNARY (operands[4]))
19921 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19922 : STRIP_UNARY (operands[3]))
19923 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19924 : STRIP_UNARY (operands[3])))))
19925 : return -1;
19926 : return 6008; /* *avx512vl_vpternlogv8bf_1 */
19927 :
19928 : case 6:
19929 : if (!(
19930 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19931 : ((64 == 64 || TARGET_AVX512VL
19932 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19933 : && ix86_pre_reload_split ()
19934 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19935 : STRIP_UNARY (operands[4]))
19936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19937 : STRIP_UNARY (operands[4]))
19938 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19939 : STRIP_UNARY (operands[3]))
19940 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19941 : STRIP_UNARY (operands[3])))) &&
19942 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19943 : (TARGET_AVX512F)))
19944 : return -1;
19945 : return 6035; /* *avx512f_vpternlogv16sf_1 */
19946 :
19947 : case 7:
19948 : if (!(
19949 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19950 : ((32 == 64 || TARGET_AVX512VL
19951 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19952 : && ix86_pre_reload_split ()
19953 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19954 : STRIP_UNARY (operands[4]))
19955 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19956 : STRIP_UNARY (operands[4]))
19957 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19958 : STRIP_UNARY (operands[3]))
19959 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19960 : STRIP_UNARY (operands[3])))) &&
19961 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19962 : (TARGET_AVX)))
19963 : return -1;
19964 : return 6062; /* *avx512vl_vpternlogv8sf_1 */
19965 :
19966 : case 8:
19967 : if (!
19968 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19969 : ((16 == 64 || TARGET_AVX512VL
19970 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19971 : && ix86_pre_reload_split ()
19972 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19973 : STRIP_UNARY (operands[4]))
19974 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19975 : STRIP_UNARY (operands[4]))
19976 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19977 : STRIP_UNARY (operands[3]))
19978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19979 : STRIP_UNARY (operands[3])))))
19980 : return -1;
19981 : return 6089; /* *avx512vl_vpternlogv4sf_1 */
19982 :
19983 : case 9:
19984 : if (!(
19985 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19986 : ((64 == 64 || TARGET_AVX512VL
19987 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
19988 : && ix86_pre_reload_split ()
19989 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
19990 : STRIP_UNARY (operands[4]))
19991 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19992 : STRIP_UNARY (operands[4]))
19993 : || rtx_equal_p (STRIP_UNARY (operands[1]),
19994 : STRIP_UNARY (operands[3]))
19995 : || rtx_equal_p (STRIP_UNARY (operands[2]),
19996 : STRIP_UNARY (operands[3])))) &&
19997 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
19998 : (TARGET_AVX512F)))
19999 : return -1;
20000 : return 6116; /* *avx512f_vpternlogv8df_1 */
20001 :
20002 : case 10:
20003 : if (!(
20004 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20005 : ((32 == 64 || TARGET_AVX512VL
20006 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20007 : && ix86_pre_reload_split ()
20008 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20009 : STRIP_UNARY (operands[4]))
20010 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20011 : STRIP_UNARY (operands[4]))
20012 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20013 : STRIP_UNARY (operands[3]))
20014 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20015 : STRIP_UNARY (operands[3])))) &&
20016 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20017 : (TARGET_AVX)))
20018 : return -1;
20019 : return 6143; /* *avx512vl_vpternlogv4df_1 */
20020 :
20021 : case 11:
20022 : if (!(
20023 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20024 : ((16 == 64 || TARGET_AVX512VL
20025 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20026 : && ix86_pre_reload_split ()
20027 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20028 : STRIP_UNARY (operands[4]))
20029 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20030 : STRIP_UNARY (operands[4]))
20031 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20032 : STRIP_UNARY (operands[3]))
20033 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20034 : STRIP_UNARY (operands[3])))) &&
20035 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20036 : (TARGET_SSE2)))
20037 : return -1;
20038 : return 6170; /* *avx512vl_vpternlogv2df_1 */
20039 :
20040 : case 12:
20041 : if (!(
20042 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20043 : ((64 == 64 || TARGET_AVX512VL
20044 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20045 : && ix86_pre_reload_split ()
20046 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20047 : STRIP_UNARY (operands[4]))
20048 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20049 : STRIP_UNARY (operands[4]))
20050 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20051 : STRIP_UNARY (operands[3]))
20052 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20053 : STRIP_UNARY (operands[3])))) &&
20054 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20055 : (TARGET_AVX512F)))
20056 : return -1;
20057 : return 5876; /* *avx512bw_vpternlogv32hf_1 */
20058 :
20059 : case 13:
20060 : if (!(
20061 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20062 : ((32 == 64 || TARGET_AVX512VL
20063 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20064 : && ix86_pre_reload_split ()
20065 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20066 : STRIP_UNARY (operands[4]))
20067 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20068 : STRIP_UNARY (operands[4]))
20069 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20070 : STRIP_UNARY (operands[3]))
20071 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20072 : STRIP_UNARY (operands[3])))) &&
20073 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20074 : (TARGET_AVX)))
20075 : return -1;
20076 : return 5903; /* *avx512vl_vpternlogv16hf_1 */
20077 :
20078 : case 14:
20079 : if (!
20080 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20081 : ((16 == 64 || TARGET_AVX512VL
20082 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20083 : && ix86_pre_reload_split ()
20084 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20085 : STRIP_UNARY (operands[4]))
20086 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20087 : STRIP_UNARY (operands[4]))
20088 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20089 : STRIP_UNARY (operands[3]))
20090 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20091 : STRIP_UNARY (operands[3])))))
20092 : return -1;
20093 : return 5930; /* *avx512fp16_vpternlogv8hf_1 */
20094 :
20095 : case 15:
20096 : if (!(
20097 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20098 : ((64 == 64 || TARGET_AVX512VL
20099 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20100 : && ix86_pre_reload_split ()
20101 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20102 : STRIP_UNARY (operands[4]))
20103 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20104 : STRIP_UNARY (operands[4]))
20105 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20106 : STRIP_UNARY (operands[3]))
20107 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20108 : STRIP_UNARY (operands[3])))) &&
20109 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20110 : (TARGET_AVX512F)))
20111 : return -1;
20112 : return 5957; /* *avx512bw_vpternlogv32bf_1 */
20113 :
20114 : case 16:
20115 : if (!(
20116 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20117 : ((32 == 64 || TARGET_AVX512VL
20118 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20119 : && ix86_pre_reload_split ()
20120 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20121 : STRIP_UNARY (operands[4]))
20122 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20123 : STRIP_UNARY (operands[4]))
20124 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20125 : STRIP_UNARY (operands[3]))
20126 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20127 : STRIP_UNARY (operands[3])))) &&
20128 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20129 : (TARGET_AVX)))
20130 : return -1;
20131 : return 5984; /* *avx512vl_vpternlogv16bf_1 */
20132 :
20133 : case 17:
20134 : if (!
20135 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20136 : ((16 == 64 || TARGET_AVX512VL
20137 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20138 : && ix86_pre_reload_split ()
20139 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20140 : STRIP_UNARY (operands[4]))
20141 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20142 : STRIP_UNARY (operands[4]))
20143 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20144 : STRIP_UNARY (operands[3]))
20145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20146 : STRIP_UNARY (operands[3])))))
20147 : return -1;
20148 : return 6011; /* *avx512vl_vpternlogv8bf_1 */
20149 :
20150 : case 18:
20151 : if (!(
20152 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20153 : ((64 == 64 || TARGET_AVX512VL
20154 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20155 : && ix86_pre_reload_split ()
20156 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20157 : STRIP_UNARY (operands[4]))
20158 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20159 : STRIP_UNARY (operands[4]))
20160 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20161 : STRIP_UNARY (operands[3]))
20162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20163 : STRIP_UNARY (operands[3])))) &&
20164 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20165 : (TARGET_AVX512F)))
20166 : return -1;
20167 : return 6038; /* *avx512f_vpternlogv16sf_1 */
20168 :
20169 : case 19:
20170 : if (!(
20171 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20172 : ((32 == 64 || TARGET_AVX512VL
20173 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20174 : && ix86_pre_reload_split ()
20175 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20176 : STRIP_UNARY (operands[4]))
20177 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20178 : STRIP_UNARY (operands[4]))
20179 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20180 : STRIP_UNARY (operands[3]))
20181 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20182 : STRIP_UNARY (operands[3])))) &&
20183 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20184 : (TARGET_AVX)))
20185 : return -1;
20186 : return 6065; /* *avx512vl_vpternlogv8sf_1 */
20187 :
20188 : case 20:
20189 : if (!
20190 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20191 : ((16 == 64 || TARGET_AVX512VL
20192 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20193 : && ix86_pre_reload_split ()
20194 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20195 : STRIP_UNARY (operands[4]))
20196 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20197 : STRIP_UNARY (operands[4]))
20198 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20199 : STRIP_UNARY (operands[3]))
20200 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20201 : STRIP_UNARY (operands[3])))))
20202 : return -1;
20203 : return 6092; /* *avx512vl_vpternlogv4sf_1 */
20204 :
20205 : case 21:
20206 : if (!(
20207 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20208 : ((64 == 64 || TARGET_AVX512VL
20209 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20210 : && ix86_pre_reload_split ()
20211 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20212 : STRIP_UNARY (operands[4]))
20213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20214 : STRIP_UNARY (operands[4]))
20215 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20216 : STRIP_UNARY (operands[3]))
20217 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20218 : STRIP_UNARY (operands[3])))) &&
20219 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20220 : (TARGET_AVX512F)))
20221 : return -1;
20222 : return 6119; /* *avx512f_vpternlogv8df_1 */
20223 :
20224 : case 22:
20225 : if (!(
20226 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20227 : ((32 == 64 || TARGET_AVX512VL
20228 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20229 : && ix86_pre_reload_split ()
20230 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20231 : STRIP_UNARY (operands[4]))
20232 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20233 : STRIP_UNARY (operands[4]))
20234 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20235 : STRIP_UNARY (operands[3]))
20236 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20237 : STRIP_UNARY (operands[3])))) &&
20238 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20239 : (TARGET_AVX)))
20240 : return -1;
20241 : return 6146; /* *avx512vl_vpternlogv4df_1 */
20242 :
20243 : case 23:
20244 : if (!(
20245 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20246 : ((16 == 64 || TARGET_AVX512VL
20247 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20248 : && ix86_pre_reload_split ()
20249 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20250 : STRIP_UNARY (operands[4]))
20251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20252 : STRIP_UNARY (operands[4]))
20253 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20254 : STRIP_UNARY (operands[3]))
20255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20256 : STRIP_UNARY (operands[3])))) &&
20257 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20258 : (TARGET_SSE2)))
20259 : return -1;
20260 : return 6173; /* *avx512vl_vpternlogv2df_1 */
20261 :
20262 : case 24:
20263 : if (!(
20264 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20265 : ((64 == 64 || TARGET_AVX512VL
20266 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20267 : && ix86_pre_reload_split ()
20268 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20269 : STRIP_UNARY (operands[4]))
20270 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20271 : STRIP_UNARY (operands[4]))
20272 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20273 : STRIP_UNARY (operands[3]))
20274 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20275 : STRIP_UNARY (operands[3])))) &&
20276 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20277 : (TARGET_AVX512F)))
20278 : return -1;
20279 : return 5879; /* *avx512bw_vpternlogv32hf_1 */
20280 :
20281 : case 25:
20282 : if (!(
20283 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20284 : ((32 == 64 || TARGET_AVX512VL
20285 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20286 : && ix86_pre_reload_split ()
20287 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20288 : STRIP_UNARY (operands[4]))
20289 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20290 : STRIP_UNARY (operands[4]))
20291 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20292 : STRIP_UNARY (operands[3]))
20293 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20294 : STRIP_UNARY (operands[3])))) &&
20295 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20296 : (TARGET_AVX)))
20297 : return -1;
20298 : return 5906; /* *avx512vl_vpternlogv16hf_1 */
20299 :
20300 : case 26:
20301 : if (!
20302 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20303 : ((16 == 64 || TARGET_AVX512VL
20304 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20305 : && ix86_pre_reload_split ()
20306 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20307 : STRIP_UNARY (operands[4]))
20308 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20309 : STRIP_UNARY (operands[4]))
20310 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20311 : STRIP_UNARY (operands[3]))
20312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20313 : STRIP_UNARY (operands[3])))))
20314 : return -1;
20315 : return 5933; /* *avx512fp16_vpternlogv8hf_1 */
20316 :
20317 : case 27:
20318 : if (!(
20319 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20320 : ((64 == 64 || TARGET_AVX512VL
20321 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20322 : && ix86_pre_reload_split ()
20323 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20324 : STRIP_UNARY (operands[4]))
20325 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20326 : STRIP_UNARY (operands[4]))
20327 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20328 : STRIP_UNARY (operands[3]))
20329 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20330 : STRIP_UNARY (operands[3])))) &&
20331 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20332 : (TARGET_AVX512F)))
20333 : return -1;
20334 : return 5960; /* *avx512bw_vpternlogv32bf_1 */
20335 :
20336 : case 28:
20337 : if (!(
20338 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20339 : ((32 == 64 || TARGET_AVX512VL
20340 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20341 : && ix86_pre_reload_split ()
20342 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20343 : STRIP_UNARY (operands[4]))
20344 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20345 : STRIP_UNARY (operands[4]))
20346 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20347 : STRIP_UNARY (operands[3]))
20348 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20349 : STRIP_UNARY (operands[3])))) &&
20350 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20351 : (TARGET_AVX)))
20352 : return -1;
20353 : return 5987; /* *avx512vl_vpternlogv16bf_1 */
20354 :
20355 : case 29:
20356 : if (!
20357 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20358 : ((16 == 64 || TARGET_AVX512VL
20359 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20360 : && ix86_pre_reload_split ()
20361 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20362 : STRIP_UNARY (operands[4]))
20363 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20364 : STRIP_UNARY (operands[4]))
20365 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20366 : STRIP_UNARY (operands[3]))
20367 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20368 : STRIP_UNARY (operands[3])))))
20369 : return -1;
20370 : return 6014; /* *avx512vl_vpternlogv8bf_1 */
20371 :
20372 : case 30:
20373 : if (!(
20374 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20375 : ((64 == 64 || TARGET_AVX512VL
20376 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20377 : && ix86_pre_reload_split ()
20378 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20379 : STRIP_UNARY (operands[4]))
20380 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20381 : STRIP_UNARY (operands[4]))
20382 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20383 : STRIP_UNARY (operands[3]))
20384 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20385 : STRIP_UNARY (operands[3])))) &&
20386 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20387 : (TARGET_AVX512F)))
20388 : return -1;
20389 : return 6041; /* *avx512f_vpternlogv16sf_1 */
20390 :
20391 : case 31:
20392 : if (!(
20393 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20394 : ((32 == 64 || TARGET_AVX512VL
20395 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20396 : && ix86_pre_reload_split ()
20397 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20398 : STRIP_UNARY (operands[4]))
20399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20400 : STRIP_UNARY (operands[4]))
20401 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20402 : STRIP_UNARY (operands[3]))
20403 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20404 : STRIP_UNARY (operands[3])))) &&
20405 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20406 : (TARGET_AVX)))
20407 : return -1;
20408 : return 6068; /* *avx512vl_vpternlogv8sf_1 */
20409 :
20410 : case 32:
20411 : if (!
20412 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20413 : ((16 == 64 || TARGET_AVX512VL
20414 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20415 : && ix86_pre_reload_split ()
20416 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20417 : STRIP_UNARY (operands[4]))
20418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20419 : STRIP_UNARY (operands[4]))
20420 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20421 : STRIP_UNARY (operands[3]))
20422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20423 : STRIP_UNARY (operands[3])))))
20424 : return -1;
20425 : return 6095; /* *avx512vl_vpternlogv4sf_1 */
20426 :
20427 : case 33:
20428 : if (!(
20429 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20430 : ((64 == 64 || TARGET_AVX512VL
20431 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20432 : && ix86_pre_reload_split ()
20433 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20434 : STRIP_UNARY (operands[4]))
20435 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20436 : STRIP_UNARY (operands[4]))
20437 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20438 : STRIP_UNARY (operands[3]))
20439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20440 : STRIP_UNARY (operands[3])))) &&
20441 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20442 : (TARGET_AVX512F)))
20443 : return -1;
20444 : return 6122; /* *avx512f_vpternlogv8df_1 */
20445 :
20446 : case 34:
20447 : if (!(
20448 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20449 : ((32 == 64 || TARGET_AVX512VL
20450 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20451 : && ix86_pre_reload_split ()
20452 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20453 : STRIP_UNARY (operands[4]))
20454 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20455 : STRIP_UNARY (operands[4]))
20456 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20457 : STRIP_UNARY (operands[3]))
20458 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20459 : STRIP_UNARY (operands[3])))) &&
20460 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20461 : (TARGET_AVX)))
20462 : return -1;
20463 : return 6149; /* *avx512vl_vpternlogv4df_1 */
20464 :
20465 : case 35:
20466 : if (!(
20467 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20468 : ((16 == 64 || TARGET_AVX512VL
20469 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20470 : && ix86_pre_reload_split ()
20471 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20472 : STRIP_UNARY (operands[4]))
20473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20474 : STRIP_UNARY (operands[4]))
20475 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20476 : STRIP_UNARY (operands[3]))
20477 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20478 : STRIP_UNARY (operands[3])))) &&
20479 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20480 : (TARGET_SSE2)))
20481 : return -1;
20482 : return 6176; /* *avx512vl_vpternlogv2df_1 */
20483 :
20484 : case 36:
20485 : if (!(
20486 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20487 : ((64 == 64 || TARGET_AVX512VL
20488 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20489 : && ix86_pre_reload_split ()) &&
20490 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20491 : (TARGET_AVX512F)))
20492 : return -1;
20493 : return 6947; /* *avx512bw_vpternlogv32hf_3 */
20494 :
20495 : case 37:
20496 : if (!(
20497 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20498 : ((32 == 64 || TARGET_AVX512VL
20499 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20500 : && ix86_pre_reload_split ()) &&
20501 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20502 : (TARGET_AVX)))
20503 : return -1;
20504 : return 6956; /* *avx512vl_vpternlogv16hf_3 */
20505 :
20506 : case 38:
20507 : if (!
20508 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20509 : ((16 == 64 || TARGET_AVX512VL
20510 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20511 : && ix86_pre_reload_split ()))
20512 : return -1;
20513 : return 6965; /* *avx512fp16_vpternlogv8hf_3 */
20514 :
20515 : case 39:
20516 : if (!(
20517 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20518 : ((64 == 64 || TARGET_AVX512VL
20519 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20520 : && ix86_pre_reload_split ()) &&
20521 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20522 : (TARGET_AVX512F)))
20523 : return -1;
20524 : return 6974; /* *avx512bw_vpternlogv32bf_3 */
20525 :
20526 : case 40:
20527 : if (!(
20528 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20529 : ((32 == 64 || TARGET_AVX512VL
20530 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20531 : && ix86_pre_reload_split ()) &&
20532 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20533 : (TARGET_AVX)))
20534 : return -1;
20535 : return 6983; /* *avx512vl_vpternlogv16bf_3 */
20536 :
20537 : case 41:
20538 : if (!
20539 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20540 : ((16 == 64 || TARGET_AVX512VL
20541 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20542 : && ix86_pre_reload_split ()))
20543 : return -1;
20544 : return 6992; /* *avx512vl_vpternlogv8bf_3 */
20545 :
20546 : case 42:
20547 : if (!(
20548 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20549 : ((64 == 64 || TARGET_AVX512VL
20550 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20551 : && ix86_pre_reload_split ()) &&
20552 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20553 : (TARGET_AVX512F)))
20554 : return -1;
20555 : return 7001; /* *avx512f_vpternlogv16sf_3 */
20556 :
20557 : case 43:
20558 : if (!(
20559 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20560 : ((32 == 64 || TARGET_AVX512VL
20561 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20562 : && ix86_pre_reload_split ()) &&
20563 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20564 : (TARGET_AVX)))
20565 : return -1;
20566 : return 7010; /* *avx512vl_vpternlogv8sf_3 */
20567 :
20568 : case 44:
20569 : if (!
20570 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20571 : ((16 == 64 || TARGET_AVX512VL
20572 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20573 : && ix86_pre_reload_split ()))
20574 : return -1;
20575 : return 7019; /* *avx512vl_vpternlogv4sf_3 */
20576 :
20577 : case 45:
20578 : if (!(
20579 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20580 : ((64 == 64 || TARGET_AVX512VL
20581 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20582 : && ix86_pre_reload_split ()) &&
20583 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20584 : (TARGET_AVX512F)))
20585 : return -1;
20586 : return 7028; /* *avx512f_vpternlogv8df_3 */
20587 :
20588 : case 46:
20589 : if (!(
20590 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20591 : ((32 == 64 || TARGET_AVX512VL
20592 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20593 : && ix86_pre_reload_split ()) &&
20594 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20595 : (TARGET_AVX)))
20596 : return -1;
20597 : return 7037; /* *avx512vl_vpternlogv4df_3 */
20598 :
20599 : case 47:
20600 : if (!(
20601 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20602 : ((16 == 64 || TARGET_AVX512VL
20603 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20604 : && ix86_pre_reload_split ()) &&
20605 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20606 : (TARGET_SSE2)))
20607 : return -1;
20608 : return 7046; /* *avx512vl_vpternlogv2df_3 */
20609 :
20610 : default:
20611 : return -1;
20612 : }
20613 :
20614 : case AND:
20615 : switch (pattern542 (x2))
20616 : {
20617 : case 0:
20618 : if (!(
20619 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20620 : ((64 == 64 || TARGET_AVX512VL
20621 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20622 : && ix86_pre_reload_split ()
20623 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20624 : STRIP_UNARY (operands[4]))
20625 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20626 : STRIP_UNARY (operands[4]))
20627 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20628 : STRIP_UNARY (operands[3]))
20629 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20630 : STRIP_UNARY (operands[3])))) &&
20631 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20632 : (TARGET_AVX512F)))
20633 : return -1;
20634 : return 6521; /* *avx512bw_vpternlogv32hf_2 */
20635 :
20636 : case 1:
20637 : if (!(
20638 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20639 : ((32 == 64 || TARGET_AVX512VL
20640 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20641 : && ix86_pre_reload_split ()
20642 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20643 : STRIP_UNARY (operands[4]))
20644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20645 : STRIP_UNARY (operands[4]))
20646 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20647 : STRIP_UNARY (operands[3]))
20648 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20649 : STRIP_UNARY (operands[3])))) &&
20650 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20651 : (TARGET_AVX)))
20652 : return -1;
20653 : return 6548; /* *avx512vl_vpternlogv16hf_2 */
20654 :
20655 : case 2:
20656 : if (!
20657 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20658 : ((16 == 64 || TARGET_AVX512VL
20659 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20660 : && ix86_pre_reload_split ()
20661 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20662 : STRIP_UNARY (operands[4]))
20663 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20664 : STRIP_UNARY (operands[4]))
20665 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20666 : STRIP_UNARY (operands[3]))
20667 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20668 : STRIP_UNARY (operands[3])))))
20669 : return -1;
20670 : return 6575; /* *avx512fp16_vpternlogv8hf_2 */
20671 :
20672 : case 3:
20673 : if (!(
20674 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20675 : ((64 == 64 || TARGET_AVX512VL
20676 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20677 : && ix86_pre_reload_split ()
20678 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20679 : STRIP_UNARY (operands[4]))
20680 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20681 : STRIP_UNARY (operands[4]))
20682 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20683 : STRIP_UNARY (operands[3]))
20684 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20685 : STRIP_UNARY (operands[3])))) &&
20686 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20687 : (TARGET_AVX512F)))
20688 : return -1;
20689 : return 6602; /* *avx512bw_vpternlogv32bf_2 */
20690 :
20691 : case 4:
20692 : if (!(
20693 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20694 : ((32 == 64 || TARGET_AVX512VL
20695 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20696 : && ix86_pre_reload_split ()
20697 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20698 : STRIP_UNARY (operands[4]))
20699 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20700 : STRIP_UNARY (operands[4]))
20701 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20702 : STRIP_UNARY (operands[3]))
20703 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20704 : STRIP_UNARY (operands[3])))) &&
20705 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20706 : (TARGET_AVX)))
20707 : return -1;
20708 : return 6629; /* *avx512vl_vpternlogv16bf_2 */
20709 :
20710 : case 5:
20711 : if (!
20712 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20713 : ((16 == 64 || TARGET_AVX512VL
20714 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20715 : && ix86_pre_reload_split ()
20716 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20717 : STRIP_UNARY (operands[4]))
20718 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20719 : STRIP_UNARY (operands[4]))
20720 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20721 : STRIP_UNARY (operands[3]))
20722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20723 : STRIP_UNARY (operands[3])))))
20724 : return -1;
20725 : return 6656; /* *avx512vl_vpternlogv8bf_2 */
20726 :
20727 : case 6:
20728 : if (!(
20729 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20730 : ((64 == 64 || TARGET_AVX512VL
20731 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20732 : && ix86_pre_reload_split ()
20733 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20734 : STRIP_UNARY (operands[4]))
20735 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20736 : STRIP_UNARY (operands[4]))
20737 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20738 : STRIP_UNARY (operands[3]))
20739 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20740 : STRIP_UNARY (operands[3])))) &&
20741 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20742 : (TARGET_AVX512F)))
20743 : return -1;
20744 : return 6683; /* *avx512f_vpternlogv16sf_2 */
20745 :
20746 : case 7:
20747 : if (!(
20748 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20749 : ((32 == 64 || TARGET_AVX512VL
20750 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20751 : && ix86_pre_reload_split ()
20752 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20753 : STRIP_UNARY (operands[4]))
20754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20755 : STRIP_UNARY (operands[4]))
20756 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20757 : STRIP_UNARY (operands[3]))
20758 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20759 : STRIP_UNARY (operands[3])))) &&
20760 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20761 : (TARGET_AVX)))
20762 : return -1;
20763 : return 6710; /* *avx512vl_vpternlogv8sf_2 */
20764 :
20765 : case 8:
20766 : if (!
20767 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20768 : ((16 == 64 || TARGET_AVX512VL
20769 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20770 : && ix86_pre_reload_split ()
20771 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20772 : STRIP_UNARY (operands[4]))
20773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20774 : STRIP_UNARY (operands[4]))
20775 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20776 : STRIP_UNARY (operands[3]))
20777 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20778 : STRIP_UNARY (operands[3])))))
20779 : return -1;
20780 : return 6737; /* *avx512vl_vpternlogv4sf_2 */
20781 :
20782 : case 9:
20783 : if (!(
20784 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20785 : ((64 == 64 || TARGET_AVX512VL
20786 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20787 : && ix86_pre_reload_split ()
20788 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20789 : STRIP_UNARY (operands[4]))
20790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20791 : STRIP_UNARY (operands[4]))
20792 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20793 : STRIP_UNARY (operands[3]))
20794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20795 : STRIP_UNARY (operands[3])))) &&
20796 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20797 : (TARGET_AVX512F)))
20798 : return -1;
20799 : return 6764; /* *avx512f_vpternlogv8df_2 */
20800 :
20801 : case 10:
20802 : if (!(
20803 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20804 : ((32 == 64 || TARGET_AVX512VL
20805 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20806 : && ix86_pre_reload_split ()
20807 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20808 : STRIP_UNARY (operands[4]))
20809 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20810 : STRIP_UNARY (operands[4]))
20811 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20812 : STRIP_UNARY (operands[3]))
20813 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20814 : STRIP_UNARY (operands[3])))) &&
20815 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20816 : (TARGET_AVX)))
20817 : return -1;
20818 : return 6791; /* *avx512vl_vpternlogv4df_2 */
20819 :
20820 : case 11:
20821 : if (!(
20822 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20823 : ((16 == 64 || TARGET_AVX512VL
20824 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20825 : && ix86_pre_reload_split ()
20826 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20827 : STRIP_UNARY (operands[4]))
20828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20829 : STRIP_UNARY (operands[4]))
20830 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20831 : STRIP_UNARY (operands[3]))
20832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20833 : STRIP_UNARY (operands[3])))) &&
20834 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20835 : (TARGET_SSE2)))
20836 : return -1;
20837 : return 6818; /* *avx512vl_vpternlogv2df_2 */
20838 :
20839 : default:
20840 : return -1;
20841 : }
20842 :
20843 : case IOR:
20844 : switch (pattern542 (x2))
20845 : {
20846 : case 0:
20847 : if (!(
20848 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20849 : ((64 == 64 || TARGET_AVX512VL
20850 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20851 : && ix86_pre_reload_split ()
20852 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20853 : STRIP_UNARY (operands[4]))
20854 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20855 : STRIP_UNARY (operands[4]))
20856 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20857 : STRIP_UNARY (operands[3]))
20858 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20859 : STRIP_UNARY (operands[3])))) &&
20860 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20861 : (TARGET_AVX512F)))
20862 : return -1;
20863 : return 6524; /* *avx512bw_vpternlogv32hf_2 */
20864 :
20865 : case 1:
20866 : if (!(
20867 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20868 : ((32 == 64 || TARGET_AVX512VL
20869 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20870 : && ix86_pre_reload_split ()
20871 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20872 : STRIP_UNARY (operands[4]))
20873 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20874 : STRIP_UNARY (operands[4]))
20875 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20876 : STRIP_UNARY (operands[3]))
20877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20878 : STRIP_UNARY (operands[3])))) &&
20879 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20880 : (TARGET_AVX)))
20881 : return -1;
20882 : return 6551; /* *avx512vl_vpternlogv16hf_2 */
20883 :
20884 : case 2:
20885 : if (!
20886 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20887 : ((16 == 64 || TARGET_AVX512VL
20888 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20889 : && ix86_pre_reload_split ()
20890 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20891 : STRIP_UNARY (operands[4]))
20892 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20893 : STRIP_UNARY (operands[4]))
20894 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20895 : STRIP_UNARY (operands[3]))
20896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20897 : STRIP_UNARY (operands[3])))))
20898 : return -1;
20899 : return 6578; /* *avx512fp16_vpternlogv8hf_2 */
20900 :
20901 : case 3:
20902 : if (!(
20903 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20904 : ((64 == 64 || TARGET_AVX512VL
20905 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20906 : && ix86_pre_reload_split ()
20907 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20908 : STRIP_UNARY (operands[4]))
20909 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20910 : STRIP_UNARY (operands[4]))
20911 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20912 : STRIP_UNARY (operands[3]))
20913 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20914 : STRIP_UNARY (operands[3])))) &&
20915 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20916 : (TARGET_AVX512F)))
20917 : return -1;
20918 : return 6605; /* *avx512bw_vpternlogv32bf_2 */
20919 :
20920 : case 4:
20921 : if (!(
20922 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20923 : ((32 == 64 || TARGET_AVX512VL
20924 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20925 : && ix86_pre_reload_split ()
20926 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20927 : STRIP_UNARY (operands[4]))
20928 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20929 : STRIP_UNARY (operands[4]))
20930 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20931 : STRIP_UNARY (operands[3]))
20932 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20933 : STRIP_UNARY (operands[3])))) &&
20934 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20935 : (TARGET_AVX)))
20936 : return -1;
20937 : return 6632; /* *avx512vl_vpternlogv16bf_2 */
20938 :
20939 : case 5:
20940 : if (!
20941 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20942 : ((16 == 64 || TARGET_AVX512VL
20943 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20944 : && ix86_pre_reload_split ()
20945 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20946 : STRIP_UNARY (operands[4]))
20947 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20948 : STRIP_UNARY (operands[4]))
20949 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20950 : STRIP_UNARY (operands[3]))
20951 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20952 : STRIP_UNARY (operands[3])))))
20953 : return -1;
20954 : return 6659; /* *avx512vl_vpternlogv8bf_2 */
20955 :
20956 : case 6:
20957 : if (!(
20958 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20959 : ((64 == 64 || TARGET_AVX512VL
20960 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20961 : && ix86_pre_reload_split ()
20962 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20963 : STRIP_UNARY (operands[4]))
20964 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20965 : STRIP_UNARY (operands[4]))
20966 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20967 : STRIP_UNARY (operands[3]))
20968 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20969 : STRIP_UNARY (operands[3])))) &&
20970 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20971 : (TARGET_AVX512F)))
20972 : return -1;
20973 : return 6686; /* *avx512f_vpternlogv16sf_2 */
20974 :
20975 : case 7:
20976 : if (!(
20977 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20978 : ((32 == 64 || TARGET_AVX512VL
20979 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20980 : && ix86_pre_reload_split ()
20981 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
20982 : STRIP_UNARY (operands[4]))
20983 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20984 : STRIP_UNARY (operands[4]))
20985 : || rtx_equal_p (STRIP_UNARY (operands[1]),
20986 : STRIP_UNARY (operands[3]))
20987 : || rtx_equal_p (STRIP_UNARY (operands[2]),
20988 : STRIP_UNARY (operands[3])))) &&
20989 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20990 : (TARGET_AVX)))
20991 : return -1;
20992 : return 6713; /* *avx512vl_vpternlogv8sf_2 */
20993 :
20994 : case 8:
20995 : if (!
20996 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
20997 : ((16 == 64 || TARGET_AVX512VL
20998 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
20999 : && ix86_pre_reload_split ()
21000 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21001 : STRIP_UNARY (operands[4]))
21002 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21003 : STRIP_UNARY (operands[4]))
21004 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21005 : STRIP_UNARY (operands[3]))
21006 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21007 : STRIP_UNARY (operands[3])))))
21008 : return -1;
21009 : return 6740; /* *avx512vl_vpternlogv4sf_2 */
21010 :
21011 : case 9:
21012 : if (!(
21013 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21014 : ((64 == 64 || TARGET_AVX512VL
21015 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21016 : && ix86_pre_reload_split ()
21017 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21018 : STRIP_UNARY (operands[4]))
21019 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21020 : STRIP_UNARY (operands[4]))
21021 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21022 : STRIP_UNARY (operands[3]))
21023 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21024 : STRIP_UNARY (operands[3])))) &&
21025 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21026 : (TARGET_AVX512F)))
21027 : return -1;
21028 : return 6767; /* *avx512f_vpternlogv8df_2 */
21029 :
21030 : case 10:
21031 : if (!(
21032 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21033 : ((32 == 64 || TARGET_AVX512VL
21034 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21035 : && ix86_pre_reload_split ()
21036 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21037 : STRIP_UNARY (operands[4]))
21038 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21039 : STRIP_UNARY (operands[4]))
21040 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21041 : STRIP_UNARY (operands[3]))
21042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21043 : STRIP_UNARY (operands[3])))) &&
21044 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21045 : (TARGET_AVX)))
21046 : return -1;
21047 : return 6794; /* *avx512vl_vpternlogv4df_2 */
21048 :
21049 : case 11:
21050 : if (!(
21051 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21052 : ((16 == 64 || TARGET_AVX512VL
21053 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21054 : && ix86_pre_reload_split ()
21055 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21056 : STRIP_UNARY (operands[4]))
21057 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21058 : STRIP_UNARY (operands[4]))
21059 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21060 : STRIP_UNARY (operands[3]))
21061 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21062 : STRIP_UNARY (operands[3])))) &&
21063 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21064 : (TARGET_SSE2)))
21065 : return -1;
21066 : return 6821; /* *avx512vl_vpternlogv2df_2 */
21067 :
21068 : default:
21069 : return -1;
21070 : }
21071 :
21072 : case XOR:
21073 : switch (pattern542 (x2))
21074 : {
21075 : case 0:
21076 : if (!(
21077 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21078 : ((64 == 64 || TARGET_AVX512VL
21079 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21080 : && ix86_pre_reload_split ()
21081 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21082 : STRIP_UNARY (operands[4]))
21083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21084 : STRIP_UNARY (operands[4]))
21085 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21086 : STRIP_UNARY (operands[3]))
21087 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21088 : STRIP_UNARY (operands[3])))) &&
21089 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21090 : (TARGET_AVX512F)))
21091 : return -1;
21092 : return 6527; /* *avx512bw_vpternlogv32hf_2 */
21093 :
21094 : case 1:
21095 : if (!(
21096 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21097 : ((32 == 64 || TARGET_AVX512VL
21098 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21099 : && ix86_pre_reload_split ()
21100 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21101 : STRIP_UNARY (operands[4]))
21102 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21103 : STRIP_UNARY (operands[4]))
21104 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21105 : STRIP_UNARY (operands[3]))
21106 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21107 : STRIP_UNARY (operands[3])))) &&
21108 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21109 : (TARGET_AVX)))
21110 : return -1;
21111 : return 6554; /* *avx512vl_vpternlogv16hf_2 */
21112 :
21113 : case 2:
21114 : if (!
21115 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21116 : ((16 == 64 || TARGET_AVX512VL
21117 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21118 : && ix86_pre_reload_split ()
21119 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21120 : STRIP_UNARY (operands[4]))
21121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21122 : STRIP_UNARY (operands[4]))
21123 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21124 : STRIP_UNARY (operands[3]))
21125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21126 : STRIP_UNARY (operands[3])))))
21127 : return -1;
21128 : return 6581; /* *avx512fp16_vpternlogv8hf_2 */
21129 :
21130 : case 3:
21131 : if (!(
21132 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21133 : ((64 == 64 || TARGET_AVX512VL
21134 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21135 : && ix86_pre_reload_split ()
21136 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21137 : STRIP_UNARY (operands[4]))
21138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21139 : STRIP_UNARY (operands[4]))
21140 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21141 : STRIP_UNARY (operands[3]))
21142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21143 : STRIP_UNARY (operands[3])))) &&
21144 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21145 : (TARGET_AVX512F)))
21146 : return -1;
21147 : return 6608; /* *avx512bw_vpternlogv32bf_2 */
21148 :
21149 : case 4:
21150 : if (!(
21151 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21152 : ((32 == 64 || TARGET_AVX512VL
21153 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21154 : && ix86_pre_reload_split ()
21155 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21156 : STRIP_UNARY (operands[4]))
21157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21158 : STRIP_UNARY (operands[4]))
21159 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21160 : STRIP_UNARY (operands[3]))
21161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21162 : STRIP_UNARY (operands[3])))) &&
21163 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21164 : (TARGET_AVX)))
21165 : return -1;
21166 : return 6635; /* *avx512vl_vpternlogv16bf_2 */
21167 :
21168 : case 5:
21169 : if (!
21170 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21171 : ((16 == 64 || TARGET_AVX512VL
21172 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21173 : && ix86_pre_reload_split ()
21174 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21175 : STRIP_UNARY (operands[4]))
21176 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21177 : STRIP_UNARY (operands[4]))
21178 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21179 : STRIP_UNARY (operands[3]))
21180 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21181 : STRIP_UNARY (operands[3])))))
21182 : return -1;
21183 : return 6662; /* *avx512vl_vpternlogv8bf_2 */
21184 :
21185 : case 6:
21186 : if (!(
21187 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21188 : ((64 == 64 || TARGET_AVX512VL
21189 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21190 : && ix86_pre_reload_split ()
21191 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21192 : STRIP_UNARY (operands[4]))
21193 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21194 : STRIP_UNARY (operands[4]))
21195 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21196 : STRIP_UNARY (operands[3]))
21197 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21198 : STRIP_UNARY (operands[3])))) &&
21199 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21200 : (TARGET_AVX512F)))
21201 : return -1;
21202 : return 6689; /* *avx512f_vpternlogv16sf_2 */
21203 :
21204 : case 7:
21205 : if (!(
21206 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21207 : ((32 == 64 || TARGET_AVX512VL
21208 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21209 : && ix86_pre_reload_split ()
21210 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21211 : STRIP_UNARY (operands[4]))
21212 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21213 : STRIP_UNARY (operands[4]))
21214 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21215 : STRIP_UNARY (operands[3]))
21216 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21217 : STRIP_UNARY (operands[3])))) &&
21218 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21219 : (TARGET_AVX)))
21220 : return -1;
21221 : return 6716; /* *avx512vl_vpternlogv8sf_2 */
21222 :
21223 : case 8:
21224 : if (!
21225 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21226 : ((16 == 64 || TARGET_AVX512VL
21227 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21228 : && ix86_pre_reload_split ()
21229 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21230 : STRIP_UNARY (operands[4]))
21231 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21232 : STRIP_UNARY (operands[4]))
21233 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21234 : STRIP_UNARY (operands[3]))
21235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21236 : STRIP_UNARY (operands[3])))))
21237 : return -1;
21238 : return 6743; /* *avx512vl_vpternlogv4sf_2 */
21239 :
21240 : case 9:
21241 : if (!(
21242 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21243 : ((64 == 64 || TARGET_AVX512VL
21244 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21245 : && ix86_pre_reload_split ()
21246 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21247 : STRIP_UNARY (operands[4]))
21248 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21249 : STRIP_UNARY (operands[4]))
21250 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21251 : STRIP_UNARY (operands[3]))
21252 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21253 : STRIP_UNARY (operands[3])))) &&
21254 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21255 : (TARGET_AVX512F)))
21256 : return -1;
21257 : return 6770; /* *avx512f_vpternlogv8df_2 */
21258 :
21259 : case 10:
21260 : if (!(
21261 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21262 : ((32 == 64 || TARGET_AVX512VL
21263 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21264 : && ix86_pre_reload_split ()
21265 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21266 : STRIP_UNARY (operands[4]))
21267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21268 : STRIP_UNARY (operands[4]))
21269 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21270 : STRIP_UNARY (operands[3]))
21271 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21272 : STRIP_UNARY (operands[3])))) &&
21273 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21274 : (TARGET_AVX)))
21275 : return -1;
21276 : return 6797; /* *avx512vl_vpternlogv4df_2 */
21277 :
21278 : case 11:
21279 : if (!(
21280 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21281 : ((16 == 64 || TARGET_AVX512VL
21282 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
21283 : && ix86_pre_reload_split ()
21284 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
21285 : STRIP_UNARY (operands[4]))
21286 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21287 : STRIP_UNARY (operands[4]))
21288 : || rtx_equal_p (STRIP_UNARY (operands[1]),
21289 : STRIP_UNARY (operands[3]))
21290 : || rtx_equal_p (STRIP_UNARY (operands[2]),
21291 : STRIP_UNARY (operands[3])))) &&
21292 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
21293 : (TARGET_SSE2)))
21294 : return -1;
21295 : return 6824; /* *avx512vl_vpternlogv2df_2 */
21296 :
21297 : default:
21298 : return -1;
21299 : }
21300 :
21301 : default:
21302 : return -1;
21303 : }
21304 :
21305 : case XOR:
21306 : return recog_316 (x1, insn, pnum_clobbers);
21307 :
21308 : default:
21309 : return -1;
21310 : }
21311 : }
21312 :
21313 : int
21314 : recog_380 (rtx x1 ATTRIBUTE_UNUSED,
21315 : rtx_insn *insn ATTRIBUTE_UNUSED,
21316 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21317 : {
21318 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21319 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21320 : rtx x10, x11, x12;
21321 : int res ATTRIBUTE_UNUSED;
21322 : if (pattern344 (x1) != 0)
21323 : return -1;
21324 : x2 = XVECEXP (x1, 0, 0);
21325 : x3 = XEXP (x2, 1);
21326 : x4 = XEXP (x3, 0);
21327 : x5 = XEXP (x4, 0);
21328 : switch (GET_CODE (x5))
21329 : {
21330 : case REG:
21331 : case SUBREG:
21332 : case MEM:
21333 : operands[1] = x5;
21334 : x6 = XEXP (x4, 1);
21335 : operands[2] = x6;
21336 : switch (GET_CODE (operands[2]))
21337 : {
21338 : case CONST_INT:
21339 : case CONST_WIDE_INT:
21340 : case CONST_POLY_INT:
21341 : case CONST_FIXED:
21342 : case CONST_DOUBLE:
21343 : case CONST_VECTOR:
21344 : case CONST:
21345 : case REG:
21346 : case SUBREG:
21347 : case MEM:
21348 : case LABEL_REF:
21349 : case SYMBOL_REF:
21350 : case HIGH:
21351 : switch (pattern1048 (x3))
21352 : {
21353 : case 0:
21354 : if (!
21355 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21356 : (TARGET_APX_NDD && true
21357 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21358 : return -1;
21359 : return 397; /* *subqi_1_zexthi */
21360 :
21361 : case 1:
21362 : if (!
21363 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21364 : (TARGET_APX_NDD && true
21365 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21366 : return -1;
21367 : return 399; /* *subqi_1_zextsi */
21368 :
21369 : case 2:
21370 : if (!
21371 : #line 8191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21372 : (TARGET_APX_NDD && true
21373 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21374 : return -1;
21375 : return 403; /* *subhi_1_zextsi */
21376 :
21377 : case 3:
21378 : if (!
21379 : #line 8177 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21380 : (TARGET_APX_NDD && true
21381 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21382 : return -1;
21383 : return 401; /* *subqi_1_zextdi */
21384 :
21385 : case 4:
21386 : if (!
21387 : #line 8191 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21388 : (TARGET_APX_NDD && true
21389 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21390 : return -1;
21391 : return 405; /* *subhi_1_zextdi */
21392 :
21393 : case 5:
21394 : if (!
21395 : #line 8206 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21396 : (TARGET_64BIT
21397 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
21398 : return -1;
21399 : return 406; /* *subsi_1_zext */
21400 :
21401 : default:
21402 : return -1;
21403 : }
21404 :
21405 : case LTU:
21406 : case UNLT:
21407 : switch (pattern1432 (x3))
21408 : {
21409 : case 0:
21410 : if (!nonimmediate_operand (operands[1], E_QImode)
21411 : || !ix86_carry_flag_operator (operands[2], E_QImode)
21412 : || !
21413 : #line 9737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21414 : (TARGET_APX_NDD))
21415 : return -1;
21416 : return 533; /* *subqi3_carry_zexthi_0 */
21417 :
21418 : case 1:
21419 : if (!nonimmediate_operand (operands[1], E_QImode)
21420 : || !ix86_carry_flag_operator (operands[2], E_QImode)
21421 : || !
21422 : #line 9737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21423 : (TARGET_APX_NDD))
21424 : return -1;
21425 : return 534; /* *subqi3_carry_zextsi_0 */
21426 :
21427 : case 2:
21428 : if (!nonimmediate_operand (operands[1], E_HImode)
21429 : || !ix86_carry_flag_operator (operands[2], E_HImode)
21430 : || !
21431 : #line 9752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21432 : (TARGET_APX_NDD))
21433 : return -1;
21434 : return 536; /* *subhi3_carry_zextsi_0 */
21435 :
21436 : case 3:
21437 : if (!nonimmediate_operand (operands[1], E_QImode)
21438 : || !ix86_carry_flag_operator (operands[2], E_QImode)
21439 : || !
21440 : #line 9737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21441 : (TARGET_APX_NDD))
21442 : return -1;
21443 : return 535; /* *subqi3_carry_zextdi_0 */
21444 :
21445 : case 4:
21446 : if (!nonimmediate_operand (operands[1], E_HImode)
21447 : || !ix86_carry_flag_operator (operands[2], E_HImode)
21448 : || !
21449 : #line 9752 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21450 : (TARGET_APX_NDD))
21451 : return -1;
21452 : return 537; /* *subhi3_carry_zextdi_0 */
21453 :
21454 : case 5:
21455 : if (!nonimmediate_operand (operands[1], E_SImode)
21456 : || !ix86_carry_flag_operator (operands[2], E_SImode)
21457 : || !
21458 : #line 9767 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21459 : (TARGET_64BIT))
21460 : return -1;
21461 : return 538; /* *subsi3_carry_zext_0 */
21462 :
21463 : default:
21464 : return -1;
21465 : }
21466 :
21467 : case GE:
21468 : case GEU:
21469 : switch (pattern1432 (x3))
21470 : {
21471 : case 0:
21472 : if (!nonimmediate_operand (operands[1], E_QImode)
21473 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
21474 : || !
21475 : #line 9785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21476 : (TARGET_APX_NDD))
21477 : return -1;
21478 : return 539; /* *subqi3_carry_zexthi_0r */
21479 :
21480 : case 1:
21481 : if (!nonimmediate_operand (operands[1], E_QImode)
21482 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
21483 : || !
21484 : #line 9785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21485 : (TARGET_APX_NDD))
21486 : return -1;
21487 : return 540; /* *subqi3_carry_zextsi_0r */
21488 :
21489 : case 2:
21490 : if (!nonimmediate_operand (operands[1], E_HImode)
21491 : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
21492 : || !
21493 : #line 9800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21494 : (TARGET_APX_NDD))
21495 : return -1;
21496 : return 542; /* *subhi3_carry_zextsi_0r */
21497 :
21498 : case 3:
21499 : if (!nonimmediate_operand (operands[1], E_QImode)
21500 : || !ix86_carry_flag_unset_operator (operands[2], E_QImode)
21501 : || !
21502 : #line 9785 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21503 : (TARGET_APX_NDD))
21504 : return -1;
21505 : return 541; /* *subqi3_carry_zextdi_0r */
21506 :
21507 : case 4:
21508 : if (!nonimmediate_operand (operands[1], E_HImode)
21509 : || !ix86_carry_flag_unset_operator (operands[2], E_HImode)
21510 : || !
21511 : #line 9800 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21512 : (TARGET_APX_NDD))
21513 : return -1;
21514 : return 543; /* *subhi3_carry_zextdi_0r */
21515 :
21516 : case 5:
21517 : if (!nonimmediate_operand (operands[1], E_SImode)
21518 : || !ix86_carry_flag_unset_operator (operands[2], E_SImode)
21519 : || !
21520 : #line 9815 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21521 : (TARGET_64BIT))
21522 : return -1;
21523 : return 544; /* *subsi3_carry_zext_0r */
21524 :
21525 : default:
21526 : return -1;
21527 : }
21528 :
21529 : default:
21530 : return -1;
21531 : }
21532 :
21533 : case MINUS:
21534 : x7 = XEXP (x5, 1);
21535 : switch (GET_CODE (x7))
21536 : {
21537 : case LTU:
21538 : case UNLT:
21539 : operands[3] = x7;
21540 : x8 = XEXP (x7, 0);
21541 : if (GET_CODE (x8) != REG
21542 : || REGNO (x8) != 17)
21543 : return -1;
21544 : x9 = XEXP (x7, 1);
21545 : if (x9 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21546 : return -1;
21547 : x10 = XEXP (x5, 0);
21548 : operands[1] = x10;
21549 : x6 = XEXP (x4, 1);
21550 : operands[2] = x6;
21551 : switch (pattern1163 (x3))
21552 : {
21553 : case 0:
21554 : if (pattern1773 (x5,
21555 : E_QImode) != 0
21556 : || !
21557 : #line 9677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21558 : (TARGET_APX_NDD
21559 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21560 : return -1;
21561 : return 527; /* *subqi3_carry_zexthi */
21562 :
21563 : case 1:
21564 : if (pattern1773 (x5,
21565 : E_QImode) != 0
21566 : || !
21567 : #line 9677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21568 : (TARGET_APX_NDD
21569 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21570 : return -1;
21571 : return 528; /* *subqi3_carry_zextsi */
21572 :
21573 : case 2:
21574 : if (pattern1773 (x5,
21575 : E_HImode) != 0
21576 : || !
21577 : #line 9697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21578 : (TARGET_APX_NDD
21579 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21580 : return -1;
21581 : return 530; /* *subhi3_carry_zextsi */
21582 :
21583 : case 3:
21584 : if (pattern1773 (x5,
21585 : E_QImode) != 0
21586 : || !
21587 : #line 9677 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21588 : (TARGET_APX_NDD
21589 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21590 : return -1;
21591 : return 529; /* *subqi3_carry_zextdi */
21592 :
21593 : case 4:
21594 : if (pattern1773 (x5,
21595 : E_HImode) != 0
21596 : || !
21597 : #line 9697 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21598 : (TARGET_APX_NDD
21599 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
21600 : return -1;
21601 : return 531; /* *subhi3_carry_zextdi */
21602 :
21603 : case 5:
21604 : if (pattern1773 (x5,
21605 : E_SImode) != 0
21606 : || !
21607 : #line 9717 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21608 : (TARGET_64BIT
21609 : && ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
21610 : return -1;
21611 : return 532; /* *subsi3_carry_zext */
21612 :
21613 : default:
21614 : return -1;
21615 : }
21616 :
21617 : default:
21618 : return -1;
21619 : }
21620 :
21621 : case CONST_INT:
21622 : if (!register_operand (operands[0], E_DImode)
21623 : || GET_MODE (x3) != E_DImode
21624 : || GET_MODE (x4) != E_SImode)
21625 : return -1;
21626 : x6 = XEXP (x4, 1);
21627 : if (GET_MODE (x6) != E_SImode)
21628 : return -1;
21629 : switch (XWINT (x5, 0))
21630 : {
21631 : case 63L:
21632 : if (GET_CODE (x6) != SUBREG
21633 : || maybe_ne (SUBREG_BYTE (x6), 0))
21634 : return -1;
21635 : x11 = XEXP (x6, 0);
21636 : if (GET_CODE (x11) != CLZ
21637 : || GET_MODE (x11) != E_DImode)
21638 : return -1;
21639 : x12 = XEXP (x11, 0);
21640 : operands[1] = x12;
21641 : if (!nonimmediate_operand (operands[1], E_DImode)
21642 : || !
21643 : #line 21621 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21644 : (!TARGET_LZCNT && TARGET_64BIT))
21645 : return -1;
21646 : return 1558; /* bsr_rex64_1_zext */
21647 :
21648 : case 31L:
21649 : if (GET_CODE (x6) != CLZ)
21650 : return -1;
21651 : x11 = XEXP (x6, 0);
21652 : operands[1] = x11;
21653 : if (!nonimmediate_operand (operands[1], E_SImode)
21654 : || !
21655 : #line 21661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21656 : (!TARGET_LZCNT && TARGET_64BIT))
21657 : return -1;
21658 : return 1561; /* bsr_zext_1 */
21659 :
21660 : default:
21661 : return -1;
21662 : }
21663 :
21664 : default:
21665 : return -1;
21666 : }
21667 : }
21668 :
21669 : int
21670 : recog_389 (rtx x1 ATTRIBUTE_UNUSED,
21671 : rtx_insn *insn ATTRIBUTE_UNUSED,
21672 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21673 : {
21674 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21675 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21676 : rtx x10, x11;
21677 : int res ATTRIBUTE_UNUSED;
21678 : x2 = XVECEXP (x1, 0, 0);
21679 : x3 = XEXP (x2, 1);
21680 : x4 = XEXP (x3, 1);
21681 : if (!rtx_equal_p (x4, operands[1]))
21682 : return -1;
21683 : x5 = XEXP (x2, 0);
21684 : if (GET_MODE (x5) != E_CCCmode
21685 : || GET_MODE (x3) != E_CCCmode)
21686 : return -1;
21687 : x6 = XVECEXP (x1, 0, 1);
21688 : switch (GET_CODE (x6))
21689 : {
21690 : case CLOBBER:
21691 : x7 = XEXP (x6, 0);
21692 : operands[0] = x7;
21693 : x8 = XEXP (x3, 0);
21694 : switch (pattern1329 (x8))
21695 : {
21696 : case 0:
21697 : if (!
21698 : #line 10274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21699 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
21700 : return -1;
21701 : return 562; /* *addqi3_cconly_overflow_1 */
21702 :
21703 : case 1:
21704 : if (!
21705 : #line 10274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21706 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
21707 : return -1;
21708 : return 563; /* *addhi3_cconly_overflow_1 */
21709 :
21710 : case 2:
21711 : if (!
21712 : #line 10274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21713 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
21714 : return -1;
21715 : return 564; /* *addsi3_cconly_overflow_1 */
21716 :
21717 : case 3:
21718 : if (!(
21719 : #line 10274 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21720 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
21721 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21722 : (TARGET_64BIT)))
21723 : return -1;
21724 : return 565; /* *adddi3_cconly_overflow_1 */
21725 :
21726 : default:
21727 : return -1;
21728 : }
21729 :
21730 : case SET:
21731 : x7 = XEXP (x6, 0);
21732 : operands[0] = x7;
21733 : x9 = XEXP (x6, 1);
21734 : switch (GET_CODE (x9))
21735 : {
21736 : case PLUS:
21737 : x10 = XEXP (x9, 0);
21738 : if (!rtx_equal_p (x10, operands[1]))
21739 : return -1;
21740 : x11 = XEXP (x9, 1);
21741 : if (!rtx_equal_p (x11, operands[2]))
21742 : return -1;
21743 : x8 = XEXP (x3, 0);
21744 : switch (GET_MODE (x8))
21745 : {
21746 : case E_QImode:
21747 : if (pattern1438 (x9,
21748 : E_QImode) != 0
21749 : || !
21750 : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21751 : (ix86_binary_operator_ok (PLUS, QImode, operands, TARGET_APX_NDD)))
21752 : return -1;
21753 : return 566; /* addqi3_cc_overflow_1 */
21754 :
21755 : case E_HImode:
21756 : if (pattern1438 (x9,
21757 : E_HImode) != 0
21758 : || !
21759 : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21760 : (ix86_binary_operator_ok (PLUS, HImode, operands, TARGET_APX_NDD)))
21761 : return -1;
21762 : return 567; /* addhi3_cc_overflow_1 */
21763 :
21764 : case E_SImode:
21765 : if (pattern1439 (x9,
21766 : E_SImode) != 0
21767 : || !
21768 : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21769 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21770 : return -1;
21771 : return 568; /* addsi3_cc_overflow_1 */
21772 :
21773 : case E_DImode:
21774 : if (pattern1439 (x9,
21775 : E_DImode) != 0
21776 : || !(
21777 : #line 10292 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21778 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
21779 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21780 : (TARGET_64BIT)))
21781 : return -1;
21782 : return 569; /* adddi3_cc_overflow_1 */
21783 :
21784 : case E_TImode:
21785 : if (pattern1682 (x9,
21786 : E_TImode) != 0
21787 : || !(
21788 : #line 10424 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21789 : (ix86_binary_operator_ok (PLUS, TImode, operands, TARGET_APX_NDD)) &&
21790 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21791 : (TARGET_64BIT)))
21792 : return -1;
21793 : return 581; /* *addti3_doubleword_cc_overflow_1 */
21794 :
21795 : default:
21796 : return -1;
21797 : }
21798 :
21799 : case ZERO_EXTEND:
21800 : if (pattern1436 (x1,
21801 : PLUS) != 0
21802 : || !
21803 : #line 10350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21804 : (TARGET_64BIT
21805 : && ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21806 : return -1;
21807 : return 570; /* *addsi3_zext_cc_overflow_1 */
21808 :
21809 : default:
21810 : return -1;
21811 : }
21812 :
21813 : default:
21814 : return -1;
21815 : }
21816 : }
21817 :
21818 : int
21819 : recog_393 (rtx x1 ATTRIBUTE_UNUSED,
21820 : rtx_insn *insn ATTRIBUTE_UNUSED,
21821 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21822 : {
21823 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21824 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21825 : rtx x10, x11;
21826 : int res ATTRIBUTE_UNUSED;
21827 : if (pattern586 (x1,
21828 : PLUS,
21829 : E_CCZmode) != 0)
21830 : return -1;
21831 : x2 = XVECEXP (x1, 0, 0);
21832 : x3 = XEXP (x2, 1);
21833 : if (GET_MODE (x3) != E_CCZmode)
21834 : return -1;
21835 : x4 = XEXP (x3, 0);
21836 : x5 = XVECEXP (x4, 0, 0);
21837 : operands[0] = x5;
21838 : x6 = XVECEXP (x4, 0, 1);
21839 : operands[3] = x6;
21840 : if (!const_int_operand (operands[3], E_SImode))
21841 : return -1;
21842 : x7 = XVECEXP (x1, 0, 1);
21843 : x8 = XEXP (x7, 1);
21844 : x9 = XEXP (x8, 1);
21845 : operands[1] = x9;
21846 : x10 = XEXP (x8, 0);
21847 : if (!rtx_equal_p (x10, operands[0]))
21848 : return -1;
21849 : x11 = XEXP (x7, 0);
21850 : if (!rtx_equal_p (x11, operands[0]))
21851 : return -1;
21852 : switch (GET_MODE (x4))
21853 : {
21854 : case E_QImode:
21855 : if (pattern1776 (x8,
21856 : E_QImode) != 0
21857 : || !
21858 : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21859 : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21860 : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
21861 : return -1;
21862 : return 11084; /* *atomic_fetch_add_cmpqi */
21863 :
21864 : case E_HImode:
21865 : if (pattern1776 (x8,
21866 : E_HImode) != 0
21867 : || !
21868 : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21869 : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21870 : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
21871 : return -1;
21872 : return 11085; /* *atomic_fetch_add_cmphi */
21873 :
21874 : case E_SImode:
21875 : if (pattern1776 (x8,
21876 : E_SImode) != 0
21877 : || !
21878 : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21879 : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21880 : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])))
21881 : return -1;
21882 : return 11086; /* *atomic_fetch_add_cmpsi */
21883 :
21884 : case E_DImode:
21885 : if (pattern1776 (x8,
21886 : E_DImode) != 0
21887 : || !(
21888 : #line 778 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sync.md"
21889 : ((unsigned HOST_WIDE_INT) INTVAL (operands[1])
21890 : == -(unsigned HOST_WIDE_INT) INTVAL (operands[2])) &&
21891 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21892 : (TARGET_64BIT)))
21893 : return -1;
21894 : return 11087; /* *atomic_fetch_add_cmpdi */
21895 :
21896 : default:
21897 : return -1;
21898 : }
21899 : }
21900 :
21901 : int
21902 : recog_396 (rtx x1 ATTRIBUTE_UNUSED,
21903 : rtx_insn *insn ATTRIBUTE_UNUSED,
21904 : int *pnum_clobbers ATTRIBUTE_UNUSED)
21905 : {
21906 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
21907 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
21908 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
21909 : rtx x18, x19, x20, x21, x22, x23, x24, x25;
21910 : int res ATTRIBUTE_UNUSED;
21911 : x2 = XVECEXP (x1, 0, 0);
21912 : x3 = XEXP (x2, 1);
21913 : x4 = XEXP (x3, 1);
21914 : if (GET_CODE (x4) != PLUS)
21915 : return -1;
21916 : x5 = XEXP (x4, 0);
21917 : switch (GET_CODE (x5))
21918 : {
21919 : case LTU:
21920 : case UNLT:
21921 : x6 = XEXP (x5, 1);
21922 : if (x6 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
21923 : || pattern827 (x2,
21924 : E_CCCmode) != 0)
21925 : return -1;
21926 : x7 = XEXP (x3, 0);
21927 : x8 = XEXP (x7, 0);
21928 : switch (GET_CODE (x8))
21929 : {
21930 : case PLUS:
21931 : x9 = XEXP (x8, 0);
21932 : if (GET_CODE (x9) != PLUS)
21933 : return -1;
21934 : x10 = XEXP (x9, 0);
21935 : switch (GET_CODE (x10))
21936 : {
21937 : case LTU:
21938 : case UNLT:
21939 : operands[5] = x10;
21940 : x11 = XEXP (x10, 1);
21941 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
21942 : return -1;
21943 : x12 = XVECEXP (x1, 0, 1);
21944 : if (GET_CODE (x12) != SET)
21945 : return -1;
21946 : x13 = XEXP (x12, 1);
21947 : if (GET_CODE (x13) != PLUS)
21948 : return -1;
21949 : x14 = XEXP (x13, 0);
21950 : if (GET_CODE (x14) != PLUS)
21951 : return -1;
21952 : x15 = XEXP (x14, 0);
21953 : switch (GET_CODE (x15))
21954 : {
21955 : case LTU:
21956 : case UNLT:
21957 : if (!rtx_equal_p (x15, operands[5]))
21958 : return -1;
21959 : x16 = XEXP (x10, 0);
21960 : operands[3] = x16;
21961 : if (!flags_reg_operand (operands[3], E_VOIDmode))
21962 : return -1;
21963 : x17 = XEXP (x9, 1);
21964 : operands[1] = x17;
21965 : x18 = XEXP (x8, 1);
21966 : operands[2] = x18;
21967 : operands[4] = x5;
21968 : x19 = XEXP (x12, 0);
21969 : operands[0] = x19;
21970 : x20 = XEXP (x5, 0);
21971 : if (!rtx_equal_p (x20, operands[3]))
21972 : return -1;
21973 : x21 = XEXP (x14, 1);
21974 : if (!rtx_equal_p (x21, operands[1]))
21975 : return -1;
21976 : x22 = XEXP (x13, 1);
21977 : if (!rtx_equal_p (x22, operands[2]))
21978 : return -1;
21979 : switch (GET_CODE (operands[2]))
21980 : {
21981 : case REG:
21982 : case SUBREG:
21983 : case MEM:
21984 : x23 = XEXP (x4, 1);
21985 : if (GET_CODE (x23) != ZERO_EXTEND)
21986 : return -1;
21987 : x24 = XEXP (x23, 0);
21988 : if (!rtx_equal_p (x24, operands[2]))
21989 : return -1;
21990 : switch (GET_MODE (x7))
21991 : {
21992 : case E_DImode:
21993 : if (pattern1888 (x1,
21994 : E_SImode,
21995 : E_DImode) != 0
21996 : || !
21997 : #line 9172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
21998 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)))
21999 : return -1;
22000 : return 499; /* addcarrysi */
22001 :
22002 : case E_TImode:
22003 : if (pattern1888 (x1,
22004 : E_DImode,
22005 : E_TImode) != 0
22006 : || !(
22007 : #line 9172 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22008 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)) &&
22009 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22010 : (TARGET_64BIT)))
22011 : return -1;
22012 : return 500; /* addcarrydi */
22013 :
22014 : default:
22015 : return -1;
22016 : }
22017 :
22018 : case CONST_INT:
22019 : case CONST:
22020 : case LABEL_REF:
22021 : case SYMBOL_REF:
22022 : x23 = XEXP (x4, 1);
22023 : operands[6] = x23;
22024 : switch (GET_MODE (x7))
22025 : {
22026 : case E_DImode:
22027 : if (pattern1885 (x1,
22028 : E_SImode,
22029 : E_DImode) != 0
22030 : || !
22031 : #line 9470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22032 : (ix86_binary_operator_ok (PLUS, SImode, operands, TARGET_APX_NDD)
22033 : && CONST_INT_P (operands[2])
22034 : /* Check that operands[6] is operands[2] zero extended from
22035 : SImode to DImode. */
22036 : && ((SImode == SImode || INTVAL (operands[2]) >= 0)
22037 : ? (CONST_INT_P (operands[6])
22038 : && UINTVAL (operands[6]) == (UINTVAL (operands[2])
22039 : & GET_MODE_MASK (SImode)))
22040 : : (CONST_WIDE_INT_P (operands[6])
22041 : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
22042 : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
22043 : == UINTVAL (operands[2]))
22044 : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))))
22045 : return -1;
22046 : return 501; /* *addcarrysi_1 */
22047 :
22048 : case E_TImode:
22049 : if (pattern1885 (x1,
22050 : E_DImode,
22051 : E_TImode) != 0
22052 : || !(
22053 : #line 9470 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22054 : (ix86_binary_operator_ok (PLUS, DImode, operands, TARGET_APX_NDD)
22055 : && CONST_INT_P (operands[2])
22056 : /* Check that operands[6] is operands[2] zero extended from
22057 : DImode to TImode. */
22058 : && ((DImode == SImode || INTVAL (operands[2]) >= 0)
22059 : ? (CONST_INT_P (operands[6])
22060 : && UINTVAL (operands[6]) == (UINTVAL (operands[2])
22061 : & GET_MODE_MASK (DImode)))
22062 : : (CONST_WIDE_INT_P (operands[6])
22063 : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
22064 : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
22065 : == UINTVAL (operands[2]))
22066 : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))) &&
22067 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22068 : (TARGET_64BIT)))
22069 : return -1;
22070 : return 502; /* *addcarrydi_1 */
22071 :
22072 : default:
22073 : return -1;
22074 : }
22075 :
22076 : default:
22077 : return -1;
22078 : }
22079 :
22080 : default:
22081 : return -1;
22082 : }
22083 :
22084 : default:
22085 : return -1;
22086 : }
22087 :
22088 : case REG:
22089 : case SUBREG:
22090 : case MEM:
22091 : operands[1] = x8;
22092 : if (GET_CODE (x5) == LTU)
22093 : {
22094 : res = recog_391 (x1, insn, pnum_clobbers);
22095 : if (res >= 0)
22096 : return res;
22097 : }
22098 : x12 = XVECEXP (x1, 0, 1);
22099 : if (GET_CODE (x12) != SET)
22100 : return -1;
22101 : operands[4] = x5;
22102 : x20 = XEXP (x5, 0);
22103 : operands[3] = x20;
22104 : if (!flags_reg_operand (operands[3], E_VOIDmode))
22105 : return -1;
22106 : x19 = XEXP (x12, 0);
22107 : operands[0] = x19;
22108 : x23 = XEXP (x4, 1);
22109 : switch (GET_CODE (x23))
22110 : {
22111 : case ZERO_EXTEND:
22112 : x13 = XEXP (x12, 1);
22113 : if (pattern1699 (x13,
22114 : MINUS) != 0)
22115 : return -1;
22116 : x24 = XEXP (x23, 0);
22117 : operands[2] = x24;
22118 : x14 = XEXP (x13, 0);
22119 : x15 = XEXP (x14, 0);
22120 : if (!rtx_equal_p (x15, operands[1]))
22121 : return -1;
22122 : x21 = XEXP (x14, 1);
22123 : x25 = XEXP (x21, 0);
22124 : if (!rtx_equal_p (x25, operands[3]))
22125 : return -1;
22126 : x22 = XEXP (x13, 1);
22127 : if (!rtx_equal_p (x22, operands[2]))
22128 : return -1;
22129 : switch (GET_MODE (x7))
22130 : {
22131 : case E_DImode:
22132 : if (pattern1871 (x1,
22133 : E_SImode,
22134 : E_DImode) != 0
22135 : || !
22136 : #line 9887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22137 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)))
22138 : return -1;
22139 : return 551; /* subborrowsi */
22140 :
22141 : case E_TImode:
22142 : if (pattern1871 (x1,
22143 : E_DImode,
22144 : E_TImode) != 0
22145 : || !(
22146 : #line 9887 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22147 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22148 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22149 : (TARGET_64BIT)))
22150 : return -1;
22151 : return 552; /* subborrowdi */
22152 :
22153 : default:
22154 : return -1;
22155 : }
22156 :
22157 : case CONST_INT:
22158 : case CONST_WIDE_INT:
22159 : operands[6] = x23;
22160 : x13 = XEXP (x12, 1);
22161 : if (pattern1699 (x13,
22162 : PLUS) != 0)
22163 : return -1;
22164 : x22 = XEXP (x13, 1);
22165 : operands[2] = x22;
22166 : x14 = XEXP (x13, 0);
22167 : x15 = XEXP (x14, 0);
22168 : if (!rtx_equal_p (x15, operands[1]))
22169 : return -1;
22170 : x21 = XEXP (x14, 1);
22171 : x25 = XEXP (x21, 0);
22172 : if (!rtx_equal_p (x25, operands[3]))
22173 : return -1;
22174 : switch (GET_MODE (x7))
22175 : {
22176 : case E_DImode:
22177 : if (pattern1872 (x1,
22178 : E_SImode,
22179 : E_DImode) != 0
22180 : || !
22181 : #line 10118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22182 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22183 : && CONST_INT_P (operands[2])
22184 : /* Check that operands[6] is -operands[2] zero extended from
22185 : SImode to DImode. */
22186 : && ((SImode == SImode || -INTVAL (operands[2]) >= 0)
22187 : ? (CONST_INT_P (operands[6])
22188 : && (UINTVAL (operands[6])
22189 : == ((unsigned HOST_WIDE_INT) -INTVAL (operands[2])
22190 : & GET_MODE_MASK (SImode))))
22191 : : (CONST_WIDE_INT_P (operands[6])
22192 : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
22193 : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
22194 : == (unsigned HOST_WIDE_INT) -INTVAL (operands[2]))
22195 : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))))
22196 : return -1;
22197 : return 553; /* *subborrowsi_1 */
22198 :
22199 : case E_TImode:
22200 : if (pattern1872 (x1,
22201 : E_DImode,
22202 : E_TImode) != 0
22203 : || !(
22204 : #line 10118 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22205 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22206 : && CONST_INT_P (operands[2])
22207 : /* Check that operands[6] is -operands[2] zero extended from
22208 : DImode to TImode. */
22209 : && ((DImode == SImode || -INTVAL (operands[2]) >= 0)
22210 : ? (CONST_INT_P (operands[6])
22211 : && (UINTVAL (operands[6])
22212 : == ((unsigned HOST_WIDE_INT) -INTVAL (operands[2])
22213 : & GET_MODE_MASK (DImode))))
22214 : : (CONST_WIDE_INT_P (operands[6])
22215 : && CONST_WIDE_INT_NUNITS (operands[6]) == 2
22216 : && ((unsigned HOST_WIDE_INT) CONST_WIDE_INT_ELT (operands[6], 0)
22217 : == (unsigned HOST_WIDE_INT) -INTVAL (operands[2]))
22218 : && CONST_WIDE_INT_ELT (operands[6], 1) == 0))) &&
22219 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22220 : (TARGET_64BIT)))
22221 : return -1;
22222 : return 554; /* *subborrowdi_1 */
22223 :
22224 : default:
22225 : return -1;
22226 : }
22227 :
22228 : default:
22229 : return -1;
22230 : }
22231 :
22232 : default:
22233 : return -1;
22234 : }
22235 :
22236 : default:
22237 : return -1;
22238 : }
22239 : }
22240 :
22241 : int
22242 : recog_401 (rtx x1 ATTRIBUTE_UNUSED,
22243 : rtx_insn *insn ATTRIBUTE_UNUSED,
22244 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22245 : {
22246 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22247 : rtx x2, x3, x4, x5, x6;
22248 : int res ATTRIBUTE_UNUSED;
22249 : x2 = XVECEXP (x1, 0, 0);
22250 : x3 = XEXP (x2, 0);
22251 : switch (GET_CODE (x3))
22252 : {
22253 : case REG:
22254 : case SUBREG:
22255 : case MEM:
22256 : operands[0] = x3;
22257 : x4 = XVECEXP (x1, 0, 1);
22258 : switch (GET_CODE (x4))
22259 : {
22260 : case CLOBBER:
22261 : x5 = XEXP (x4, 0);
22262 : if (GET_CODE (x5) != REG
22263 : || REGNO (x5) != 17
22264 : || GET_MODE (x5) != E_CCmode)
22265 : return -1;
22266 : switch (GET_MODE (operands[0]))
22267 : {
22268 : case E_DImode:
22269 : if (!nonimmediate_operand (operands[0], E_DImode))
22270 : return -1;
22271 : x6 = XEXP (x2, 1);
22272 : if (GET_MODE (x6) != E_DImode
22273 : || !nonimmediate_operand (operands[1], E_DImode))
22274 : return -1;
22275 : if (x86_64_hilo_general_operand (operands[2], E_DImode)
22276 : && (
22277 : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22278 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)) &&
22279 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22280 : (!TARGET_64BIT)))
22281 : return 384; /* *subdi3_doubleword */
22282 : if (!x86_64_general_operand (operands[2], E_DImode)
22283 : || !(
22284 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22285 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)
22286 : && true) &&
22287 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22288 : (TARGET_64BIT)))
22289 : return -1;
22290 : return 395; /* *subdi_1 */
22291 :
22292 : case E_TImode:
22293 : x6 = XEXP (x2, 1);
22294 : if (pattern566 (x6,
22295 : E_TImode) != 0
22296 : || !(
22297 : #line 8102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22298 : (ix86_binary_operator_ok (MINUS, DImode, operands, TARGET_APX_NDD)) &&
22299 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22300 : (TARGET_64BIT)))
22301 : return -1;
22302 : return 385; /* *subti3_doubleword */
22303 :
22304 : case E_QImode:
22305 : x6 = XEXP (x2, 1);
22306 : if (pattern567 (x6,
22307 : E_QImode) != 0
22308 : || !
22309 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22310 : (ix86_binary_operator_ok (MINUS, QImode, operands, TARGET_APX_NDD)
22311 : && true))
22312 : return -1;
22313 : return 389; /* *subqi_1 */
22314 :
22315 : case E_HImode:
22316 : x6 = XEXP (x2, 1);
22317 : if (pattern567 (x6,
22318 : E_HImode) != 0
22319 : || !
22320 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22321 : (ix86_binary_operator_ok (MINUS, HImode, operands, TARGET_APX_NDD)
22322 : && true))
22323 : return -1;
22324 : return 391; /* *subhi_1 */
22325 :
22326 : case E_SImode:
22327 : x6 = XEXP (x2, 1);
22328 : if (pattern568 (x6) != 0
22329 : || !
22330 : #line 8158 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22331 : (ix86_binary_operator_ok (MINUS, SImode, operands, TARGET_APX_NDD)
22332 : && true))
22333 : return -1;
22334 : return 393; /* *subsi_1 */
22335 :
22336 : case E_V2QImode:
22337 : x6 = XEXP (x2, 1);
22338 : if (pattern570 (x6,
22339 : E_V2QImode) != 0
22340 : || !
22341 : #line 3269 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22342 : (!TARGET_PARTIAL_REG_STALL || optimize_size || TARGET_SSE2))
22343 : return -1;
22344 : return 2194; /* subv2qi3 */
22345 :
22346 : default:
22347 : return -1;
22348 : }
22349 :
22350 : case UNSPEC:
22351 : if (pattern214 (x1) != 0
22352 : || !
22353 : #line 796 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22354 : (TARGET_3DNOW && !(MEM_P (operands[0]) && MEM_P (operands[1]))))
22355 : return -1;
22356 : return 2110; /* *mmx_subv2sf3 */
22357 :
22358 : default:
22359 : return -1;
22360 : }
22361 :
22362 : case STRICT_LOW_PART:
22363 : x4 = XVECEXP (x1, 0, 1);
22364 : if (pattern236 (x4,
22365 : E_CCmode,
22366 : 17) != 0)
22367 : return -1;
22368 : switch (pattern1334 (x2))
22369 : {
22370 : case 0:
22371 : if (!
22372 : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22373 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22374 : return -1;
22375 : return 407; /* *subqi_1_slp */
22376 :
22377 : case 1:
22378 : if (!
22379 : #line 8222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22380 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22381 : return -1;
22382 : return 408; /* *subhi_1_slp */
22383 :
22384 : default:
22385 : return -1;
22386 : }
22387 :
22388 : default:
22389 : return -1;
22390 : }
22391 : }
22392 :
22393 : int
22394 : recog_406 (rtx x1 ATTRIBUTE_UNUSED,
22395 : rtx_insn *insn ATTRIBUTE_UNUSED,
22396 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22397 : {
22398 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22399 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22400 : rtx x10;
22401 : int res ATTRIBUTE_UNUSED;
22402 : x2 = XVECEXP (x1, 0, 0);
22403 : x3 = XEXP (x2, 0);
22404 : operands[0] = x3;
22405 : x4 = XEXP (x2, 1);
22406 : x5 = XEXP (x4, 0);
22407 : switch (GET_CODE (x5))
22408 : {
22409 : case REG:
22410 : case SUBREG:
22411 : case MEM:
22412 : x6 = XVECEXP (x1, 0, 1);
22413 : switch (GET_CODE (x6))
22414 : {
22415 : case CLOBBER:
22416 : x7 = XEXP (x6, 0);
22417 : if (GET_CODE (x7) != REG
22418 : || REGNO (x7) != 17
22419 : || GET_MODE (x7) != E_CCmode)
22420 : return -1;
22421 : operands[1] = x5;
22422 : x8 = XEXP (x4, 1);
22423 : operands[2] = x8;
22424 : switch (GET_MODE (operands[0]))
22425 : {
22426 : case E_HImode:
22427 : if (!register_operand (operands[0], E_HImode)
22428 : || GET_MODE (x4) != E_HImode
22429 : || !nonimmediate_operand (operands[1], E_HImode)
22430 : || !general_operand (operands[2], E_HImode)
22431 : || !(
22432 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22433 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22434 : && true) &&
22435 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22436 : (TARGET_HIMODE_MATH)))
22437 : return -1;
22438 : return 619; /* *mulhi3_1 */
22439 :
22440 : case E_SImode:
22441 : if (pattern1335 (x4,
22442 : E_SImode) != 0
22443 : || !
22444 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22445 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22446 : && true))
22447 : return -1;
22448 : return 621; /* *mulsi3_1 */
22449 :
22450 : case E_DImode:
22451 : if (pattern1335 (x4,
22452 : E_DImode) != 0
22453 : || !(
22454 : #line 10947 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22455 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22456 : && true) &&
22457 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22458 : (TARGET_64BIT)))
22459 : return -1;
22460 : return 623; /* *muldi3_1 */
22461 :
22462 : case E_QImode:
22463 : if (pattern213 (x4,
22464 : E_QImode) != 0
22465 : || !
22466 : #line 11034 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22467 : (TARGET_QIMODE_MATH
22468 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
22469 : && true))
22470 : return -1;
22471 : return 631; /* *mulqi3_1 */
22472 :
22473 : default:
22474 : return -1;
22475 : }
22476 :
22477 : case SET:
22478 : x9 = XEXP (x6, 1);
22479 : if (GET_CODE (x9) != UMUL_HIGHPART)
22480 : return -1;
22481 : switch (pattern594 (x1))
22482 : {
22483 : case 0:
22484 : if (!(
22485 : #line 11298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22486 : (TARGET_BMI2) &&
22487 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22488 : (!TARGET_64BIT)))
22489 : return -1;
22490 : return 643; /* *bmi2_umulsidi3_1 */
22491 :
22492 : case 1:
22493 : if (!(
22494 : #line 11298 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22495 : (TARGET_BMI2) &&
22496 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22497 : (TARGET_64BIT)))
22498 : return -1;
22499 : return 644; /* *bmi2_umulditi3_1 */
22500 :
22501 : default:
22502 : return -1;
22503 : }
22504 :
22505 : case UNSPEC:
22506 : if (XVECLEN (x6, 0) != 1
22507 : || XINT (x6, 1) != 111)
22508 : return -1;
22509 : x10 = XVECEXP (x6, 0, 0);
22510 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0]
22511 : || !register_operand (operands[0], E_V2SFmode)
22512 : || GET_MODE (x4) != E_V2SFmode)
22513 : return -1;
22514 : operands[1] = x5;
22515 : if (!nonimmediate_operand (operands[1], E_V2SFmode))
22516 : return -1;
22517 : x8 = XEXP (x4, 1);
22518 : operands[2] = x8;
22519 : if (!nonimmediate_operand (operands[2], E_V2SFmode)
22520 : || !
22521 : #line 818 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
22522 : (TARGET_3DNOW && ix86_binary_operator_ok (MULT, V2SFmode, operands)))
22523 : return -1;
22524 : return 2111; /* *mmx_mulv2sf3 */
22525 :
22526 : default:
22527 : return -1;
22528 : }
22529 :
22530 : case ZERO_EXTEND:
22531 : switch (pattern565 (x1,
22532 : ZERO_EXTEND))
22533 : {
22534 : case 0:
22535 : if (!(
22536 : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22537 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22538 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22539 : (!TARGET_64BIT)))
22540 : return -1;
22541 : return 645; /* *umulsidi3_1 */
22542 :
22543 : case 1:
22544 : if (!(
22545 : #line 11337 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22546 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))) &&
22547 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22548 : (TARGET_64BIT)))
22549 : return -1;
22550 : return 646; /* *umulditi3_1 */
22551 :
22552 : case 2:
22553 : if (!
22554 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22555 : (TARGET_QIMODE_MATH
22556 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
22557 : && true))
22558 : return -1;
22559 : return 654; /* *umulqihi3_1 */
22560 :
22561 : default:
22562 : return -1;
22563 : }
22564 :
22565 : case SIGN_EXTEND:
22566 : switch (pattern565 (x1,
22567 : SIGN_EXTEND))
22568 : {
22569 : case 0:
22570 : if (!(
22571 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22572 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22573 : && true) &&
22574 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22575 : (!TARGET_64BIT)))
22576 : return -1;
22577 : return 648; /* *mulsidi3_1 */
22578 :
22579 : case 1:
22580 : if (!(
22581 : #line 1200 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22582 : (TARGET_64BIT) && (
22583 : #line 11383 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22584 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))
22585 : && true) &&
22586 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22587 : (TARGET_64BIT))))
22588 : return -1;
22589 : return 650; /* *mulditi3_1 */
22590 :
22591 : case 2:
22592 : if (!
22593 : #line 11403 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22594 : (TARGET_QIMODE_MATH
22595 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))
22596 : && true))
22597 : return -1;
22598 : return 652; /* *mulqihi3_1 */
22599 :
22600 : default:
22601 : return -1;
22602 : }
22603 :
22604 : default:
22605 : return -1;
22606 : }
22607 : }
22608 :
22609 : int
22610 : recog_413 (rtx x1 ATTRIBUTE_UNUSED,
22611 : rtx_insn *insn ATTRIBUTE_UNUSED,
22612 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22613 : {
22614 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22615 : rtx x2, x3, x4, x5, x6, x7;
22616 : int res ATTRIBUTE_UNUSED;
22617 : x2 = XVECEXP (x1, 0, 0);
22618 : x3 = XEXP (x2, 1);
22619 : x4 = XEXP (x3, 0);
22620 : x5 = XEXP (x4, 0);
22621 : switch (GET_CODE (x5))
22622 : {
22623 : case ASHIFTRT:
22624 : case LSHIFTRT:
22625 : case SIGN_EXTRACT:
22626 : case ZERO_EXTRACT:
22627 : operands[3] = x5;
22628 : x6 = XEXP (x5, 0);
22629 : operands[2] = x6;
22630 : switch (pattern1535 (x2))
22631 : {
22632 : case 0:
22633 : if (
22634 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22635 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22636 : return 761; /* *xorqi_exthi_1_slp */
22637 : break;
22638 :
22639 : case 1:
22640 : if (
22641 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22642 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22643 : return 764; /* *xorqi_extsi_1_slp */
22644 : break;
22645 :
22646 : case 2:
22647 : if ((
22648 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22649 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22650 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22651 : (TARGET_64BIT)))
22652 : return 767; /* *xorqi_extdi_1_slp */
22653 : break;
22654 :
22655 : case 3:
22656 : return 785; /* *xorqi_exthi_0 */
22657 :
22658 : case 4:
22659 : return 788; /* *xorqi_extsi_0 */
22660 :
22661 : case 5:
22662 : if (
22663 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22664 : (TARGET_64BIT))
22665 : return 791; /* *xorqi_extdi_0 */
22666 : break;
22667 :
22668 : default:
22669 : break;
22670 : }
22671 : x7 = XEXP (x3, 1);
22672 : if (GET_CODE (x7) != SUBREG)
22673 : return -1;
22674 : switch (pattern1536 (x2))
22675 : {
22676 : case 0:
22677 : if (!
22678 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22679 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22680 : return -1;
22681 : return 770; /* *xorqi_exthi_2_slp */
22682 :
22683 : case 1:
22684 : if (!
22685 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22686 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
22687 : return -1;
22688 : return 773; /* *xorqi_extsi_2_slp */
22689 :
22690 : case 2:
22691 : if (!(
22692 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22693 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
22694 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22695 : (TARGET_64BIT)))
22696 : return -1;
22697 : return 776; /* *xorqi_extdi_2_slp */
22698 :
22699 : case 3:
22700 : return 794; /* *xorqi_ext2hi_0 */
22701 :
22702 : case 4:
22703 : return 797; /* *xorqi_ext2si_0 */
22704 :
22705 : case 5:
22706 : if (!
22707 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22708 : (TARGET_64BIT))
22709 : return -1;
22710 : return 800; /* *xorqi_ext2di_0 */
22711 :
22712 : default:
22713 : return -1;
22714 : }
22715 :
22716 : default:
22717 : return -1;
22718 : }
22719 : }
22720 :
22721 : int
22722 : recog_415 (rtx x1 ATTRIBUTE_UNUSED,
22723 : rtx_insn *insn ATTRIBUTE_UNUSED,
22724 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22725 : {
22726 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22727 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
22728 : rtx x10;
22729 : int res ATTRIBUTE_UNUSED;
22730 : x2 = XVECEXP (x1, 0, 0);
22731 : x3 = XEXP (x2, 1);
22732 : x4 = XEXP (x3, 0);
22733 : switch (GET_CODE (x4))
22734 : {
22735 : case XOR:
22736 : x5 = XEXP (x2, 0);
22737 : operands[0] = x5;
22738 : x6 = XEXP (x4, 0);
22739 : operands[1] = x6;
22740 : x7 = XEXP (x4, 1);
22741 : operands[2] = x7;
22742 : x8 = XVECEXP (x1, 0, 1);
22743 : switch (pattern831 (x8))
22744 : {
22745 : case 0:
22746 : switch (GET_MODE (operands[0]))
22747 : {
22748 : case E_HImode:
22749 : if (!nonimmediate_operand (operands[0], E_HImode)
22750 : || pattern217 (x3,
22751 : E_HImode) != 0
22752 : || !
22753 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22754 : (ix86_binary_operator_ok (XOR, HImode, operands, TARGET_APX_NDD)))
22755 : return -1;
22756 : return 863; /* *notxorhi_1 */
22757 :
22758 : case E_SImode:
22759 : if (!nonimmediate_operand (operands[0], E_SImode)
22760 : || pattern218 (x3,
22761 : E_SImode) != 0
22762 : || !
22763 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22764 : (ix86_binary_operator_ok (XOR, SImode, operands, TARGET_APX_NDD)))
22765 : return -1;
22766 : return 864; /* *notxorsi_1 */
22767 :
22768 : case E_DImode:
22769 : if (!nonimmediate_operand (operands[0], E_DImode)
22770 : || pattern218 (x3,
22771 : E_DImode) != 0
22772 : || !(
22773 : #line 13927 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22774 : (ix86_binary_operator_ok (XOR, DImode, operands, TARGET_APX_NDD)) &&
22775 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22776 : (TARGET_64BIT)))
22777 : return -1;
22778 : return 865; /* *notxordi_1 */
22779 :
22780 : case E_QImode:
22781 : if (!nonimmediate_operand (operands[0], E_QImode)
22782 : || pattern217 (x3,
22783 : E_QImode) != 0
22784 : || !
22785 : #line 14127 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22786 : (ix86_binary_operator_ok (XOR, QImode, operands, TARGET_APX_NDD)))
22787 : return -1;
22788 : return 899; /* *notxorqi_1 */
22789 :
22790 : default:
22791 : return -1;
22792 : }
22793 :
22794 : case 1:
22795 : if (pattern1339 (x3,
22796 : E_QImode) != 0
22797 : || !
22798 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22799 : (TARGET_AVX512F))
22800 : return -1;
22801 : return 2651; /* kxnorqi */
22802 :
22803 : case 2:
22804 : if (pattern1339 (x3,
22805 : E_HImode) != 0
22806 : || !
22807 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22808 : (TARGET_AVX512F))
22809 : return -1;
22810 : return 2652; /* kxnorhi */
22811 :
22812 : case 3:
22813 : if (pattern1339 (x3,
22814 : E_SImode) != 0
22815 : || !(
22816 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22817 : (TARGET_AVX512F) &&
22818 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22819 : (TARGET_AVX512BW)))
22820 : return -1;
22821 : return 2653; /* kxnorsi */
22822 :
22823 : case 4:
22824 : if (pattern1339 (x3,
22825 : E_DImode) != 0
22826 : || !(
22827 : #line 2201 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22828 : (TARGET_AVX512F) &&
22829 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22830 : (TARGET_AVX512BW)))
22831 : return -1;
22832 : return 2654; /* kxnordi */
22833 :
22834 : default:
22835 : return -1;
22836 : }
22837 :
22838 : case ZERO_EXTRACT:
22839 : if (pattern376 (x1) != 0
22840 : || GET_MODE (x3) != E_DImode)
22841 : return -1;
22842 : x6 = XEXP (x4, 0);
22843 : if (!rtx_equal_p (x6, operands[0]))
22844 : return -1;
22845 : x9 = XEXP (x4, 2);
22846 : if (!rtx_equal_p (x9, operands[1])
22847 : || !
22848 : #line 19400 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22849 : (TARGET_64BIT && (TARGET_USE_BT || reload_completed)))
22850 : return -1;
22851 : return 1447; /* *btcq_imm */
22852 :
22853 : case REG:
22854 : case SUBREG:
22855 : operands[1] = x4;
22856 : x8 = XVECEXP (x1, 0, 1);
22857 : if (GET_CODE (x8) != UNSPEC
22858 : || XVECLEN (x8, 0) != 1
22859 : || XINT (x8, 1) != 175)
22860 : return -1;
22861 : x10 = XVECEXP (x8, 0, 0);
22862 : if (x10 != const_int_rtx[MAX_SAVED_CONST_INT + 0])
22863 : return -1;
22864 : x5 = XEXP (x2, 0);
22865 : operands[0] = x5;
22866 : switch (pattern820 (x3))
22867 : {
22868 : case 0:
22869 : if (!
22870 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22871 : (TARGET_AVX512F))
22872 : return -1;
22873 : return 2655; /* knotqi */
22874 :
22875 : case 1:
22876 : if (!
22877 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22878 : (TARGET_AVX512F))
22879 : return -1;
22880 : return 2656; /* knothi */
22881 :
22882 : case 2:
22883 : if (!(
22884 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22885 : (TARGET_AVX512F) &&
22886 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22887 : (TARGET_AVX512BW)))
22888 : return -1;
22889 : return 2657; /* knotsi */
22890 :
22891 : case 3:
22892 : if (!(
22893 : #line 2222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22894 : (TARGET_AVX512F) &&
22895 : #line 2098 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22896 : (TARGET_AVX512BW)))
22897 : return -1;
22898 : return 2658; /* knotdi */
22899 :
22900 : default:
22901 : return -1;
22902 : }
22903 :
22904 : default:
22905 : return -1;
22906 : }
22907 : }
22908 :
22909 : int
22910 : recog_418 (rtx x1 ATTRIBUTE_UNUSED,
22911 : rtx_insn *insn ATTRIBUTE_UNUSED,
22912 : int *pnum_clobbers ATTRIBUTE_UNUSED)
22913 : {
22914 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
22915 : rtx x2, x3, x4, x5, x6, x7, x8;
22916 : int res ATTRIBUTE_UNUSED;
22917 : x2 = XVECEXP (x1, 0, 0);
22918 : x3 = XEXP (x2, 1);
22919 : x4 = XEXP (x3, 0);
22920 : switch (GET_CODE (x4))
22921 : {
22922 : case CONST_INT:
22923 : case REG:
22924 : case SUBREG:
22925 : case MEM:
22926 : switch (pattern343 (x1))
22927 : {
22928 : case 0:
22929 : x5 = XEXP (x2, 0);
22930 : operands[0] = x5;
22931 : switch (pattern821 (x1))
22932 : {
22933 : case 0:
22934 : if ((
22935 : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22936 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
22937 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
22938 : == (2 * 4 * BITS_PER_UNIT - 1)))
22939 : && ix86_pre_reload_split ()) &&
22940 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22941 : (!TARGET_64BIT)))
22942 : return 1084; /* *ashldi3_doubleword_mask */
22943 : break;
22944 :
22945 : case 1:
22946 : if ((
22947 : #line 15541 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22948 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
22949 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
22950 : == (2 * 8 * BITS_PER_UNIT - 1)))
22951 : && ix86_pre_reload_split ()) &&
22952 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
22953 : (TARGET_64BIT)))
22954 : return 1085; /* *ashlti3_doubleword_mask */
22955 : break;
22956 :
22957 : case 2:
22958 : if ((
22959 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22960 : (TARGET_AVX512F) &&
22961 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22962 : (TARGET_AVX512DQ)))
22963 : return 2664; /* kashiftqi */
22964 : break;
22965 :
22966 : case 3:
22967 : if (
22968 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22969 : (TARGET_AVX512F))
22970 : return 2666; /* kashifthi */
22971 : break;
22972 :
22973 : case 4:
22974 : if ((
22975 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22976 : (TARGET_AVX512F) &&
22977 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22978 : (TARGET_AVX512BW)))
22979 : return 2668; /* kashiftsi */
22980 : break;
22981 :
22982 : case 5:
22983 : if ((
22984 : #line 2291 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22985 : (TARGET_AVX512F) &&
22986 : #line 2093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
22987 : (TARGET_AVX512BW)))
22988 : return 2670; /* kashiftdi */
22989 : break;
22990 :
22991 : default:
22992 : break;
22993 : }
22994 : x6 = XEXP (x3, 1);
22995 : operands[2] = x6;
22996 : switch (pattern822 (x1))
22997 : {
22998 : case 0:
22999 : operands[0] = x5;
23000 : switch (GET_MODE (operands[0]))
23001 : {
23002 : case E_DImode:
23003 : if (GET_MODE (x3) == E_DImode)
23004 : {
23005 : if (register_operand (operands[0], E_DImode)
23006 : && reg_or_pm1_operand (operands[1], E_DImode)
23007 : &&
23008 : #line 1196 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23009 : (!TARGET_64BIT))
23010 : return 1088; /* ashldi3_doubleword */
23011 : if (nonimmediate_operand (operands[0], E_DImode)
23012 : && nonimmediate_operand (operands[1], E_DImode)
23013 : && (
23014 : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23015 : (ix86_binary_operator_ok (ASHIFT, DImode, operands, TARGET_APX_NDD)
23016 : && true) &&
23017 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23018 : (TARGET_64BIT)))
23019 : return 1123; /* *ashldi3_1 */
23020 : }
23021 : break;
23022 :
23023 : case E_TImode:
23024 : if (register_operand (operands[0], E_TImode)
23025 : && GET_MODE (x3) == E_TImode
23026 : && reg_or_pm1_operand (operands[1], E_TImode)
23027 : &&
23028 : #line 1197 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23029 : (TARGET_64BIT))
23030 : return 1089; /* ashlti3_doubleword */
23031 : break;
23032 :
23033 : case E_SImode:
23034 : if (nonimmediate_operand (operands[0], E_SImode)
23035 : && GET_MODE (x3) == E_SImode
23036 : && nonimmediate_operand (operands[1], E_SImode)
23037 : &&
23038 : #line 16247 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23039 : (ix86_binary_operator_ok (ASHIFT, SImode, operands, TARGET_APX_NDD)
23040 : && true))
23041 : return 1121; /* *ashlsi3_1 */
23042 : break;
23043 :
23044 : case E_HImode:
23045 : if (nonimmediate_operand (operands[0], E_HImode)
23046 : && GET_MODE (x3) == E_HImode
23047 : && nonimmediate_operand (operands[1], E_HImode)
23048 : &&
23049 : #line 16433 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23050 : (ix86_binary_operator_ok (ASHIFT, HImode, operands, TARGET_APX_NDD)
23051 : && true))
23052 : return 1137; /* *ashlhi3_1 */
23053 : break;
23054 :
23055 : case E_QImode:
23056 : if (nonimmediate_operand (operands[0], E_QImode)
23057 : && GET_MODE (x3) == E_QImode
23058 : && nonimmediate_operand (operands[1], E_QImode)
23059 : &&
23060 : #line 16492 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23061 : (ix86_binary_operator_ok (ASHIFT, QImode, operands, TARGET_APX_NDD)
23062 : && true))
23063 : return 1139; /* *ashlqi3_1 */
23064 : break;
23065 :
23066 : case E_V2QImode:
23067 : if (register_operand (operands[0], E_V2QImode)
23068 : && GET_MODE (x3) == E_V2QImode
23069 : && register_operand (operands[1], E_V2QImode)
23070 : &&
23071 : #line 4035 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
23072 : (!TARGET_PARTIAL_REG_STALL || optimize_size))
23073 : return 2271; /* ashlv2qi3 */
23074 : break;
23075 :
23076 : default:
23077 : break;
23078 : }
23079 : break;
23080 :
23081 : case 1:
23082 : x7 = XEXP (x5, 0);
23083 : operands[0] = x7;
23084 : switch (pattern377 (x3))
23085 : {
23086 : case 0:
23087 : if (
23088 : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23089 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23090 : return 1140; /* *ashlqi3_1_slp */
23091 : break;
23092 :
23093 : case 1:
23094 : if (
23095 : #line 16571 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23096 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)))
23097 : return 1141; /* *ashlhi3_1_slp */
23098 : break;
23099 :
23100 : default:
23101 : break;
23102 : }
23103 : break;
23104 :
23105 : default:
23106 : break;
23107 : }
23108 : if (GET_CODE (x6) != SUBREG
23109 : || maybe_ne (SUBREG_BYTE (x6), 0)
23110 : || GET_MODE (x6) != E_QImode)
23111 : return -1;
23112 : x8 = XVECEXP (x1, 0, 1);
23113 : if (pattern375 (x8) != 0)
23114 : return -1;
23115 : switch (pattern1447 (x2))
23116 : {
23117 : case 0:
23118 : if (!
23119 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23120 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23121 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23122 : == 4 * BITS_PER_UNIT - 1
23123 : && ix86_pre_reload_split ()))
23124 : return -1;
23125 : return 1276; /* *ashlsi3_mask */
23126 :
23127 : case 1:
23128 : if (!(
23129 : #line 18174 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23130 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23131 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23132 : == 8 * BITS_PER_UNIT - 1
23133 : && ix86_pre_reload_split ()) &&
23134 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23135 : (TARGET_64BIT)))
23136 : return -1;
23137 : return 1279; /* *ashldi3_mask */
23138 :
23139 : case 2:
23140 : if (!
23141 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23142 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23143 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23144 : && ix86_pre_reload_split ()))
23145 : return -1;
23146 : return 1288; /* *ashlsi3_add */
23147 :
23148 : case 3:
23149 : if (!(
23150 : #line 18222 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23151 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23152 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23153 : && ix86_pre_reload_split ()) &&
23154 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23155 : (TARGET_64BIT)))
23156 : return -1;
23157 : return 1291; /* *ashldi3_add */
23158 :
23159 : case 4:
23160 : if (!
23161 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23162 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23163 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23164 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23165 : == 4 * BITS_PER_UNIT - 1)
23166 : && ix86_pre_reload_split ()))
23167 : return -1;
23168 : return 1300; /* *ashlsi3_sub */
23169 :
23170 : case 5:
23171 : if (!(
23172 : #line 18268 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23173 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23174 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23175 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23176 : == 8 * BITS_PER_UNIT - 1)
23177 : && ix86_pre_reload_split ()) &&
23178 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23179 : (TARGET_64BIT)))
23180 : return -1;
23181 : return 1303; /* *ashldi3_sub */
23182 :
23183 : default:
23184 : return -1;
23185 : }
23186 :
23187 : case 1:
23188 : if (register_operand (operands[0], E_DImode)
23189 : && register_operand (operands[1], E_DImode)
23190 : && (
23191 : #line 15602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23192 : (((INTVAL (operands[3]) & (4 * BITS_PER_UNIT)) == 0
23193 : || ((INTVAL (operands[3]) & (2 * 4 * BITS_PER_UNIT - 1))
23194 : == (2 * 4 * BITS_PER_UNIT - 1)))
23195 : && ix86_pre_reload_split ()) &&
23196 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23197 : (!TARGET_64BIT)))
23198 : return 1086; /* *ashldi3_doubleword_mask_1 */
23199 : if (!nonimmediate_operand (operands[0], E_DImode)
23200 : || !nonimmediate_operand (operands[1], E_DImode)
23201 : || !(
23202 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23203 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23204 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23205 : == 8 * BITS_PER_UNIT - 1
23206 : && ix86_pre_reload_split ()) &&
23207 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23208 : (TARGET_64BIT)))
23209 : return -1;
23210 : return 1285; /* *ashldi3_mask_1 */
23211 :
23212 : case 2:
23213 : if (!(
23214 : #line 15602 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23215 : (((INTVAL (operands[3]) & (8 * BITS_PER_UNIT)) == 0
23216 : || ((INTVAL (operands[3]) & (2 * 8 * BITS_PER_UNIT - 1))
23217 : == (2 * 8 * BITS_PER_UNIT - 1)))
23218 : && ix86_pre_reload_split ()) &&
23219 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23220 : (TARGET_64BIT)))
23221 : return -1;
23222 : return 1087; /* *ashlti3_doubleword_mask_1 */
23223 :
23224 : case 3:
23225 : if (!
23226 : #line 18199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23227 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23228 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23229 : == 4 * BITS_PER_UNIT - 1
23230 : && ix86_pre_reload_split ()))
23231 : return -1;
23232 : return 1282; /* *ashlsi3_mask_1 */
23233 :
23234 : case 4:
23235 : if (!
23236 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23237 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23238 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23239 : && ix86_pre_reload_split ()))
23240 : return -1;
23241 : return 1294; /* *ashlsi3_add_1 */
23242 :
23243 : case 5:
23244 : if (!(
23245 : #line 18246 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23246 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23247 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23248 : && ix86_pre_reload_split ()) &&
23249 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23250 : (TARGET_64BIT)))
23251 : return -1;
23252 : return 1297; /* *ashldi3_add_1 */
23253 :
23254 : case 6:
23255 : if (!
23256 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23257 : (ix86_binary_operator_ok (ASHIFT, SImode, operands)
23258 : && ((INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
23259 : || (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1))
23260 : == 4 * BITS_PER_UNIT - 1)
23261 : && ix86_pre_reload_split ()))
23262 : return -1;
23263 : return 1306; /* *ashlsi3_sub_1 */
23264 :
23265 : case 7:
23266 : if (!(
23267 : #line 18301 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23268 : (ix86_binary_operator_ok (ASHIFT, DImode, operands)
23269 : && ((INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
23270 : || (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1))
23271 : == 8 * BITS_PER_UNIT - 1)
23272 : && ix86_pre_reload_split ()) &&
23273 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23274 : (TARGET_64BIT)))
23275 : return -1;
23276 : return 1309; /* *ashldi3_sub_1 */
23277 :
23278 : default:
23279 : return -1;
23280 : }
23281 :
23282 : case SIGN_EXTEND:
23283 : switch (pattern383 (x1))
23284 : {
23285 : case 0:
23286 : if (!(
23287 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23288 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
23289 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
23290 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23291 : (!TARGET_64BIT)))
23292 : return -1;
23293 : return 1090; /* *ashldi3_doubleword_highpart */
23294 :
23295 : case 1:
23296 : if (!(
23297 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23298 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
23299 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
23300 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23301 : (TARGET_64BIT)))
23302 : return -1;
23303 : return 1092; /* *ashlti3_doubleword_highpart */
23304 :
23305 : default:
23306 : return -1;
23307 : }
23308 :
23309 : case ZERO_EXTEND:
23310 : switch (pattern383 (x1))
23311 : {
23312 : case 0:
23313 : if (!(
23314 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23315 : (INTVAL (operands[2]) >= 4 * BITS_PER_UNIT
23316 : && INTVAL (operands[2]) < 4 * BITS_PER_UNIT * 2) &&
23317 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23318 : (!TARGET_64BIT)))
23319 : return -1;
23320 : return 1091; /* *ashldi3_doubleword_highpart */
23321 :
23322 : case 1:
23323 : if (!(
23324 : #line 15703 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23325 : (INTVAL (operands[2]) >= 8 * BITS_PER_UNIT
23326 : && INTVAL (operands[2]) < 8 * BITS_PER_UNIT * 2) &&
23327 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23328 : (TARGET_64BIT)))
23329 : return -1;
23330 : return 1093; /* *ashlti3_doubleword_highpart */
23331 :
23332 : default:
23333 : return -1;
23334 : }
23335 :
23336 : default:
23337 : return -1;
23338 : }
23339 : }
23340 :
23341 : int
23342 : recog_435 (rtx x1 ATTRIBUTE_UNUSED,
23343 : rtx_insn *insn ATTRIBUTE_UNUSED,
23344 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23345 : {
23346 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23347 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23348 : rtx x10, x11, x12, x13, x14;
23349 : int res ATTRIBUTE_UNUSED;
23350 : if (pattern231 (x1) != 0)
23351 : return -1;
23352 : x2 = XVECEXP (x1, 0, 2);
23353 : if (GET_CODE (x2) != UNSPEC
23354 : || XVECLEN (x2, 0) != 1
23355 : || XINT (x2, 1) != 39)
23356 : return -1;
23357 : x3 = XVECEXP (x1, 0, 1);
23358 : x4 = XEXP (x3, 0);
23359 : operands[0] = x4;
23360 : x5 = XVECEXP (x2, 0, 0);
23361 : operands[2] = x5;
23362 : x6 = XVECEXP (x1, 0, 0);
23363 : x7 = XEXP (x6, 1);
23364 : x8 = XEXP (x7, 0);
23365 : switch (GET_CODE (x8))
23366 : {
23367 : case REG:
23368 : case SUBREG:
23369 : case MEM:
23370 : operands[1] = x8;
23371 : x9 = XEXP (x3, 1);
23372 : if (GET_CODE (x9) != CTZ)
23373 : return -1;
23374 : x10 = XEXP (x6, 0);
23375 : if (GET_MODE (x10) != E_CCCmode
23376 : || GET_MODE (x7) != E_CCCmode)
23377 : return -1;
23378 : x11 = XEXP (x9, 0);
23379 : if (!rtx_equal_p (x11, operands[1]))
23380 : return -1;
23381 : switch (GET_MODE (operands[1]))
23382 : {
23383 : case E_SImode:
23384 : if (pattern1705 (x9,
23385 : E_SImode) != 0
23386 : || !
23387 : #line 21395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23388 : (TARGET_BMI))
23389 : return -1;
23390 : return 1542; /* *tzcntsi_1_falsedep */
23391 :
23392 : case E_DImode:
23393 : if (pattern1705 (x9,
23394 : E_DImode) != 0
23395 : || !(
23396 : #line 21395 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23397 : (TARGET_BMI) &&
23398 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23399 : (TARGET_64BIT)))
23400 : return -1;
23401 : return 1543; /* *tzcntdi_1_falsedep */
23402 :
23403 : default:
23404 : return -1;
23405 : }
23406 :
23407 : case AND:
23408 : x9 = XEXP (x3, 1);
23409 : if (GET_CODE (x9) != AND)
23410 : return -1;
23411 : x12 = XEXP (x8, 0);
23412 : switch (GET_CODE (x12))
23413 : {
23414 : case NEG:
23415 : x11 = XEXP (x9, 0);
23416 : if (GET_CODE (x11) != NEG)
23417 : return -1;
23418 : switch (pattern1585 (x1))
23419 : {
23420 : case 0:
23421 : if (!
23422 : #line 22205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23423 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)))
23424 : return -1;
23425 : return 1608; /* *bmi_blsi_si_falsedep */
23426 :
23427 : case 1:
23428 : if (!(
23429 : #line 22205 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23430 : (TARGET_BMI && ix86_match_ccmode (insn, CCNOmode)) &&
23431 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23432 : (TARGET_64BIT)))
23433 : return -1;
23434 : return 1609; /* *bmi_blsi_di_falsedep */
23435 :
23436 : default:
23437 : return -1;
23438 : }
23439 :
23440 : case PLUS:
23441 : x13 = XEXP (x12, 1);
23442 : if (x13 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23443 : return -1;
23444 : x11 = XEXP (x9, 0);
23445 : if (GET_CODE (x11) != PLUS)
23446 : return -1;
23447 : x14 = XEXP (x11, 1);
23448 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
23449 : return -1;
23450 : x10 = XEXP (x6, 0);
23451 : if (GET_MODE (x10) != E_CCZmode
23452 : || GET_MODE (x7) != E_CCZmode)
23453 : return -1;
23454 : switch (pattern1585 (x1))
23455 : {
23456 : case 0:
23457 : if (!
23458 : #line 22353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23459 : (TARGET_BMI))
23460 : return -1;
23461 : return 1620; /* *bmi_blsr_si_cmp_falsedep */
23462 :
23463 : case 1:
23464 : if (!(
23465 : #line 22353 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23466 : (TARGET_BMI) &&
23467 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23468 : (TARGET_64BIT)))
23469 : return -1;
23470 : return 1621; /* *bmi_blsr_di_cmp_falsedep */
23471 :
23472 : default:
23473 : return -1;
23474 : }
23475 :
23476 : default:
23477 : return -1;
23478 : }
23479 :
23480 : default:
23481 : return -1;
23482 : }
23483 : }
23484 :
23485 : int
23486 : recog_438 (rtx x1 ATTRIBUTE_UNUSED,
23487 : rtx_insn *insn ATTRIBUTE_UNUSED,
23488 : int *pnum_clobbers ATTRIBUTE_UNUSED)
23489 : {
23490 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
23491 : rtx x2, x3, x4, x5, x6, x7, x8, x9;
23492 : rtx x10, x11, x12, x13, x14, x15, x16, x17;
23493 : rtx x18, x19;
23494 : int res ATTRIBUTE_UNUSED;
23495 : x2 = XVECEXP (x1, 0, 0);
23496 : switch (GET_CODE (x2))
23497 : {
23498 : case SET:
23499 : x3 = XEXP (x2, 1);
23500 : switch (GET_CODE (x3))
23501 : {
23502 : case UNSPEC:
23503 : return recog_431 (x1, insn, pnum_clobbers);
23504 :
23505 : case SIGN_EXTEND:
23506 : x4 = XVECEXP (x1, 0, 2);
23507 : if (GET_CODE (x4) != CLOBBER)
23508 : return -1;
23509 : x5 = XEXP (x2, 0);
23510 : operands[0] = x5;
23511 : x6 = XEXP (x3, 0);
23512 : switch (GET_CODE (x6))
23513 : {
23514 : case REG:
23515 : case SUBREG:
23516 : operands[1] = x6;
23517 : x7 = XVECEXP (x1, 0, 1);
23518 : if (pattern236 (x7,
23519 : E_CCmode,
23520 : 17) != 0)
23521 : return -1;
23522 : x8 = XEXP (x4, 0);
23523 : operands[2] = x8;
23524 : switch (GET_MODE (operands[0]))
23525 : {
23526 : case E_DImode:
23527 : if (pattern1451 (x3,
23528 : E_SImode,
23529 : E_DImode) != 0
23530 : || !
23531 : #line 4996 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23532 : (!TARGET_64BIT))
23533 : return -1;
23534 : return 189; /* extendsidi2_1 */
23535 :
23536 : case E_TImode:
23537 : if (pattern1451 (x3,
23538 : E_DImode,
23539 : E_TImode) != 0
23540 : || !
23541 : #line 5004 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23542 : (TARGET_64BIT))
23543 : return -1;
23544 : return 190; /* extendditi2 */
23545 :
23546 : default:
23547 : return -1;
23548 : }
23549 :
23550 : case CTZ:
23551 : if (GET_MODE (x6) != E_SImode)
23552 : return -1;
23553 : x7 = XVECEXP (x1, 0, 1);
23554 : if (GET_CODE (x7) != UNSPEC
23555 : || XVECLEN (x7, 0) != 1
23556 : || XINT (x7, 1) != 39)
23557 : return -1;
23558 : x8 = XEXP (x4, 0);
23559 : if (GET_CODE (x8) != REG
23560 : || REGNO (x8) != 17
23561 : || GET_MODE (x8) != E_CCmode
23562 : || !register_operand (operands[0], E_DImode)
23563 : || GET_MODE (x3) != E_DImode)
23564 : return -1;
23565 : x9 = XEXP (x6, 0);
23566 : operands[1] = x9;
23567 : if (!nonimmediate_operand (operands[1], E_SImode))
23568 : return -1;
23569 : x10 = XVECEXP (x7, 0, 0);
23570 : operands[2] = x10;
23571 : if (!register_operand (operands[2], E_DImode)
23572 : || !
23573 : #line 21572 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23574 : (TARGET_64BIT))
23575 : return -1;
23576 : return 1554; /* *ctzsidi2_sext_falsedep */
23577 :
23578 : default:
23579 : return -1;
23580 : }
23581 :
23582 : case FIX:
23583 : x7 = XVECEXP (x1, 0, 1);
23584 : if (GET_CODE (x7) != USE)
23585 : return -1;
23586 : x4 = XVECEXP (x1, 0, 2);
23587 : if (GET_CODE (x4) != USE)
23588 : return -1;
23589 : x5 = XEXP (x2, 0);
23590 : operands[0] = x5;
23591 : x6 = XEXP (x3, 0);
23592 : operands[1] = x6;
23593 : if (!register_operand (operands[1], E_VOIDmode))
23594 : return -1;
23595 : switch (pattern834 (x1, pnum_clobbers))
23596 : {
23597 : case 0:
23598 : if (!
23599 : #line 6030 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23600 : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
23601 : && !TARGET_FISTTP
23602 : && !(TARGET_64BIT && SSE_FLOAT_MODE_P (GET_MODE (operands[1])))))
23603 : return -1;
23604 : *pnum_clobbers = 1;
23605 : return 239; /* fix_truncdi_i387 */
23606 :
23607 : case 1:
23608 : if (!
23609 : #line 6043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23610 : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
23611 : && !TARGET_FISTTP
23612 : && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
23613 : return -1;
23614 : return 240; /* fix_trunchi_i387 */
23615 :
23616 : case 2:
23617 : if (!
23618 : #line 6043 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23619 : (X87_FLOAT_MODE_P (GET_MODE (operands[1]))
23620 : && !TARGET_FISTTP
23621 : && !SSE_FLOAT_MODE_P (GET_MODE (operands[1]))))
23622 : return -1;
23623 : return 241; /* fix_truncsi_i387 */
23624 :
23625 : default:
23626 : return -1;
23627 : }
23628 :
23629 : case UNSIGNED_FLOAT:
23630 : x7 = XVECEXP (x1, 0, 1);
23631 : if (GET_CODE (x7) != CLOBBER)
23632 : return -1;
23633 : x4 = XVECEXP (x1, 0, 2);
23634 : if (GET_CODE (x4) != CLOBBER)
23635 : return -1;
23636 : switch (pattern576 (x1))
23637 : {
23638 : case 0:
23639 : if (!
23640 : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23641 : (!TARGET_64BIT
23642 : && TARGET_80387 && X87_ENABLE_FLOAT (SFmode, DImode)
23643 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
23644 : return -1;
23645 : return 265; /* floatunssisf2_i387_with_xmm */
23646 :
23647 : case 1:
23648 : if (!
23649 : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23650 : (!TARGET_64BIT
23651 : && TARGET_80387 && X87_ENABLE_FLOAT (DFmode, DImode)
23652 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
23653 : return -1;
23654 : return 266; /* floatunssidf2_i387_with_xmm */
23655 :
23656 : case 2:
23657 : if (!
23658 : #line 6306 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23659 : (!TARGET_64BIT
23660 : && TARGET_80387 && X87_ENABLE_FLOAT (XFmode, DImode)
23661 : && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC))
23662 : return -1;
23663 : return 267; /* floatunssixf2_i387_with_xmm */
23664 :
23665 : default:
23666 : return -1;
23667 : }
23668 :
23669 : case EQ:
23670 : return recog_437 (x1, insn, pnum_clobbers);
23671 :
23672 : case SMUL_HIGHPART:
23673 : switch (pattern223 (x1))
23674 : {
23675 : case 0:
23676 : if (!
23677 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23678 : (!TARGET_64BIT))
23679 : return -1;
23680 : return 655; /* smulsi3_highpart */
23681 :
23682 : case 1:
23683 : if (!
23684 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23685 : (TARGET_64BIT))
23686 : return -1;
23687 : return 657; /* smuldi3_highpart */
23688 :
23689 : default:
23690 : return -1;
23691 : }
23692 :
23693 : case UMUL_HIGHPART:
23694 : switch (pattern223 (x1))
23695 : {
23696 : case 0:
23697 : if (!
23698 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23699 : (!TARGET_64BIT))
23700 : return -1;
23701 : return 656; /* umulsi3_highpart */
23702 :
23703 : case 1:
23704 : if (!
23705 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23706 : (TARGET_64BIT))
23707 : return -1;
23708 : return 658; /* umuldi3_highpart */
23709 :
23710 : default:
23711 : return -1;
23712 : }
23713 :
23714 : case ZERO_EXTEND:
23715 : return recog_432 (x1, insn, pnum_clobbers);
23716 :
23717 : case TRUNCATE:
23718 : x6 = XEXP (x3, 0);
23719 : if (GET_CODE (x6) != LSHIFTRT)
23720 : return -1;
23721 : x9 = XEXP (x6, 0);
23722 : if (GET_CODE (x9) != MULT)
23723 : return -1;
23724 : x11 = XEXP (x6, 1);
23725 : if (GET_CODE (x11) != CONST_INT)
23726 : return -1;
23727 : x7 = XVECEXP (x1, 0, 1);
23728 : if (GET_CODE (x7) != CLOBBER
23729 : || pattern838 (x1) != 0)
23730 : return -1;
23731 : x12 = XEXP (x7, 0);
23732 : operands[3] = x12;
23733 : x13 = XEXP (x9, 0);
23734 : switch (GET_CODE (x13))
23735 : {
23736 : case SIGN_EXTEND:
23737 : switch (pattern1508 (x3,
23738 : SIGN_EXTEND))
23739 : {
23740 : case 0:
23741 : if (!
23742 : #line 11517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23743 : (TARGET_64BIT
23744 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23745 : return -1;
23746 : return 661; /* *smuldi3_highpart_1 */
23747 :
23748 : case 1:
23749 : if (!
23750 : #line 11566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23751 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23752 : return -1;
23753 : return 665; /* *smulsi3_highpart_1 */
23754 :
23755 : default:
23756 : return -1;
23757 : }
23758 :
23759 : case ZERO_EXTEND:
23760 : switch (pattern1508 (x3,
23761 : ZERO_EXTEND))
23762 : {
23763 : case 0:
23764 : if (!
23765 : #line 11517 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23766 : (TARGET_64BIT
23767 : && !(MEM_P (operands[1]) && MEM_P (operands[2]))))
23768 : return -1;
23769 : return 662; /* *umuldi3_highpart_1 */
23770 :
23771 : case 1:
23772 : if (!
23773 : #line 11566 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23774 : (!(MEM_P (operands[1]) && MEM_P (operands[2]))))
23775 : return -1;
23776 : return 666; /* *umulsi3_highpart_1 */
23777 :
23778 : default:
23779 : return -1;
23780 : }
23781 :
23782 : default:
23783 : return -1;
23784 : }
23785 :
23786 : case DIV:
23787 : switch (pattern224 (x1))
23788 : {
23789 : case 0:
23790 : switch (pattern1342 (x1, pnum_clobbers))
23791 : {
23792 : case 0:
23793 : *pnum_clobbers = 1;
23794 : return 667; /* divmodsi4_1 */
23795 :
23796 : case 1:
23797 : if (!
23798 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23799 : (TARGET_64BIT))
23800 : return -1;
23801 : *pnum_clobbers = 1;
23802 : return 668; /* divmoddi4_1 */
23803 :
23804 : case 2:
23805 : if (!
23806 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23807 : (TARGET_HIMODE_MATH))
23808 : return -1;
23809 : return 675; /* *divmodhi4 */
23810 :
23811 : case 3:
23812 : return 676; /* *divmodsi4 */
23813 :
23814 : case 4:
23815 : if (!
23816 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23817 : (TARGET_64BIT))
23818 : return -1;
23819 : return 677; /* *divmoddi4 */
23820 :
23821 : case 5:
23822 : if ((
23823 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23824 : (TARGET_APX_NF) &&
23825 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23826 : (TARGET_HIMODE_MATH)))
23827 : return 689; /* *divmodhi4_noext_nf */
23828 : if (pnum_clobbers == NULL
23829 : || !
23830 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23831 : (TARGET_HIMODE_MATH))
23832 : return -1;
23833 : *pnum_clobbers = 1;
23834 : return 695; /* *divmodhi4_noext */
23835 :
23836 : case 6:
23837 : if (
23838 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23839 : (TARGET_APX_NF))
23840 : return 691; /* *divmodsi4_noext_nf */
23841 : if (pnum_clobbers == NULL)
23842 : return -1;
23843 : *pnum_clobbers = 1;
23844 : return 697; /* *divmodsi4_noext */
23845 :
23846 : case 7:
23847 : if ((
23848 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23849 : (TARGET_APX_NF) &&
23850 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23851 : (TARGET_64BIT)))
23852 : return 693; /* *divmoddi4_noext_nf */
23853 : if (pnum_clobbers == NULL
23854 : || !
23855 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23856 : (TARGET_64BIT))
23857 : return -1;
23858 : *pnum_clobbers = 1;
23859 : return 699; /* *divmoddi4_noext */
23860 :
23861 : default:
23862 : return -1;
23863 : }
23864 :
23865 : case 1:
23866 : if (!const_int_operand (operands[2], E_SImode))
23867 : return -1;
23868 : x4 = XVECEXP (x1, 0, 2);
23869 : if (pattern953 (x4,
23870 : E_CCmode,
23871 : 17) != 0
23872 : || pattern1504 (x1) != 0
23873 : || !
23874 : #line 12250 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23875 : (!optimize_function_for_size_p (cfun)))
23876 : return -1;
23877 : return 705; /* *divmodsi4_const */
23878 :
23879 : default:
23880 : return -1;
23881 : }
23882 :
23883 : case UDIV:
23884 : switch (pattern225 (x1))
23885 : {
23886 : case 0:
23887 : switch (pattern1342 (x1, pnum_clobbers))
23888 : {
23889 : case 0:
23890 : *pnum_clobbers = 1;
23891 : return 669; /* udivmodsi4_1 */
23892 :
23893 : case 1:
23894 : if (!
23895 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23896 : (TARGET_64BIT))
23897 : return -1;
23898 : *pnum_clobbers = 1;
23899 : return 670; /* udivmoddi4_1 */
23900 :
23901 : case 2:
23902 : if (!
23903 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23904 : (TARGET_HIMODE_MATH))
23905 : return -1;
23906 : return 678; /* *udivmodhi4 */
23907 :
23908 : case 3:
23909 : return 679; /* *udivmodsi4 */
23910 :
23911 : case 4:
23912 : if (!
23913 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23914 : (TARGET_64BIT))
23915 : return -1;
23916 : return 680; /* *udivmoddi4 */
23917 :
23918 : case 5:
23919 : if ((
23920 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23921 : (TARGET_APX_NF) &&
23922 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23923 : (TARGET_HIMODE_MATH)))
23924 : return 690; /* *udivmodhi4_noext_nf */
23925 : if (pnum_clobbers == NULL
23926 : || !
23927 : #line 1192 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23928 : (TARGET_HIMODE_MATH))
23929 : return -1;
23930 : *pnum_clobbers = 1;
23931 : return 696; /* *udivmodhi4_noext */
23932 :
23933 : case 6:
23934 : if (
23935 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23936 : (TARGET_APX_NF))
23937 : return 692; /* *udivmodsi4_noext_nf */
23938 : if (pnum_clobbers == NULL)
23939 : return -1;
23940 : *pnum_clobbers = 1;
23941 : return 698; /* *udivmodsi4_noext */
23942 :
23943 : case 7:
23944 : if ((
23945 : #line 12194 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23946 : (TARGET_APX_NF) &&
23947 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23948 : (TARGET_64BIT)))
23949 : return 694; /* *udivmoddi4_noext_nf */
23950 : if (pnum_clobbers == NULL
23951 : || !
23952 : #line 1193 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23953 : (TARGET_64BIT))
23954 : return -1;
23955 : *pnum_clobbers = 1;
23956 : return 700; /* *udivmoddi4_noext */
23957 :
23958 : default:
23959 : return -1;
23960 : }
23961 :
23962 : case 1:
23963 : x4 = XVECEXP (x1, 0, 2);
23964 : if (pattern953 (x4,
23965 : E_CCmode,
23966 : 17) != 0)
23967 : return -1;
23968 : switch (GET_MODE (operands[0]))
23969 : {
23970 : case E_SImode:
23971 : if (pattern1505 (x1,
23972 : E_SImode) != 0
23973 : || !
23974 : #line 12003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23975 : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)))
23976 : return -1;
23977 : return 681; /* *udivmodsi4_pow2 */
23978 :
23979 : case E_DImode:
23980 : if (pattern1505 (x1,
23981 : E_DImode) != 0
23982 : || !(
23983 : #line 12003 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23984 : (IN_RANGE (exact_log2 (UINTVAL (operands[3])), 1, 31)) &&
23985 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
23986 : (TARGET_64BIT)))
23987 : return -1;
23988 : return 682; /* *udivmoddi4_pow2 */
23989 :
23990 : default:
23991 : return -1;
23992 : }
23993 :
23994 : default:
23995 : return -1;
23996 : }
23997 :
23998 : case ABS:
23999 : switch (pattern227 (x1))
24000 : {
24001 : case 0:
24002 : if (!
24003 : #line 15179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24004 : (TARGET_AVX512FP16))
24005 : return -1;
24006 : return 1048; /* *abshf2_1 */
24007 :
24008 : case 1:
24009 : if (!
24010 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24011 : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
24012 : return -1;
24013 : return 1050; /* *abssf2_1 */
24014 :
24015 : case 2:
24016 : if (!
24017 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24018 : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
24019 : return -1;
24020 : return 1052; /* *absdf2_1 */
24021 :
24022 : default:
24023 : return -1;
24024 : }
24025 :
24026 : case NEG:
24027 : switch (pattern227 (x1))
24028 : {
24029 : case 0:
24030 : if (!
24031 : #line 15179 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24032 : (TARGET_AVX512FP16))
24033 : return -1;
24034 : return 1049; /* *neghf2_1 */
24035 :
24036 : case 1:
24037 : if (!
24038 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24039 : (TARGET_80387 || (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)))
24040 : return -1;
24041 : return 1051; /* *negsf2_1 */
24042 :
24043 : case 2:
24044 : if (!
24045 : #line 15195 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24046 : (TARGET_80387 || (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)))
24047 : return -1;
24048 : return 1053; /* *negdf2_1 */
24049 :
24050 : default:
24051 : return -1;
24052 : }
24053 :
24054 : case ROTATE:
24055 : switch (pattern229 (x1))
24056 : {
24057 : case 0:
24058 : if (!
24059 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24060 : (!TARGET_64BIT))
24061 : return -1;
24062 : return 1364; /* ix86_rotldi3_doubleword */
24063 :
24064 : case 1:
24065 : if (!
24066 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24067 : (TARGET_64BIT))
24068 : return -1;
24069 : return 1365; /* ix86_rotlti3_doubleword */
24070 :
24071 : default:
24072 : return -1;
24073 : }
24074 :
24075 : case ROTATERT:
24076 : switch (pattern229 (x1))
24077 : {
24078 : case 0:
24079 : if (!
24080 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24081 : (!TARGET_64BIT))
24082 : return -1;
24083 : return 1366; /* ix86_rotrdi3_doubleword */
24084 :
24085 : case 1:
24086 : if (!
24087 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24088 : (TARGET_64BIT))
24089 : return -1;
24090 : return 1367; /* ix86_rotrti3_doubleword */
24091 :
24092 : default:
24093 : return -1;
24094 : }
24095 :
24096 : case CALL:
24097 : return recog_434 (x1, insn, pnum_clobbers);
24098 :
24099 : case PLUS:
24100 : x4 = XVECEXP (x1, 0, 2);
24101 : if (pattern230 (x4) != 0)
24102 : return -1;
24103 : x6 = XEXP (x3, 0);
24104 : if (GET_CODE (x6) == REG
24105 : && REGNO (x6) == 6)
24106 : {
24107 : x14 = XEXP (x3, 1);
24108 : if (GET_CODE (x14) == CONST_INT)
24109 : {
24110 : x5 = XEXP (x2, 0);
24111 : if (GET_CODE (x5) == REG
24112 : && REGNO (x5) == 7)
24113 : {
24114 : x7 = XVECEXP (x1, 0, 1);
24115 : if (pattern720 (x7,
24116 : 6,
24117 : MEM) == 0)
24118 : {
24119 : switch (XWINT (x14, 0))
24120 : {
24121 : case 4L:
24122 : if (pattern1704 (x1,
24123 : E_SImode) == 0
24124 : &&
24125 : #line 21233 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24126 : (!TARGET_64BIT))
24127 : return 1536; /* *leave */
24128 : break;
24129 :
24130 : case 8L:
24131 : if (pattern1704 (x1,
24132 : E_DImode) == 0
24133 : &&
24134 : #line 21241 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24135 : (TARGET_64BIT))
24136 : return 1537; /* *leave_rex64 */
24137 : break;
24138 :
24139 : default:
24140 : break;
24141 : }
24142 : }
24143 : }
24144 : }
24145 : }
24146 : x7 = XVECEXP (x1, 0, 1);
24147 : if (GET_CODE (x7) != CLOBBER)
24148 : return -1;
24149 : x12 = XEXP (x7, 0);
24150 : if (GET_CODE (x12) != REG
24151 : || REGNO (x12) != 17
24152 : || GET_MODE (x12) != E_CCmode)
24153 : return -1;
24154 : x5 = XEXP (x2, 0);
24155 : operands[0] = x5;
24156 : operands[1] = x6;
24157 : x14 = XEXP (x3, 1);
24158 : operands[2] = x14;
24159 : switch (GET_MODE (operands[0]))
24160 : {
24161 : case E_SImode:
24162 : if (pattern1434 (x3,
24163 : E_SImode) != 0
24164 : || !
24165 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24166 : (Pmode == SImode))
24167 : return -1;
24168 : return 1907; /* pro_epilogue_adjust_stack_add_si */
24169 :
24170 : case E_DImode:
24171 : if (pattern1434 (x3,
24172 : E_DImode) != 0
24173 : || !
24174 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24175 : (Pmode == DImode))
24176 : return -1;
24177 : return 1908; /* pro_epilogue_adjust_stack_add_di */
24178 :
24179 : default:
24180 : return -1;
24181 : }
24182 :
24183 : case FFS:
24184 : if (GET_MODE (x3) != E_SImode)
24185 : return -1;
24186 : x7 = XVECEXP (x1, 0, 1);
24187 : if (GET_CODE (x7) != CLOBBER)
24188 : return -1;
24189 : x4 = XVECEXP (x1, 0, 2);
24190 : if (GET_CODE (x4) != CLOBBER
24191 : || pattern719 (x1) != 0
24192 : || !
24193 : #line 21336 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24194 : (!TARGET_CMOVE))
24195 : return -1;
24196 : return 1539; /* ffssi2_no_cmove */
24197 :
24198 : case COMPARE:
24199 : return recog_435 (x1, insn, pnum_clobbers);
24200 :
24201 : case CTZ:
24202 : switch (pattern234 (x1))
24203 : {
24204 : case 0:
24205 : return 1548; /* *ctzsi2_falsedep */
24206 :
24207 : case 1:
24208 : if (!
24209 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24210 : (TARGET_64BIT))
24211 : return -1;
24212 : return 1549; /* *ctzdi2_falsedep */
24213 :
24214 : default:
24215 : return -1;
24216 : }
24217 :
24218 : case AND:
24219 : if (GET_MODE (x3) != E_DImode)
24220 : return -1;
24221 : x6 = XEXP (x3, 0);
24222 : if (GET_CODE (x6) != SUBREG
24223 : || maybe_ne (SUBREG_BYTE (x6), 0)
24224 : || GET_MODE (x6) != E_DImode)
24225 : return -1;
24226 : x14 = XEXP (x3, 1);
24227 : if (x14 != const_int_rtx[MAX_SAVED_CONST_INT + 63])
24228 : return -1;
24229 : x7 = XVECEXP (x1, 0, 1);
24230 : if (GET_CODE (x7) != UNSPEC
24231 : || XVECLEN (x7, 0) != 1
24232 : || XINT (x7, 1) != 39
24233 : || pattern838 (x1) != 0
24234 : || !register_operand (operands[0], E_DImode))
24235 : return -1;
24236 : x9 = XEXP (x6, 0);
24237 : if (GET_MODE (x9) != E_SImode)
24238 : return -1;
24239 : x10 = XVECEXP (x7, 0, 0);
24240 : operands[2] = x10;
24241 : if (!register_operand (operands[2], E_DImode))
24242 : return -1;
24243 : switch (GET_CODE (x9))
24244 : {
24245 : case CTZ:
24246 : x13 = XEXP (x9, 0);
24247 : operands[1] = x13;
24248 : if (!nonimmediate_operand (operands[1], E_SImode)
24249 : || !
24250 : #line 21519 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24251 : (TARGET_BMI && TARGET_64BIT))
24252 : return -1;
24253 : return 1551; /* *ctzsi2_zext_falsedep */
24254 :
24255 : case CLZ:
24256 : x13 = XEXP (x9, 0);
24257 : operands[1] = x13;
24258 : switch (GET_MODE (operands[1]))
24259 : {
24260 : case E_SImode:
24261 : if (!nonimmediate_operand (operands[1], E_SImode)
24262 : || !
24263 : #line 21957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24264 : (TARGET_LZCNT))
24265 : return -1;
24266 : return 1575; /* *clzsi2_lzcnt_zext_falsedep */
24267 :
24268 : case E_DImode:
24269 : if (!nonimmediate_operand (operands[1], E_DImode)
24270 : || !(
24271 : #line 21957 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24272 : (TARGET_LZCNT) &&
24273 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24274 : (TARGET_64BIT)))
24275 : return -1;
24276 : return 1576; /* *clzsi2_lzcnt_zext_falsedep */
24277 :
24278 : default:
24279 : return -1;
24280 : }
24281 :
24282 : case POPCOUNT:
24283 : x13 = XEXP (x9, 0);
24284 : operands[1] = x13;
24285 : if (!nonimmediate_operand (operands[1], E_SImode)
24286 : || !
24287 : #line 22788 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24288 : (TARGET_POPCNT && TARGET_64BIT))
24289 : return -1;
24290 : return 1667; /* *popcountsi2_zext_falsedep */
24291 :
24292 : default:
24293 : return -1;
24294 : }
24295 :
24296 : case CLZ:
24297 : switch (pattern234 (x1))
24298 : {
24299 : case 0:
24300 : if (!
24301 : #line 21914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24302 : (TARGET_LZCNT))
24303 : return -1;
24304 : return 1572; /* *clzsi2_lzcnt_falsedep */
24305 :
24306 : case 1:
24307 : if (!(
24308 : #line 21914 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24309 : (TARGET_LZCNT) &&
24310 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24311 : (TARGET_64BIT)))
24312 : return -1;
24313 : return 1573; /* *clzdi2_lzcnt_falsedep */
24314 :
24315 : default:
24316 : return -1;
24317 : }
24318 :
24319 : case XOR:
24320 : x6 = XEXP (x3, 0);
24321 : if (GET_CODE (x6) != PLUS)
24322 : return -1;
24323 : x11 = XEXP (x6, 1);
24324 : if (x11 != const_int_rtx[MAX_SAVED_CONST_INT + -1])
24325 : return -1;
24326 : x7 = XVECEXP (x1, 0, 1);
24327 : if (pattern236 (x7,
24328 : E_CCmode,
24329 : 17) != 0)
24330 : return -1;
24331 : x4 = XVECEXP (x1, 0, 2);
24332 : if (GET_CODE (x4) != UNSPEC
24333 : || XVECLEN (x4, 0) != 1
24334 : || XINT (x4, 1) != 39)
24335 : return -1;
24336 : x5 = XEXP (x2, 0);
24337 : operands[0] = x5;
24338 : x9 = XEXP (x6, 0);
24339 : operands[1] = x9;
24340 : x15 = XVECEXP (x4, 0, 0);
24341 : operands[2] = x15;
24342 : x14 = XEXP (x3, 1);
24343 : if (!rtx_equal_p (x14, operands[1]))
24344 : return -1;
24345 : switch (GET_MODE (operands[0]))
24346 : {
24347 : case E_SImode:
24348 : if (pattern1643 (x3,
24349 : E_SImode) != 0
24350 : || !
24351 : #line 22264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24352 : (TARGET_BMI))
24353 : return -1;
24354 : return 1614; /* *bmi_blsmsk_si_falsedep */
24355 :
24356 : case E_DImode:
24357 : if (pattern1643 (x3,
24358 : E_DImode) != 0
24359 : || !(
24360 : #line 22264 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24361 : (TARGET_BMI) &&
24362 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24363 : (TARGET_64BIT)))
24364 : return -1;
24365 : return 1615; /* *bmi_blsmsk_di_falsedep */
24366 :
24367 : default:
24368 : return -1;
24369 : }
24370 :
24371 : case POPCOUNT:
24372 : switch (pattern234 (x1))
24373 : {
24374 : case 0:
24375 : if (!
24376 : #line 22733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24377 : (TARGET_POPCNT))
24378 : return -1;
24379 : return 1664; /* *popcountsi2_falsedep */
24380 :
24381 : case 1:
24382 : if (!(
24383 : #line 22733 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24384 : (TARGET_POPCNT) &&
24385 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24386 : (TARGET_64BIT)))
24387 : return -1;
24388 : return 1665; /* *popcountdi2_falsedep */
24389 :
24390 : default:
24391 : return -1;
24392 : }
24393 :
24394 : case MEM:
24395 : return recog_436 (x1, insn, pnum_clobbers);
24396 :
24397 : case REG:
24398 : case SUBREG:
24399 : operands[2] = x3;
24400 : if (pattern235 (x1) != 0)
24401 : return -1;
24402 : x4 = XVECEXP (x1, 0, 2);
24403 : if (pattern385 (x4,
24404 : 37) != 0)
24405 : return -1;
24406 : x5 = XEXP (x2, 0);
24407 : x16 = XEXP (x5, 0);
24408 : operands[1] = x16;
24409 : x7 = XVECEXP (x1, 0, 1);
24410 : x12 = XEXP (x7, 0);
24411 : operands[0] = x12;
24412 : x17 = XEXP (x7, 1);
24413 : x18 = XEXP (x17, 0);
24414 : if (!rtx_equal_p (x18, operands[1]))
24415 : return -1;
24416 : x19 = XEXP (x17, 1);
24417 : switch (XWINT (x19, 0))
24418 : {
24419 : case 8L:
24420 : switch (pattern1586 (x1,
24421 : E_DImode))
24422 : {
24423 : case 0:
24424 : if (!(
24425 : #line 26277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24426 : (TARGET_64BIT
24427 : && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24428 : && ADDR_SPACE_GENERIC_P
24429 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24430 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24431 : (Pmode == SImode)))
24432 : return -1;
24433 : return 1809; /* *strsetdi_rex_1 */
24434 :
24435 : case 1:
24436 : if (!(
24437 : #line 26277 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24438 : (TARGET_64BIT
24439 : && !(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24440 : && ADDR_SPACE_GENERIC_P
24441 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24442 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24443 : (Pmode == DImode)))
24444 : return -1;
24445 : return 1810; /* *strsetdi_rex_1 */
24446 :
24447 : default:
24448 : return -1;
24449 : }
24450 :
24451 : case 4L:
24452 : switch (pattern1586 (x1,
24453 : E_SImode))
24454 : {
24455 : case 0:
24456 : if (!(
24457 : #line 26293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24458 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24459 : && ADDR_SPACE_GENERIC_P
24460 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24461 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24462 : (Pmode == SImode)))
24463 : return -1;
24464 : return 1811; /* *strsetsi_1 */
24465 :
24466 : case 1:
24467 : if (!(
24468 : #line 26293 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24469 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24470 : && ADDR_SPACE_GENERIC_P
24471 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24472 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24473 : (Pmode == DImode)))
24474 : return -1;
24475 : return 1812; /* *strsetsi_1 */
24476 :
24477 : default:
24478 : return -1;
24479 : }
24480 :
24481 : case 2L:
24482 : switch (pattern1586 (x1,
24483 : E_HImode))
24484 : {
24485 : case 0:
24486 : if (!(
24487 : #line 26308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24488 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24489 : && ADDR_SPACE_GENERIC_P
24490 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24491 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24492 : (Pmode == SImode)))
24493 : return -1;
24494 : return 1813; /* *strsethi_1 */
24495 :
24496 : case 1:
24497 : if (!(
24498 : #line 26308 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24499 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24500 : && ADDR_SPACE_GENERIC_P
24501 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24502 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24503 : (Pmode == DImode)))
24504 : return -1;
24505 : return 1814; /* *strsethi_1 */
24506 :
24507 : default:
24508 : return -1;
24509 : }
24510 :
24511 : case 1L:
24512 : switch (pattern1586 (x1,
24513 : E_QImode))
24514 : {
24515 : case 0:
24516 : if (!(
24517 : #line 26323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24518 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24519 : && ADDR_SPACE_GENERIC_P
24520 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24521 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24522 : (Pmode == SImode)))
24523 : return -1;
24524 : return 1815; /* *strsetqi_1 */
24525 :
24526 : case 1:
24527 : if (!(
24528 : #line 26323 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24529 : (!(fixed_regs[AX_REG] || fixed_regs[DI_REG])
24530 : && ADDR_SPACE_GENERIC_P
24531 : (MEM_ADDR_SPACE (SET_DEST (XVECEXP (PATTERN (insn), 0, 0))))) &&
24532 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24533 : (Pmode == DImode)))
24534 : return -1;
24535 : return 1816; /* *strsetqi_1 */
24536 :
24537 : default:
24538 : return -1;
24539 : }
24540 :
24541 : default:
24542 : return -1;
24543 : }
24544 :
24545 : case MINUS:
24546 : x7 = XVECEXP (x1, 0, 1);
24547 : if (pattern236 (x7,
24548 : E_CCmode,
24549 : 17) != 0)
24550 : return -1;
24551 : x4 = XVECEXP (x1, 0, 2);
24552 : if (pattern230 (x4) != 0)
24553 : return -1;
24554 : x5 = XEXP (x2, 0);
24555 : operands[0] = x5;
24556 : x6 = XEXP (x3, 0);
24557 : operands[1] = x6;
24558 : x14 = XEXP (x3, 1);
24559 : operands[2] = x14;
24560 : switch (GET_MODE (operands[0]))
24561 : {
24562 : case E_SImode:
24563 : if (pattern570 (x3,
24564 : E_SImode) != 0
24565 : || !
24566 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24567 : (Pmode == SImode))
24568 : return -1;
24569 : return 1911; /* pro_epilogue_adjust_stack_sub_si */
24570 :
24571 : case E_DImode:
24572 : if (pattern570 (x3,
24573 : E_DImode) != 0
24574 : || !
24575 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24576 : (Pmode == DImode))
24577 : return -1;
24578 : return 1912; /* pro_epilogue_adjust_stack_sub_di */
24579 :
24580 : default:
24581 : return -1;
24582 : }
24583 :
24584 : case UNSPEC_VOLATILE:
24585 : return recog_433 (x1, insn, pnum_clobbers);
24586 :
24587 : default:
24588 : return -1;
24589 : }
24590 :
24591 : case CALL:
24592 : x5 = XEXP (x2, 0);
24593 : if (GET_CODE (x5) != MEM
24594 : || GET_MODE (x5) != E_QImode
24595 : || pattern386 (x1) != 0)
24596 : return -1;
24597 : x16 = XEXP (x5, 0);
24598 : operands[0] = x16;
24599 : if (!memory_operand (operands[0], E_SImode))
24600 : return -1;
24601 : x3 = XEXP (x2, 1);
24602 : operands[1] = x3;
24603 : x7 = XVECEXP (x1, 0, 1);
24604 : x17 = XEXP (x7, 1);
24605 : x19 = XEXP (x17, 1);
24606 : operands[2] = x19;
24607 : if (!immediate_operand (operands[2], E_SImode)
24608 : || !
24609 : #line 20615 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24610 : (!TARGET_64BIT && !TARGET_INDIRECT_BRANCH_REGISTER))
24611 : return -1;
24612 : return 1506; /* *sibcall_pop_memory */
24613 :
24614 : default:
24615 : return -1;
24616 : }
24617 : }
24618 :
24619 : rtx_insn *
24620 : split_22 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24621 : {
24622 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24623 : rtx x2, x3, x4, x5, x6, x7, x8;
24624 : rtx_insn *res ATTRIBUTE_UNUSED;
24625 : x2 = XVECEXP (x1, 0, 0);
24626 : x3 = XEXP (x2, 1);
24627 : x4 = XEXP (x3, 0);
24628 : x5 = XEXP (x4, 0);
24629 : switch (GET_CODE (x5))
24630 : {
24631 : case REG:
24632 : case SUBREG:
24633 : operands[1] = x5;
24634 : if (!register_operand (operands[1], E_SImode))
24635 : return NULL;
24636 : x6 = XEXP (x2, 0);
24637 : operands[0] = x6;
24638 : if (!register_operand (operands[0], E_DImode)
24639 : || GET_MODE (x3) != E_DImode
24640 : || GET_MODE (x4) != E_DImode)
24641 : return NULL;
24642 : x7 = XEXP (x3, 1);
24643 : operands[2] = x7;
24644 : if (!x86_64_zext_immediate_operand (operands[2], E_DImode)
24645 : || !
24646 : #line 12940 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24647 : (TARGET_64BIT))
24648 : return NULL;
24649 : return gen_split_292 (insn, operands);
24650 :
24651 : case ASHIFTRT:
24652 : case LSHIFTRT:
24653 : case SIGN_EXTRACT:
24654 : case ZERO_EXTRACT:
24655 : operands[3] = x5;
24656 : if (GET_MODE (x3) != E_QImode
24657 : || GET_MODE (x4) != E_QImode)
24658 : return NULL;
24659 : x8 = XEXP (x5, 0);
24660 : if (!int248_register_operand (x8, E_VOIDmode))
24661 : return NULL;
24662 : operands[2] = x8;
24663 : switch (pattern1644 (x2))
24664 : {
24665 : case 0:
24666 : if ((
24667 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24668 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24669 : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24670 : ( reload_completed
24671 : && !rtx_equal_p (operands[0], operands[1]))))
24672 : return gen_split_299 (insn, operands);
24673 : break;
24674 :
24675 : case 1:
24676 : if ((
24677 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24678 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24679 : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24680 : ( reload_completed
24681 : && !rtx_equal_p (operands[0], operands[1]))))
24682 : return gen_split_302 (insn, operands);
24683 : break;
24684 :
24685 : case 2:
24686 : if (((
24687 : #line 13108 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24688 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24689 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24690 : (TARGET_64BIT)) &&
24691 : #line 13112 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24692 : ( reload_completed
24693 : && !rtx_equal_p (operands[0], operands[1]))))
24694 : return gen_split_305 (insn, operands);
24695 : break;
24696 :
24697 : default:
24698 : break;
24699 : }
24700 : operands[1] = x8;
24701 : switch (pattern1645 (x2))
24702 : {
24703 : case 0:
24704 : if (!(
24705 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24706 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24707 : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24708 : ( reload_completed)))
24709 : return NULL;
24710 : return gen_split_308 (insn, operands);
24711 :
24712 : case 1:
24713 : if (!(
24714 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24715 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24716 : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24717 : ( reload_completed)))
24718 : return NULL;
24719 : return gen_split_311 (insn, operands);
24720 :
24721 : case 2:
24722 : if (!((
24723 : #line 13137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24724 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
24725 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24726 : (TARGET_64BIT)) &&
24727 : #line 13139 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24728 : ( reload_completed)))
24729 : return NULL;
24730 : return gen_split_314 (insn, operands);
24731 :
24732 : case 3:
24733 : if (!
24734 : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24735 : ( reload_completed))
24736 : return NULL;
24737 : return gen_split_328 (insn, operands);
24738 :
24739 : case 4:
24740 : if (!
24741 : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24742 : ( reload_completed))
24743 : return NULL;
24744 : return gen_split_331 (insn, operands);
24745 :
24746 : case 5:
24747 : if (!(
24748 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24749 : (TARGET_64BIT) &&
24750 : #line 13374 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24751 : ( reload_completed)))
24752 : return NULL;
24753 : return gen_split_334 (insn, operands);
24754 :
24755 : default:
24756 : return NULL;
24757 : }
24758 :
24759 : case ROTATE:
24760 : if (GET_MODE (x5) != E_SImode)
24761 : return NULL;
24762 : x8 = XEXP (x5, 0);
24763 : if (x8 != const_int_rtx[MAX_SAVED_CONST_INT + -2])
24764 : return NULL;
24765 : switch (pattern1443 (x2))
24766 : {
24767 : case 0:
24768 : if (!(
24769 : #line 19302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24770 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
24771 : #line 19304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24772 : ( 1)))
24773 : return NULL;
24774 : return gen_split_814 (insn, operands);
24775 :
24776 : case 1:
24777 : if (!(
24778 : #line 19302 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24779 : (TARGET_USE_BT && ix86_pre_reload_split ()) &&
24780 : #line 19304 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24781 : ( 1)))
24782 : return NULL;
24783 : return gen_split_815 (insn, operands);
24784 :
24785 : default:
24786 : return NULL;
24787 : }
24788 :
24789 : default:
24790 : return NULL;
24791 : }
24792 : }
24793 :
24794 : rtx_insn *
24795 : split_28 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
24796 : {
24797 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
24798 : rtx x2, x3, x4, x5, x6, x7;
24799 : rtx_insn *res ATTRIBUTE_UNUSED;
24800 : x2 = XVECEXP (x1, 0, 0);
24801 : x3 = XEXP (x2, 1);
24802 : if (maybe_ne (SUBREG_BYTE (x3), 0))
24803 : return NULL;
24804 : x4 = XVECEXP (x1, 0, 1);
24805 : if (pattern236 (x4,
24806 : E_CCmode,
24807 : 17) != 0)
24808 : return NULL;
24809 : switch (pattern1047 (x2))
24810 : {
24811 : case 0:
24812 : x5 = XEXP (x3, 0);
24813 : x6 = XEXP (x5, 1);
24814 : operands[2] = x6;
24815 : if (general_operand (operands[2], E_QImode))
24816 : {
24817 : switch (pattern1045 (x2))
24818 : {
24819 : case 0:
24820 : if (
24821 : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24822 : (reload_completed
24823 : && !rtx_equal_p (operands[0], operands[1])))
24824 : return gen_split_143 (insn, operands);
24825 : break;
24826 :
24827 : case 1:
24828 : if (
24829 : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24830 : (reload_completed
24831 : && !rtx_equal_p (operands[0], operands[1])))
24832 : return gen_split_144 (insn, operands);
24833 : break;
24834 :
24835 : case 2:
24836 : if ((
24837 : #line 7586 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24838 : (reload_completed
24839 : && !rtx_equal_p (operands[0], operands[1])) &&
24840 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24841 : (TARGET_64BIT)))
24842 : return gen_split_145 (insn, operands);
24843 : break;
24844 :
24845 : default:
24846 : break;
24847 : }
24848 : }
24849 : if (GET_CODE (x6) != SUBREG)
24850 : return NULL;
24851 : switch (pattern1814 (x2))
24852 : {
24853 : case 0:
24854 : if (!
24855 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24856 : (reload_completed
24857 : && !(rtx_equal_p (operands[0], operands[1])
24858 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24859 : return NULL;
24860 : return gen_split_146 (insn, operands);
24861 :
24862 : case 1:
24863 : if (!
24864 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24865 : (reload_completed
24866 : && !(rtx_equal_p (operands[0], operands[1])
24867 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24868 : return NULL;
24869 : return gen_split_148 (insn, operands);
24870 :
24871 : case 2:
24872 : if (!(
24873 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24874 : (reload_completed
24875 : && !(rtx_equal_p (operands[0], operands[1])
24876 : || (PLUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
24877 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24878 : (TARGET_64BIT)))
24879 : return NULL;
24880 : return gen_split_150 (insn, operands);
24881 :
24882 : default:
24883 : return NULL;
24884 : }
24885 :
24886 : case 1:
24887 : x5 = XEXP (x3, 0);
24888 : x6 = XEXP (x5, 1);
24889 : if (GET_CODE (x6) == SUBREG)
24890 : {
24891 : switch (pattern1814 (x2))
24892 : {
24893 : case 0:
24894 : if (
24895 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24896 : (reload_completed
24897 : && !(rtx_equal_p (operands[0], operands[1])
24898 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24899 : return gen_split_147 (insn, operands);
24900 : break;
24901 :
24902 : case 1:
24903 : if (
24904 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24905 : (reload_completed
24906 : && !(rtx_equal_p (operands[0], operands[1])
24907 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))))
24908 : return gen_split_149 (insn, operands);
24909 : break;
24910 :
24911 : case 2:
24912 : if ((
24913 : #line 7629 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24914 : (reload_completed
24915 : && !(rtx_equal_p (operands[0], operands[1])
24916 : || (MINUS == PLUS && rtx_equal_p (operands[0], operands[2])))) &&
24917 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24918 : (TARGET_64BIT)))
24919 : return gen_split_151 (insn, operands);
24920 : break;
24921 :
24922 : default:
24923 : break;
24924 : }
24925 : }
24926 : operands[2] = x6;
24927 : if (!general_operand (operands[2], E_QImode))
24928 : return NULL;
24929 : switch (pattern1045 (x2))
24930 : {
24931 : case 0:
24932 : if (!
24933 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24934 : (reload_completed
24935 : && !(rtx_equal_p (operands[0], operands[1]))))
24936 : return NULL;
24937 : return gen_split_189 (insn, operands);
24938 :
24939 : case 1:
24940 : if (!
24941 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24942 : (reload_completed
24943 : && !(rtx_equal_p (operands[0], operands[1]))))
24944 : return NULL;
24945 : return gen_split_190 (insn, operands);
24946 :
24947 : case 2:
24948 : if (!(
24949 : #line 8394 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24950 : (reload_completed
24951 : && !(rtx_equal_p (operands[0], operands[1]))) &&
24952 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24953 : (TARGET_64BIT)))
24954 : return NULL;
24955 : return gen_split_191 (insn, operands);
24956 :
24957 : default:
24958 : return NULL;
24959 : }
24960 :
24961 : case 2:
24962 : x5 = XEXP (x3, 0);
24963 : x6 = XEXP (x5, 1);
24964 : operands[2] = x6;
24965 : if (general_operand (operands[2], E_QImode))
24966 : {
24967 : switch (pattern1045 (x2))
24968 : {
24969 : case 0:
24970 : if (
24971 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24972 : (reload_completed
24973 : && !(rtx_equal_p (operands[0], operands[1]))))
24974 : return gen_split_337 (insn, operands);
24975 : break;
24976 :
24977 : case 1:
24978 : if (
24979 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24980 : (reload_completed
24981 : && !(rtx_equal_p (operands[0], operands[1]))))
24982 : return gen_split_340 (insn, operands);
24983 : break;
24984 :
24985 : case 2:
24986 : if ((
24987 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24988 : (reload_completed
24989 : && !(rtx_equal_p (operands[0], operands[1]))) &&
24990 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
24991 : (TARGET_64BIT)))
24992 : return gen_split_343 (insn, operands);
24993 : break;
24994 :
24995 : default:
24996 : break;
24997 : }
24998 : }
24999 : if (GET_CODE (x6) != SUBREG)
25000 : return NULL;
25001 : switch (pattern1814 (x2))
25002 : {
25003 : case 0:
25004 : if (!
25005 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25006 : (reload_completed
25007 : && !(rtx_equal_p (operands[0], operands[1])
25008 : || rtx_equal_p (operands[0], operands[2]))))
25009 : return NULL;
25010 : return gen_split_355 (insn, operands);
25011 :
25012 : case 1:
25013 : if (!
25014 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25015 : (reload_completed
25016 : && !(rtx_equal_p (operands[0], operands[1])
25017 : || rtx_equal_p (operands[0], operands[2]))))
25018 : return NULL;
25019 : return gen_split_358 (insn, operands);
25020 :
25021 : case 2:
25022 : if (!(
25023 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25024 : (reload_completed
25025 : && !(rtx_equal_p (operands[0], operands[1])
25026 : || rtx_equal_p (operands[0], operands[2]))) &&
25027 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25028 : (TARGET_64BIT)))
25029 : return NULL;
25030 : return gen_split_361 (insn, operands);
25031 :
25032 : default:
25033 : return NULL;
25034 : }
25035 :
25036 : case 3:
25037 : x5 = XEXP (x3, 0);
25038 : x6 = XEXP (x5, 1);
25039 : operands[2] = x6;
25040 : if (general_operand (operands[2], E_QImode))
25041 : {
25042 : switch (pattern1045 (x2))
25043 : {
25044 : case 0:
25045 : if (
25046 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25047 : (reload_completed
25048 : && !(rtx_equal_p (operands[0], operands[1]))))
25049 : return gen_split_338 (insn, operands);
25050 : break;
25051 :
25052 : case 1:
25053 : if (
25054 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25055 : (reload_completed
25056 : && !(rtx_equal_p (operands[0], operands[1]))))
25057 : return gen_split_341 (insn, operands);
25058 : break;
25059 :
25060 : case 2:
25061 : if ((
25062 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25063 : (reload_completed
25064 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25065 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25066 : (TARGET_64BIT)))
25067 : return gen_split_344 (insn, operands);
25068 : break;
25069 :
25070 : default:
25071 : break;
25072 : }
25073 : }
25074 : if (GET_CODE (x6) != SUBREG)
25075 : return NULL;
25076 : switch (pattern1814 (x2))
25077 : {
25078 : case 0:
25079 : if (!
25080 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25081 : (reload_completed
25082 : && !(rtx_equal_p (operands[0], operands[1])
25083 : || rtx_equal_p (operands[0], operands[2]))))
25084 : return NULL;
25085 : return gen_split_356 (insn, operands);
25086 :
25087 : case 1:
25088 : if (!
25089 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25090 : (reload_completed
25091 : && !(rtx_equal_p (operands[0], operands[1])
25092 : || rtx_equal_p (operands[0], operands[2]))))
25093 : return NULL;
25094 : return gen_split_359 (insn, operands);
25095 :
25096 : case 2:
25097 : if (!(
25098 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25099 : (reload_completed
25100 : && !(rtx_equal_p (operands[0], operands[1])
25101 : || rtx_equal_p (operands[0], operands[2]))) &&
25102 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25103 : (TARGET_64BIT)))
25104 : return NULL;
25105 : return gen_split_362 (insn, operands);
25106 :
25107 : default:
25108 : return NULL;
25109 : }
25110 :
25111 : case 4:
25112 : x5 = XEXP (x3, 0);
25113 : x6 = XEXP (x5, 1);
25114 : operands[2] = x6;
25115 : if (general_operand (operands[2], E_QImode))
25116 : {
25117 : switch (pattern1045 (x2))
25118 : {
25119 : case 0:
25120 : if (
25121 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25122 : (reload_completed
25123 : && !(rtx_equal_p (operands[0], operands[1]))))
25124 : return gen_split_339 (insn, operands);
25125 : break;
25126 :
25127 : case 1:
25128 : if (
25129 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25130 : (reload_completed
25131 : && !(rtx_equal_p (operands[0], operands[1]))))
25132 : return gen_split_342 (insn, operands);
25133 : break;
25134 :
25135 : case 2:
25136 : if ((
25137 : #line 13422 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25138 : (reload_completed
25139 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25140 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25141 : (TARGET_64BIT)))
25142 : return gen_split_345 (insn, operands);
25143 : break;
25144 :
25145 : default:
25146 : break;
25147 : }
25148 : }
25149 : if (GET_CODE (x6) != SUBREG)
25150 : return NULL;
25151 : switch (pattern1814 (x2))
25152 : {
25153 : case 0:
25154 : if (!
25155 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25156 : (reload_completed
25157 : && !(rtx_equal_p (operands[0], operands[1])
25158 : || rtx_equal_p (operands[0], operands[2]))))
25159 : return NULL;
25160 : return gen_split_357 (insn, operands);
25161 :
25162 : case 1:
25163 : if (!
25164 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25165 : (reload_completed
25166 : && !(rtx_equal_p (operands[0], operands[1])
25167 : || rtx_equal_p (operands[0], operands[2]))))
25168 : return NULL;
25169 : return gen_split_360 (insn, operands);
25170 :
25171 : case 2:
25172 : if (!(
25173 : #line 13514 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25174 : (reload_completed
25175 : && !(rtx_equal_p (operands[0], operands[1])
25176 : || rtx_equal_p (operands[0], operands[2]))) &&
25177 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25178 : (TARGET_64BIT)))
25179 : return NULL;
25180 : return gen_split_363 (insn, operands);
25181 :
25182 : default:
25183 : return NULL;
25184 : }
25185 :
25186 : case 5:
25187 : if (!
25188 : #line 14832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25189 : (reload_completed
25190 : && !(rtx_equal_p (operands[0], operands[1]))))
25191 : return NULL;
25192 : return gen_split_500 (insn, operands);
25193 :
25194 : case 6:
25195 : if (!
25196 : #line 14832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25197 : (reload_completed
25198 : && !(rtx_equal_p (operands[0], operands[1]))))
25199 : return NULL;
25200 : return gen_split_501 (insn, operands);
25201 :
25202 : case 7:
25203 : if (!(
25204 : #line 14832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25205 : (reload_completed
25206 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25207 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25208 : (TARGET_64BIT)))
25209 : return NULL;
25210 : return gen_split_502 (insn, operands);
25211 :
25212 : case 8:
25213 : if (!
25214 : #line 16863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25215 : (reload_completed
25216 : && !(rtx_equal_p (operands[0], operands[1]))))
25217 : return NULL;
25218 : return gen_split_592 (insn, operands);
25219 :
25220 : case 9:
25221 : if (!
25222 : #line 16863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25223 : (reload_completed
25224 : && !(rtx_equal_p (operands[0], operands[1]))))
25225 : return NULL;
25226 : return gen_split_593 (insn, operands);
25227 :
25228 : case 10:
25229 : if (!(
25230 : #line 16863 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25231 : (reload_completed
25232 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25233 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25234 : (TARGET_64BIT)))
25235 : return NULL;
25236 : return gen_split_594 (insn, operands);
25237 :
25238 : case 11:
25239 : x7 = XEXP (x2, 0);
25240 : operands[0] = x7;
25241 : switch (pattern1240 (x3))
25242 : {
25243 : case 0:
25244 : if (((
25245 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25246 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25247 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25248 : (!TARGET_64BIT)) &&
25249 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25250 : ( reload_completed)))
25251 : return gen_split_611 (insn, operands);
25252 : break;
25253 :
25254 : case 1:
25255 : if (((
25256 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25257 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25258 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25259 : (TARGET_64BIT)) &&
25260 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25261 : ( reload_completed)))
25262 : return gen_split_613 (insn, operands);
25263 : break;
25264 :
25265 : default:
25266 : break;
25267 : }
25268 : x5 = XEXP (x3, 0);
25269 : if (GET_MODE (x5) != E_QImode)
25270 : return NULL;
25271 : switch (pattern1046 (x2))
25272 : {
25273 : case 0:
25274 : if (!
25275 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25276 : (reload_completed
25277 : && !(rtx_equal_p (operands[0], operands[1]))))
25278 : return NULL;
25279 : return gen_split_638 (insn, operands);
25280 :
25281 : case 1:
25282 : if (!
25283 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25284 : (reload_completed
25285 : && !(rtx_equal_p (operands[0], operands[1]))))
25286 : return NULL;
25287 : return gen_split_640 (insn, operands);
25288 :
25289 : case 2:
25290 : if (!(
25291 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25292 : (reload_completed
25293 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25294 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25295 : (TARGET_64BIT)))
25296 : return NULL;
25297 : return gen_split_642 (insn, operands);
25298 :
25299 : default:
25300 : return NULL;
25301 : }
25302 :
25303 : case 12:
25304 : x7 = XEXP (x2, 0);
25305 : operands[0] = x7;
25306 : switch (pattern1240 (x3))
25307 : {
25308 : case 0:
25309 : if (((
25310 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25311 : (UINTVAL (operands[2]) < 4 * BITS_PER_UNIT) &&
25312 : #line 1236 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25313 : (!TARGET_64BIT)) &&
25314 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25315 : ( reload_completed)))
25316 : return gen_split_612 (insn, operands);
25317 : break;
25318 :
25319 : case 1:
25320 : if (((
25321 : #line 17093 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25322 : (UINTVAL (operands[2]) < 8 * BITS_PER_UNIT) &&
25323 : #line 1237 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25324 : (TARGET_64BIT)) &&
25325 : #line 17095 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25326 : ( reload_completed)))
25327 : return gen_split_614 (insn, operands);
25328 : break;
25329 :
25330 : default:
25331 : break;
25332 : }
25333 : x5 = XEXP (x3, 0);
25334 : if (GET_MODE (x5) != E_QImode)
25335 : return NULL;
25336 : switch (pattern1046 (x2))
25337 : {
25338 : case 0:
25339 : if (!
25340 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25341 : (reload_completed
25342 : && !(rtx_equal_p (operands[0], operands[1]))))
25343 : return NULL;
25344 : return gen_split_639 (insn, operands);
25345 :
25346 : case 1:
25347 : if (!
25348 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25349 : (reload_completed
25350 : && !(rtx_equal_p (operands[0], operands[1]))))
25351 : return NULL;
25352 : return gen_split_641 (insn, operands);
25353 :
25354 : case 2:
25355 : if (!(
25356 : #line 18137 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25357 : (reload_completed
25358 : && !(rtx_equal_p (operands[0], operands[1]))) &&
25359 : #line 1165 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25360 : (TARGET_64BIT)))
25361 : return NULL;
25362 : return gen_split_643 (insn, operands);
25363 :
25364 : default:
25365 : return NULL;
25366 : }
25367 :
25368 : default:
25369 : return NULL;
25370 : }
25371 : }
25372 :
25373 : rtx_insn *
25374 : split_35 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25375 : {
25376 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25377 : rtx x2, x3, x4, x5, x6;
25378 : rtx_insn *res ATTRIBUTE_UNUSED;
25379 : switch (pattern407 (x1))
25380 : {
25381 : case 0:
25382 : if (!(
25383 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25384 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25385 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25386 : == GET_MODE_BITSIZE (QImode)-1
25387 : && ix86_pre_reload_split ()) &&
25388 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25389 : ( 1)))
25390 : return NULL;
25391 : return gen_split_700 (insn, operands);
25392 :
25393 : case 1:
25394 : if (!(
25395 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25396 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25397 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25398 : == GET_MODE_BITSIZE (HImode)-1
25399 : && ix86_pre_reload_split ()) &&
25400 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25401 : ( 1)))
25402 : return NULL;
25403 : return gen_split_702 (insn, operands);
25404 :
25405 : case 2:
25406 : if (!(
25407 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25408 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25409 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25410 : == GET_MODE_BITSIZE (SImode)-1
25411 : && ix86_pre_reload_split ()) &&
25412 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25413 : ( 1)))
25414 : return NULL;
25415 : return gen_split_704 (insn, operands);
25416 :
25417 : case 3:
25418 : if (!((
25419 : #line 18532 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25420 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25421 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25422 : == GET_MODE_BITSIZE (DImode)-1
25423 : && ix86_pre_reload_split ()) &&
25424 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25425 : (TARGET_64BIT)) &&
25426 : #line 18537 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25427 : ( 1)))
25428 : return NULL;
25429 : return gen_split_706 (insn, operands);
25430 :
25431 : case 4:
25432 : if (!(
25433 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25434 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25435 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25436 : && ix86_pre_reload_split ()) &&
25437 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25438 : ( 1)))
25439 : return NULL;
25440 : return gen_split_732 (insn, operands);
25441 :
25442 : case 5:
25443 : if (!(
25444 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25445 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25446 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25447 : && ix86_pre_reload_split ()) &&
25448 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25449 : ( 1)))
25450 : return NULL;
25451 : return gen_split_734 (insn, operands);
25452 :
25453 : case 6:
25454 : if (!(
25455 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25456 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25457 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25458 : && ix86_pre_reload_split ()) &&
25459 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25460 : ( 1)))
25461 : return NULL;
25462 : return gen_split_736 (insn, operands);
25463 :
25464 : case 7:
25465 : if (!((
25466 : #line 18613 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25467 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25468 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25469 : && ix86_pre_reload_split ()) &&
25470 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25471 : (TARGET_64BIT)) &&
25472 : #line 18617 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25473 : ( 1)))
25474 : return NULL;
25475 : return gen_split_738 (insn, operands);
25476 :
25477 : case 8:
25478 : if (!(
25479 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25480 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25481 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25482 : && ix86_pre_reload_split ()) &&
25483 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25484 : ( 1)))
25485 : return NULL;
25486 : return gen_split_764 (insn, operands);
25487 :
25488 : case 9:
25489 : if (!(
25490 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25491 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25492 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25493 : && ix86_pre_reload_split ()) &&
25494 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25495 : ( 1)))
25496 : return NULL;
25497 : return gen_split_766 (insn, operands);
25498 :
25499 : case 10:
25500 : if (!(
25501 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25502 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25503 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25504 : && ix86_pre_reload_split ()) &&
25505 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25506 : ( 1)))
25507 : return NULL;
25508 : return gen_split_768 (insn, operands);
25509 :
25510 : case 11:
25511 : if (!((
25512 : #line 18682 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25513 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25514 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25515 : && ix86_pre_reload_split ()) &&
25516 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25517 : (TARGET_64BIT)) &&
25518 : #line 18686 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25519 : ( 1)))
25520 : return NULL;
25521 : return gen_split_770 (insn, operands);
25522 :
25523 : case 12:
25524 : x2 = XVECEXP (x1, 0, 0);
25525 : x3 = XEXP (x2, 0);
25526 : operands[0] = x3;
25527 : x4 = XEXP (x2, 1);
25528 : switch (pattern1189 (x4))
25529 : {
25530 : case 0:
25531 : if ((
25532 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25533 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25534 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (QImode)-1))
25535 : == GET_MODE_BITSIZE (QImode)-1
25536 : && ix86_pre_reload_split ()) &&
25537 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25538 : ( 1)))
25539 : return gen_split_684 (insn, operands);
25540 : break;
25541 :
25542 : case 1:
25543 : if ((
25544 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25545 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25546 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (HImode)-1))
25547 : == GET_MODE_BITSIZE (HImode)-1
25548 : && ix86_pre_reload_split ()) &&
25549 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25550 : ( 1)))
25551 : return gen_split_686 (insn, operands);
25552 : break;
25553 :
25554 : case 2:
25555 : if ((
25556 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25557 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25558 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (SImode)-1))
25559 : == GET_MODE_BITSIZE (SImode)-1
25560 : && ix86_pre_reload_split ()) &&
25561 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25562 : ( 1)))
25563 : return gen_split_688 (insn, operands);
25564 : break;
25565 :
25566 : case 3:
25567 : if (((
25568 : #line 18484 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25569 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25570 : && (INTVAL (operands[3]) & (GET_MODE_BITSIZE (DImode)-1))
25571 : == GET_MODE_BITSIZE (DImode)-1
25572 : && ix86_pre_reload_split ()) &&
25573 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25574 : (TARGET_64BIT)) &&
25575 : #line 18489 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25576 : ( 1)))
25577 : return gen_split_690 (insn, operands);
25578 : break;
25579 :
25580 : case 4:
25581 : if ((
25582 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25583 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25584 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25585 : && ix86_pre_reload_split ()) &&
25586 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25587 : ( 1)))
25588 : return gen_split_716 (insn, operands);
25589 : break;
25590 :
25591 : case 5:
25592 : if ((
25593 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25594 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25595 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25596 : && ix86_pre_reload_split ()) &&
25597 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25598 : ( 1)))
25599 : return gen_split_718 (insn, operands);
25600 : break;
25601 :
25602 : case 6:
25603 : if ((
25604 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25605 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25606 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25607 : && ix86_pre_reload_split ()) &&
25608 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25609 : ( 1)))
25610 : return gen_split_720 (insn, operands);
25611 : break;
25612 :
25613 : case 7:
25614 : if (((
25615 : #line 18577 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25616 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25617 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25618 : && ix86_pre_reload_split ()) &&
25619 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25620 : (TARGET_64BIT)) &&
25621 : #line 18581 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25622 : ( 1)))
25623 : return gen_split_722 (insn, operands);
25624 : break;
25625 :
25626 : case 8:
25627 : if ((
25628 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25629 : (ix86_binary_operator_ok (ROTATE, QImode, operands)
25630 : && (INTVAL (operands[3]) & (1 * BITS_PER_UNIT - 1)) == 0
25631 : && ix86_pre_reload_split ()) &&
25632 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25633 : ( 1)))
25634 : return gen_split_748 (insn, operands);
25635 : break;
25636 :
25637 : case 9:
25638 : if ((
25639 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25640 : (ix86_binary_operator_ok (ROTATE, HImode, operands)
25641 : && (INTVAL (operands[3]) & (2 * BITS_PER_UNIT - 1)) == 0
25642 : && ix86_pre_reload_split ()) &&
25643 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25644 : ( 1)))
25645 : return gen_split_750 (insn, operands);
25646 : break;
25647 :
25648 : case 10:
25649 : if ((
25650 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25651 : (ix86_binary_operator_ok (ROTATE, SImode, operands)
25652 : && (INTVAL (operands[3]) & (4 * BITS_PER_UNIT - 1)) == 0
25653 : && ix86_pre_reload_split ()) &&
25654 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25655 : ( 1)))
25656 : return gen_split_752 (insn, operands);
25657 : break;
25658 :
25659 : case 11:
25660 : if (((
25661 : #line 18646 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25662 : (ix86_binary_operator_ok (ROTATE, DImode, operands)
25663 : && (INTVAL (operands[3]) & (8 * BITS_PER_UNIT - 1)) == 0
25664 : && ix86_pre_reload_split ()) &&
25665 : #line 1162 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25666 : (TARGET_64BIT)) &&
25667 : #line 18650 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25668 : ( 1)))
25669 : return gen_split_754 (insn, operands);
25670 : break;
25671 :
25672 : case 12:
25673 : x5 = XEXP (x4, 1);
25674 : operands[2] = x5;
25675 : switch (pattern1347 (x4))
25676 : {
25677 : case 0:
25678 : if (
25679 : #line 18883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25680 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)))
25681 : return gen_split_788 (insn, operands);
25682 : break;
25683 :
25684 : case 1:
25685 : if ((
25686 : #line 18883 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25687 : (TARGET_BMI2 && reload_completed && !optimize_function_for_size_p (cfun)) &&
25688 : #line 1168 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25689 : (TARGET_64BIT)))
25690 : return gen_split_789 (insn, operands);
25691 : break;
25692 :
25693 : default:
25694 : break;
25695 : }
25696 : if (XWINT (x5, 0) == 8L
25697 : && QIreg_operand (operands[0], E_HImode)
25698 : && GET_MODE (x4) == E_HImode)
25699 : {
25700 : x6 = XEXP (x4, 0);
25701 : if (rtx_equal_p (x6, operands[0])
25702 : &&
25703 : #line 19083 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25704 : (reload_completed
25705 : && (TARGET_USE_XCHGB || optimize_function_for_size_p (cfun))))
25706 : return gen_split_800 (insn, operands);
25707 : }
25708 : break;
25709 :
25710 : default:
25711 : break;
25712 : }
25713 : x5 = XEXP (x4, 1);
25714 : operands[2] = x5;
25715 : switch (pattern1190 (x2))
25716 : {
25717 : case 0:
25718 : if (!(
25719 : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25720 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25721 : #line 19061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25722 : ( reload_completed
25723 : && !(rtx_equal_p (operands[0], operands[1])))))
25724 : return NULL;
25725 : return gen_split_796 (insn, operands);
25726 :
25727 : case 1:
25728 : if (!(
25729 : #line 19050 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25730 : (!TARGET_PARTIAL_REG_STALL || optimize_function_for_size_p (cfun)) &&
25731 : #line 19061 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25732 : ( reload_completed
25733 : && !(rtx_equal_p (operands[0], operands[1])))))
25734 : return NULL;
25735 : return gen_split_798 (insn, operands);
25736 :
25737 : default:
25738 : return NULL;
25739 : }
25740 :
25741 : default:
25742 : return NULL;
25743 : }
25744 : }
25745 :
25746 : rtx_insn *
25747 : split_47 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
25748 : {
25749 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
25750 : rtx x2, x3, x4;
25751 : rtx_insn *res ATTRIBUTE_UNUSED;
25752 : x2 = XEXP (x1, 1);
25753 : operands[1] = x2;
25754 : x3 = XEXP (x1, 0);
25755 : operands[0] = x3;
25756 : switch (GET_MODE (operands[0]))
25757 : {
25758 : case E_V8QImode:
25759 : if (nonimmediate_gr_operand (operands[0], E_V8QImode)
25760 : && nonimmediate_gr_operand (operands[1], E_V8QImode)
25761 : &&
25762 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25763 : (!TARGET_64BIT && reload_completed))
25764 : return gen_split_1017 (insn, operands);
25765 : if (general_reg_operand (operands[0], E_V8QImode)
25766 : && memory_operand (operands[1], E_V8QImode)
25767 : && (
25768 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25769 : (reload_completed
25770 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25771 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25772 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25773 : (TARGET_64BIT)))
25774 : return gen_split_1047 (insn, operands);
25775 : break;
25776 :
25777 : case E_V4HImode:
25778 : if (nonimmediate_gr_operand (operands[0], E_V4HImode)
25779 : && nonimmediate_gr_operand (operands[1], E_V4HImode)
25780 : &&
25781 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25782 : (!TARGET_64BIT && reload_completed))
25783 : return gen_split_1018 (insn, operands);
25784 : if (general_reg_operand (operands[0], E_V4HImode)
25785 : && memory_operand (operands[1], E_V4HImode)
25786 : && (
25787 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25788 : (reload_completed
25789 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25790 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25791 : #line 87 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25792 : (TARGET_64BIT)))
25793 : return gen_split_1048 (insn, operands);
25794 : break;
25795 :
25796 : case E_V2SImode:
25797 : if (nonimmediate_gr_operand (operands[0], E_V2SImode)
25798 : && nonimmediate_gr_operand (operands[1], E_V2SImode)
25799 : &&
25800 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25801 : (!TARGET_64BIT && reload_completed))
25802 : return gen_split_1019 (insn, operands);
25803 : if (general_reg_operand (operands[0], E_V2SImode)
25804 : && memory_operand (operands[1], E_V2SImode)
25805 : && (
25806 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25807 : (reload_completed
25808 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25809 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25810 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25811 : (TARGET_64BIT)))
25812 : return gen_split_1051 (insn, operands);
25813 : break;
25814 :
25815 : case E_V1DImode:
25816 : if (nonimmediate_gr_operand (operands[0], E_V1DImode)
25817 : && nonimmediate_gr_operand (operands[1], E_V1DImode)
25818 : &&
25819 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25820 : (!TARGET_64BIT && reload_completed))
25821 : return gen_split_1020 (insn, operands);
25822 : if (general_reg_operand (operands[0], E_V1DImode)
25823 : && memory_operand (operands[1], E_V1DImode)
25824 : && (
25825 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25826 : (reload_completed
25827 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25828 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25829 : #line 90 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25830 : (TARGET_64BIT)))
25831 : return gen_split_1053 (insn, operands);
25832 : break;
25833 :
25834 : case E_V2SFmode:
25835 : if (nonimmediate_gr_operand (operands[0], E_V2SFmode)
25836 : && nonimmediate_gr_operand (operands[1], E_V2SFmode)
25837 : &&
25838 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25839 : (!TARGET_64BIT && reload_completed))
25840 : return gen_split_1021 (insn, operands);
25841 : if (general_reg_operand (operands[0], E_V2SFmode)
25842 : && memory_operand (operands[1], E_V2SFmode)
25843 : && (
25844 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25845 : (reload_completed
25846 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25847 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25848 : #line 89 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25849 : (TARGET_64BIT)))
25850 : return gen_split_1052 (insn, operands);
25851 : break;
25852 :
25853 : case E_V4HFmode:
25854 : if (nonimmediate_gr_operand (operands[0], E_V4HFmode)
25855 : && nonimmediate_gr_operand (operands[1], E_V4HFmode)
25856 : &&
25857 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25858 : (!TARGET_64BIT && reload_completed))
25859 : return gen_split_1022 (insn, operands);
25860 : if (general_reg_operand (operands[0], E_V4HFmode)
25861 : && memory_operand (operands[1], E_V4HFmode)
25862 : && (
25863 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25864 : (reload_completed
25865 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25866 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25867 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25868 : (TARGET_64BIT)))
25869 : return gen_split_1049 (insn, operands);
25870 : break;
25871 :
25872 : case E_V4BFmode:
25873 : if (nonimmediate_gr_operand (operands[0], E_V4BFmode)
25874 : && nonimmediate_gr_operand (operands[1], E_V4BFmode)
25875 : &&
25876 : #line 312 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25877 : (!TARGET_64BIT && reload_completed))
25878 : return gen_split_1023 (insn, operands);
25879 : if (general_reg_operand (operands[0], E_V4BFmode)
25880 : && memory_operand (operands[1], E_V4BFmode)
25881 : && (
25882 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25883 : (reload_completed
25884 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25885 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))) &&
25886 : #line 88 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25887 : (TARGET_64BIT)))
25888 : return gen_split_1050 (insn, operands);
25889 : break;
25890 :
25891 : case E_V4QImode:
25892 : if (push_operand (operands[0], E_V4QImode)
25893 : && sse_reg_operand (operands[1], E_V4QImode))
25894 : {
25895 : if ((
25896 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25897 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25898 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25899 : (Pmode == SImode)))
25900 : return gen_split_1031 (insn, operands);
25901 : if ((
25902 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25903 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25904 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25905 : (Pmode == DImode)))
25906 : return gen_split_1036 (insn, operands);
25907 : }
25908 : if (general_reg_operand (operands[0], E_V4QImode)
25909 : && memory_operand (operands[1], E_V4QImode)
25910 : &&
25911 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25912 : (reload_completed
25913 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25914 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25915 : return gen_split_1042 (insn, operands);
25916 : break;
25917 :
25918 : case E_V2HImode:
25919 : if (push_operand (operands[0], E_V2HImode)
25920 : && sse_reg_operand (operands[1], E_V2HImode))
25921 : {
25922 : if ((
25923 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25924 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25925 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25926 : (Pmode == SImode)))
25927 : return gen_split_1032 (insn, operands);
25928 : if ((
25929 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25930 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25931 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25932 : (Pmode == DImode)))
25933 : return gen_split_1037 (insn, operands);
25934 : }
25935 : if (general_reg_operand (operands[0], E_V2HImode)
25936 : && memory_operand (operands[1], E_V2HImode)
25937 : &&
25938 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25939 : (reload_completed
25940 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25941 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25942 : return gen_split_1043 (insn, operands);
25943 : break;
25944 :
25945 : case E_V1SImode:
25946 : if (push_operand (operands[0], E_V1SImode)
25947 : && sse_reg_operand (operands[1], E_V1SImode))
25948 : {
25949 : if ((
25950 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25951 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25952 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25953 : (Pmode == SImode)))
25954 : return gen_split_1033 (insn, operands);
25955 : if ((
25956 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25957 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25958 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25959 : (Pmode == DImode)))
25960 : return gen_split_1038 (insn, operands);
25961 : }
25962 : if (general_reg_operand (operands[0], E_V1SImode)
25963 : && memory_operand (operands[1], E_V1SImode)
25964 : &&
25965 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25966 : (reload_completed
25967 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25968 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25969 : return gen_split_1044 (insn, operands);
25970 : break;
25971 :
25972 : case E_V2HFmode:
25973 : if (push_operand (operands[0], E_V2HFmode)
25974 : && sse_reg_operand (operands[1], E_V2HFmode))
25975 : {
25976 : if ((
25977 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25978 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25979 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25980 : (Pmode == SImode)))
25981 : return gen_split_1034 (insn, operands);
25982 : if ((
25983 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25984 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
25985 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
25986 : (Pmode == DImode)))
25987 : return gen_split_1039 (insn, operands);
25988 : }
25989 : if (general_reg_operand (operands[0], E_V2HFmode)
25990 : && memory_operand (operands[1], E_V2HFmode)
25991 : &&
25992 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
25993 : (reload_completed
25994 : && SYMBOL_REF_P (XEXP (operands[1], 0))
25995 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
25996 : return gen_split_1045 (insn, operands);
25997 : break;
25998 :
25999 : case E_V2BFmode:
26000 : if (push_operand (operands[0], E_V2BFmode)
26001 : && sse_reg_operand (operands[1], E_V2BFmode))
26002 : {
26003 : if ((
26004 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26005 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26006 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26007 : (Pmode == SImode)))
26008 : return gen_split_1035 (insn, operands);
26009 : if ((
26010 : #line 426 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26011 : (TARGET_64BIT && TARGET_SSE && reload_completed) &&
26012 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26013 : (Pmode == DImode)))
26014 : return gen_split_1040 (insn, operands);
26015 : }
26016 : if (general_reg_operand (operands[0], E_V2BFmode)
26017 : && memory_operand (operands[1], E_V2BFmode)
26018 : &&
26019 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26020 : (reload_completed
26021 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26022 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26023 : return gen_split_1046 (insn, operands);
26024 : break;
26025 :
26026 : case E_V2QImode:
26027 : if (general_reg_operand (operands[0], E_V2QImode)
26028 : && memory_operand (operands[1], E_V2QImode)
26029 : &&
26030 : #line 580 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26031 : (reload_completed
26032 : && SYMBOL_REF_P (XEXP (operands[1], 0))
26033 : && CONSTANT_POOL_ADDRESS_P (XEXP (operands[1], 0))))
26034 : return gen_split_1041 (insn, operands);
26035 : if (push_operand (operands[0], E_V2QImode)
26036 : && sse_reg_operand (operands[1], E_V2QImode))
26037 : {
26038 : if ((
26039 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26040 : (TARGET_SSE4_1 && reload_completed) &&
26041 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26042 : (Pmode == SImode)))
26043 : return gen_split_1067 (insn, operands);
26044 : if ((
26045 : #line 637 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/mmx.md"
26046 : (TARGET_SSE4_1 && reload_completed) &&
26047 : #line 1399 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/i386.md"
26048 : (Pmode == DImode)))
26049 : return gen_split_1068 (insn, operands);
26050 : }
26051 : break;
26052 :
26053 : case E_P2QImode:
26054 : if (nonimmediate_operand (operands[0], E_P2QImode)
26055 : && nonimmediate_operand (operands[1], E_P2QImode)
26056 : && (
26057 : #line 31661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26058 : (TARGET_AVX512VP2INTERSECT
26059 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26060 : #line 31664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26061 : ( reload_completed)))
26062 : return gen_split_3926 (insn, operands);
26063 : break;
26064 :
26065 : case E_P2HImode:
26066 : if (nonimmediate_operand (operands[0], E_P2HImode)
26067 : && nonimmediate_operand (operands[1], E_P2HImode)
26068 : && (
26069 : #line 31661 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26070 : (TARGET_AVX512VP2INTERSECT
26071 : && !(MEM_P (operands[0]) && MEM_P (operands[1]))) &&
26072 : #line 31664 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26073 : ( reload_completed)))
26074 : return gen_split_3927 (insn, operands);
26075 : break;
26076 :
26077 : default:
26078 : break;
26079 : }
26080 : if (GET_CODE (x2) != SUBREG)
26081 : return NULL;
26082 : operands[0] = x3;
26083 : switch (SUBREG_BYTE (x2))
26084 : {
26085 : case 8:
26086 : if (GET_MODE (x2) != E_DFmode
26087 : || !register_operand (operands[0], E_DFmode))
26088 : return NULL;
26089 : x4 = XEXP (x2, 0);
26090 : operands[1] = x4;
26091 : if (!register_operand (operands[1], E_V2DFmode)
26092 : || !
26093 : #line 14964 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26094 : (TARGET_SSE))
26095 : return NULL;
26096 : return gen_split_3254 (insn, operands);
26097 :
26098 : case 0:
26099 : x4 = XEXP (x2, 0);
26100 : switch (GET_CODE (x4))
26101 : {
26102 : case REG:
26103 : case SUBREG:
26104 : operands[1] = x4;
26105 : switch (GET_MODE (operands[0]))
26106 : {
26107 : case E_DFmode:
26108 : if (!register_operand (operands[0], E_DFmode)
26109 : || GET_MODE (x2) != E_DFmode
26110 : || !register_operand (operands[1], E_V2DFmode)
26111 : || !
26112 : #line 15017 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26113 : (TARGET_SSE))
26114 : return NULL;
26115 : return gen_split_3256 (insn, operands);
26116 :
26117 : case E_SImode:
26118 : if (!nonimmediate_operand (operands[0], E_SImode)
26119 : || GET_MODE (x2) != E_SImode
26120 : || !register_operand (operands[1], E_VOIDmode)
26121 : || !
26122 : #line 21789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26123 : (can_create_pseudo_p ()
26124 : && REG_P (operands[1])
26125 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26126 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26127 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26128 : || (TARGET_AVX512F
26129 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26130 : && (SImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26131 : return NULL;
26132 : return gen_split_3490 (insn, operands);
26133 :
26134 : case E_DImode:
26135 : if (!nonimmediate_operand (operands[0], E_DImode)
26136 : || GET_MODE (x2) != E_DImode
26137 : || !register_operand (operands[1], E_VOIDmode)
26138 : || !
26139 : #line 21789 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26140 : (can_create_pseudo_p ()
26141 : && REG_P (operands[1])
26142 : && VECTOR_MODE_P (GET_MODE (operands[1]))
26143 : && ((TARGET_SSE && GET_MODE_SIZE (GET_MODE (operands[1])) == 16)
26144 : || (TARGET_AVX && GET_MODE_SIZE (GET_MODE (operands[1])) == 32)
26145 : || (TARGET_AVX512F
26146 : && GET_MODE_SIZE (GET_MODE (operands[1])) == 64))
26147 : && (DImode == SImode || TARGET_64BIT || MEM_P (operands[0]))))
26148 : return NULL;
26149 : return gen_split_3491 (insn, operands);
26150 :
26151 : default:
26152 : return NULL;
26153 : }
26154 :
26155 : case SS_TRUNCATE:
26156 : switch (pattern731 (x2))
26157 : {
26158 : case 0:
26159 : if (!(
26160 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26161 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26162 : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26163 : ( 1)))
26164 : return NULL;
26165 : return gen_split_3268 (insn, operands);
26166 :
26167 : case 1:
26168 : if (!(
26169 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26170 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26171 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26172 : ( 1)))
26173 : return NULL;
26174 : return gen_split_3271 (insn, operands);
26175 :
26176 : case 2:
26177 : if (!(
26178 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26179 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26180 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26181 : ( 1)))
26182 : return NULL;
26183 : return gen_split_3274 (insn, operands);
26184 :
26185 : case 3:
26186 : if (!(
26187 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26188 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26189 : #line 16185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26190 : ( 1)))
26191 : return NULL;
26192 : return gen_split_3290 (insn, operands);
26193 :
26194 : case 4:
26195 : if (!((
26196 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26197 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26198 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26199 : (TARGET_AVX512BW)) &&
26200 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26201 : ( 1)))
26202 : return NULL;
26203 : return gen_split_3277 (insn, operands);
26204 :
26205 : case 5:
26206 : if (!(
26207 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26208 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26209 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26210 : ( 1)))
26211 : return NULL;
26212 : return gen_split_3280 (insn, operands);
26213 :
26214 : case 6:
26215 : if (!(
26216 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26217 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26218 : #line 16448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26219 : ( 1)))
26220 : return NULL;
26221 : return gen_split_3297 (insn, operands);
26222 :
26223 : case 7:
26224 : if (!(
26225 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26226 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26227 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26228 : ( 1)))
26229 : return NULL;
26230 : return gen_split_3284 (insn, operands);
26231 :
26232 : case 8:
26233 : if (!(
26234 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26235 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26236 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26237 : ( 1)))
26238 : return NULL;
26239 : return gen_split_3287 (insn, operands);
26240 :
26241 : case 9:
26242 : if (!(
26243 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26244 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26245 : #line 16335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26246 : ( 1)))
26247 : return NULL;
26248 : return gen_split_3294 (insn, operands);
26249 :
26250 : default:
26251 : return NULL;
26252 : }
26253 :
26254 : case TRUNCATE:
26255 : switch (pattern731 (x2))
26256 : {
26257 : case 0:
26258 : if (!(
26259 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26260 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26261 : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26262 : ( 1)))
26263 : return NULL;
26264 : return gen_split_3269 (insn, operands);
26265 :
26266 : case 1:
26267 : if (!(
26268 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26269 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26270 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26271 : ( 1)))
26272 : return NULL;
26273 : return gen_split_3272 (insn, operands);
26274 :
26275 : case 2:
26276 : if (!(
26277 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26278 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26279 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26280 : ( 1)))
26281 : return NULL;
26282 : return gen_split_3275 (insn, operands);
26283 :
26284 : case 3:
26285 : if (!(
26286 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26287 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26288 : #line 16185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26289 : ( 1)))
26290 : return NULL;
26291 : return gen_split_3291 (insn, operands);
26292 :
26293 : case 4:
26294 : if (!((
26295 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26296 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26297 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26298 : (TARGET_AVX512BW)) &&
26299 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26300 : ( 1)))
26301 : return NULL;
26302 : return gen_split_3278 (insn, operands);
26303 :
26304 : case 5:
26305 : if (!(
26306 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26307 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26308 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26309 : ( 1)))
26310 : return NULL;
26311 : return gen_split_3281 (insn, operands);
26312 :
26313 : case 6:
26314 : if (!(
26315 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26316 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26317 : #line 16448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26318 : ( 1)))
26319 : return NULL;
26320 : return gen_split_3298 (insn, operands);
26321 :
26322 : case 7:
26323 : if (!(
26324 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26325 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26326 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26327 : ( 1)))
26328 : return NULL;
26329 : return gen_split_3285 (insn, operands);
26330 :
26331 : case 8:
26332 : if (!(
26333 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26334 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26335 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26336 : ( 1)))
26337 : return NULL;
26338 : return gen_split_3288 (insn, operands);
26339 :
26340 : case 9:
26341 : if (!(
26342 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26343 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26344 : #line 16335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26345 : ( 1)))
26346 : return NULL;
26347 : return gen_split_3295 (insn, operands);
26348 :
26349 : default:
26350 : return NULL;
26351 : }
26352 :
26353 : case US_TRUNCATE:
26354 : switch (pattern731 (x2))
26355 : {
26356 : case 0:
26357 : if (!(
26358 : #line 15737 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26359 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26360 : #line 15739 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26361 : ( 1)))
26362 : return NULL;
26363 : return gen_split_3270 (insn, operands);
26364 :
26365 : case 1:
26366 : if (!(
26367 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26368 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26369 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26370 : ( 1)))
26371 : return NULL;
26372 : return gen_split_3273 (insn, operands);
26373 :
26374 : case 2:
26375 : if (!(
26376 : #line 15832 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26377 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26378 : #line 15834 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26379 : ( 1)))
26380 : return NULL;
26381 : return gen_split_3276 (insn, operands);
26382 :
26383 : case 3:
26384 : if (!(
26385 : #line 16183 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26386 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26387 : #line 16185 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26388 : ( 1)))
26389 : return NULL;
26390 : return gen_split_3292 (insn, operands);
26391 :
26392 : case 4:
26393 : if (!((
26394 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26395 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26396 : #line 15912 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26397 : (TARGET_AVX512BW)) &&
26398 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26399 : ( 1)))
26400 : return NULL;
26401 : return gen_split_3279 (insn, operands);
26402 :
26403 : case 5:
26404 : if (!(
26405 : #line 15930 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26406 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26407 : #line 15932 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26408 : ( 1)))
26409 : return NULL;
26410 : return gen_split_3282 (insn, operands);
26411 :
26412 : case 6:
26413 : if (!(
26414 : #line 16446 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26415 : (TARGET_AVX512F && ix86_pre_reload_split ()) &&
26416 : #line 16448 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26417 : ( 1)))
26418 : return NULL;
26419 : return gen_split_3299 (insn, operands);
26420 :
26421 : case 7:
26422 : if (!(
26423 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26424 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26425 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26426 : ( 1)))
26427 : return NULL;
26428 : return gen_split_3286 (insn, operands);
26429 :
26430 : case 8:
26431 : if (!(
26432 : #line 16092 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26433 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26434 : #line 16094 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26435 : ( 1)))
26436 : return NULL;
26437 : return gen_split_3289 (insn, operands);
26438 :
26439 : case 9:
26440 : if (!(
26441 : #line 16333 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26442 : (TARGET_AVX512VL && ix86_pre_reload_split ()) &&
26443 : #line 16335 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26444 : ( 1)))
26445 : return NULL;
26446 : return gen_split_3296 (insn, operands);
26447 :
26448 : default:
26449 : return NULL;
26450 : }
26451 :
26452 : default:
26453 : return NULL;
26454 : }
26455 :
26456 : default:
26457 : return NULL;
26458 : }
26459 : }
26460 :
26461 : rtx_insn *
26462 : split_63 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
26463 : {
26464 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
26465 : rtx x2, x3, x4;
26466 : rtx_insn *res ATTRIBUTE_UNUSED;
26467 : x2 = XEXP (x1, 1);
26468 : x3 = XEXP (x2, 0);
26469 : x4 = XEXP (x3, 0);
26470 : switch (GET_CODE (x4))
26471 : {
26472 : case REG:
26473 : case SUBREG:
26474 : case MEM:
26475 : case NOT:
26476 : switch (pattern535 (x2))
26477 : {
26478 : case 0:
26479 : if (!((
26480 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26481 : ((64 == 64 || TARGET_AVX512VL
26482 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26483 : && ix86_pre_reload_split ()
26484 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26485 : STRIP_UNARY (operands[4]))
26486 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26487 : STRIP_UNARY (operands[4]))
26488 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26489 : STRIP_UNARY (operands[3]))
26490 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26491 : STRIP_UNARY (operands[3])))) &&
26492 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26493 : (TARGET_AVX512F)) &&
26494 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26495 : ( 1)))
26496 : return NULL;
26497 : return gen_split_1741 (insn, operands);
26498 :
26499 : case 1:
26500 : if (!((
26501 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26502 : ((32 == 64 || TARGET_AVX512VL
26503 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26504 : && ix86_pre_reload_split ()
26505 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26506 : STRIP_UNARY (operands[4]))
26507 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26508 : STRIP_UNARY (operands[4]))
26509 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26510 : STRIP_UNARY (operands[3]))
26511 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26512 : STRIP_UNARY (operands[3])))) &&
26513 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26514 : (TARGET_AVX)) &&
26515 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26516 : ( 1)))
26517 : return NULL;
26518 : return gen_split_1768 (insn, operands);
26519 :
26520 : case 2:
26521 : if (!(
26522 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26523 : ((16 == 64 || TARGET_AVX512VL
26524 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26525 : && ix86_pre_reload_split ()
26526 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26527 : STRIP_UNARY (operands[4]))
26528 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26529 : STRIP_UNARY (operands[4]))
26530 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26531 : STRIP_UNARY (operands[3]))
26532 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26533 : STRIP_UNARY (operands[3])))) &&
26534 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26535 : ( 1)))
26536 : return NULL;
26537 : return gen_split_1795 (insn, operands);
26538 :
26539 : case 3:
26540 : if (!((
26541 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26542 : ((64 == 64 || TARGET_AVX512VL
26543 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26544 : && ix86_pre_reload_split ()
26545 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26546 : STRIP_UNARY (operands[4]))
26547 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26548 : STRIP_UNARY (operands[4]))
26549 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26550 : STRIP_UNARY (operands[3]))
26551 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26552 : STRIP_UNARY (operands[3])))) &&
26553 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26554 : (TARGET_AVX512F)) &&
26555 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26556 : ( 1)))
26557 : return NULL;
26558 : return gen_split_1822 (insn, operands);
26559 :
26560 : case 4:
26561 : if (!((
26562 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26563 : ((32 == 64 || TARGET_AVX512VL
26564 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26565 : && ix86_pre_reload_split ()
26566 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26567 : STRIP_UNARY (operands[4]))
26568 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26569 : STRIP_UNARY (operands[4]))
26570 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26571 : STRIP_UNARY (operands[3]))
26572 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26573 : STRIP_UNARY (operands[3])))) &&
26574 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26575 : (TARGET_AVX)) &&
26576 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26577 : ( 1)))
26578 : return NULL;
26579 : return gen_split_1849 (insn, operands);
26580 :
26581 : case 5:
26582 : if (!(
26583 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26584 : ((16 == 64 || TARGET_AVX512VL
26585 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26586 : && ix86_pre_reload_split ()
26587 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26588 : STRIP_UNARY (operands[4]))
26589 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26590 : STRIP_UNARY (operands[4]))
26591 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26592 : STRIP_UNARY (operands[3]))
26593 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26594 : STRIP_UNARY (operands[3])))) &&
26595 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26596 : ( 1)))
26597 : return NULL;
26598 : return gen_split_1876 (insn, operands);
26599 :
26600 : case 6:
26601 : if (!((
26602 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26603 : ((64 == 64 || TARGET_AVX512VL
26604 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26605 : && ix86_pre_reload_split ()
26606 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26607 : STRIP_UNARY (operands[4]))
26608 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26609 : STRIP_UNARY (operands[4]))
26610 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26611 : STRIP_UNARY (operands[3]))
26612 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26613 : STRIP_UNARY (operands[3])))) &&
26614 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26615 : (TARGET_AVX512F)) &&
26616 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26617 : ( 1)))
26618 : return NULL;
26619 : return gen_split_1903 (insn, operands);
26620 :
26621 : case 7:
26622 : if (!((
26623 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26624 : ((32 == 64 || TARGET_AVX512VL
26625 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26626 : && ix86_pre_reload_split ()
26627 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26628 : STRIP_UNARY (operands[4]))
26629 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26630 : STRIP_UNARY (operands[4]))
26631 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26632 : STRIP_UNARY (operands[3]))
26633 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26634 : STRIP_UNARY (operands[3])))) &&
26635 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26636 : (TARGET_AVX)) &&
26637 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26638 : ( 1)))
26639 : return NULL;
26640 : return gen_split_1930 (insn, operands);
26641 :
26642 : case 8:
26643 : if (!(
26644 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26645 : ((16 == 64 || TARGET_AVX512VL
26646 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26647 : && ix86_pre_reload_split ()
26648 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26649 : STRIP_UNARY (operands[4]))
26650 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26651 : STRIP_UNARY (operands[4]))
26652 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26653 : STRIP_UNARY (operands[3]))
26654 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26655 : STRIP_UNARY (operands[3])))) &&
26656 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26657 : ( 1)))
26658 : return NULL;
26659 : return gen_split_1957 (insn, operands);
26660 :
26661 : case 9:
26662 : if (!((
26663 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26664 : ((64 == 64 || TARGET_AVX512VL
26665 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26666 : && ix86_pre_reload_split ()
26667 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26668 : STRIP_UNARY (operands[4]))
26669 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26670 : STRIP_UNARY (operands[4]))
26671 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26672 : STRIP_UNARY (operands[3]))
26673 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26674 : STRIP_UNARY (operands[3])))) &&
26675 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26676 : (TARGET_AVX512F)) &&
26677 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26678 : ( 1)))
26679 : return NULL;
26680 : return gen_split_1984 (insn, operands);
26681 :
26682 : case 10:
26683 : if (!((
26684 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26685 : ((32 == 64 || TARGET_AVX512VL
26686 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26687 : && ix86_pre_reload_split ()
26688 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26689 : STRIP_UNARY (operands[4]))
26690 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26691 : STRIP_UNARY (operands[4]))
26692 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26693 : STRIP_UNARY (operands[3]))
26694 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26695 : STRIP_UNARY (operands[3])))) &&
26696 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26697 : (TARGET_AVX)) &&
26698 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26699 : ( 1)))
26700 : return NULL;
26701 : return gen_split_2011 (insn, operands);
26702 :
26703 : case 11:
26704 : if (!(
26705 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26706 : ((16 == 64 || TARGET_AVX512VL
26707 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26708 : && ix86_pre_reload_split ()
26709 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26710 : STRIP_UNARY (operands[4]))
26711 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26712 : STRIP_UNARY (operands[4]))
26713 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26714 : STRIP_UNARY (operands[3]))
26715 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26716 : STRIP_UNARY (operands[3])))) &&
26717 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26718 : ( 1)))
26719 : return NULL;
26720 : return gen_split_2038 (insn, operands);
26721 :
26722 : case 12:
26723 : if (!((
26724 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26725 : ((64 == 64 || TARGET_AVX512VL
26726 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26727 : && ix86_pre_reload_split ()
26728 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26729 : STRIP_UNARY (operands[4]))
26730 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26731 : STRIP_UNARY (operands[4]))
26732 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26733 : STRIP_UNARY (operands[3]))
26734 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26735 : STRIP_UNARY (operands[3])))) &&
26736 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26737 : (TARGET_AVX512F)) &&
26738 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26739 : ( 1)))
26740 : return NULL;
26741 : return gen_split_1744 (insn, operands);
26742 :
26743 : case 13:
26744 : if (!((
26745 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26746 : ((32 == 64 || TARGET_AVX512VL
26747 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26748 : && ix86_pre_reload_split ()
26749 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26750 : STRIP_UNARY (operands[4]))
26751 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26752 : STRIP_UNARY (operands[4]))
26753 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26754 : STRIP_UNARY (operands[3]))
26755 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26756 : STRIP_UNARY (operands[3])))) &&
26757 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26758 : (TARGET_AVX)) &&
26759 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26760 : ( 1)))
26761 : return NULL;
26762 : return gen_split_1771 (insn, operands);
26763 :
26764 : case 14:
26765 : if (!(
26766 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26767 : ((16 == 64 || TARGET_AVX512VL
26768 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26769 : && ix86_pre_reload_split ()
26770 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26771 : STRIP_UNARY (operands[4]))
26772 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26773 : STRIP_UNARY (operands[4]))
26774 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26775 : STRIP_UNARY (operands[3]))
26776 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26777 : STRIP_UNARY (operands[3])))) &&
26778 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26779 : ( 1)))
26780 : return NULL;
26781 : return gen_split_1798 (insn, operands);
26782 :
26783 : case 15:
26784 : if (!((
26785 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26786 : ((64 == 64 || TARGET_AVX512VL
26787 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26788 : && ix86_pre_reload_split ()
26789 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26790 : STRIP_UNARY (operands[4]))
26791 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26792 : STRIP_UNARY (operands[4]))
26793 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26794 : STRIP_UNARY (operands[3]))
26795 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26796 : STRIP_UNARY (operands[3])))) &&
26797 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26798 : (TARGET_AVX512F)) &&
26799 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26800 : ( 1)))
26801 : return NULL;
26802 : return gen_split_1825 (insn, operands);
26803 :
26804 : case 16:
26805 : if (!((
26806 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26807 : ((32 == 64 || TARGET_AVX512VL
26808 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26809 : && ix86_pre_reload_split ()
26810 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26811 : STRIP_UNARY (operands[4]))
26812 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26813 : STRIP_UNARY (operands[4]))
26814 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26815 : STRIP_UNARY (operands[3]))
26816 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26817 : STRIP_UNARY (operands[3])))) &&
26818 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26819 : (TARGET_AVX)) &&
26820 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26821 : ( 1)))
26822 : return NULL;
26823 : return gen_split_1852 (insn, operands);
26824 :
26825 : case 17:
26826 : if (!(
26827 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26828 : ((16 == 64 || TARGET_AVX512VL
26829 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26830 : && ix86_pre_reload_split ()
26831 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26832 : STRIP_UNARY (operands[4]))
26833 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26834 : STRIP_UNARY (operands[4]))
26835 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26836 : STRIP_UNARY (operands[3]))
26837 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26838 : STRIP_UNARY (operands[3])))) &&
26839 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26840 : ( 1)))
26841 : return NULL;
26842 : return gen_split_1879 (insn, operands);
26843 :
26844 : case 18:
26845 : if (!((
26846 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26847 : ((64 == 64 || TARGET_AVX512VL
26848 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26849 : && ix86_pre_reload_split ()
26850 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26851 : STRIP_UNARY (operands[4]))
26852 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26853 : STRIP_UNARY (operands[4]))
26854 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26855 : STRIP_UNARY (operands[3]))
26856 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26857 : STRIP_UNARY (operands[3])))) &&
26858 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26859 : (TARGET_AVX512F)) &&
26860 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26861 : ( 1)))
26862 : return NULL;
26863 : return gen_split_1906 (insn, operands);
26864 :
26865 : case 19:
26866 : if (!((
26867 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26868 : ((32 == 64 || TARGET_AVX512VL
26869 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26870 : && ix86_pre_reload_split ()
26871 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26872 : STRIP_UNARY (operands[4]))
26873 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26874 : STRIP_UNARY (operands[4]))
26875 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26876 : STRIP_UNARY (operands[3]))
26877 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26878 : STRIP_UNARY (operands[3])))) &&
26879 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26880 : (TARGET_AVX)) &&
26881 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26882 : ( 1)))
26883 : return NULL;
26884 : return gen_split_1933 (insn, operands);
26885 :
26886 : case 20:
26887 : if (!(
26888 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26889 : ((16 == 64 || TARGET_AVX512VL
26890 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26891 : && ix86_pre_reload_split ()
26892 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26893 : STRIP_UNARY (operands[4]))
26894 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26895 : STRIP_UNARY (operands[4]))
26896 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26897 : STRIP_UNARY (operands[3]))
26898 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26899 : STRIP_UNARY (operands[3])))) &&
26900 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26901 : ( 1)))
26902 : return NULL;
26903 : return gen_split_1960 (insn, operands);
26904 :
26905 : case 21:
26906 : if (!((
26907 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26908 : ((64 == 64 || TARGET_AVX512VL
26909 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26910 : && ix86_pre_reload_split ()
26911 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26912 : STRIP_UNARY (operands[4]))
26913 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26914 : STRIP_UNARY (operands[4]))
26915 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26916 : STRIP_UNARY (operands[3]))
26917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26918 : STRIP_UNARY (operands[3])))) &&
26919 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26920 : (TARGET_AVX512F)) &&
26921 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26922 : ( 1)))
26923 : return NULL;
26924 : return gen_split_1987 (insn, operands);
26925 :
26926 : case 22:
26927 : if (!((
26928 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26929 : ((32 == 64 || TARGET_AVX512VL
26930 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26931 : && ix86_pre_reload_split ()
26932 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26933 : STRIP_UNARY (operands[4]))
26934 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26935 : STRIP_UNARY (operands[4]))
26936 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26937 : STRIP_UNARY (operands[3]))
26938 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26939 : STRIP_UNARY (operands[3])))) &&
26940 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26941 : (TARGET_AVX)) &&
26942 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26943 : ( 1)))
26944 : return NULL;
26945 : return gen_split_2014 (insn, operands);
26946 :
26947 : case 23:
26948 : if (!(
26949 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26950 : ((16 == 64 || TARGET_AVX512VL
26951 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26952 : && ix86_pre_reload_split ()
26953 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26954 : STRIP_UNARY (operands[4]))
26955 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26956 : STRIP_UNARY (operands[4]))
26957 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26958 : STRIP_UNARY (operands[3]))
26959 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26960 : STRIP_UNARY (operands[3])))) &&
26961 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26962 : ( 1)))
26963 : return NULL;
26964 : return gen_split_2041 (insn, operands);
26965 :
26966 : case 24:
26967 : if (!((
26968 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26969 : ((64 == 64 || TARGET_AVX512VL
26970 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26971 : && ix86_pre_reload_split ()
26972 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26973 : STRIP_UNARY (operands[4]))
26974 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26975 : STRIP_UNARY (operands[4]))
26976 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26977 : STRIP_UNARY (operands[3]))
26978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26979 : STRIP_UNARY (operands[3])))) &&
26980 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26981 : (TARGET_AVX512F)) &&
26982 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26983 : ( 1)))
26984 : return NULL;
26985 : return gen_split_1747 (insn, operands);
26986 :
26987 : case 25:
26988 : if (!((
26989 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
26990 : ((32 == 64 || TARGET_AVX512VL
26991 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
26992 : && ix86_pre_reload_split ()
26993 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
26994 : STRIP_UNARY (operands[4]))
26995 : || rtx_equal_p (STRIP_UNARY (operands[2]),
26996 : STRIP_UNARY (operands[4]))
26997 : || rtx_equal_p (STRIP_UNARY (operands[1]),
26998 : STRIP_UNARY (operands[3]))
26999 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27000 : STRIP_UNARY (operands[3])))) &&
27001 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27002 : (TARGET_AVX)) &&
27003 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27004 : ( 1)))
27005 : return NULL;
27006 : return gen_split_1774 (insn, operands);
27007 :
27008 : case 26:
27009 : if (!(
27010 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27011 : ((16 == 64 || TARGET_AVX512VL
27012 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27013 : && ix86_pre_reload_split ()
27014 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27015 : STRIP_UNARY (operands[4]))
27016 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27017 : STRIP_UNARY (operands[4]))
27018 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27019 : STRIP_UNARY (operands[3]))
27020 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27021 : STRIP_UNARY (operands[3])))) &&
27022 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27023 : ( 1)))
27024 : return NULL;
27025 : return gen_split_1801 (insn, operands);
27026 :
27027 : case 27:
27028 : if (!((
27029 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27030 : ((64 == 64 || TARGET_AVX512VL
27031 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27032 : && ix86_pre_reload_split ()
27033 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27034 : STRIP_UNARY (operands[4]))
27035 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27036 : STRIP_UNARY (operands[4]))
27037 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27038 : STRIP_UNARY (operands[3]))
27039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27040 : STRIP_UNARY (operands[3])))) &&
27041 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27042 : (TARGET_AVX512F)) &&
27043 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27044 : ( 1)))
27045 : return NULL;
27046 : return gen_split_1828 (insn, operands);
27047 :
27048 : case 28:
27049 : if (!((
27050 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27051 : ((32 == 64 || TARGET_AVX512VL
27052 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27053 : && ix86_pre_reload_split ()
27054 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27055 : STRIP_UNARY (operands[4]))
27056 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27057 : STRIP_UNARY (operands[4]))
27058 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27059 : STRIP_UNARY (operands[3]))
27060 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27061 : STRIP_UNARY (operands[3])))) &&
27062 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27063 : (TARGET_AVX)) &&
27064 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27065 : ( 1)))
27066 : return NULL;
27067 : return gen_split_1855 (insn, operands);
27068 :
27069 : case 29:
27070 : if (!(
27071 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27072 : ((16 == 64 || TARGET_AVX512VL
27073 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27074 : && ix86_pre_reload_split ()
27075 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27076 : STRIP_UNARY (operands[4]))
27077 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27078 : STRIP_UNARY (operands[4]))
27079 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27080 : STRIP_UNARY (operands[3]))
27081 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27082 : STRIP_UNARY (operands[3])))) &&
27083 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27084 : ( 1)))
27085 : return NULL;
27086 : return gen_split_1882 (insn, operands);
27087 :
27088 : case 30:
27089 : if (!((
27090 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27091 : ((64 == 64 || TARGET_AVX512VL
27092 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27093 : && ix86_pre_reload_split ()
27094 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27095 : STRIP_UNARY (operands[4]))
27096 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27097 : STRIP_UNARY (operands[4]))
27098 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27099 : STRIP_UNARY (operands[3]))
27100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27101 : STRIP_UNARY (operands[3])))) &&
27102 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27103 : (TARGET_AVX512F)) &&
27104 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27105 : ( 1)))
27106 : return NULL;
27107 : return gen_split_1909 (insn, operands);
27108 :
27109 : case 31:
27110 : if (!((
27111 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27112 : ((32 == 64 || TARGET_AVX512VL
27113 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27114 : && ix86_pre_reload_split ()
27115 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27116 : STRIP_UNARY (operands[4]))
27117 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27118 : STRIP_UNARY (operands[4]))
27119 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27120 : STRIP_UNARY (operands[3]))
27121 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27122 : STRIP_UNARY (operands[3])))) &&
27123 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27124 : (TARGET_AVX)) &&
27125 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27126 : ( 1)))
27127 : return NULL;
27128 : return gen_split_1936 (insn, operands);
27129 :
27130 : case 32:
27131 : if (!(
27132 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27133 : ((16 == 64 || TARGET_AVX512VL
27134 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27135 : && ix86_pre_reload_split ()
27136 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27137 : STRIP_UNARY (operands[4]))
27138 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27139 : STRIP_UNARY (operands[4]))
27140 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27141 : STRIP_UNARY (operands[3]))
27142 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27143 : STRIP_UNARY (operands[3])))) &&
27144 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27145 : ( 1)))
27146 : return NULL;
27147 : return gen_split_1963 (insn, operands);
27148 :
27149 : case 33:
27150 : if (!((
27151 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27152 : ((64 == 64 || TARGET_AVX512VL
27153 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27154 : && ix86_pre_reload_split ()
27155 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27156 : STRIP_UNARY (operands[4]))
27157 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27158 : STRIP_UNARY (operands[4]))
27159 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27160 : STRIP_UNARY (operands[3]))
27161 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27162 : STRIP_UNARY (operands[3])))) &&
27163 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27164 : (TARGET_AVX512F)) &&
27165 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27166 : ( 1)))
27167 : return NULL;
27168 : return gen_split_1990 (insn, operands);
27169 :
27170 : case 34:
27171 : if (!((
27172 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27173 : ((32 == 64 || TARGET_AVX512VL
27174 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27175 : && ix86_pre_reload_split ()
27176 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27177 : STRIP_UNARY (operands[4]))
27178 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27179 : STRIP_UNARY (operands[4]))
27180 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27181 : STRIP_UNARY (operands[3]))
27182 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27183 : STRIP_UNARY (operands[3])))) &&
27184 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27185 : (TARGET_AVX)) &&
27186 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27187 : ( 1)))
27188 : return NULL;
27189 : return gen_split_2017 (insn, operands);
27190 :
27191 : case 35:
27192 : if (!(
27193 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27194 : ((16 == 64 || TARGET_AVX512VL
27195 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27196 : && ix86_pre_reload_split ()
27197 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27198 : STRIP_UNARY (operands[4]))
27199 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27200 : STRIP_UNARY (operands[4]))
27201 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27202 : STRIP_UNARY (operands[3]))
27203 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27204 : STRIP_UNARY (operands[3])))) &&
27205 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27206 : ( 1)))
27207 : return NULL;
27208 : return gen_split_2044 (insn, operands);
27209 :
27210 : case 36:
27211 : if (!((
27212 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27213 : ((64 == 64 || TARGET_AVX512VL
27214 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27215 : && ix86_pre_reload_split ()) &&
27216 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27217 : (TARGET_AVX512F)) &&
27218 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27219 : ( 1)))
27220 : return NULL;
27221 : return gen_split_3037 (insn, operands);
27222 :
27223 : case 37:
27224 : if (!((
27225 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27226 : ((32 == 64 || TARGET_AVX512VL
27227 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27228 : && ix86_pre_reload_split ()) &&
27229 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27230 : (TARGET_AVX)) &&
27231 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27232 : ( 1)))
27233 : return NULL;
27234 : return gen_split_3046 (insn, operands);
27235 :
27236 : case 38:
27237 : if (!(
27238 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27239 : ((16 == 64 || TARGET_AVX512VL
27240 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27241 : && ix86_pre_reload_split ()) &&
27242 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27243 : ( 1)))
27244 : return NULL;
27245 : return gen_split_3055 (insn, operands);
27246 :
27247 : case 39:
27248 : if (!((
27249 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27250 : ((64 == 64 || TARGET_AVX512VL
27251 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27252 : && ix86_pre_reload_split ()) &&
27253 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27254 : (TARGET_AVX512F)) &&
27255 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27256 : ( 1)))
27257 : return NULL;
27258 : return gen_split_3064 (insn, operands);
27259 :
27260 : case 40:
27261 : if (!((
27262 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27263 : ((32 == 64 || TARGET_AVX512VL
27264 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27265 : && ix86_pre_reload_split ()) &&
27266 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27267 : (TARGET_AVX)) &&
27268 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27269 : ( 1)))
27270 : return NULL;
27271 : return gen_split_3073 (insn, operands);
27272 :
27273 : case 41:
27274 : if (!(
27275 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27276 : ((16 == 64 || TARGET_AVX512VL
27277 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27278 : && ix86_pre_reload_split ()) &&
27279 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27280 : ( 1)))
27281 : return NULL;
27282 : return gen_split_3082 (insn, operands);
27283 :
27284 : case 42:
27285 : if (!((
27286 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27287 : ((64 == 64 || TARGET_AVX512VL
27288 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27289 : && ix86_pre_reload_split ()) &&
27290 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27291 : (TARGET_AVX512F)) &&
27292 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27293 : ( 1)))
27294 : return NULL;
27295 : return gen_split_3091 (insn, operands);
27296 :
27297 : case 43:
27298 : if (!((
27299 : #line 14271 "/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 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27304 : (TARGET_AVX)) &&
27305 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27306 : ( 1)))
27307 : return NULL;
27308 : return gen_split_3100 (insn, operands);
27309 :
27310 : case 44:
27311 : if (!(
27312 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27313 : ((16 == 64 || TARGET_AVX512VL
27314 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27315 : && ix86_pre_reload_split ()) &&
27316 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27317 : ( 1)))
27318 : return NULL;
27319 : return gen_split_3109 (insn, operands);
27320 :
27321 : case 45:
27322 : if (!((
27323 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27324 : ((64 == 64 || TARGET_AVX512VL
27325 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27326 : && ix86_pre_reload_split ()) &&
27327 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27328 : (TARGET_AVX512F)) &&
27329 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27330 : ( 1)))
27331 : return NULL;
27332 : return gen_split_3118 (insn, operands);
27333 :
27334 : case 46:
27335 : if (!((
27336 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27337 : ((32 == 64 || TARGET_AVX512VL
27338 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27339 : && ix86_pre_reload_split ()) &&
27340 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27341 : (TARGET_AVX)) &&
27342 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27343 : ( 1)))
27344 : return NULL;
27345 : return gen_split_3127 (insn, operands);
27346 :
27347 : case 47:
27348 : if (!(
27349 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27350 : ((16 == 64 || TARGET_AVX512VL
27351 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27352 : && ix86_pre_reload_split ()) &&
27353 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27354 : ( 1)))
27355 : return NULL;
27356 : return gen_split_3136 (insn, operands);
27357 :
27358 : default:
27359 : return NULL;
27360 : }
27361 :
27362 : case AND:
27363 : switch (pattern537 (x2))
27364 : {
27365 : case 0:
27366 : if (!((
27367 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27368 : ((64 == 64 || TARGET_AVX512VL
27369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27370 : && ix86_pre_reload_split ()
27371 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27372 : STRIP_UNARY (operands[4]))
27373 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27374 : STRIP_UNARY (operands[4]))
27375 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27376 : STRIP_UNARY (operands[3]))
27377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27378 : STRIP_UNARY (operands[3])))) &&
27379 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27380 : (TARGET_AVX512F)) &&
27381 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27382 : ( 1)))
27383 : return NULL;
27384 : return gen_split_2389 (insn, operands);
27385 :
27386 : case 1:
27387 : if (!((
27388 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27389 : ((32 == 64 || TARGET_AVX512VL
27390 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27391 : && ix86_pre_reload_split ()
27392 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27393 : STRIP_UNARY (operands[4]))
27394 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27395 : STRIP_UNARY (operands[4]))
27396 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27397 : STRIP_UNARY (operands[3]))
27398 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27399 : STRIP_UNARY (operands[3])))) &&
27400 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27401 : (TARGET_AVX)) &&
27402 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27403 : ( 1)))
27404 : return NULL;
27405 : return gen_split_2416 (insn, operands);
27406 :
27407 : case 2:
27408 : if (!(
27409 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27410 : ((16 == 64 || TARGET_AVX512VL
27411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27412 : && ix86_pre_reload_split ()
27413 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27414 : STRIP_UNARY (operands[4]))
27415 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27416 : STRIP_UNARY (operands[4]))
27417 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27418 : STRIP_UNARY (operands[3]))
27419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27420 : STRIP_UNARY (operands[3])))) &&
27421 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27422 : ( 1)))
27423 : return NULL;
27424 : return gen_split_2443 (insn, operands);
27425 :
27426 : case 3:
27427 : if (!((
27428 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27429 : ((64 == 64 || TARGET_AVX512VL
27430 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27431 : && ix86_pre_reload_split ()
27432 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27433 : STRIP_UNARY (operands[4]))
27434 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27435 : STRIP_UNARY (operands[4]))
27436 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27437 : STRIP_UNARY (operands[3]))
27438 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27439 : STRIP_UNARY (operands[3])))) &&
27440 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27441 : (TARGET_AVX512F)) &&
27442 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27443 : ( 1)))
27444 : return NULL;
27445 : return gen_split_2470 (insn, operands);
27446 :
27447 : case 4:
27448 : if (!((
27449 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27450 : ((32 == 64 || TARGET_AVX512VL
27451 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27452 : && ix86_pre_reload_split ()
27453 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27454 : STRIP_UNARY (operands[4]))
27455 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27456 : STRIP_UNARY (operands[4]))
27457 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27458 : STRIP_UNARY (operands[3]))
27459 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27460 : STRIP_UNARY (operands[3])))) &&
27461 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27462 : (TARGET_AVX)) &&
27463 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27464 : ( 1)))
27465 : return NULL;
27466 : return gen_split_2497 (insn, operands);
27467 :
27468 : case 5:
27469 : if (!(
27470 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27471 : ((16 == 64 || TARGET_AVX512VL
27472 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27473 : && ix86_pre_reload_split ()
27474 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27475 : STRIP_UNARY (operands[4]))
27476 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27477 : STRIP_UNARY (operands[4]))
27478 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27479 : STRIP_UNARY (operands[3]))
27480 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27481 : STRIP_UNARY (operands[3])))) &&
27482 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27483 : ( 1)))
27484 : return NULL;
27485 : return gen_split_2524 (insn, operands);
27486 :
27487 : case 6:
27488 : if (!((
27489 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27490 : ((64 == 64 || TARGET_AVX512VL
27491 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27492 : && ix86_pre_reload_split ()
27493 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27494 : STRIP_UNARY (operands[4]))
27495 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27496 : STRIP_UNARY (operands[4]))
27497 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27498 : STRIP_UNARY (operands[3]))
27499 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27500 : STRIP_UNARY (operands[3])))) &&
27501 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27502 : (TARGET_AVX512F)) &&
27503 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27504 : ( 1)))
27505 : return NULL;
27506 : return gen_split_2551 (insn, operands);
27507 :
27508 : case 7:
27509 : if (!((
27510 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27511 : ((32 == 64 || TARGET_AVX512VL
27512 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27513 : && ix86_pre_reload_split ()
27514 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27515 : STRIP_UNARY (operands[4]))
27516 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27517 : STRIP_UNARY (operands[4]))
27518 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27519 : STRIP_UNARY (operands[3]))
27520 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27521 : STRIP_UNARY (operands[3])))) &&
27522 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27523 : (TARGET_AVX)) &&
27524 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27525 : ( 1)))
27526 : return NULL;
27527 : return gen_split_2578 (insn, operands);
27528 :
27529 : case 8:
27530 : if (!(
27531 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27532 : ((16 == 64 || TARGET_AVX512VL
27533 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27534 : && ix86_pre_reload_split ()
27535 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27536 : STRIP_UNARY (operands[4]))
27537 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27538 : STRIP_UNARY (operands[4]))
27539 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27540 : STRIP_UNARY (operands[3]))
27541 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27542 : STRIP_UNARY (operands[3])))) &&
27543 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27544 : ( 1)))
27545 : return NULL;
27546 : return gen_split_2605 (insn, operands);
27547 :
27548 : case 9:
27549 : if (!((
27550 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27551 : ((64 == 64 || TARGET_AVX512VL
27552 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27553 : && ix86_pre_reload_split ()
27554 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27555 : STRIP_UNARY (operands[4]))
27556 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27557 : STRIP_UNARY (operands[4]))
27558 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27559 : STRIP_UNARY (operands[3]))
27560 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27561 : STRIP_UNARY (operands[3])))) &&
27562 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27563 : (TARGET_AVX512F)) &&
27564 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27565 : ( 1)))
27566 : return NULL;
27567 : return gen_split_2632 (insn, operands);
27568 :
27569 : case 10:
27570 : if (!((
27571 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27572 : ((32 == 64 || TARGET_AVX512VL
27573 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27574 : && ix86_pre_reload_split ()
27575 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27576 : STRIP_UNARY (operands[4]))
27577 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27578 : STRIP_UNARY (operands[4]))
27579 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27580 : STRIP_UNARY (operands[3]))
27581 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27582 : STRIP_UNARY (operands[3])))) &&
27583 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27584 : (TARGET_AVX)) &&
27585 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27586 : ( 1)))
27587 : return NULL;
27588 : return gen_split_2659 (insn, operands);
27589 :
27590 : case 11:
27591 : if (!(
27592 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27593 : ((16 == 64 || TARGET_AVX512VL
27594 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27595 : && ix86_pre_reload_split ()
27596 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27597 : STRIP_UNARY (operands[4]))
27598 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27599 : STRIP_UNARY (operands[4]))
27600 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27601 : STRIP_UNARY (operands[3]))
27602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27603 : STRIP_UNARY (operands[3])))) &&
27604 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27605 : ( 1)))
27606 : return NULL;
27607 : return gen_split_2686 (insn, operands);
27608 :
27609 : default:
27610 : return NULL;
27611 : }
27612 :
27613 : case IOR:
27614 : switch (pattern537 (x2))
27615 : {
27616 : case 0:
27617 : if (!((
27618 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27619 : ((64 == 64 || TARGET_AVX512VL
27620 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27621 : && ix86_pre_reload_split ()
27622 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27623 : STRIP_UNARY (operands[4]))
27624 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27625 : STRIP_UNARY (operands[4]))
27626 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27627 : STRIP_UNARY (operands[3]))
27628 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27629 : STRIP_UNARY (operands[3])))) &&
27630 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27631 : (TARGET_AVX512F)) &&
27632 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27633 : ( 1)))
27634 : return NULL;
27635 : return gen_split_2392 (insn, operands);
27636 :
27637 : case 1:
27638 : if (!((
27639 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27640 : ((32 == 64 || TARGET_AVX512VL
27641 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27642 : && ix86_pre_reload_split ()
27643 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27644 : STRIP_UNARY (operands[4]))
27645 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27646 : STRIP_UNARY (operands[4]))
27647 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27648 : STRIP_UNARY (operands[3]))
27649 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27650 : STRIP_UNARY (operands[3])))) &&
27651 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27652 : (TARGET_AVX)) &&
27653 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27654 : ( 1)))
27655 : return NULL;
27656 : return gen_split_2419 (insn, operands);
27657 :
27658 : case 2:
27659 : if (!(
27660 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27661 : ((16 == 64 || TARGET_AVX512VL
27662 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27663 : && ix86_pre_reload_split ()
27664 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27665 : STRIP_UNARY (operands[4]))
27666 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27667 : STRIP_UNARY (operands[4]))
27668 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27669 : STRIP_UNARY (operands[3]))
27670 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27671 : STRIP_UNARY (operands[3])))) &&
27672 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27673 : ( 1)))
27674 : return NULL;
27675 : return gen_split_2446 (insn, operands);
27676 :
27677 : case 3:
27678 : if (!((
27679 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27680 : ((64 == 64 || TARGET_AVX512VL
27681 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27682 : && ix86_pre_reload_split ()
27683 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27684 : STRIP_UNARY (operands[4]))
27685 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27686 : STRIP_UNARY (operands[4]))
27687 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27688 : STRIP_UNARY (operands[3]))
27689 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27690 : STRIP_UNARY (operands[3])))) &&
27691 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27692 : (TARGET_AVX512F)) &&
27693 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27694 : ( 1)))
27695 : return NULL;
27696 : return gen_split_2473 (insn, operands);
27697 :
27698 : case 4:
27699 : if (!((
27700 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27701 : ((32 == 64 || TARGET_AVX512VL
27702 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27703 : && ix86_pre_reload_split ()
27704 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27705 : STRIP_UNARY (operands[4]))
27706 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27707 : STRIP_UNARY (operands[4]))
27708 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27709 : STRIP_UNARY (operands[3]))
27710 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27711 : STRIP_UNARY (operands[3])))) &&
27712 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27713 : (TARGET_AVX)) &&
27714 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27715 : ( 1)))
27716 : return NULL;
27717 : return gen_split_2500 (insn, operands);
27718 :
27719 : case 5:
27720 : if (!(
27721 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27722 : ((16 == 64 || TARGET_AVX512VL
27723 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27724 : && ix86_pre_reload_split ()
27725 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27726 : STRIP_UNARY (operands[4]))
27727 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27728 : STRIP_UNARY (operands[4]))
27729 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27730 : STRIP_UNARY (operands[3]))
27731 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27732 : STRIP_UNARY (operands[3])))) &&
27733 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27734 : ( 1)))
27735 : return NULL;
27736 : return gen_split_2527 (insn, operands);
27737 :
27738 : case 6:
27739 : if (!((
27740 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27741 : ((64 == 64 || TARGET_AVX512VL
27742 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27743 : && ix86_pre_reload_split ()
27744 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27745 : STRIP_UNARY (operands[4]))
27746 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27747 : STRIP_UNARY (operands[4]))
27748 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27749 : STRIP_UNARY (operands[3]))
27750 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27751 : STRIP_UNARY (operands[3])))) &&
27752 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27753 : (TARGET_AVX512F)) &&
27754 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27755 : ( 1)))
27756 : return NULL;
27757 : return gen_split_2554 (insn, operands);
27758 :
27759 : case 7:
27760 : if (!((
27761 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27762 : ((32 == 64 || TARGET_AVX512VL
27763 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27764 : && ix86_pre_reload_split ()
27765 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27766 : STRIP_UNARY (operands[4]))
27767 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27768 : STRIP_UNARY (operands[4]))
27769 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27770 : STRIP_UNARY (operands[3]))
27771 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27772 : STRIP_UNARY (operands[3])))) &&
27773 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27774 : (TARGET_AVX)) &&
27775 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27776 : ( 1)))
27777 : return NULL;
27778 : return gen_split_2581 (insn, operands);
27779 :
27780 : case 8:
27781 : if (!(
27782 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27783 : ((16 == 64 || TARGET_AVX512VL
27784 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27785 : && ix86_pre_reload_split ()
27786 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27787 : STRIP_UNARY (operands[4]))
27788 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27789 : STRIP_UNARY (operands[4]))
27790 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27791 : STRIP_UNARY (operands[3]))
27792 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27793 : STRIP_UNARY (operands[3])))) &&
27794 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27795 : ( 1)))
27796 : return NULL;
27797 : return gen_split_2608 (insn, operands);
27798 :
27799 : case 9:
27800 : if (!((
27801 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27802 : ((64 == 64 || TARGET_AVX512VL
27803 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27804 : && ix86_pre_reload_split ()
27805 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27806 : STRIP_UNARY (operands[4]))
27807 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27808 : STRIP_UNARY (operands[4]))
27809 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27810 : STRIP_UNARY (operands[3]))
27811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27812 : STRIP_UNARY (operands[3])))) &&
27813 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27814 : (TARGET_AVX512F)) &&
27815 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27816 : ( 1)))
27817 : return NULL;
27818 : return gen_split_2635 (insn, operands);
27819 :
27820 : case 10:
27821 : if (!((
27822 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27823 : ((32 == 64 || TARGET_AVX512VL
27824 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27825 : && ix86_pre_reload_split ()
27826 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27827 : STRIP_UNARY (operands[4]))
27828 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27829 : STRIP_UNARY (operands[4]))
27830 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27831 : STRIP_UNARY (operands[3]))
27832 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27833 : STRIP_UNARY (operands[3])))) &&
27834 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27835 : (TARGET_AVX)) &&
27836 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27837 : ( 1)))
27838 : return NULL;
27839 : return gen_split_2662 (insn, operands);
27840 :
27841 : case 11:
27842 : if (!(
27843 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27844 : ((16 == 64 || TARGET_AVX512VL
27845 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27846 : && ix86_pre_reload_split ()
27847 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27848 : STRIP_UNARY (operands[4]))
27849 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27850 : STRIP_UNARY (operands[4]))
27851 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27852 : STRIP_UNARY (operands[3]))
27853 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27854 : STRIP_UNARY (operands[3])))) &&
27855 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27856 : ( 1)))
27857 : return NULL;
27858 : return gen_split_2689 (insn, operands);
27859 :
27860 : default:
27861 : return NULL;
27862 : }
27863 :
27864 : case XOR:
27865 : switch (pattern537 (x2))
27866 : {
27867 : case 0:
27868 : if (!((
27869 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27870 : ((64 == 64 || TARGET_AVX512VL
27871 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27872 : && ix86_pre_reload_split ()
27873 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27874 : STRIP_UNARY (operands[4]))
27875 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27876 : STRIP_UNARY (operands[4]))
27877 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27878 : STRIP_UNARY (operands[3]))
27879 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27880 : STRIP_UNARY (operands[3])))) &&
27881 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27882 : (TARGET_AVX512F)) &&
27883 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27884 : ( 1)))
27885 : return NULL;
27886 : return gen_split_2395 (insn, operands);
27887 :
27888 : case 1:
27889 : if (!((
27890 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27891 : ((32 == 64 || TARGET_AVX512VL
27892 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27893 : && ix86_pre_reload_split ()
27894 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27895 : STRIP_UNARY (operands[4]))
27896 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27897 : STRIP_UNARY (operands[4]))
27898 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27899 : STRIP_UNARY (operands[3]))
27900 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27901 : STRIP_UNARY (operands[3])))) &&
27902 : #line 345 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27903 : (TARGET_AVX)) &&
27904 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27905 : ( 1)))
27906 : return NULL;
27907 : return gen_split_2422 (insn, operands);
27908 :
27909 : case 2:
27910 : if (!(
27911 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27912 : ((16 == 64 || TARGET_AVX512VL
27913 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27914 : && ix86_pre_reload_split ()
27915 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27916 : STRIP_UNARY (operands[4]))
27917 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27918 : STRIP_UNARY (operands[4]))
27919 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27920 : STRIP_UNARY (operands[3]))
27921 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27922 : STRIP_UNARY (operands[3])))) &&
27923 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27924 : ( 1)))
27925 : return NULL;
27926 : return gen_split_2449 (insn, operands);
27927 :
27928 : case 3:
27929 : if (!((
27930 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27931 : ((64 == 64 || TARGET_AVX512VL
27932 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27933 : && ix86_pre_reload_split ()
27934 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27935 : STRIP_UNARY (operands[4]))
27936 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27937 : STRIP_UNARY (operands[4]))
27938 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27939 : STRIP_UNARY (operands[3]))
27940 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27941 : STRIP_UNARY (operands[3])))) &&
27942 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27943 : (TARGET_AVX512F)) &&
27944 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27945 : ( 1)))
27946 : return NULL;
27947 : return gen_split_2476 (insn, operands);
27948 :
27949 : case 4:
27950 : if (!((
27951 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27952 : ((32 == 64 || TARGET_AVX512VL
27953 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27954 : && ix86_pre_reload_split ()
27955 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27956 : STRIP_UNARY (operands[4]))
27957 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27958 : STRIP_UNARY (operands[4]))
27959 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27960 : STRIP_UNARY (operands[3]))
27961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27962 : STRIP_UNARY (operands[3])))) &&
27963 : #line 346 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27964 : (TARGET_AVX)) &&
27965 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27966 : ( 1)))
27967 : return NULL;
27968 : return gen_split_2503 (insn, operands);
27969 :
27970 : case 5:
27971 : if (!(
27972 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27973 : ((16 == 64 || TARGET_AVX512VL
27974 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27975 : && ix86_pre_reload_split ()
27976 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27977 : STRIP_UNARY (operands[4]))
27978 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27979 : STRIP_UNARY (operands[4]))
27980 : || rtx_equal_p (STRIP_UNARY (operands[1]),
27981 : STRIP_UNARY (operands[3]))
27982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27983 : STRIP_UNARY (operands[3])))) &&
27984 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27985 : ( 1)))
27986 : return NULL;
27987 : return gen_split_2530 (insn, operands);
27988 :
27989 : case 6:
27990 : if (!((
27991 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
27992 : ((64 == 64 || TARGET_AVX512VL
27993 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
27994 : && ix86_pre_reload_split ()
27995 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
27996 : STRIP_UNARY (operands[4]))
27997 : || rtx_equal_p (STRIP_UNARY (operands[2]),
27998 : STRIP_UNARY (operands[4]))
27999 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28000 : STRIP_UNARY (operands[3]))
28001 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28002 : STRIP_UNARY (operands[3])))) &&
28003 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28004 : (TARGET_AVX512F)) &&
28005 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28006 : ( 1)))
28007 : return NULL;
28008 : return gen_split_2557 (insn, operands);
28009 :
28010 : case 7:
28011 : if (!((
28012 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28013 : ((32 == 64 || TARGET_AVX512VL
28014 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28015 : && ix86_pre_reload_split ()
28016 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28017 : STRIP_UNARY (operands[4]))
28018 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28019 : STRIP_UNARY (operands[4]))
28020 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28021 : STRIP_UNARY (operands[3]))
28022 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28023 : STRIP_UNARY (operands[3])))) &&
28024 : #line 347 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28025 : (TARGET_AVX)) &&
28026 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28027 : ( 1)))
28028 : return NULL;
28029 : return gen_split_2584 (insn, operands);
28030 :
28031 : case 8:
28032 : if (!(
28033 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28034 : ((16 == 64 || TARGET_AVX512VL
28035 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28036 : && ix86_pre_reload_split ()
28037 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28038 : STRIP_UNARY (operands[4]))
28039 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28040 : STRIP_UNARY (operands[4]))
28041 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28042 : STRIP_UNARY (operands[3]))
28043 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28044 : STRIP_UNARY (operands[3])))) &&
28045 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28046 : ( 1)))
28047 : return NULL;
28048 : return gen_split_2611 (insn, operands);
28049 :
28050 : case 9:
28051 : if (!((
28052 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28053 : ((64 == 64 || TARGET_AVX512VL
28054 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28055 : && ix86_pre_reload_split ()
28056 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28057 : STRIP_UNARY (operands[4]))
28058 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28059 : STRIP_UNARY (operands[4]))
28060 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28061 : STRIP_UNARY (operands[3]))
28062 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28063 : STRIP_UNARY (operands[3])))) &&
28064 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28065 : (TARGET_AVX512F)) &&
28066 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28067 : ( 1)))
28068 : return NULL;
28069 : return gen_split_2638 (insn, operands);
28070 :
28071 : case 10:
28072 : if (!((
28073 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28074 : ((32 == 64 || TARGET_AVX512VL
28075 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28076 : && ix86_pre_reload_split ()
28077 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28078 : STRIP_UNARY (operands[4]))
28079 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28080 : STRIP_UNARY (operands[4]))
28081 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28082 : STRIP_UNARY (operands[3]))
28083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28084 : STRIP_UNARY (operands[3])))) &&
28085 : #line 348 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28086 : (TARGET_AVX)) &&
28087 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28088 : ( 1)))
28089 : return NULL;
28090 : return gen_split_2665 (insn, operands);
28091 :
28092 : case 11:
28093 : if (!(
28094 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28095 : ((16 == 64 || TARGET_AVX512VL
28096 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28097 : && ix86_pre_reload_split ()
28098 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28099 : STRIP_UNARY (operands[4]))
28100 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28101 : STRIP_UNARY (operands[4]))
28102 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28103 : STRIP_UNARY (operands[3]))
28104 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28105 : STRIP_UNARY (operands[3])))) &&
28106 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28107 : ( 1)))
28108 : return NULL;
28109 : return gen_split_2692 (insn, operands);
28110 :
28111 : default:
28112 : return NULL;
28113 : }
28114 :
28115 : default:
28116 : return NULL;
28117 : }
28118 : }
28119 :
28120 : rtx_insn *
28121 : split_73 (rtx x1 ATTRIBUTE_UNUSED, rtx_insn *insn ATTRIBUTE_UNUSED)
28122 : {
28123 : rtx * const operands ATTRIBUTE_UNUSED = &recog_data.operand[0];
28124 : rtx x2, x3, x4;
28125 : rtx_insn *res ATTRIBUTE_UNUSED;
28126 : x2 = XEXP (x1, 1);
28127 : x3 = XEXP (x2, 0);
28128 : switch (GET_CODE (x3))
28129 : {
28130 : case AND:
28131 : x4 = XEXP (x3, 0);
28132 : switch (GET_CODE (x4))
28133 : {
28134 : case REG:
28135 : case SUBREG:
28136 : case MEM:
28137 : case NOT:
28138 : switch (pattern541 (x2))
28139 : {
28140 : case 0:
28141 : if (!((
28142 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28143 : ((64 == 64 || TARGET_AVX512VL
28144 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28145 : && ix86_pre_reload_split ()
28146 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28147 : STRIP_UNARY (operands[4]))
28148 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28149 : STRIP_UNARY (operands[4]))
28150 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28151 : STRIP_UNARY (operands[3]))
28152 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28153 : STRIP_UNARY (operands[3])))) &&
28154 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28155 : (TARGET_AVX512F)) &&
28156 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28157 : ( 1)))
28158 : return NULL;
28159 : return gen_split_2066 (insn, operands);
28160 :
28161 : case 1:
28162 : if (!((
28163 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28164 : ((32 == 64 || TARGET_AVX512VL
28165 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28166 : && ix86_pre_reload_split ()
28167 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28168 : STRIP_UNARY (operands[4]))
28169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28170 : STRIP_UNARY (operands[4]))
28171 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28172 : STRIP_UNARY (operands[3]))
28173 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28174 : STRIP_UNARY (operands[3])))) &&
28175 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28176 : (TARGET_AVX)) &&
28177 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28178 : ( 1)))
28179 : return NULL;
28180 : return gen_split_2093 (insn, operands);
28181 :
28182 : case 2:
28183 : if (!(
28184 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28185 : ((16 == 64 || TARGET_AVX512VL
28186 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28187 : && ix86_pre_reload_split ()
28188 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28189 : STRIP_UNARY (operands[4]))
28190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28191 : STRIP_UNARY (operands[4]))
28192 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28193 : STRIP_UNARY (operands[3]))
28194 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28195 : STRIP_UNARY (operands[3])))) &&
28196 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28197 : ( 1)))
28198 : return NULL;
28199 : return gen_split_2120 (insn, operands);
28200 :
28201 : case 3:
28202 : if (!((
28203 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28204 : ((64 == 64 || TARGET_AVX512VL
28205 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28206 : && ix86_pre_reload_split ()
28207 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28208 : STRIP_UNARY (operands[4]))
28209 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28210 : STRIP_UNARY (operands[4]))
28211 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28212 : STRIP_UNARY (operands[3]))
28213 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28214 : STRIP_UNARY (operands[3])))) &&
28215 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28216 : (TARGET_AVX512F)) &&
28217 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28218 : ( 1)))
28219 : return NULL;
28220 : return gen_split_2147 (insn, operands);
28221 :
28222 : case 4:
28223 : if (!((
28224 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28225 : ((32 == 64 || TARGET_AVX512VL
28226 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28227 : && ix86_pre_reload_split ()
28228 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28229 : STRIP_UNARY (operands[4]))
28230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28231 : STRIP_UNARY (operands[4]))
28232 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28233 : STRIP_UNARY (operands[3]))
28234 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28235 : STRIP_UNARY (operands[3])))) &&
28236 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28237 : (TARGET_AVX)) &&
28238 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28239 : ( 1)))
28240 : return NULL;
28241 : return gen_split_2174 (insn, operands);
28242 :
28243 : case 5:
28244 : if (!(
28245 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28246 : ((16 == 64 || TARGET_AVX512VL
28247 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28248 : && ix86_pre_reload_split ()
28249 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28250 : STRIP_UNARY (operands[4]))
28251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28252 : STRIP_UNARY (operands[4]))
28253 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28254 : STRIP_UNARY (operands[3]))
28255 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28256 : STRIP_UNARY (operands[3])))) &&
28257 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28258 : ( 1)))
28259 : return NULL;
28260 : return gen_split_2201 (insn, operands);
28261 :
28262 : case 6:
28263 : if (!((
28264 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28265 : ((64 == 64 || TARGET_AVX512VL
28266 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28267 : && ix86_pre_reload_split ()
28268 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28269 : STRIP_UNARY (operands[4]))
28270 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28271 : STRIP_UNARY (operands[4]))
28272 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28273 : STRIP_UNARY (operands[3]))
28274 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28275 : STRIP_UNARY (operands[3])))) &&
28276 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28277 : (TARGET_AVX512F)) &&
28278 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28279 : ( 1)))
28280 : return NULL;
28281 : return gen_split_2228 (insn, operands);
28282 :
28283 : case 7:
28284 : if (!((
28285 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28286 : ((32 == 64 || TARGET_AVX512VL
28287 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28288 : && ix86_pre_reload_split ()
28289 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28290 : STRIP_UNARY (operands[4]))
28291 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28292 : STRIP_UNARY (operands[4]))
28293 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28294 : STRIP_UNARY (operands[3]))
28295 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28296 : STRIP_UNARY (operands[3])))) &&
28297 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28298 : (TARGET_AVX)) &&
28299 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28300 : ( 1)))
28301 : return NULL;
28302 : return gen_split_2255 (insn, operands);
28303 :
28304 : case 8:
28305 : if (!(
28306 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28307 : ((16 == 64 || TARGET_AVX512VL
28308 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28309 : && ix86_pre_reload_split ()
28310 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28311 : STRIP_UNARY (operands[4]))
28312 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28313 : STRIP_UNARY (operands[4]))
28314 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28315 : STRIP_UNARY (operands[3]))
28316 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28317 : STRIP_UNARY (operands[3])))) &&
28318 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28319 : ( 1)))
28320 : return NULL;
28321 : return gen_split_2282 (insn, operands);
28322 :
28323 : case 9:
28324 : if (!((
28325 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28326 : ((64 == 64 || TARGET_AVX512VL
28327 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28328 : && ix86_pre_reload_split ()
28329 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28330 : STRIP_UNARY (operands[4]))
28331 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28332 : STRIP_UNARY (operands[4]))
28333 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28334 : STRIP_UNARY (operands[3]))
28335 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28336 : STRIP_UNARY (operands[3])))) &&
28337 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28338 : (TARGET_AVX512F)) &&
28339 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28340 : ( 1)))
28341 : return NULL;
28342 : return gen_split_2309 (insn, operands);
28343 :
28344 : case 10:
28345 : if (!((
28346 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28347 : ((32 == 64 || TARGET_AVX512VL
28348 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28349 : && ix86_pre_reload_split ()
28350 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28351 : STRIP_UNARY (operands[4]))
28352 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28353 : STRIP_UNARY (operands[4]))
28354 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28355 : STRIP_UNARY (operands[3]))
28356 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28357 : STRIP_UNARY (operands[3])))) &&
28358 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28359 : (TARGET_AVX)) &&
28360 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28361 : ( 1)))
28362 : return NULL;
28363 : return gen_split_2336 (insn, operands);
28364 :
28365 : case 11:
28366 : if (!((
28367 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28368 : ((16 == 64 || TARGET_AVX512VL
28369 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28370 : && ix86_pre_reload_split ()
28371 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28372 : STRIP_UNARY (operands[4]))
28373 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28374 : STRIP_UNARY (operands[4]))
28375 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28376 : STRIP_UNARY (operands[3]))
28377 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28378 : STRIP_UNARY (operands[3])))) &&
28379 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28380 : (TARGET_SSE2)) &&
28381 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28382 : ( 1)))
28383 : return NULL;
28384 : return gen_split_2363 (insn, operands);
28385 :
28386 : case 12:
28387 : if (!((
28388 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28389 : ((64 == 64 || TARGET_AVX512VL
28390 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28391 : && ix86_pre_reload_split ()
28392 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28393 : STRIP_UNARY (operands[4]))
28394 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28395 : STRIP_UNARY (operands[4]))
28396 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28397 : STRIP_UNARY (operands[3]))
28398 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28399 : STRIP_UNARY (operands[3])))) &&
28400 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28401 : (TARGET_AVX512F)) &&
28402 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28403 : ( 1)))
28404 : return NULL;
28405 : return gen_split_2069 (insn, operands);
28406 :
28407 : case 13:
28408 : if (!((
28409 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28410 : ((32 == 64 || TARGET_AVX512VL
28411 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28412 : && ix86_pre_reload_split ()
28413 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28414 : STRIP_UNARY (operands[4]))
28415 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28416 : STRIP_UNARY (operands[4]))
28417 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28418 : STRIP_UNARY (operands[3]))
28419 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28420 : STRIP_UNARY (operands[3])))) &&
28421 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28422 : (TARGET_AVX)) &&
28423 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28424 : ( 1)))
28425 : return NULL;
28426 : return gen_split_2096 (insn, operands);
28427 :
28428 : case 14:
28429 : if (!(
28430 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28431 : ((16 == 64 || TARGET_AVX512VL
28432 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28433 : && ix86_pre_reload_split ()
28434 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28435 : STRIP_UNARY (operands[4]))
28436 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28437 : STRIP_UNARY (operands[4]))
28438 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28439 : STRIP_UNARY (operands[3]))
28440 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28441 : STRIP_UNARY (operands[3])))) &&
28442 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28443 : ( 1)))
28444 : return NULL;
28445 : return gen_split_2123 (insn, operands);
28446 :
28447 : case 15:
28448 : if (!((
28449 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28450 : ((64 == 64 || TARGET_AVX512VL
28451 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28452 : && ix86_pre_reload_split ()
28453 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28454 : STRIP_UNARY (operands[4]))
28455 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28456 : STRIP_UNARY (operands[4]))
28457 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28458 : STRIP_UNARY (operands[3]))
28459 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28460 : STRIP_UNARY (operands[3])))) &&
28461 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28462 : (TARGET_AVX512F)) &&
28463 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28464 : ( 1)))
28465 : return NULL;
28466 : return gen_split_2150 (insn, operands);
28467 :
28468 : case 16:
28469 : if (!((
28470 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28471 : ((32 == 64 || TARGET_AVX512VL
28472 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28473 : && ix86_pre_reload_split ()
28474 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28475 : STRIP_UNARY (operands[4]))
28476 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28477 : STRIP_UNARY (operands[4]))
28478 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28479 : STRIP_UNARY (operands[3]))
28480 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28481 : STRIP_UNARY (operands[3])))) &&
28482 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28483 : (TARGET_AVX)) &&
28484 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28485 : ( 1)))
28486 : return NULL;
28487 : return gen_split_2177 (insn, operands);
28488 :
28489 : case 17:
28490 : if (!(
28491 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28492 : ((16 == 64 || TARGET_AVX512VL
28493 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28494 : && ix86_pre_reload_split ()
28495 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28496 : STRIP_UNARY (operands[4]))
28497 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28498 : STRIP_UNARY (operands[4]))
28499 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28500 : STRIP_UNARY (operands[3]))
28501 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28502 : STRIP_UNARY (operands[3])))) &&
28503 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28504 : ( 1)))
28505 : return NULL;
28506 : return gen_split_2204 (insn, operands);
28507 :
28508 : case 18:
28509 : if (!((
28510 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28511 : ((64 == 64 || TARGET_AVX512VL
28512 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28513 : && ix86_pre_reload_split ()
28514 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28515 : STRIP_UNARY (operands[4]))
28516 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28517 : STRIP_UNARY (operands[4]))
28518 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28519 : STRIP_UNARY (operands[3]))
28520 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28521 : STRIP_UNARY (operands[3])))) &&
28522 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28523 : (TARGET_AVX512F)) &&
28524 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28525 : ( 1)))
28526 : return NULL;
28527 : return gen_split_2231 (insn, operands);
28528 :
28529 : case 19:
28530 : if (!((
28531 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28532 : ((32 == 64 || TARGET_AVX512VL
28533 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28534 : && ix86_pre_reload_split ()
28535 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28536 : STRIP_UNARY (operands[4]))
28537 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28538 : STRIP_UNARY (operands[4]))
28539 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28540 : STRIP_UNARY (operands[3]))
28541 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28542 : STRIP_UNARY (operands[3])))) &&
28543 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28544 : (TARGET_AVX)) &&
28545 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28546 : ( 1)))
28547 : return NULL;
28548 : return gen_split_2258 (insn, operands);
28549 :
28550 : case 20:
28551 : if (!(
28552 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28553 : ((16 == 64 || TARGET_AVX512VL
28554 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28555 : && ix86_pre_reload_split ()
28556 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28557 : STRIP_UNARY (operands[4]))
28558 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28559 : STRIP_UNARY (operands[4]))
28560 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28561 : STRIP_UNARY (operands[3]))
28562 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28563 : STRIP_UNARY (operands[3])))) &&
28564 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28565 : ( 1)))
28566 : return NULL;
28567 : return gen_split_2285 (insn, operands);
28568 :
28569 : case 21:
28570 : if (!((
28571 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28572 : ((64 == 64 || TARGET_AVX512VL
28573 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28574 : && ix86_pre_reload_split ()
28575 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28576 : STRIP_UNARY (operands[4]))
28577 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28578 : STRIP_UNARY (operands[4]))
28579 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28580 : STRIP_UNARY (operands[3]))
28581 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28582 : STRIP_UNARY (operands[3])))) &&
28583 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28584 : (TARGET_AVX512F)) &&
28585 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28586 : ( 1)))
28587 : return NULL;
28588 : return gen_split_2312 (insn, operands);
28589 :
28590 : case 22:
28591 : if (!((
28592 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28593 : ((32 == 64 || TARGET_AVX512VL
28594 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28595 : && ix86_pre_reload_split ()
28596 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28597 : STRIP_UNARY (operands[4]))
28598 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28599 : STRIP_UNARY (operands[4]))
28600 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28601 : STRIP_UNARY (operands[3]))
28602 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28603 : STRIP_UNARY (operands[3])))) &&
28604 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28605 : (TARGET_AVX)) &&
28606 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28607 : ( 1)))
28608 : return NULL;
28609 : return gen_split_2339 (insn, operands);
28610 :
28611 : case 23:
28612 : if (!((
28613 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28614 : ((16 == 64 || TARGET_AVX512VL
28615 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28616 : && ix86_pre_reload_split ()
28617 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28618 : STRIP_UNARY (operands[4]))
28619 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28620 : STRIP_UNARY (operands[4]))
28621 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28622 : STRIP_UNARY (operands[3]))
28623 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28624 : STRIP_UNARY (operands[3])))) &&
28625 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28626 : (TARGET_SSE2)) &&
28627 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28628 : ( 1)))
28629 : return NULL;
28630 : return gen_split_2366 (insn, operands);
28631 :
28632 : case 24:
28633 : if (!((
28634 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28635 : ((64 == 64 || TARGET_AVX512VL
28636 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28637 : && ix86_pre_reload_split ()
28638 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28639 : STRIP_UNARY (operands[4]))
28640 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28641 : STRIP_UNARY (operands[4]))
28642 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28643 : STRIP_UNARY (operands[3]))
28644 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28645 : STRIP_UNARY (operands[3])))) &&
28646 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28647 : (TARGET_AVX512F)) &&
28648 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28649 : ( 1)))
28650 : return NULL;
28651 : return gen_split_2072 (insn, operands);
28652 :
28653 : case 25:
28654 : if (!((
28655 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28656 : ((32 == 64 || TARGET_AVX512VL
28657 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28658 : && ix86_pre_reload_split ()
28659 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28660 : STRIP_UNARY (operands[4]))
28661 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28662 : STRIP_UNARY (operands[4]))
28663 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28664 : STRIP_UNARY (operands[3]))
28665 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28666 : STRIP_UNARY (operands[3])))) &&
28667 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28668 : (TARGET_AVX)) &&
28669 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28670 : ( 1)))
28671 : return NULL;
28672 : return gen_split_2099 (insn, operands);
28673 :
28674 : case 26:
28675 : if (!(
28676 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28677 : ((16 == 64 || TARGET_AVX512VL
28678 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28679 : && ix86_pre_reload_split ()
28680 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28681 : STRIP_UNARY (operands[4]))
28682 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28683 : STRIP_UNARY (operands[4]))
28684 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28685 : STRIP_UNARY (operands[3]))
28686 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28687 : STRIP_UNARY (operands[3])))) &&
28688 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28689 : ( 1)))
28690 : return NULL;
28691 : return gen_split_2126 (insn, operands);
28692 :
28693 : case 27:
28694 : if (!((
28695 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28696 : ((64 == 64 || TARGET_AVX512VL
28697 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28698 : && ix86_pre_reload_split ()
28699 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28700 : STRIP_UNARY (operands[4]))
28701 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28702 : STRIP_UNARY (operands[4]))
28703 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28704 : STRIP_UNARY (operands[3]))
28705 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28706 : STRIP_UNARY (operands[3])))) &&
28707 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28708 : (TARGET_AVX512F)) &&
28709 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28710 : ( 1)))
28711 : return NULL;
28712 : return gen_split_2153 (insn, operands);
28713 :
28714 : case 28:
28715 : if (!((
28716 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28717 : ((32 == 64 || TARGET_AVX512VL
28718 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28719 : && ix86_pre_reload_split ()
28720 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28721 : STRIP_UNARY (operands[4]))
28722 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28723 : STRIP_UNARY (operands[4]))
28724 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28725 : STRIP_UNARY (operands[3]))
28726 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28727 : STRIP_UNARY (operands[3])))) &&
28728 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28729 : (TARGET_AVX)) &&
28730 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28731 : ( 1)))
28732 : return NULL;
28733 : return gen_split_2180 (insn, operands);
28734 :
28735 : case 29:
28736 : if (!(
28737 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28738 : ((16 == 64 || TARGET_AVX512VL
28739 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28740 : && ix86_pre_reload_split ()
28741 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28742 : STRIP_UNARY (operands[4]))
28743 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28744 : STRIP_UNARY (operands[4]))
28745 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28746 : STRIP_UNARY (operands[3]))
28747 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28748 : STRIP_UNARY (operands[3])))) &&
28749 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28750 : ( 1)))
28751 : return NULL;
28752 : return gen_split_2207 (insn, operands);
28753 :
28754 : case 30:
28755 : if (!((
28756 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28757 : ((64 == 64 || TARGET_AVX512VL
28758 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28759 : && ix86_pre_reload_split ()
28760 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28761 : STRIP_UNARY (operands[4]))
28762 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28763 : STRIP_UNARY (operands[4]))
28764 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28765 : STRIP_UNARY (operands[3]))
28766 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28767 : STRIP_UNARY (operands[3])))) &&
28768 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28769 : (TARGET_AVX512F)) &&
28770 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28771 : ( 1)))
28772 : return NULL;
28773 : return gen_split_2234 (insn, operands);
28774 :
28775 : case 31:
28776 : if (!((
28777 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28778 : ((32 == 64 || TARGET_AVX512VL
28779 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28780 : && ix86_pre_reload_split ()
28781 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28782 : STRIP_UNARY (operands[4]))
28783 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28784 : STRIP_UNARY (operands[4]))
28785 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28786 : STRIP_UNARY (operands[3]))
28787 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28788 : STRIP_UNARY (operands[3])))) &&
28789 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28790 : (TARGET_AVX)) &&
28791 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28792 : ( 1)))
28793 : return NULL;
28794 : return gen_split_2261 (insn, operands);
28795 :
28796 : case 32:
28797 : if (!(
28798 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28799 : ((16 == 64 || TARGET_AVX512VL
28800 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28801 : && ix86_pre_reload_split ()
28802 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28803 : STRIP_UNARY (operands[4]))
28804 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28805 : STRIP_UNARY (operands[4]))
28806 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28807 : STRIP_UNARY (operands[3]))
28808 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28809 : STRIP_UNARY (operands[3])))) &&
28810 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28811 : ( 1)))
28812 : return NULL;
28813 : return gen_split_2288 (insn, operands);
28814 :
28815 : case 33:
28816 : if (!((
28817 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28818 : ((64 == 64 || TARGET_AVX512VL
28819 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28820 : && ix86_pre_reload_split ()
28821 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28822 : STRIP_UNARY (operands[4]))
28823 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28824 : STRIP_UNARY (operands[4]))
28825 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28826 : STRIP_UNARY (operands[3]))
28827 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28828 : STRIP_UNARY (operands[3])))) &&
28829 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28830 : (TARGET_AVX512F)) &&
28831 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28832 : ( 1)))
28833 : return NULL;
28834 : return gen_split_2315 (insn, operands);
28835 :
28836 : case 34:
28837 : if (!((
28838 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28839 : ((32 == 64 || TARGET_AVX512VL
28840 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28841 : && ix86_pre_reload_split ()
28842 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28843 : STRIP_UNARY (operands[4]))
28844 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28845 : STRIP_UNARY (operands[4]))
28846 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28847 : STRIP_UNARY (operands[3]))
28848 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28849 : STRIP_UNARY (operands[3])))) &&
28850 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28851 : (TARGET_AVX)) &&
28852 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28853 : ( 1)))
28854 : return NULL;
28855 : return gen_split_2342 (insn, operands);
28856 :
28857 : case 35:
28858 : if (!((
28859 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28860 : ((16 == 64 || TARGET_AVX512VL
28861 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28862 : && ix86_pre_reload_split ()
28863 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
28864 : STRIP_UNARY (operands[4]))
28865 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28866 : STRIP_UNARY (operands[4]))
28867 : || rtx_equal_p (STRIP_UNARY (operands[1]),
28868 : STRIP_UNARY (operands[3]))
28869 : || rtx_equal_p (STRIP_UNARY (operands[2]),
28870 : STRIP_UNARY (operands[3])))) &&
28871 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28872 : (TARGET_SSE2)) &&
28873 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28874 : ( 1)))
28875 : return NULL;
28876 : return gen_split_2369 (insn, operands);
28877 :
28878 : case 36:
28879 : if (!((
28880 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28881 : ((64 == 64 || TARGET_AVX512VL
28882 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28883 : && ix86_pre_reload_split ()) &&
28884 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28885 : (TARGET_AVX512F)) &&
28886 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28887 : ( 1)))
28888 : return NULL;
28889 : return gen_split_3146 (insn, operands);
28890 :
28891 : case 37:
28892 : if (!((
28893 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28894 : ((32 == 64 || TARGET_AVX512VL
28895 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28896 : && ix86_pre_reload_split ()) &&
28897 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28898 : (TARGET_AVX)) &&
28899 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28900 : ( 1)))
28901 : return NULL;
28902 : return gen_split_3155 (insn, operands);
28903 :
28904 : case 38:
28905 : if (!(
28906 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28907 : ((16 == 64 || TARGET_AVX512VL
28908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28909 : && ix86_pre_reload_split ()) &&
28910 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28911 : ( 1)))
28912 : return NULL;
28913 : return gen_split_3164 (insn, operands);
28914 :
28915 : case 39:
28916 : if (!((
28917 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28918 : ((64 == 64 || TARGET_AVX512VL
28919 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28920 : && ix86_pre_reload_split ()) &&
28921 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28922 : (TARGET_AVX512F)) &&
28923 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28924 : ( 1)))
28925 : return NULL;
28926 : return gen_split_3173 (insn, operands);
28927 :
28928 : case 40:
28929 : if (!((
28930 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28931 : ((32 == 64 || TARGET_AVX512VL
28932 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28933 : && ix86_pre_reload_split ()) &&
28934 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28935 : (TARGET_AVX)) &&
28936 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28937 : ( 1)))
28938 : return NULL;
28939 : return gen_split_3182 (insn, operands);
28940 :
28941 : case 41:
28942 : if (!(
28943 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28944 : ((16 == 64 || TARGET_AVX512VL
28945 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28946 : && ix86_pre_reload_split ()) &&
28947 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28948 : ( 1)))
28949 : return NULL;
28950 : return gen_split_3191 (insn, operands);
28951 :
28952 : case 42:
28953 : if (!((
28954 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28955 : ((64 == 64 || TARGET_AVX512VL
28956 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28957 : && ix86_pre_reload_split ()) &&
28958 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28959 : (TARGET_AVX512F)) &&
28960 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28961 : ( 1)))
28962 : return NULL;
28963 : return gen_split_3200 (insn, operands);
28964 :
28965 : case 43:
28966 : if (!((
28967 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28968 : ((32 == 64 || TARGET_AVX512VL
28969 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28970 : && ix86_pre_reload_split ()) &&
28971 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28972 : (TARGET_AVX)) &&
28973 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28974 : ( 1)))
28975 : return NULL;
28976 : return gen_split_3209 (insn, operands);
28977 :
28978 : case 44:
28979 : if (!(
28980 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28981 : ((16 == 64 || TARGET_AVX512VL
28982 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28983 : && ix86_pre_reload_split ()) &&
28984 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28985 : ( 1)))
28986 : return NULL;
28987 : return gen_split_3218 (insn, operands);
28988 :
28989 : case 45:
28990 : if (!((
28991 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28992 : ((64 == 64 || TARGET_AVX512VL
28993 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
28994 : && ix86_pre_reload_split ()) &&
28995 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28996 : (TARGET_AVX512F)) &&
28997 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
28998 : ( 1)))
28999 : return NULL;
29000 : return gen_split_3227 (insn, operands);
29001 :
29002 : case 46:
29003 : if (!((
29004 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29005 : ((32 == 64 || TARGET_AVX512VL
29006 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29007 : && ix86_pre_reload_split ()) &&
29008 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29009 : (TARGET_AVX)) &&
29010 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29011 : ( 1)))
29012 : return NULL;
29013 : return gen_split_3236 (insn, operands);
29014 :
29015 : case 47:
29016 : if (!((
29017 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29018 : ((16 == 64 || TARGET_AVX512VL
29019 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29020 : && ix86_pre_reload_split ()) &&
29021 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29022 : (TARGET_SSE2)) &&
29023 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29024 : ( 1)))
29025 : return NULL;
29026 : return gen_split_3245 (insn, operands);
29027 :
29028 : default:
29029 : return NULL;
29030 : }
29031 :
29032 : case AND:
29033 : switch (pattern542 (x2))
29034 : {
29035 : case 0:
29036 : if (!((
29037 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29038 : ((64 == 64 || TARGET_AVX512VL
29039 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29040 : && ix86_pre_reload_split ()
29041 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29042 : STRIP_UNARY (operands[4]))
29043 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29044 : STRIP_UNARY (operands[4]))
29045 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29046 : STRIP_UNARY (operands[3]))
29047 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29048 : STRIP_UNARY (operands[3])))) &&
29049 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29050 : (TARGET_AVX512F)) &&
29051 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29052 : ( 1)))
29053 : return NULL;
29054 : return gen_split_2714 (insn, operands);
29055 :
29056 : case 1:
29057 : if (!((
29058 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29059 : ((32 == 64 || TARGET_AVX512VL
29060 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29061 : && ix86_pre_reload_split ()
29062 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29063 : STRIP_UNARY (operands[4]))
29064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29065 : STRIP_UNARY (operands[4]))
29066 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29067 : STRIP_UNARY (operands[3]))
29068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29069 : STRIP_UNARY (operands[3])))) &&
29070 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29071 : (TARGET_AVX)) &&
29072 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29073 : ( 1)))
29074 : return NULL;
29075 : return gen_split_2741 (insn, operands);
29076 :
29077 : case 2:
29078 : if (!(
29079 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29080 : ((16 == 64 || TARGET_AVX512VL
29081 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29082 : && ix86_pre_reload_split ()
29083 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29084 : STRIP_UNARY (operands[4]))
29085 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29086 : STRIP_UNARY (operands[4]))
29087 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29088 : STRIP_UNARY (operands[3]))
29089 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29090 : STRIP_UNARY (operands[3])))) &&
29091 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29092 : ( 1)))
29093 : return NULL;
29094 : return gen_split_2768 (insn, operands);
29095 :
29096 : case 3:
29097 : if (!((
29098 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29099 : ((64 == 64 || TARGET_AVX512VL
29100 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29101 : && ix86_pre_reload_split ()
29102 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29103 : STRIP_UNARY (operands[4]))
29104 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29105 : STRIP_UNARY (operands[4]))
29106 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29107 : STRIP_UNARY (operands[3]))
29108 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29109 : STRIP_UNARY (operands[3])))) &&
29110 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29111 : (TARGET_AVX512F)) &&
29112 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29113 : ( 1)))
29114 : return NULL;
29115 : return gen_split_2795 (insn, operands);
29116 :
29117 : case 4:
29118 : if (!((
29119 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29120 : ((32 == 64 || TARGET_AVX512VL
29121 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29122 : && ix86_pre_reload_split ()
29123 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29124 : STRIP_UNARY (operands[4]))
29125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29126 : STRIP_UNARY (operands[4]))
29127 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29128 : STRIP_UNARY (operands[3]))
29129 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29130 : STRIP_UNARY (operands[3])))) &&
29131 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29132 : (TARGET_AVX)) &&
29133 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29134 : ( 1)))
29135 : return NULL;
29136 : return gen_split_2822 (insn, operands);
29137 :
29138 : case 5:
29139 : if (!(
29140 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29141 : ((16 == 64 || TARGET_AVX512VL
29142 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29143 : && ix86_pre_reload_split ()
29144 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29145 : STRIP_UNARY (operands[4]))
29146 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29147 : STRIP_UNARY (operands[4]))
29148 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29149 : STRIP_UNARY (operands[3]))
29150 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29151 : STRIP_UNARY (operands[3])))) &&
29152 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29153 : ( 1)))
29154 : return NULL;
29155 : return gen_split_2849 (insn, operands);
29156 :
29157 : case 6:
29158 : if (!((
29159 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29160 : ((64 == 64 || TARGET_AVX512VL
29161 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29162 : && ix86_pre_reload_split ()
29163 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29164 : STRIP_UNARY (operands[4]))
29165 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29166 : STRIP_UNARY (operands[4]))
29167 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29168 : STRIP_UNARY (operands[3]))
29169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29170 : STRIP_UNARY (operands[3])))) &&
29171 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29172 : (TARGET_AVX512F)) &&
29173 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29174 : ( 1)))
29175 : return NULL;
29176 : return gen_split_2876 (insn, operands);
29177 :
29178 : case 7:
29179 : if (!((
29180 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29181 : ((32 == 64 || TARGET_AVX512VL
29182 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29183 : && ix86_pre_reload_split ()
29184 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29185 : STRIP_UNARY (operands[4]))
29186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29187 : STRIP_UNARY (operands[4]))
29188 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29189 : STRIP_UNARY (operands[3]))
29190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29191 : STRIP_UNARY (operands[3])))) &&
29192 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29193 : (TARGET_AVX)) &&
29194 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29195 : ( 1)))
29196 : return NULL;
29197 : return gen_split_2903 (insn, operands);
29198 :
29199 : case 8:
29200 : if (!(
29201 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29202 : ((16 == 64 || TARGET_AVX512VL
29203 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29204 : && ix86_pre_reload_split ()
29205 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29206 : STRIP_UNARY (operands[4]))
29207 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29208 : STRIP_UNARY (operands[4]))
29209 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29210 : STRIP_UNARY (operands[3]))
29211 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29212 : STRIP_UNARY (operands[3])))) &&
29213 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29214 : ( 1)))
29215 : return NULL;
29216 : return gen_split_2930 (insn, operands);
29217 :
29218 : case 9:
29219 : if (!((
29220 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29221 : ((64 == 64 || TARGET_AVX512VL
29222 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29223 : && ix86_pre_reload_split ()
29224 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29225 : STRIP_UNARY (operands[4]))
29226 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29227 : STRIP_UNARY (operands[4]))
29228 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29229 : STRIP_UNARY (operands[3]))
29230 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29231 : STRIP_UNARY (operands[3])))) &&
29232 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29233 : (TARGET_AVX512F)) &&
29234 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29235 : ( 1)))
29236 : return NULL;
29237 : return gen_split_2957 (insn, operands);
29238 :
29239 : case 10:
29240 : if (!((
29241 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29242 : ((32 == 64 || TARGET_AVX512VL
29243 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29244 : && ix86_pre_reload_split ()
29245 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29246 : STRIP_UNARY (operands[4]))
29247 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29248 : STRIP_UNARY (operands[4]))
29249 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29250 : STRIP_UNARY (operands[3]))
29251 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29252 : STRIP_UNARY (operands[3])))) &&
29253 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29254 : (TARGET_AVX)) &&
29255 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29256 : ( 1)))
29257 : return NULL;
29258 : return gen_split_2984 (insn, operands);
29259 :
29260 : case 11:
29261 : if (!((
29262 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29263 : ((16 == 64 || TARGET_AVX512VL
29264 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29265 : && ix86_pre_reload_split ()
29266 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29267 : STRIP_UNARY (operands[4]))
29268 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29269 : STRIP_UNARY (operands[4]))
29270 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29271 : STRIP_UNARY (operands[3]))
29272 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29273 : STRIP_UNARY (operands[3])))) &&
29274 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29275 : (TARGET_SSE2)) &&
29276 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29277 : ( 1)))
29278 : return NULL;
29279 : return gen_split_3011 (insn, operands);
29280 :
29281 : default:
29282 : return NULL;
29283 : }
29284 :
29285 : case IOR:
29286 : switch (pattern542 (x2))
29287 : {
29288 : case 0:
29289 : if (!((
29290 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29291 : ((64 == 64 || TARGET_AVX512VL
29292 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29293 : && ix86_pre_reload_split ()
29294 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29295 : STRIP_UNARY (operands[4]))
29296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29297 : STRIP_UNARY (operands[4]))
29298 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29299 : STRIP_UNARY (operands[3]))
29300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29301 : STRIP_UNARY (operands[3])))) &&
29302 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29303 : (TARGET_AVX512F)) &&
29304 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29305 : ( 1)))
29306 : return NULL;
29307 : return gen_split_2717 (insn, operands);
29308 :
29309 : case 1:
29310 : if (!((
29311 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29312 : ((32 == 64 || TARGET_AVX512VL
29313 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29314 : && ix86_pre_reload_split ()
29315 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29316 : STRIP_UNARY (operands[4]))
29317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29318 : STRIP_UNARY (operands[4]))
29319 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29320 : STRIP_UNARY (operands[3]))
29321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29322 : STRIP_UNARY (operands[3])))) &&
29323 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29324 : (TARGET_AVX)) &&
29325 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29326 : ( 1)))
29327 : return NULL;
29328 : return gen_split_2744 (insn, operands);
29329 :
29330 : case 2:
29331 : if (!(
29332 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29333 : ((16 == 64 || TARGET_AVX512VL
29334 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29335 : && ix86_pre_reload_split ()
29336 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29337 : STRIP_UNARY (operands[4]))
29338 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29339 : STRIP_UNARY (operands[4]))
29340 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29341 : STRIP_UNARY (operands[3]))
29342 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29343 : STRIP_UNARY (operands[3])))) &&
29344 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29345 : ( 1)))
29346 : return NULL;
29347 : return gen_split_2771 (insn, operands);
29348 :
29349 : case 3:
29350 : if (!((
29351 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29352 : ((64 == 64 || TARGET_AVX512VL
29353 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29354 : && ix86_pre_reload_split ()
29355 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29356 : STRIP_UNARY (operands[4]))
29357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29358 : STRIP_UNARY (operands[4]))
29359 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29360 : STRIP_UNARY (operands[3]))
29361 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29362 : STRIP_UNARY (operands[3])))) &&
29363 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29364 : (TARGET_AVX512F)) &&
29365 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29366 : ( 1)))
29367 : return NULL;
29368 : return gen_split_2798 (insn, operands);
29369 :
29370 : case 4:
29371 : if (!((
29372 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29373 : ((32 == 64 || TARGET_AVX512VL
29374 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29375 : && ix86_pre_reload_split ()
29376 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29377 : STRIP_UNARY (operands[4]))
29378 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29379 : STRIP_UNARY (operands[4]))
29380 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29381 : STRIP_UNARY (operands[3]))
29382 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29383 : STRIP_UNARY (operands[3])))) &&
29384 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29385 : (TARGET_AVX)) &&
29386 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29387 : ( 1)))
29388 : return NULL;
29389 : return gen_split_2825 (insn, operands);
29390 :
29391 : case 5:
29392 : if (!(
29393 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29394 : ((16 == 64 || TARGET_AVX512VL
29395 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29396 : && ix86_pre_reload_split ()
29397 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29398 : STRIP_UNARY (operands[4]))
29399 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29400 : STRIP_UNARY (operands[4]))
29401 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29402 : STRIP_UNARY (operands[3]))
29403 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29404 : STRIP_UNARY (operands[3])))) &&
29405 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29406 : ( 1)))
29407 : return NULL;
29408 : return gen_split_2852 (insn, operands);
29409 :
29410 : case 6:
29411 : if (!((
29412 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29413 : ((64 == 64 || TARGET_AVX512VL
29414 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29415 : && ix86_pre_reload_split ()
29416 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29417 : STRIP_UNARY (operands[4]))
29418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29419 : STRIP_UNARY (operands[4]))
29420 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29421 : STRIP_UNARY (operands[3]))
29422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29423 : STRIP_UNARY (operands[3])))) &&
29424 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29425 : (TARGET_AVX512F)) &&
29426 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29427 : ( 1)))
29428 : return NULL;
29429 : return gen_split_2879 (insn, operands);
29430 :
29431 : case 7:
29432 : if (!((
29433 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29434 : ((32 == 64 || TARGET_AVX512VL
29435 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29436 : && ix86_pre_reload_split ()
29437 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29438 : STRIP_UNARY (operands[4]))
29439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29440 : STRIP_UNARY (operands[4]))
29441 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29442 : STRIP_UNARY (operands[3]))
29443 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29444 : STRIP_UNARY (operands[3])))) &&
29445 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29446 : (TARGET_AVX)) &&
29447 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29448 : ( 1)))
29449 : return NULL;
29450 : return gen_split_2906 (insn, operands);
29451 :
29452 : case 8:
29453 : if (!(
29454 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29455 : ((16 == 64 || TARGET_AVX512VL
29456 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29457 : && ix86_pre_reload_split ()
29458 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29459 : STRIP_UNARY (operands[4]))
29460 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29461 : STRIP_UNARY (operands[4]))
29462 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29463 : STRIP_UNARY (operands[3]))
29464 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29465 : STRIP_UNARY (operands[3])))) &&
29466 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29467 : ( 1)))
29468 : return NULL;
29469 : return gen_split_2933 (insn, operands);
29470 :
29471 : case 9:
29472 : if (!((
29473 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29474 : ((64 == 64 || TARGET_AVX512VL
29475 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29476 : && ix86_pre_reload_split ()
29477 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29478 : STRIP_UNARY (operands[4]))
29479 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29480 : STRIP_UNARY (operands[4]))
29481 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29482 : STRIP_UNARY (operands[3]))
29483 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29484 : STRIP_UNARY (operands[3])))) &&
29485 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29486 : (TARGET_AVX512F)) &&
29487 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29488 : ( 1)))
29489 : return NULL;
29490 : return gen_split_2960 (insn, operands);
29491 :
29492 : case 10:
29493 : if (!((
29494 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29495 : ((32 == 64 || TARGET_AVX512VL
29496 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29497 : && ix86_pre_reload_split ()
29498 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29499 : STRIP_UNARY (operands[4]))
29500 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29501 : STRIP_UNARY (operands[4]))
29502 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29503 : STRIP_UNARY (operands[3]))
29504 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29505 : STRIP_UNARY (operands[3])))) &&
29506 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29507 : (TARGET_AVX)) &&
29508 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29509 : ( 1)))
29510 : return NULL;
29511 : return gen_split_2987 (insn, operands);
29512 :
29513 : case 11:
29514 : if (!((
29515 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29516 : ((16 == 64 || TARGET_AVX512VL
29517 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29518 : && ix86_pre_reload_split ()
29519 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29520 : STRIP_UNARY (operands[4]))
29521 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29522 : STRIP_UNARY (operands[4]))
29523 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29524 : STRIP_UNARY (operands[3]))
29525 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29526 : STRIP_UNARY (operands[3])))) &&
29527 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29528 : (TARGET_SSE2)) &&
29529 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29530 : ( 1)))
29531 : return NULL;
29532 : return gen_split_3014 (insn, operands);
29533 :
29534 : default:
29535 : return NULL;
29536 : }
29537 :
29538 : case XOR:
29539 : switch (pattern542 (x2))
29540 : {
29541 : case 0:
29542 : if (!((
29543 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29544 : ((64 == 64 || TARGET_AVX512VL
29545 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29546 : && ix86_pre_reload_split ()
29547 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29548 : STRIP_UNARY (operands[4]))
29549 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29550 : STRIP_UNARY (operands[4]))
29551 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29552 : STRIP_UNARY (operands[3]))
29553 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29554 : STRIP_UNARY (operands[3])))) &&
29555 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29556 : (TARGET_AVX512F)) &&
29557 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29558 : ( 1)))
29559 : return NULL;
29560 : return gen_split_2720 (insn, operands);
29561 :
29562 : case 1:
29563 : if (!((
29564 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29565 : ((32 == 64 || TARGET_AVX512VL
29566 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29567 : && ix86_pre_reload_split ()
29568 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29569 : STRIP_UNARY (operands[4]))
29570 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29571 : STRIP_UNARY (operands[4]))
29572 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29573 : STRIP_UNARY (operands[3]))
29574 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29575 : STRIP_UNARY (operands[3])))) &&
29576 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29577 : (TARGET_AVX)) &&
29578 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29579 : ( 1)))
29580 : return NULL;
29581 : return gen_split_2747 (insn, operands);
29582 :
29583 : case 2:
29584 : if (!(
29585 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29586 : ((16 == 64 || TARGET_AVX512VL
29587 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29588 : && ix86_pre_reload_split ()
29589 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29590 : STRIP_UNARY (operands[4]))
29591 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29592 : STRIP_UNARY (operands[4]))
29593 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29594 : STRIP_UNARY (operands[3]))
29595 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29596 : STRIP_UNARY (operands[3])))) &&
29597 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29598 : ( 1)))
29599 : return NULL;
29600 : return gen_split_2774 (insn, operands);
29601 :
29602 : case 3:
29603 : if (!((
29604 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29605 : ((64 == 64 || TARGET_AVX512VL
29606 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29607 : && ix86_pre_reload_split ()
29608 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29609 : STRIP_UNARY (operands[4]))
29610 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29611 : STRIP_UNARY (operands[4]))
29612 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29613 : STRIP_UNARY (operands[3]))
29614 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29615 : STRIP_UNARY (operands[3])))) &&
29616 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29617 : (TARGET_AVX512F)) &&
29618 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29619 : ( 1)))
29620 : return NULL;
29621 : return gen_split_2801 (insn, operands);
29622 :
29623 : case 4:
29624 : if (!((
29625 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29626 : ((32 == 64 || TARGET_AVX512VL
29627 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29628 : && ix86_pre_reload_split ()
29629 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29630 : STRIP_UNARY (operands[4]))
29631 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29632 : STRIP_UNARY (operands[4]))
29633 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29634 : STRIP_UNARY (operands[3]))
29635 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29636 : STRIP_UNARY (operands[3])))) &&
29637 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29638 : (TARGET_AVX)) &&
29639 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29640 : ( 1)))
29641 : return NULL;
29642 : return gen_split_2828 (insn, operands);
29643 :
29644 : case 5:
29645 : if (!(
29646 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29647 : ((16 == 64 || TARGET_AVX512VL
29648 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29649 : && ix86_pre_reload_split ()
29650 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29651 : STRIP_UNARY (operands[4]))
29652 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29653 : STRIP_UNARY (operands[4]))
29654 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29655 : STRIP_UNARY (operands[3]))
29656 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29657 : STRIP_UNARY (operands[3])))) &&
29658 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29659 : ( 1)))
29660 : return NULL;
29661 : return gen_split_2855 (insn, operands);
29662 :
29663 : case 6:
29664 : if (!((
29665 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29666 : ((64 == 64 || TARGET_AVX512VL
29667 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29668 : && ix86_pre_reload_split ()
29669 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29670 : STRIP_UNARY (operands[4]))
29671 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29672 : STRIP_UNARY (operands[4]))
29673 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29674 : STRIP_UNARY (operands[3]))
29675 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29676 : STRIP_UNARY (operands[3])))) &&
29677 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29678 : (TARGET_AVX512F)) &&
29679 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29680 : ( 1)))
29681 : return NULL;
29682 : return gen_split_2882 (insn, operands);
29683 :
29684 : case 7:
29685 : if (!((
29686 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29687 : ((32 == 64 || TARGET_AVX512VL
29688 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29689 : && ix86_pre_reload_split ()
29690 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29691 : STRIP_UNARY (operands[4]))
29692 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29693 : STRIP_UNARY (operands[4]))
29694 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29695 : STRIP_UNARY (operands[3]))
29696 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29697 : STRIP_UNARY (operands[3])))) &&
29698 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29699 : (TARGET_AVX)) &&
29700 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29701 : ( 1)))
29702 : return NULL;
29703 : return gen_split_2909 (insn, operands);
29704 :
29705 : case 8:
29706 : if (!(
29707 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29708 : ((16 == 64 || TARGET_AVX512VL
29709 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29710 : && ix86_pre_reload_split ()
29711 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29712 : STRIP_UNARY (operands[4]))
29713 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29714 : STRIP_UNARY (operands[4]))
29715 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29716 : STRIP_UNARY (operands[3]))
29717 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29718 : STRIP_UNARY (operands[3])))) &&
29719 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29720 : ( 1)))
29721 : return NULL;
29722 : return gen_split_2936 (insn, operands);
29723 :
29724 : case 9:
29725 : if (!((
29726 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29727 : ((64 == 64 || TARGET_AVX512VL
29728 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29729 : && ix86_pre_reload_split ()
29730 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29731 : STRIP_UNARY (operands[4]))
29732 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29733 : STRIP_UNARY (operands[4]))
29734 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29735 : STRIP_UNARY (operands[3]))
29736 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29737 : STRIP_UNARY (operands[3])))) &&
29738 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29739 : (TARGET_AVX512F)) &&
29740 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29741 : ( 1)))
29742 : return NULL;
29743 : return gen_split_2963 (insn, operands);
29744 :
29745 : case 10:
29746 : if (!((
29747 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29748 : ((32 == 64 || TARGET_AVX512VL
29749 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29750 : && ix86_pre_reload_split ()
29751 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29752 : STRIP_UNARY (operands[4]))
29753 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29754 : STRIP_UNARY (operands[4]))
29755 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29756 : STRIP_UNARY (operands[3]))
29757 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29758 : STRIP_UNARY (operands[3])))) &&
29759 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29760 : (TARGET_AVX)) &&
29761 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29762 : ( 1)))
29763 : return NULL;
29764 : return gen_split_2990 (insn, operands);
29765 :
29766 : case 11:
29767 : if (!((
29768 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29769 : ((16 == 64 || TARGET_AVX512VL
29770 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29771 : && ix86_pre_reload_split ()
29772 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29773 : STRIP_UNARY (operands[4]))
29774 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29775 : STRIP_UNARY (operands[4]))
29776 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29777 : STRIP_UNARY (operands[3]))
29778 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29779 : STRIP_UNARY (operands[3])))) &&
29780 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29781 : (TARGET_SSE2)) &&
29782 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29783 : ( 1)))
29784 : return NULL;
29785 : return gen_split_3017 (insn, operands);
29786 :
29787 : default:
29788 : return NULL;
29789 : }
29790 :
29791 : default:
29792 : return NULL;
29793 : }
29794 :
29795 : case IOR:
29796 : x4 = XEXP (x3, 0);
29797 : switch (GET_CODE (x4))
29798 : {
29799 : case REG:
29800 : case SUBREG:
29801 : case MEM:
29802 : case NOT:
29803 : switch (pattern541 (x2))
29804 : {
29805 : case 0:
29806 : if (!((
29807 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29808 : ((64 == 64 || TARGET_AVX512VL
29809 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29810 : && ix86_pre_reload_split ()
29811 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29812 : STRIP_UNARY (operands[4]))
29813 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29814 : STRIP_UNARY (operands[4]))
29815 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29816 : STRIP_UNARY (operands[3]))
29817 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29818 : STRIP_UNARY (operands[3])))) &&
29819 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29820 : (TARGET_AVX512F)) &&
29821 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29822 : ( 1)))
29823 : return NULL;
29824 : return gen_split_2075 (insn, operands);
29825 :
29826 : case 1:
29827 : if (!((
29828 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29829 : ((32 == 64 || TARGET_AVX512VL
29830 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29831 : && ix86_pre_reload_split ()
29832 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29833 : STRIP_UNARY (operands[4]))
29834 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29835 : STRIP_UNARY (operands[4]))
29836 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29837 : STRIP_UNARY (operands[3]))
29838 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29839 : STRIP_UNARY (operands[3])))) &&
29840 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29841 : (TARGET_AVX)) &&
29842 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29843 : ( 1)))
29844 : return NULL;
29845 : return gen_split_2102 (insn, operands);
29846 :
29847 : case 2:
29848 : if (!(
29849 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29850 : ((16 == 64 || TARGET_AVX512VL
29851 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29852 : && ix86_pre_reload_split ()
29853 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29854 : STRIP_UNARY (operands[4]))
29855 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29856 : STRIP_UNARY (operands[4]))
29857 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29858 : STRIP_UNARY (operands[3]))
29859 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29860 : STRIP_UNARY (operands[3])))) &&
29861 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29862 : ( 1)))
29863 : return NULL;
29864 : return gen_split_2129 (insn, operands);
29865 :
29866 : case 3:
29867 : if (!((
29868 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29869 : ((64 == 64 || TARGET_AVX512VL
29870 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29871 : && ix86_pre_reload_split ()
29872 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29873 : STRIP_UNARY (operands[4]))
29874 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29875 : STRIP_UNARY (operands[4]))
29876 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29877 : STRIP_UNARY (operands[3]))
29878 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29879 : STRIP_UNARY (operands[3])))) &&
29880 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29881 : (TARGET_AVX512F)) &&
29882 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29883 : ( 1)))
29884 : return NULL;
29885 : return gen_split_2156 (insn, operands);
29886 :
29887 : case 4:
29888 : if (!((
29889 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29890 : ((32 == 64 || TARGET_AVX512VL
29891 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29892 : && ix86_pre_reload_split ()
29893 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29894 : STRIP_UNARY (operands[4]))
29895 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29896 : STRIP_UNARY (operands[4]))
29897 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29898 : STRIP_UNARY (operands[3]))
29899 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29900 : STRIP_UNARY (operands[3])))) &&
29901 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29902 : (TARGET_AVX)) &&
29903 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29904 : ( 1)))
29905 : return NULL;
29906 : return gen_split_2183 (insn, operands);
29907 :
29908 : case 5:
29909 : if (!(
29910 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29911 : ((16 == 64 || TARGET_AVX512VL
29912 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29913 : && ix86_pre_reload_split ()
29914 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29915 : STRIP_UNARY (operands[4]))
29916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29917 : STRIP_UNARY (operands[4]))
29918 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29919 : STRIP_UNARY (operands[3]))
29920 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29921 : STRIP_UNARY (operands[3])))) &&
29922 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29923 : ( 1)))
29924 : return NULL;
29925 : return gen_split_2210 (insn, operands);
29926 :
29927 : case 6:
29928 : if (!((
29929 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29930 : ((64 == 64 || TARGET_AVX512VL
29931 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29932 : && ix86_pre_reload_split ()
29933 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29934 : STRIP_UNARY (operands[4]))
29935 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29936 : STRIP_UNARY (operands[4]))
29937 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29938 : STRIP_UNARY (operands[3]))
29939 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29940 : STRIP_UNARY (operands[3])))) &&
29941 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29942 : (TARGET_AVX512F)) &&
29943 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29944 : ( 1)))
29945 : return NULL;
29946 : return gen_split_2237 (insn, operands);
29947 :
29948 : case 7:
29949 : if (!((
29950 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29951 : ((32 == 64 || TARGET_AVX512VL
29952 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29953 : && ix86_pre_reload_split ()
29954 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29955 : STRIP_UNARY (operands[4]))
29956 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29957 : STRIP_UNARY (operands[4]))
29958 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29959 : STRIP_UNARY (operands[3]))
29960 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29961 : STRIP_UNARY (operands[3])))) &&
29962 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29963 : (TARGET_AVX)) &&
29964 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29965 : ( 1)))
29966 : return NULL;
29967 : return gen_split_2264 (insn, operands);
29968 :
29969 : case 8:
29970 : if (!(
29971 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29972 : ((16 == 64 || TARGET_AVX512VL
29973 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29974 : && ix86_pre_reload_split ()
29975 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29976 : STRIP_UNARY (operands[4]))
29977 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29978 : STRIP_UNARY (operands[4]))
29979 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29980 : STRIP_UNARY (operands[3]))
29981 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29982 : STRIP_UNARY (operands[3])))) &&
29983 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29984 : ( 1)))
29985 : return NULL;
29986 : return gen_split_2291 (insn, operands);
29987 :
29988 : case 9:
29989 : if (!((
29990 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
29991 : ((64 == 64 || TARGET_AVX512VL
29992 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
29993 : && ix86_pre_reload_split ()
29994 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
29995 : STRIP_UNARY (operands[4]))
29996 : || rtx_equal_p (STRIP_UNARY (operands[2]),
29997 : STRIP_UNARY (operands[4]))
29998 : || rtx_equal_p (STRIP_UNARY (operands[1]),
29999 : STRIP_UNARY (operands[3]))
30000 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30001 : STRIP_UNARY (operands[3])))) &&
30002 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30003 : (TARGET_AVX512F)) &&
30004 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30005 : ( 1)))
30006 : return NULL;
30007 : return gen_split_2318 (insn, operands);
30008 :
30009 : case 10:
30010 : if (!((
30011 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30012 : ((32 == 64 || TARGET_AVX512VL
30013 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30014 : && ix86_pre_reload_split ()
30015 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30016 : STRIP_UNARY (operands[4]))
30017 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30018 : STRIP_UNARY (operands[4]))
30019 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30020 : STRIP_UNARY (operands[3]))
30021 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30022 : STRIP_UNARY (operands[3])))) &&
30023 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30024 : (TARGET_AVX)) &&
30025 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30026 : ( 1)))
30027 : return NULL;
30028 : return gen_split_2345 (insn, operands);
30029 :
30030 : case 11:
30031 : if (!((
30032 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30033 : ((16 == 64 || TARGET_AVX512VL
30034 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30035 : && ix86_pre_reload_split ()
30036 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30037 : STRIP_UNARY (operands[4]))
30038 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30039 : STRIP_UNARY (operands[4]))
30040 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30041 : STRIP_UNARY (operands[3]))
30042 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30043 : STRIP_UNARY (operands[3])))) &&
30044 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30045 : (TARGET_SSE2)) &&
30046 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30047 : ( 1)))
30048 : return NULL;
30049 : return gen_split_2372 (insn, operands);
30050 :
30051 : case 12:
30052 : if (!((
30053 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30054 : ((64 == 64 || TARGET_AVX512VL
30055 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30056 : && ix86_pre_reload_split ()
30057 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30058 : STRIP_UNARY (operands[4]))
30059 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30060 : STRIP_UNARY (operands[4]))
30061 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30062 : STRIP_UNARY (operands[3]))
30063 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30064 : STRIP_UNARY (operands[3])))) &&
30065 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30066 : (TARGET_AVX512F)) &&
30067 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30068 : ( 1)))
30069 : return NULL;
30070 : return gen_split_2078 (insn, operands);
30071 :
30072 : case 13:
30073 : if (!((
30074 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30075 : ((32 == 64 || TARGET_AVX512VL
30076 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30077 : && ix86_pre_reload_split ()
30078 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30079 : STRIP_UNARY (operands[4]))
30080 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30081 : STRIP_UNARY (operands[4]))
30082 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30083 : STRIP_UNARY (operands[3]))
30084 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30085 : STRIP_UNARY (operands[3])))) &&
30086 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30087 : (TARGET_AVX)) &&
30088 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30089 : ( 1)))
30090 : return NULL;
30091 : return gen_split_2105 (insn, operands);
30092 :
30093 : case 14:
30094 : if (!(
30095 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30096 : ((16 == 64 || TARGET_AVX512VL
30097 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30098 : && ix86_pre_reload_split ()
30099 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30100 : STRIP_UNARY (operands[4]))
30101 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30102 : STRIP_UNARY (operands[4]))
30103 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30104 : STRIP_UNARY (operands[3]))
30105 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30106 : STRIP_UNARY (operands[3])))) &&
30107 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30108 : ( 1)))
30109 : return NULL;
30110 : return gen_split_2132 (insn, operands);
30111 :
30112 : case 15:
30113 : if (!((
30114 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30115 : ((64 == 64 || TARGET_AVX512VL
30116 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30117 : && ix86_pre_reload_split ()
30118 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30119 : STRIP_UNARY (operands[4]))
30120 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30121 : STRIP_UNARY (operands[4]))
30122 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30123 : STRIP_UNARY (operands[3]))
30124 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30125 : STRIP_UNARY (operands[3])))) &&
30126 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30127 : (TARGET_AVX512F)) &&
30128 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30129 : ( 1)))
30130 : return NULL;
30131 : return gen_split_2159 (insn, operands);
30132 :
30133 : case 16:
30134 : if (!((
30135 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30136 : ((32 == 64 || TARGET_AVX512VL
30137 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30138 : && ix86_pre_reload_split ()
30139 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30140 : STRIP_UNARY (operands[4]))
30141 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30142 : STRIP_UNARY (operands[4]))
30143 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30144 : STRIP_UNARY (operands[3]))
30145 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30146 : STRIP_UNARY (operands[3])))) &&
30147 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30148 : (TARGET_AVX)) &&
30149 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30150 : ( 1)))
30151 : return NULL;
30152 : return gen_split_2186 (insn, operands);
30153 :
30154 : case 17:
30155 : if (!(
30156 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30157 : ((16 == 64 || TARGET_AVX512VL
30158 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30159 : && ix86_pre_reload_split ()
30160 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30161 : STRIP_UNARY (operands[4]))
30162 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30163 : STRIP_UNARY (operands[4]))
30164 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30165 : STRIP_UNARY (operands[3]))
30166 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30167 : STRIP_UNARY (operands[3])))) &&
30168 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30169 : ( 1)))
30170 : return NULL;
30171 : return gen_split_2213 (insn, operands);
30172 :
30173 : case 18:
30174 : if (!((
30175 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30176 : ((64 == 64 || TARGET_AVX512VL
30177 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30178 : && ix86_pre_reload_split ()
30179 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30180 : STRIP_UNARY (operands[4]))
30181 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30182 : STRIP_UNARY (operands[4]))
30183 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30184 : STRIP_UNARY (operands[3]))
30185 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30186 : STRIP_UNARY (operands[3])))) &&
30187 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30188 : (TARGET_AVX512F)) &&
30189 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30190 : ( 1)))
30191 : return NULL;
30192 : return gen_split_2240 (insn, operands);
30193 :
30194 : case 19:
30195 : if (!((
30196 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30197 : ((32 == 64 || TARGET_AVX512VL
30198 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30199 : && ix86_pre_reload_split ()
30200 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30201 : STRIP_UNARY (operands[4]))
30202 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30203 : STRIP_UNARY (operands[4]))
30204 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30205 : STRIP_UNARY (operands[3]))
30206 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30207 : STRIP_UNARY (operands[3])))) &&
30208 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30209 : (TARGET_AVX)) &&
30210 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30211 : ( 1)))
30212 : return NULL;
30213 : return gen_split_2267 (insn, operands);
30214 :
30215 : case 20:
30216 : if (!(
30217 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30218 : ((16 == 64 || TARGET_AVX512VL
30219 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30220 : && ix86_pre_reload_split ()
30221 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30222 : STRIP_UNARY (operands[4]))
30223 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30224 : STRIP_UNARY (operands[4]))
30225 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30226 : STRIP_UNARY (operands[3]))
30227 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30228 : STRIP_UNARY (operands[3])))) &&
30229 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30230 : ( 1)))
30231 : return NULL;
30232 : return gen_split_2294 (insn, operands);
30233 :
30234 : case 21:
30235 : if (!((
30236 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30237 : ((64 == 64 || TARGET_AVX512VL
30238 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30239 : && ix86_pre_reload_split ()
30240 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30241 : STRIP_UNARY (operands[4]))
30242 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30243 : STRIP_UNARY (operands[4]))
30244 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30245 : STRIP_UNARY (operands[3]))
30246 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30247 : STRIP_UNARY (operands[3])))) &&
30248 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30249 : (TARGET_AVX512F)) &&
30250 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30251 : ( 1)))
30252 : return NULL;
30253 : return gen_split_2321 (insn, operands);
30254 :
30255 : case 22:
30256 : if (!((
30257 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30258 : ((32 == 64 || TARGET_AVX512VL
30259 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30260 : && ix86_pre_reload_split ()
30261 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30262 : STRIP_UNARY (operands[4]))
30263 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30264 : STRIP_UNARY (operands[4]))
30265 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30266 : STRIP_UNARY (operands[3]))
30267 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30268 : STRIP_UNARY (operands[3])))) &&
30269 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30270 : (TARGET_AVX)) &&
30271 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30272 : ( 1)))
30273 : return NULL;
30274 : return gen_split_2348 (insn, operands);
30275 :
30276 : case 23:
30277 : if (!((
30278 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30279 : ((16 == 64 || TARGET_AVX512VL
30280 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30281 : && ix86_pre_reload_split ()
30282 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30283 : STRIP_UNARY (operands[4]))
30284 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30285 : STRIP_UNARY (operands[4]))
30286 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30287 : STRIP_UNARY (operands[3]))
30288 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30289 : STRIP_UNARY (operands[3])))) &&
30290 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30291 : (TARGET_SSE2)) &&
30292 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30293 : ( 1)))
30294 : return NULL;
30295 : return gen_split_2375 (insn, operands);
30296 :
30297 : case 24:
30298 : if (!((
30299 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30300 : ((64 == 64 || TARGET_AVX512VL
30301 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30302 : && ix86_pre_reload_split ()
30303 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30304 : STRIP_UNARY (operands[4]))
30305 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30306 : STRIP_UNARY (operands[4]))
30307 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30308 : STRIP_UNARY (operands[3]))
30309 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30310 : STRIP_UNARY (operands[3])))) &&
30311 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30312 : (TARGET_AVX512F)) &&
30313 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30314 : ( 1)))
30315 : return NULL;
30316 : return gen_split_2081 (insn, operands);
30317 :
30318 : case 25:
30319 : if (!((
30320 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30321 : ((32 == 64 || TARGET_AVX512VL
30322 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30323 : && ix86_pre_reload_split ()
30324 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30325 : STRIP_UNARY (operands[4]))
30326 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30327 : STRIP_UNARY (operands[4]))
30328 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30329 : STRIP_UNARY (operands[3]))
30330 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30331 : STRIP_UNARY (operands[3])))) &&
30332 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30333 : (TARGET_AVX)) &&
30334 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30335 : ( 1)))
30336 : return NULL;
30337 : return gen_split_2108 (insn, operands);
30338 :
30339 : case 26:
30340 : if (!(
30341 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30342 : ((16 == 64 || TARGET_AVX512VL
30343 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30344 : && ix86_pre_reload_split ()
30345 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30346 : STRIP_UNARY (operands[4]))
30347 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30348 : STRIP_UNARY (operands[4]))
30349 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30350 : STRIP_UNARY (operands[3]))
30351 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30352 : STRIP_UNARY (operands[3])))) &&
30353 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30354 : ( 1)))
30355 : return NULL;
30356 : return gen_split_2135 (insn, operands);
30357 :
30358 : case 27:
30359 : if (!((
30360 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30361 : ((64 == 64 || TARGET_AVX512VL
30362 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30363 : && ix86_pre_reload_split ()
30364 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30365 : STRIP_UNARY (operands[4]))
30366 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30367 : STRIP_UNARY (operands[4]))
30368 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30369 : STRIP_UNARY (operands[3]))
30370 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30371 : STRIP_UNARY (operands[3])))) &&
30372 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30373 : (TARGET_AVX512F)) &&
30374 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30375 : ( 1)))
30376 : return NULL;
30377 : return gen_split_2162 (insn, operands);
30378 :
30379 : case 28:
30380 : if (!((
30381 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30382 : ((32 == 64 || TARGET_AVX512VL
30383 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30384 : && ix86_pre_reload_split ()
30385 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30386 : STRIP_UNARY (operands[4]))
30387 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30388 : STRIP_UNARY (operands[4]))
30389 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30390 : STRIP_UNARY (operands[3]))
30391 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30392 : STRIP_UNARY (operands[3])))) &&
30393 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30394 : (TARGET_AVX)) &&
30395 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30396 : ( 1)))
30397 : return NULL;
30398 : return gen_split_2189 (insn, operands);
30399 :
30400 : case 29:
30401 : if (!(
30402 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30403 : ((16 == 64 || TARGET_AVX512VL
30404 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30405 : && ix86_pre_reload_split ()
30406 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30407 : STRIP_UNARY (operands[4]))
30408 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30409 : STRIP_UNARY (operands[4]))
30410 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30411 : STRIP_UNARY (operands[3]))
30412 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30413 : STRIP_UNARY (operands[3])))) &&
30414 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30415 : ( 1)))
30416 : return NULL;
30417 : return gen_split_2216 (insn, operands);
30418 :
30419 : case 30:
30420 : if (!((
30421 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30422 : ((64 == 64 || TARGET_AVX512VL
30423 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30424 : && ix86_pre_reload_split ()
30425 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30426 : STRIP_UNARY (operands[4]))
30427 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30428 : STRIP_UNARY (operands[4]))
30429 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30430 : STRIP_UNARY (operands[3]))
30431 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30432 : STRIP_UNARY (operands[3])))) &&
30433 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30434 : (TARGET_AVX512F)) &&
30435 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30436 : ( 1)))
30437 : return NULL;
30438 : return gen_split_2243 (insn, operands);
30439 :
30440 : case 31:
30441 : if (!((
30442 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30443 : ((32 == 64 || TARGET_AVX512VL
30444 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30445 : && ix86_pre_reload_split ()
30446 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30447 : STRIP_UNARY (operands[4]))
30448 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30449 : STRIP_UNARY (operands[4]))
30450 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30451 : STRIP_UNARY (operands[3]))
30452 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30453 : STRIP_UNARY (operands[3])))) &&
30454 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30455 : (TARGET_AVX)) &&
30456 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30457 : ( 1)))
30458 : return NULL;
30459 : return gen_split_2270 (insn, operands);
30460 :
30461 : case 32:
30462 : if (!(
30463 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30464 : ((16 == 64 || TARGET_AVX512VL
30465 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30466 : && ix86_pre_reload_split ()
30467 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30468 : STRIP_UNARY (operands[4]))
30469 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30470 : STRIP_UNARY (operands[4]))
30471 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30472 : STRIP_UNARY (operands[3]))
30473 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30474 : STRIP_UNARY (operands[3])))) &&
30475 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30476 : ( 1)))
30477 : return NULL;
30478 : return gen_split_2297 (insn, operands);
30479 :
30480 : case 33:
30481 : if (!((
30482 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30483 : ((64 == 64 || TARGET_AVX512VL
30484 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30485 : && ix86_pre_reload_split ()
30486 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30487 : STRIP_UNARY (operands[4]))
30488 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30489 : STRIP_UNARY (operands[4]))
30490 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30491 : STRIP_UNARY (operands[3]))
30492 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30493 : STRIP_UNARY (operands[3])))) &&
30494 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30495 : (TARGET_AVX512F)) &&
30496 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30497 : ( 1)))
30498 : return NULL;
30499 : return gen_split_2324 (insn, operands);
30500 :
30501 : case 34:
30502 : if (!((
30503 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30504 : ((32 == 64 || TARGET_AVX512VL
30505 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30506 : && ix86_pre_reload_split ()
30507 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30508 : STRIP_UNARY (operands[4]))
30509 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30510 : STRIP_UNARY (operands[4]))
30511 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30512 : STRIP_UNARY (operands[3]))
30513 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30514 : STRIP_UNARY (operands[3])))) &&
30515 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30516 : (TARGET_AVX)) &&
30517 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30518 : ( 1)))
30519 : return NULL;
30520 : return gen_split_2351 (insn, operands);
30521 :
30522 : case 35:
30523 : if (!((
30524 : #line 14102 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30525 : ((16 == 64 || TARGET_AVX512VL
30526 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30527 : && ix86_pre_reload_split ()
30528 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30529 : STRIP_UNARY (operands[4]))
30530 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30531 : STRIP_UNARY (operands[4]))
30532 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30533 : STRIP_UNARY (operands[3]))
30534 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30535 : STRIP_UNARY (operands[3])))) &&
30536 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30537 : (TARGET_SSE2)) &&
30538 : #line 14114 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30539 : ( 1)))
30540 : return NULL;
30541 : return gen_split_2378 (insn, operands);
30542 :
30543 : case 36:
30544 : if (!((
30545 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30546 : ((64 == 64 || TARGET_AVX512VL
30547 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30548 : && ix86_pre_reload_split ()) &&
30549 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30550 : (TARGET_AVX512F)) &&
30551 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30552 : ( 1)))
30553 : return NULL;
30554 : return gen_split_3149 (insn, operands);
30555 :
30556 : case 37:
30557 : if (!((
30558 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30559 : ((32 == 64 || TARGET_AVX512VL
30560 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30561 : && ix86_pre_reload_split ()) &&
30562 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30563 : (TARGET_AVX)) &&
30564 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30565 : ( 1)))
30566 : return NULL;
30567 : return gen_split_3158 (insn, operands);
30568 :
30569 : case 38:
30570 : if (!(
30571 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30572 : ((16 == 64 || TARGET_AVX512VL
30573 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30574 : && ix86_pre_reload_split ()) &&
30575 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30576 : ( 1)))
30577 : return NULL;
30578 : return gen_split_3167 (insn, operands);
30579 :
30580 : case 39:
30581 : if (!((
30582 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30583 : ((64 == 64 || TARGET_AVX512VL
30584 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30585 : && ix86_pre_reload_split ()) &&
30586 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30587 : (TARGET_AVX512F)) &&
30588 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30589 : ( 1)))
30590 : return NULL;
30591 : return gen_split_3176 (insn, operands);
30592 :
30593 : case 40:
30594 : if (!((
30595 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30596 : ((32 == 64 || TARGET_AVX512VL
30597 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30598 : && ix86_pre_reload_split ()) &&
30599 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30600 : (TARGET_AVX)) &&
30601 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30602 : ( 1)))
30603 : return NULL;
30604 : return gen_split_3185 (insn, operands);
30605 :
30606 : case 41:
30607 : if (!(
30608 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30609 : ((16 == 64 || TARGET_AVX512VL
30610 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30611 : && ix86_pre_reload_split ()) &&
30612 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30613 : ( 1)))
30614 : return NULL;
30615 : return gen_split_3194 (insn, operands);
30616 :
30617 : case 42:
30618 : if (!((
30619 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30620 : ((64 == 64 || TARGET_AVX512VL
30621 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30622 : && ix86_pre_reload_split ()) &&
30623 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30624 : (TARGET_AVX512F)) &&
30625 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30626 : ( 1)))
30627 : return NULL;
30628 : return gen_split_3203 (insn, operands);
30629 :
30630 : case 43:
30631 : if (!((
30632 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30633 : ((32 == 64 || TARGET_AVX512VL
30634 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30635 : && ix86_pre_reload_split ()) &&
30636 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30637 : (TARGET_AVX)) &&
30638 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30639 : ( 1)))
30640 : return NULL;
30641 : return gen_split_3212 (insn, operands);
30642 :
30643 : case 44:
30644 : if (!(
30645 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30646 : ((16 == 64 || TARGET_AVX512VL
30647 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30648 : && ix86_pre_reload_split ()) &&
30649 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30650 : ( 1)))
30651 : return NULL;
30652 : return gen_split_3221 (insn, operands);
30653 :
30654 : case 45:
30655 : if (!((
30656 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30657 : ((64 == 64 || TARGET_AVX512VL
30658 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30659 : && ix86_pre_reload_split ()) &&
30660 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30661 : (TARGET_AVX512F)) &&
30662 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30663 : ( 1)))
30664 : return NULL;
30665 : return gen_split_3230 (insn, operands);
30666 :
30667 : case 46:
30668 : if (!((
30669 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30670 : ((32 == 64 || TARGET_AVX512VL
30671 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30672 : && ix86_pre_reload_split ()) &&
30673 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30674 : (TARGET_AVX)) &&
30675 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30676 : ( 1)))
30677 : return NULL;
30678 : return gen_split_3239 (insn, operands);
30679 :
30680 : case 47:
30681 : if (!((
30682 : #line 14271 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30683 : ((16 == 64 || TARGET_AVX512VL
30684 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30685 : && ix86_pre_reload_split ()) &&
30686 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30687 : (TARGET_SSE2)) &&
30688 : #line 14275 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30689 : ( 1)))
30690 : return NULL;
30691 : return gen_split_3248 (insn, operands);
30692 :
30693 : default:
30694 : return NULL;
30695 : }
30696 :
30697 : case AND:
30698 : switch (pattern542 (x2))
30699 : {
30700 : case 0:
30701 : if (!((
30702 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30703 : ((64 == 64 || TARGET_AVX512VL
30704 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30705 : && ix86_pre_reload_split ()
30706 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30707 : STRIP_UNARY (operands[4]))
30708 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30709 : STRIP_UNARY (operands[4]))
30710 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30711 : STRIP_UNARY (operands[3]))
30712 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30713 : STRIP_UNARY (operands[3])))) &&
30714 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30715 : (TARGET_AVX512F)) &&
30716 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30717 : ( 1)))
30718 : return NULL;
30719 : return gen_split_2723 (insn, operands);
30720 :
30721 : case 1:
30722 : if (!((
30723 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30724 : ((32 == 64 || TARGET_AVX512VL
30725 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30726 : && ix86_pre_reload_split ()
30727 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30728 : STRIP_UNARY (operands[4]))
30729 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30730 : STRIP_UNARY (operands[4]))
30731 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30732 : STRIP_UNARY (operands[3]))
30733 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30734 : STRIP_UNARY (operands[3])))) &&
30735 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30736 : (TARGET_AVX)) &&
30737 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30738 : ( 1)))
30739 : return NULL;
30740 : return gen_split_2750 (insn, operands);
30741 :
30742 : case 2:
30743 : if (!(
30744 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30745 : ((16 == 64 || TARGET_AVX512VL
30746 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30747 : && ix86_pre_reload_split ()
30748 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30749 : STRIP_UNARY (operands[4]))
30750 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30751 : STRIP_UNARY (operands[4]))
30752 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30753 : STRIP_UNARY (operands[3]))
30754 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30755 : STRIP_UNARY (operands[3])))) &&
30756 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30757 : ( 1)))
30758 : return NULL;
30759 : return gen_split_2777 (insn, operands);
30760 :
30761 : case 3:
30762 : if (!((
30763 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30764 : ((64 == 64 || TARGET_AVX512VL
30765 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30766 : && ix86_pre_reload_split ()
30767 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30768 : STRIP_UNARY (operands[4]))
30769 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30770 : STRIP_UNARY (operands[4]))
30771 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30772 : STRIP_UNARY (operands[3]))
30773 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30774 : STRIP_UNARY (operands[3])))) &&
30775 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30776 : (TARGET_AVX512F)) &&
30777 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30778 : ( 1)))
30779 : return NULL;
30780 : return gen_split_2804 (insn, operands);
30781 :
30782 : case 4:
30783 : if (!((
30784 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30785 : ((32 == 64 || TARGET_AVX512VL
30786 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30787 : && ix86_pre_reload_split ()
30788 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30789 : STRIP_UNARY (operands[4]))
30790 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30791 : STRIP_UNARY (operands[4]))
30792 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30793 : STRIP_UNARY (operands[3]))
30794 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30795 : STRIP_UNARY (operands[3])))) &&
30796 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30797 : (TARGET_AVX)) &&
30798 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30799 : ( 1)))
30800 : return NULL;
30801 : return gen_split_2831 (insn, operands);
30802 :
30803 : case 5:
30804 : if (!(
30805 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30806 : ((16 == 64 || TARGET_AVX512VL
30807 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30808 : && ix86_pre_reload_split ()
30809 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30810 : STRIP_UNARY (operands[4]))
30811 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30812 : STRIP_UNARY (operands[4]))
30813 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30814 : STRIP_UNARY (operands[3]))
30815 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30816 : STRIP_UNARY (operands[3])))) &&
30817 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30818 : ( 1)))
30819 : return NULL;
30820 : return gen_split_2858 (insn, operands);
30821 :
30822 : case 6:
30823 : if (!((
30824 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30825 : ((64 == 64 || TARGET_AVX512VL
30826 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30827 : && ix86_pre_reload_split ()
30828 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30829 : STRIP_UNARY (operands[4]))
30830 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30831 : STRIP_UNARY (operands[4]))
30832 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30833 : STRIP_UNARY (operands[3]))
30834 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30835 : STRIP_UNARY (operands[3])))) &&
30836 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30837 : (TARGET_AVX512F)) &&
30838 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30839 : ( 1)))
30840 : return NULL;
30841 : return gen_split_2885 (insn, operands);
30842 :
30843 : case 7:
30844 : if (!((
30845 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30846 : ((32 == 64 || TARGET_AVX512VL
30847 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30848 : && ix86_pre_reload_split ()
30849 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30850 : STRIP_UNARY (operands[4]))
30851 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30852 : STRIP_UNARY (operands[4]))
30853 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30854 : STRIP_UNARY (operands[3]))
30855 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30856 : STRIP_UNARY (operands[3])))) &&
30857 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30858 : (TARGET_AVX)) &&
30859 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30860 : ( 1)))
30861 : return NULL;
30862 : return gen_split_2912 (insn, operands);
30863 :
30864 : case 8:
30865 : if (!(
30866 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30867 : ((16 == 64 || TARGET_AVX512VL
30868 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30869 : && ix86_pre_reload_split ()
30870 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30871 : STRIP_UNARY (operands[4]))
30872 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30873 : STRIP_UNARY (operands[4]))
30874 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30875 : STRIP_UNARY (operands[3]))
30876 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30877 : STRIP_UNARY (operands[3])))) &&
30878 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30879 : ( 1)))
30880 : return NULL;
30881 : return gen_split_2939 (insn, operands);
30882 :
30883 : case 9:
30884 : if (!((
30885 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30886 : ((64 == 64 || TARGET_AVX512VL
30887 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30888 : && ix86_pre_reload_split ()
30889 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30890 : STRIP_UNARY (operands[4]))
30891 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30892 : STRIP_UNARY (operands[4]))
30893 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30894 : STRIP_UNARY (operands[3]))
30895 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30896 : STRIP_UNARY (operands[3])))) &&
30897 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30898 : (TARGET_AVX512F)) &&
30899 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30900 : ( 1)))
30901 : return NULL;
30902 : return gen_split_2966 (insn, operands);
30903 :
30904 : case 10:
30905 : if (!((
30906 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30907 : ((32 == 64 || TARGET_AVX512VL
30908 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30909 : && ix86_pre_reload_split ()
30910 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30911 : STRIP_UNARY (operands[4]))
30912 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30913 : STRIP_UNARY (operands[4]))
30914 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30915 : STRIP_UNARY (operands[3]))
30916 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30917 : STRIP_UNARY (operands[3])))) &&
30918 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30919 : (TARGET_AVX)) &&
30920 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30921 : ( 1)))
30922 : return NULL;
30923 : return gen_split_2993 (insn, operands);
30924 :
30925 : case 11:
30926 : if (!((
30927 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30928 : ((16 == 64 || TARGET_AVX512VL
30929 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30930 : && ix86_pre_reload_split ()
30931 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30932 : STRIP_UNARY (operands[4]))
30933 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30934 : STRIP_UNARY (operands[4]))
30935 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30936 : STRIP_UNARY (operands[3]))
30937 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30938 : STRIP_UNARY (operands[3])))) &&
30939 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30940 : (TARGET_SSE2)) &&
30941 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30942 : ( 1)))
30943 : return NULL;
30944 : return gen_split_3020 (insn, operands);
30945 :
30946 : default:
30947 : return NULL;
30948 : }
30949 :
30950 : case IOR:
30951 : switch (pattern542 (x2))
30952 : {
30953 : case 0:
30954 : if (!((
30955 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30956 : ((64 == 64 || TARGET_AVX512VL
30957 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30958 : && ix86_pre_reload_split ()
30959 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30960 : STRIP_UNARY (operands[4]))
30961 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30962 : STRIP_UNARY (operands[4]))
30963 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30964 : STRIP_UNARY (operands[3]))
30965 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30966 : STRIP_UNARY (operands[3])))) &&
30967 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30968 : (TARGET_AVX512F)) &&
30969 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30970 : ( 1)))
30971 : return NULL;
30972 : return gen_split_2726 (insn, operands);
30973 :
30974 : case 1:
30975 : if (!((
30976 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30977 : ((32 == 64 || TARGET_AVX512VL
30978 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
30979 : && ix86_pre_reload_split ()
30980 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
30981 : STRIP_UNARY (operands[4]))
30982 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30983 : STRIP_UNARY (operands[4]))
30984 : || rtx_equal_p (STRIP_UNARY (operands[1]),
30985 : STRIP_UNARY (operands[3]))
30986 : || rtx_equal_p (STRIP_UNARY (operands[2]),
30987 : STRIP_UNARY (operands[3])))) &&
30988 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30989 : (TARGET_AVX)) &&
30990 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30991 : ( 1)))
30992 : return NULL;
30993 : return gen_split_2753 (insn, operands);
30994 :
30995 : case 2:
30996 : if (!(
30997 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
30998 : ((16 == 64 || TARGET_AVX512VL
30999 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31000 : && ix86_pre_reload_split ()
31001 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31002 : STRIP_UNARY (operands[4]))
31003 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31004 : STRIP_UNARY (operands[4]))
31005 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31006 : STRIP_UNARY (operands[3]))
31007 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31008 : STRIP_UNARY (operands[3])))) &&
31009 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31010 : ( 1)))
31011 : return NULL;
31012 : return gen_split_2780 (insn, operands);
31013 :
31014 : case 3:
31015 : if (!((
31016 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31017 : ((64 == 64 || TARGET_AVX512VL
31018 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31019 : && ix86_pre_reload_split ()
31020 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31021 : STRIP_UNARY (operands[4]))
31022 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31023 : STRIP_UNARY (operands[4]))
31024 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31025 : STRIP_UNARY (operands[3]))
31026 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31027 : STRIP_UNARY (operands[3])))) &&
31028 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31029 : (TARGET_AVX512F)) &&
31030 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31031 : ( 1)))
31032 : return NULL;
31033 : return gen_split_2807 (insn, operands);
31034 :
31035 : case 4:
31036 : if (!((
31037 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31038 : ((32 == 64 || TARGET_AVX512VL
31039 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31040 : && ix86_pre_reload_split ()
31041 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31042 : STRIP_UNARY (operands[4]))
31043 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31044 : STRIP_UNARY (operands[4]))
31045 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31046 : STRIP_UNARY (operands[3]))
31047 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31048 : STRIP_UNARY (operands[3])))) &&
31049 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31050 : (TARGET_AVX)) &&
31051 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31052 : ( 1)))
31053 : return NULL;
31054 : return gen_split_2834 (insn, operands);
31055 :
31056 : case 5:
31057 : if (!(
31058 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31059 : ((16 == 64 || TARGET_AVX512VL
31060 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31061 : && ix86_pre_reload_split ()
31062 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31063 : STRIP_UNARY (operands[4]))
31064 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31065 : STRIP_UNARY (operands[4]))
31066 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31067 : STRIP_UNARY (operands[3]))
31068 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31069 : STRIP_UNARY (operands[3])))) &&
31070 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31071 : ( 1)))
31072 : return NULL;
31073 : return gen_split_2861 (insn, operands);
31074 :
31075 : case 6:
31076 : if (!((
31077 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31078 : ((64 == 64 || TARGET_AVX512VL
31079 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31080 : && ix86_pre_reload_split ()
31081 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31082 : STRIP_UNARY (operands[4]))
31083 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31084 : STRIP_UNARY (operands[4]))
31085 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31086 : STRIP_UNARY (operands[3]))
31087 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31088 : STRIP_UNARY (operands[3])))) &&
31089 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31090 : (TARGET_AVX512F)) &&
31091 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31092 : ( 1)))
31093 : return NULL;
31094 : return gen_split_2888 (insn, operands);
31095 :
31096 : case 7:
31097 : if (!((
31098 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31099 : ((32 == 64 || TARGET_AVX512VL
31100 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31101 : && ix86_pre_reload_split ()
31102 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31103 : STRIP_UNARY (operands[4]))
31104 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31105 : STRIP_UNARY (operands[4]))
31106 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31107 : STRIP_UNARY (operands[3]))
31108 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31109 : STRIP_UNARY (operands[3])))) &&
31110 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31111 : (TARGET_AVX)) &&
31112 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31113 : ( 1)))
31114 : return NULL;
31115 : return gen_split_2915 (insn, operands);
31116 :
31117 : case 8:
31118 : if (!(
31119 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31120 : ((16 == 64 || TARGET_AVX512VL
31121 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31122 : && ix86_pre_reload_split ()
31123 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31124 : STRIP_UNARY (operands[4]))
31125 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31126 : STRIP_UNARY (operands[4]))
31127 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31128 : STRIP_UNARY (operands[3]))
31129 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31130 : STRIP_UNARY (operands[3])))) &&
31131 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31132 : ( 1)))
31133 : return NULL;
31134 : return gen_split_2942 (insn, operands);
31135 :
31136 : case 9:
31137 : if (!((
31138 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31139 : ((64 == 64 || TARGET_AVX512VL
31140 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31141 : && ix86_pre_reload_split ()
31142 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31143 : STRIP_UNARY (operands[4]))
31144 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31145 : STRIP_UNARY (operands[4]))
31146 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31147 : STRIP_UNARY (operands[3]))
31148 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31149 : STRIP_UNARY (operands[3])))) &&
31150 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31151 : (TARGET_AVX512F)) &&
31152 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31153 : ( 1)))
31154 : return NULL;
31155 : return gen_split_2969 (insn, operands);
31156 :
31157 : case 10:
31158 : if (!((
31159 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31160 : ((32 == 64 || TARGET_AVX512VL
31161 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31162 : && ix86_pre_reload_split ()
31163 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31164 : STRIP_UNARY (operands[4]))
31165 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31166 : STRIP_UNARY (operands[4]))
31167 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31168 : STRIP_UNARY (operands[3]))
31169 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31170 : STRIP_UNARY (operands[3])))) &&
31171 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31172 : (TARGET_AVX)) &&
31173 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31174 : ( 1)))
31175 : return NULL;
31176 : return gen_split_2996 (insn, operands);
31177 :
31178 : case 11:
31179 : if (!((
31180 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31181 : ((16 == 64 || TARGET_AVX512VL
31182 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31183 : && ix86_pre_reload_split ()
31184 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31185 : STRIP_UNARY (operands[4]))
31186 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31187 : STRIP_UNARY (operands[4]))
31188 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31189 : STRIP_UNARY (operands[3]))
31190 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31191 : STRIP_UNARY (operands[3])))) &&
31192 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31193 : (TARGET_SSE2)) &&
31194 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31195 : ( 1)))
31196 : return NULL;
31197 : return gen_split_3023 (insn, operands);
31198 :
31199 : default:
31200 : return NULL;
31201 : }
31202 :
31203 : case XOR:
31204 : switch (pattern542 (x2))
31205 : {
31206 : case 0:
31207 : if (!((
31208 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31209 : ((64 == 64 || TARGET_AVX512VL
31210 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31211 : && ix86_pre_reload_split ()
31212 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31213 : STRIP_UNARY (operands[4]))
31214 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31215 : STRIP_UNARY (operands[4]))
31216 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31217 : STRIP_UNARY (operands[3]))
31218 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31219 : STRIP_UNARY (operands[3])))) &&
31220 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31221 : (TARGET_AVX512F)) &&
31222 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31223 : ( 1)))
31224 : return NULL;
31225 : return gen_split_2729 (insn, operands);
31226 :
31227 : case 1:
31228 : if (!((
31229 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31230 : ((32 == 64 || TARGET_AVX512VL
31231 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31232 : && ix86_pre_reload_split ()
31233 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31234 : STRIP_UNARY (operands[4]))
31235 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31236 : STRIP_UNARY (operands[4]))
31237 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31238 : STRIP_UNARY (operands[3]))
31239 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31240 : STRIP_UNARY (operands[3])))) &&
31241 : #line 349 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31242 : (TARGET_AVX)) &&
31243 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31244 : ( 1)))
31245 : return NULL;
31246 : return gen_split_2756 (insn, operands);
31247 :
31248 : case 2:
31249 : if (!(
31250 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31251 : ((16 == 64 || TARGET_AVX512VL
31252 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31253 : && ix86_pre_reload_split ()
31254 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31255 : STRIP_UNARY (operands[4]))
31256 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31257 : STRIP_UNARY (operands[4]))
31258 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31259 : STRIP_UNARY (operands[3]))
31260 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31261 : STRIP_UNARY (operands[3])))) &&
31262 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31263 : ( 1)))
31264 : return NULL;
31265 : return gen_split_2783 (insn, operands);
31266 :
31267 : case 3:
31268 : if (!((
31269 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31270 : ((64 == 64 || TARGET_AVX512VL
31271 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31272 : && ix86_pre_reload_split ()
31273 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31274 : STRIP_UNARY (operands[4]))
31275 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31276 : STRIP_UNARY (operands[4]))
31277 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31278 : STRIP_UNARY (operands[3]))
31279 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31280 : STRIP_UNARY (operands[3])))) &&
31281 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31282 : (TARGET_AVX512F)) &&
31283 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31284 : ( 1)))
31285 : return NULL;
31286 : return gen_split_2810 (insn, operands);
31287 :
31288 : case 4:
31289 : if (!((
31290 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31291 : ((32 == 64 || TARGET_AVX512VL
31292 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31293 : && ix86_pre_reload_split ()
31294 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31295 : STRIP_UNARY (operands[4]))
31296 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31297 : STRIP_UNARY (operands[4]))
31298 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31299 : STRIP_UNARY (operands[3]))
31300 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31301 : STRIP_UNARY (operands[3])))) &&
31302 : #line 350 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31303 : (TARGET_AVX)) &&
31304 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31305 : ( 1)))
31306 : return NULL;
31307 : return gen_split_2837 (insn, operands);
31308 :
31309 : case 5:
31310 : if (!(
31311 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31312 : ((16 == 64 || TARGET_AVX512VL
31313 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31314 : && ix86_pre_reload_split ()
31315 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31316 : STRIP_UNARY (operands[4]))
31317 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31318 : STRIP_UNARY (operands[4]))
31319 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31320 : STRIP_UNARY (operands[3]))
31321 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31322 : STRIP_UNARY (operands[3])))) &&
31323 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31324 : ( 1)))
31325 : return NULL;
31326 : return gen_split_2864 (insn, operands);
31327 :
31328 : case 6:
31329 : if (!((
31330 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31331 : ((64 == 64 || TARGET_AVX512VL
31332 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31333 : && ix86_pre_reload_split ()
31334 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31335 : STRIP_UNARY (operands[4]))
31336 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31337 : STRIP_UNARY (operands[4]))
31338 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31339 : STRIP_UNARY (operands[3]))
31340 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31341 : STRIP_UNARY (operands[3])))) &&
31342 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31343 : (TARGET_AVX512F)) &&
31344 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31345 : ( 1)))
31346 : return NULL;
31347 : return gen_split_2891 (insn, operands);
31348 :
31349 : case 7:
31350 : if (!((
31351 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31352 : ((32 == 64 || TARGET_AVX512VL
31353 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31354 : && ix86_pre_reload_split ()
31355 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31356 : STRIP_UNARY (operands[4]))
31357 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31358 : STRIP_UNARY (operands[4]))
31359 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31360 : STRIP_UNARY (operands[3]))
31361 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31362 : STRIP_UNARY (operands[3])))) &&
31363 : #line 351 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31364 : (TARGET_AVX)) &&
31365 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31366 : ( 1)))
31367 : return NULL;
31368 : return gen_split_2918 (insn, operands);
31369 :
31370 : case 8:
31371 : if (!(
31372 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31373 : ((16 == 64 || TARGET_AVX512VL
31374 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31375 : && ix86_pre_reload_split ()
31376 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31377 : STRIP_UNARY (operands[4]))
31378 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31379 : STRIP_UNARY (operands[4]))
31380 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31381 : STRIP_UNARY (operands[3]))
31382 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31383 : STRIP_UNARY (operands[3])))) &&
31384 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31385 : ( 1)))
31386 : return NULL;
31387 : return gen_split_2945 (insn, operands);
31388 :
31389 : case 9:
31390 : if (!((
31391 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31392 : ((64 == 64 || TARGET_AVX512VL
31393 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31394 : && ix86_pre_reload_split ()
31395 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31396 : STRIP_UNARY (operands[4]))
31397 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31398 : STRIP_UNARY (operands[4]))
31399 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31400 : STRIP_UNARY (operands[3]))
31401 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31402 : STRIP_UNARY (operands[3])))) &&
31403 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31404 : (TARGET_AVX512F)) &&
31405 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31406 : ( 1)))
31407 : return NULL;
31408 : return gen_split_2972 (insn, operands);
31409 :
31410 : case 10:
31411 : if (!((
31412 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31413 : ((32 == 64 || TARGET_AVX512VL
31414 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31415 : && ix86_pre_reload_split ()
31416 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31417 : STRIP_UNARY (operands[4]))
31418 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31419 : STRIP_UNARY (operands[4]))
31420 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31421 : STRIP_UNARY (operands[3]))
31422 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31423 : STRIP_UNARY (operands[3])))) &&
31424 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31425 : (TARGET_AVX)) &&
31426 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31427 : ( 1)))
31428 : return NULL;
31429 : return gen_split_2999 (insn, operands);
31430 :
31431 : case 11:
31432 : if (!((
31433 : #line 14187 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31434 : ((16 == 64 || TARGET_AVX512VL
31435 : || (TARGET_AVX512F && !TARGET_PREFER_AVX256))
31436 : && ix86_pre_reload_split ()
31437 : && (rtx_equal_p (STRIP_UNARY (operands[1]),
31438 : STRIP_UNARY (operands[4]))
31439 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31440 : STRIP_UNARY (operands[4]))
31441 : || rtx_equal_p (STRIP_UNARY (operands[1]),
31442 : STRIP_UNARY (operands[3]))
31443 : || rtx_equal_p (STRIP_UNARY (operands[2]),
31444 : STRIP_UNARY (operands[3])))) &&
31445 : #line 352 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31446 : (TARGET_SSE2)) &&
31447 : #line 14199 "/home/worker/buildworker/tiber-lcov/build/gcc/config/i386/sse.md"
31448 : ( 1)))
31449 : return NULL;
31450 : return gen_split_3026 (insn, operands);
31451 :
31452 : default:
31453 : return NULL;
31454 : }
31455 :
31456 : default:
31457 : return NULL;
31458 : }
31459 :
31460 : case XOR:
31461 : return split_69 (x1, insn);
31462 :
31463 : default:
31464 : return NULL;
31465 : }
31466 : }
|